He who knows only his own side of the case knows little of that.
ik heb iig zelf geen plannen juist omdat de vorige zo verschrikkelijk veel tijd kostte
Doet iets met Cloud (MS/IBM)
bijvoorbeeld:
java applet:
grafische pracht
[thema] (weet ik veel wat
totale grote <10k (of is dat groot, het moet in ieder geval klein zijn)
de mooiste en origineelste wint
Specialist in:
Soldeerstations
Oscilloscoop
"Luie mensen worden ook moe!"
Doet iets met Cloud (MS/IBM)
Verwijderd
ah, inkopper! ff wat oude boutsources opzoeken:-DarkShadow- schreef op 17 November 2002 @ 20:18:
Je moet superzware eisen stellen, dan heb je echt een gave contest:
bijvoorbeeld:
java applet:
grafische pracht
[thema] (weet ik veel wat
totale grote <10k (of is dat groot, het moet in ieder geval klein zijn)
de mooiste en origineelste wint
http://www.xs4all.nl/~perseus/alphablend (alphablending in software, rotozoomer)
http://www.xs4all.nl/~perseus/bgdraw/bgdraw.html (replace html met java voor de source) Lensgenerator op basis van b/w image.
Ik had het eigenlijk over grafische pracht en klein bestandsformaat, die twee applets hebben het beide niet. Op flipcode is het ooit geweest, was echt prachtig. in plaats dat ze wat afbeeldingen alphablende, hadden ze een voxelengine met landscape textures en bomen getextured geprogrammeert en dat was niet eens de mooiste. Er zaten echt prachtige dingen bij.Verwijderd schreef op 17 november 2002 @ 20:31:
[...]
ah, inkopper! ff wat oude boutsources opzoeken:
http://www.xs4all.nl/~perseus/alphablend (alphablending in software, rotozoomer)
http://www.xs4all.nl/~perseus/bgdraw/bgdraw.html (replace html met java voor de source) Lensgenerator op basis van b/w image.
Specialist in:
Soldeerstations
Oscilloscoop
http://www.xs4all.nl/~oisyn/applets/particles.html
http://www.xs4all.nl/~oisyn/applets/homeboxx3d.html
alle 3 interactief
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
De code-contest bij bv flipcode (of gamedev) zijn erg leuk omdat de opdracht daar vaak een thema is waarbij je zelf je creatieve geest erop los kan laten. Het is dan zaak om iets moois af te leveren wat toch soepel loopt en solide in elkaar zit. Helaas kan je hier niet iets soortgelijks doen omdat er denk ik weinig 3D coders rondhangen hier.
Toch is zo'n algemene aanpak toch eentje die de meeste kans van slagen heeft denk ik. Hoe dat precies ingevuld moet worden kan ik zo 1,2,3 niet bedenken maar misschien er is ook wel een thema-achtig iets te bedenken op webdevelopment gebied??
Ik denk trouwens dat dit zomaar gehaast moet worden georganiseert als iemand dat wil doen en/of er interesse is.
1. Los 3 complexe opdrachten op.
2. Maak een grafisch demo (inleveren als Java, PE-binary of ELF-binary)
3. Schrijf een AI voor een nog te bedenken game. (moet verbinden met een socket)
Het Spoiler probleem is er alleen in fase 1, in fase 2 komen alle grafische personen een beetje aan hun trekken, in fase 3 komen de mensen met een zeer goed inzicht tot hun recht.
Localhost, sweet localhost
Verwijderd
Klik en huiver: http://acm.uva.es/contest/D2k schreef op 17 november 2002 @ 19:10:
uhm ik hoorde MrX over een online jurering-systeem
ik heb iig zelf geen plannen juist omdat de vorige zo verschrikkelijk veel tijd kostte
Voor een groot aantal programmeeropgaven: http://acm.uva.es/problemset/
Voor mijn lijst met statistieken van wat oefenopgaven: http://acm.uva.es/cgi-bin/OnlineJudge?AuthorInfo:18509
Eventueel kunnen we 1 GoT P&W user maken, waarmee we met gezamelijke inspanning redelijk kunnen scoren op de ranglijst: http://acm.uva.es/cgi-bin/OnlineJudge?AuthorsRanklist . Just a suggestion ...
Overigens vind ik een programmeeropdracht waarbij creativiteit in het resultaat een onderdeel is geen goed idee. Creativiteit is namelijk iets dat moeilijk te beoordelen is. Daarom kost het veel tijd, en is de kans op willekeur groter.
Overigens staat die ACM in de URL niet voor ons aller bekende ACM, maar voor de Association for Computing Machinery.
Ik ben hier best in te vinden... maar uiteraard moeten alle sources door de jury te compilen zijn.kvdveer schreef op 18 November 2002 @ 00:05:
Wat dacht je van het contest in 3 fasen:
1. Los 3 complexe opdrachten op.
2. Maak een grafisch demo (inleveren als Java, PE-binary of ELF-binary)
3. Schrijf een AI voor een nog te bedenken game. (moet verbinden met een socket)
Het Spoiler probleem is er alleen in fase 1, in fase 2 komen alle grafische personen een beetje aan hun trekken, in fase 3 komen de mensen met een zeer goed inzicht tot hun recht.
Ow.. en vorige keer kreeg je bonus punten als je de eerste was met inleveren (toch?), kan dat worden geschrapt? Kheb ook nog een baan en (jawel!) een prive leven
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Verwijderd
ja duh, dit zijn zondagmiddagprogsels, geen demos voor een democompo. Stress (winnaar Java democompo TO '99) is wel groter dan 10 K maar heeft wel 3D en andere ongein.-DarkShadow- schreef op 17 november 2002 @ 20:37:
[...]
Ik had het eigenlijk over grafische pracht en klein bestandsformaat, die twee applets hebben het beide niet. Op flipcode is het ooit geweest, was echt prachtig. in plaats dat ze wat afbeeldingen alphablende, hadden ze een voxelengine met landscape textures en bomen getextured geprogrammeert en dat was niet eens de mooiste. Er zaten echt prachtige dingen bij.
Maar je blaat wel over grafische pracht die er niet inzit, bgdraw is op zich wel bizonder, want je kunt met dezelfde techniek gouraudshaded objects maken die dan het licht breken per vlak, plus dat ze roteren, i.e. realtime raytracing. En nu jij weer.
Overigens zou ik persoonlijk niks aan de opzet van de contest willen veranderen, dat wil zeggen, duidelijk gedefineerde, objectief te controleren, algoritmische programmeer opgaven. De door andere gesuggereerde aanpak vergt in veel gevallen teveel vakgebied specifieke kennis.
He who knows only his own side of the case knows little of that.
Meedoen zal ik misschien wel
Overigens was afgelopen weekend het EK programmeren van de ACM in Delft. We hadden 2 opgaven goed
3e EK voor ons team: "team wasigh "

Intentionally left blank
Verwijderd
Neem als voorbeeld die java "tankslag" competitie (2d) of een ruimteoorlog (3d), maar het zou nog veel eenvoudiger kunnen, bv. een "this for that" ruilsimulatie (iedere speler heeft een aantal punten en kan die ruilen met de andere spelers, waarbij bedriegen uitdrukkelijk is toegestaan; wie na een aantal rondes de meeste punten heeft wint).
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
http://www.codecup.nl/
Als ik de berichten zo lees, zijn er hier wel een aantal mensen geïnteresseert in deelname. Het gaat om een wedstrijd, waarbij programma's een bordspelletje tegen elkaar moeten spelen.
Een aantal oefenprogrammaatjes (en geblaat over een voorronde) zijn te vinden op:
http://www.algoritme.nl/view.cgi?id=4843
Verwijderd
interresant.Soultaker schreef op 19 november 2002 @ 00:01:
Ik moet even spammen hoor:
http://www.codecup.nl/
Als ik de berichten zo lees, zijn er hier wel een aantal mensen geïnteresseert in deelname. Het gaat om een wedstrijd, waarbij programma's een bordspelletje tegen elkaar moeten spelen.
Een aantal oefenprogrammaatjes (en geblaat over een voorronde) zijn te vinden op:
http://www.algoritme.nl/view.cgi?id=4843
De omschrijving van de opdracht vindt je hier. Een serverapplicatie (reeds bestaand/gemaakt) zorgt voor het opmaken van het 'speelbord' en het doorgeven van fgemaakte 'slagen'. Ik vond het toen een leuk concept, de game lijkt me ook redelijk uitdagend.
Tjsha, dan moet iedereen het dus in Java gaan doen? Je zult er hoe dan ook iets van sockets ofzo voor moeten gebruiken, zodat alle talen met elkaar kunnen communiceren. Daar ben je dus wel even zoet meeDaCoTa schreef op 19 november 2002 @ 12:52:
And what about RoboCode? Ziet er leuk uit, makkelijk om mee te beginnen en ook niet zo lastig om te organiseren.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Dat heb je echt niet zomaar opgelost hoor:.oisyn schreef op 19 november 2002 @ 17:34:
Geen probleem, dan maken we toch een robot die sockets gebruikt, zodat het kan interfacen met verschillende programmeertalen? Das nog geen dagje werk imho
Als je het niet turn-based maakt is het verektes lastig om de timing eerlijk te krijgen. Daarnaast moet iedere deelnemer online zijn tijdens de jurering, iets wat ook lang niet altijd haalbaar is.
Localhost, sweet localhost
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Verwijderd
Ik zat persoonlijk aan een spelsimulatie te denken waar je die lag tot een deel van het spel maakt: een soort ruimteslag tussen radiografisch bestuurde ruimteschepen. Hoe verder die schepen van de basis/zendantenne zijn, hoe laggier ze worden. Je kunt je tegenstanders uitschakelen door ze af te schieten, ze te dwingen buiten het bereik van hun basis te vliegen, of door te proberen hun basis uit te schakelen (waarbij de tegenstander dus weinig lag heeft en jij veel).
Trouwens, een tournament corewars is ook wel een leuke bezigheid lijkt me..
Yo dawg, I heard you like posts so I posted below your post so you can post again.
RoboCode is dan wat interessanter, vooral met zo'n socket interface waar al over gerept werd.
Een google directories linkje:
http://directory.google.c...rogramming/Contests/?tc=1
Verwijderd
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
DaCoTa schreef op 20 november 2002 @ 16:33:
Misschien moet de contest dan wel bestaan uit het ontwerpen van een dergelijke omgeving...
als er geen beschikbaar is...
iemand zin /tijd om eens te googlen?
om een socketbased robot-war te vinden?
Doet iets met Cloud (MS/IBM)
kan het desnoods via files... of iemand moet met een goed tut komen voor socketproggen
* wacco code trouwens c
en wat wel jammer is van dat CodeCup is dat het onder linux moet draaien. Bummer, daar ben ik nog niet zo handig in (lees: _niet_
* MisterData neitherwacco schreef op 20 november 2002 @ 17:05:
Je moet het wel ff weten...
* wacco code trouwens c
en wat wel jammer is van dat CodeCup is dat het onder linux moet draaien. Bummer, daar ben ik nog niet zo handig in (lees: _niet_)
Verwijderd
De basisconcepten van socketprogramming zijn in elk OS dat sockets beschikbaar stelt het zelfde. Voor de rest kun je erop vertrouwen dat je code loopt als je portable code schrijft en alleen van de ANSI-libs gebruik maakt. Daarnaast kun je een unix-emulator zoals cygwin installeren en de boel onder windows testen.wacco schreef op 20 november 2002 @ 17:05:
Je moet het wel ff weten...
* wacco code trouwens c
en wat wel jammer is van dat CodeCup is dat het onder linux moet draaien. Bummer, daar ben ik nog niet zo handig in (lees: _niet_)
Kunnen we niet een leuker spel bedenken als GoT/14 competitie?
Hell, idunno... like, ehh, *denk*
tetris? En dan gewoon wiens AI/bot de hoogste score weet te halen.
Socket-based omdat dat eenvoudiger is om te jureren
Turn-based omdat dat eenvoudiger in te bouwen is: Zo kan ook een minder ervaren progger meedoen, zonder dat hij afvalt omdat zijn netwerkcode niet werkt.
Localhost, sweet localhost
Verwijderd
Wie zegt dat wij dat niet kunnen? Is toch handiger voor jurering ed. als dat op één systeem wordt afgespeeld.
Wat ook wel leuk is is expres 2 'gehandicapte' systemen tegen elkaar te laten spelen. Dus eentje met zeg, weinig geheugen, en de ander met bijvoorbeeld een kort limiet in tijd. En dan kijken welke AI het sterkst is op beide fronten.
Wordt misschien wel een beetje errug lastig... maar wel kewl
Doet iets met Cloud (MS/IBM)
Verwijderd
Zal vast wel mogelijk zijn, zeker als je onder een OS draait, maar dan wil ik wel graag zien dat iemand die code ff voorbakt in meerdere taaltjes, zodat iedereen dat gewoon over kan nemen.
* wacco wil wél een AI bouwuh, maar no way dat ik ga uitvogelen hoe dat zit met app-app doorpasen
Verwijderd
Dit is echt de makkelijkste manier voor de deelnemers, je leest gewoon van standard input en schrijft naar standard output. In C bv. is dat dus lezen van stdin en schrijven naar stdout, veel eenvoudiger (en sneller) dan sockets.
[ Voor 6% gewijzigd door Verwijderd op 21-11-2002 21:29 . Reden: verduidelijkt ]
Bij de vorige contest is gebleken dat zelfs hiermee een hoop mensen nog moeite hadden omdat ze in hun favo programmeer omgeving het gebruik van stdin en stdout niet kenden. (met name wat VB'ers en Delphi'rs).Verwijderd schreef op 21 november 2002 @ 21:24:
Dit is echt de makkelijkste manier voor de deelnemers, je leest gewoon van standard input en schrijft naar standard output. In C bv. is dat dus lezen van stdin en schrijven naar stdout, veel eenvoudiger (en sneller) dan sockets.
Zelfs na posten van voorbeeld code hoe de stdin uit te lezen en te schrijven naar stdout zijn er volgens mij uitzonderingen geweest waarbij er mensen waren die toen maar in een memo veld o.i.d. hun output gooiden..
Ik neem aan dat als iemand niet weet hoe de stdin en stdout te gebruiken (of niet wil gebruiken) deelname niet mogelijk is?
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Verwijderd
Ik persoonlijk wil best zo'n jury programma schrijven (als er consensus is over wat de opdracht precies wordt), maar ik ga niet uren als een tiepmiep de zelfde input in diverse programma's invoeren en de outputs letter voor letter controleren.
Verwijderd
(Daarnaast snap ik niet dat iemand schrijven naar stdout moeilijk vindt, maar de OpenGL API niet.)
Schrijven naar stdout is niet leuk ,met OpenGL klooien is veel leukerVerwijderd schreef op 21 november 2002 @ 21:52:
Grafische kunstjes kun je niet goed jureren, daar komt persoonlijke voorkeur bij kijken. Democompos vind ik net zoiets als kunstrijden op de schaats, je ligt je eindeloos uit te sloven op techniek maar het komt er uiteindelijk op neer dat je maar moet hopen dat de jury het een leuke presentatie vindt...
(Daarnaast snap ik niet dat iemand schrijven naar stdout moeilijk vindt, maar de OpenGL API niet.)
i rest my case .....
Verder moeten er gewoon ff een paar dingen uitgedacht worden... like tijdlimiet voor het crunshen van het beste antwoord? En hoe dat dan wordt geïmplenteerd.
Ik denk dat een soort van basis proggie (en dat dan in meerdere talen) erg handig is. Zoiets als:
1
2
3
4
5
6
7
8
9
10
11
12
13
| functie_die_wordt_aangeroepen_als_het_weer_jou_beurt_is( zet_tegenstander$ ) { mijn_zet$ = NULL; while( jou_beurt_tijdlimiet_trigger_van_jury() ) { /* vul hier je code in, als je beurt voorbij is wordt mijn_zet$ uitgelezen, als je klaar bent, kan je de while zelf beindigen door bijvoorbeeld exit while oid te doen. suc6! :) ps. informatie over je veld ed. kan je opvragen uit veld_situatie( x, y, s ), voor je functie mag je vars zetten, die worden dan in de head opgenomen zodat je info uit je vorige zet ed. kan doorgeven. you know the drill. En nog maals succes */ } functie_van_tegenstander( $mijn_zet ); } // extra functies van jezelf zijn toegestaan, zie regelement voor details over alles wat wel en // niet mag... |
Het mooie hiervan is dat je je _helemaal_ niet druk hoeft te maken over doorgeven stu-uff, en dat de twee stukken code gewoon samengevoegt kunnen worden met het juryprogramma (als iedereen zelfde progtaal gebruikt, anders moet voorbeeldproggie bijv twee functies bevatten met stdin/out, waardoor het alsnog werkt).
Verwijderd
(Samenbinden in een programma heeft nog een veel groter nadeel dan dat de inzendingen beperkt blijven tot een programmeertaal: de deelnemers hebben alle kans de jurycode te misbruiken.)
Enneh, turnbased is kloksnelheid _juist_ essentieel. Anders bouw ik m'n AI op zo'n manier dat ik m'n complete vriendenkring op een soort van distributed.net way inschakel om gewoon alle mogelijke stappen te crunshen
Zelfde machine(s) dus. Tenzij je alternatief bedenkt voor dit probleempje (punten? number of loops?)
En verder qua beschikbare progtalen, tja. err... windows competitie én linux comp oid? (die aan elkaar knopen kan trouwens ook, zolang ze maar equal in kracht zijn)
Sjees... kunnen we niet progtalen poll doen? Welke gewenst zijn? Ik heb zo het vermoeden dat we hier een hoop zitten te lullen om niks namelijk.
Ik denk dat het iets wordt als c, c++, cgi, php, pascal, java, qbasic, vb, vc++, en dat we er dan wel weer zijn.
Juist voor dit soort opdrachten zijn de minder courante talen heel geschikt. Ik denk aan Haskell, Stratego, enz.wacco schreef op 22 November 2002 @ 00:19:
kunnen we niet progtalen poll doen? Welke gewenst zijn? Ik heb zo het vermoeden dat we hier een hoop zitten te lullen om niks namelijk.
Ik denk dat het iets wordt als c, c++, cgi, php, pascal, java, qbasic, vb, vc++, en dat we er dan wel weer zijn.
Localhost, sweet localhost
Maakt dat uit? Als er een tijdslimiet is wel, maar anders niet hoor. Processorkrachtgebeuren is juist bij turn-based het minste probleem. Als je realtime gaat werken wel.wacco schreef op 22 November 2002 @ 00:19:
Enneh, turnbased is kloksnelheid _juist_ essentieel. Anders bouw ik m'n AI op zo'n manier dat ik m'n complete vriendenkring op een soort van distributed.net way inschakel om gewoon alle mogelijke stappen te crunshen
Eerlijk krijg je het toch nooit! Probeer maar eens (zonder built-in functies) een quicksort te bouwen in PHP en Assembler... Meet het tijdsverschil vervolgens eens...
Localhost, sweet localhost
Het minder mooie hiervan is dat ie mensen dwingt om (voor een deel) in een bepaalde structuur de werken (in die while dus). Misschien wil ik mijn tijdlimiet wel op een heel andere manier doen, misschien wil ik mijn struk code geheel OO opzetten? Of in een functionele taal etc.wacco schreef op 21 November 2002 @ 23:14:
I vote: géén subjectieve onderdelen whatsoever.
Verder moeten er gewoon ff een paar dingen uitgedacht worden... like tijdlimiet voor het crunshen van het beste antwoord? En hoe dat dan wordt geïmplenteerd.
Ik denk dat een soort van basis proggie (en dat dan in meerdere talen) erg handig is. Zoiets als:
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 functie_die_wordt_aangeroepen_als_het_weer_jou_beurt_is( zet_tegenstander$ ) { mijn_zet$ = NULL; while( jou_beurt_tijdlimiet_trigger_van_jury() ) { /* vul hier je code in, als je beurt voorbij is wordt mijn_zet$ uitgelezen, als je klaar bent, kan je de while zelf beindigen door bijvoorbeeld exit while oid te doen. suc6! :) ps. informatie over je veld ed. kan je opvragen uit veld_situatie( x, y, s ), voor je functie mag je vars zetten, die worden dan in de head opgenomen zodat je info uit je vorige zet ed. kan doorgeven. you know the drill. En nog maals succes */ } functie_van_tegenstander( $mijn_zet ); } // extra functies van jezelf zijn toegestaan, zie regelement voor details over alles wat wel en // niet mag...
Het mooie hiervan is dat je je _helemaal_ niet druk hoeft te maken over doorgeven stu-uff, en dat de twee stukken code gewoon samengevoegt kunnen worden met het juryprogramma (als iedereen zelfde progtaal gebruikt, anders moet voorbeeldproggie bijv twee functies bevatten met stdin/out, waardoor het alsnog werkt).
Maaruh.. zijn er al concrete ideeen? Mensen die willen jureren etc?
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Waarom zetten we geen socket protocol op?
Dat iemand (lees: jury) een aantal functies verzint er erbij zet wat ze moeten doen.
bijvoorbeeld:
MSG(gebruiker$, bericht$) //Berichten sturen
POS(PositieX&, PositieY&, PositieZ&) //Positie versturen
en zo kan je allemaal dingen nog verzinnen en kan iedereen hun eigen AI programmeren in hun favoriete taal. Alleen is het slecht te controleren of diegene ook echt de AI laat spelen en niet hemzelf, dat kan je misschien oplossen dat iedereen voor de wedstrijd hun source moet inleveren ofzo.
Maarreh, count me in
Mijn keuze valt denk ik op:
Visual Basic .NET
Elke plugin krijgt zijn eigen thread/process die init() en run() aanroept. Het jury-programma monitort het schip dat door de run() bestuurd wordt. Is ie dood, dan wordt de thread/process gekilled.
Voordelen van dit systeem:
* Taal-onafhankelijkheid, mits er de mogelijkheid is om naar dll's te compilen.
* Geen cheat mogelijkheden, aangezien alles via de jury beheerd word, en alleen functies kunnen worden aangeroepen vanaf de user-dll.
* Geen while(!dead()) {} loopjes ed. De jury bepaald zelf wanneer een schip dood is, en kill het process zonder afhankelijk te zijn dat de user dit zelf doet.
* Snelheid. Een user hoeft niet helemaal stdin te parsen om data op te vragen.
nadelen van dit systeem:
* platform afhankelijkheid. Via een dergelijk systeem is het niet mogelijk om shared objects in te laden. An sich is het niet moeilijk om mbv lccwin32 ed de globale unix-code om te zetten naar een windows-dll.
Yo dawg, I heard you like posts so I posted below your post so you can post again.
Verwijderd
Dat kan soms lastig zijn. Er zijn misschien mensen die in een taal willen programmeren waarvoor een virtual machine nodig is (java/php/perl) bijvoorbeeld. Of waarin het maken van een dll een heel gedoe is (Haskell bijvoorbeeld).* Taal-onafhankelijkheid, mits er de mogelijkheid is om naar dll's te compilen.
Stdout en Stdin is dan veel eenvoudiger. Dan kan je zelfs met qbasic aan de slag
Wat natuurlijk wel zo is: als je meerdere talen toestaat, dan heb je wel een probleem dat snelheid ook subjectief is.
[ Voor 73% gewijzigd door Verwijderd op 22-11-2002 10:41 ]
Ik wel, VB6 en .NET .. C++ ken ik nog niet maaja, dat komt wel met de opleiding die ik ga doen
Misschien kunnen we i.p.v. een contest, gezamelijk iets bouwen?
Verwijderd
Je begrijpt het niet. Als je distributed wil gaan uitmaken hoe jouw tankje/ruimtescheepje de volgende beurt moet rijden/vliegen en schieten, dan ga je je gang maar. Ik ben alleen bang dat de mensen die op een enkel systeem met een pII-233 werken veel minder programmeerproblemen zullen hebben dan jij, en al tijden met de taktiek/strategie bezig zijn terwijl jij je nog uitslooft op je distributed protocol en probeert alle uitzonderingssituaties op papier te krijgen. Bij dit soort spelletjes is een heuristische taktiek/strategie veel belangrijker dan brute-force alle mogelijkheden doorrekenen.wacco schreef op 22 November 2002 @ 00:19:
Enneh, turnbased is kloksnelheid _juist_ essentieel. Anders bouw ik m'n AI op zo'n manier dat ik m'n complete vriendenkring op een soort van distributed.net way inschakel om gewoon alle mogelijke stappen te crunshen
Zelfde machine(s) dus. Tenzij je alternatief bedenkt voor dit probleempje (punten? number of loops?)
Ik persoonlijk denk dat je deelnemers niet moet dwingen met een taal/OS te werken waar ze niet bekend mee zijn. Het komt er dus op neer dat je of eist dat alle code portable geschreven is, of dat je je de één systeem gedachte moet loslaten.En verder qua beschikbare progtalen, tja. err... windows competitie én linux comp oid?
Verwijderd
http://www.gotdotnet.com/terrarium/
Dit is een grote wereld, waarin allemaal vlees- en plantenetende diertjes rondlopen. Het doel is simpelweg om zo lang mogelijk te overleven en zoveel mogelijk nageslacht te genereren. Best moeilijk nog om iets goeds te maken uiteindelijk.
Als programmeur bouw je een dll die jouw diertje bevat. En die dll kan zo 'ingeplugd' worden in de terrarium-server.
Verder klinkt dat met die plugins wel aardig, haalbaarheid is wat anders. Ik gaat eens kijken hoe dat moet.
Dat hoeft niet.. dat draait namelijk al :-) (kleine mod van een ouder project van me)wacco schreef op 22 November 2002 @ 13:49:
Verder klinkt dat met die plugins wel aardig, haalbaarheid is wat anders. Ik gaat eens kijken hoe dat moet.
Ik denk verder dat je een beetje uit moet kijken om niet te veel bezig te houden om iedereen tevreden te stellen. Dat lukt je namelijk toch niet.. Er zullen altijd wel mensen buiten de boot vallen.
Op dit moment lijkt me sockets ook inderdaad de beste optie: je bent platform-onafhankelijk (zelfs LSB/MSB onafhankelijk) en praktisch elke taal ondersteund socket connecties. (verder zijn ze hier op weg om opnieuw corba en com uit te vinden, maar da's terzijde
Yo dawg, I heard you like posts so I posted below your post so you can post again.
tut ben ik tegen gekomen, en dat lukt me
alleen het is vb != superdupersnel & 1337 natuurlijk, maar goed. ik ga gewoon ff zoeken hoe het in c moet, en dan komt het allemaal in orde
En dan mag JayTaph de plugins gaan aanroepen uit zijn programma's
Nogmaals mijn vaag: Is er al iets concreets? Is er al iemand die het e.e.a. opzich wil nemen?? Of blijven we praten over iets wat er niet gaan komen?
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Het is standaard dat er niets gaat komen.. welkom op got.Creepy schreef op 22 November 2002 @ 15:09:
Eeehh.. zullen we het hier gewoon over de contest blijven hebben i.p.v. over het hoe en wat van plugins?
Nogmaals mijn vaag: Is er al iets concreets? Is er al iemand die het e.e.a. opzich wil nemen?? Of blijven we praten over iets wat er niet gaan komen?
Nogmaals... (en je blijft het hopeloos herhalen), het heeft *geen* zin om met een grote groep mensen iets te verzinnen. Immers: "A camel is a racehorse designed by a committee". Als er een wedstrijd plaats moet gaan vinden, dan moet er een paar (lees: paar) mensen een wedstrijd opzetten (eg: mol het ander schipje en blijf zelf in leven) en van daaruit de grenzen opstellen hoe het moet draaien (via sockets, via plugins, via std, whatever), en op welk(e) syste(e)m(en) het gaat draaien.
Als je dan niet met die grenzen eens bent, dan is dat gewoon jammer, maar je kunt niet iedereen tevreden stellen.
En nee... ik doe niet mee of ga ook niet in de jury zitten
Yo dawg, I heard you like posts so I posted below your post so you can post again.
* Creepy bekijkt zijn postcount.. hmm.. boven de 3000...JayTaph schreef op 22 november 2002 @ 15:28:
[...]
Het is standaard dat er niets gaat komen.. welkom op got.
* Creepy bekijkt de postcount van JayTaph... onder de 2000...
JayTaph: welkom op GoT!
Tja.. iemand van de P&W "regulars" of de Mods zullen dit IMHO op zich moeten nemen. . ik heb er alvast geen tijd voor.. meedoen gaat hopelijk wel lukken..Nogmaals... (en je blijft het hopeloos herhalen), het heeft *geen* zin om met een grote groep mensen iets te verzinnen. Immers: "A camel is a racehorse designed by a committee". Als er een wedstrijd plaats moet gaan vinden, dan moet er een paar (lees: paar) mensen een wedstrijd opzetten (eg: mol het ander schipje en blijf zelf in leven) en van daaruit de grenzen opstellen hoe het moet draaien (via sockets, via plugins, via std, whatever), en op welk(e) syste(e)m(en) het gaat draaien.
Als je dan niet met die grenzen eens bent, dan is dat gewoon jammer, maar je kunt niet iedereen tevreden stellen.
En nee... ik doe niet mee of ga ook niet in de jury zitten
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Verwijderd
Maarja, het is natuurlijk helemaal leuk als we niet naar consensus streven maar ik in plaats daarvan mag bepalen hoe moeilijk het voor jullie wordt. Maw. maak je borst maar nat, of draag iets voorVerwijderd schreef op 21 November 2002 @ 21:36:
Ik persoonlijk wil best zo'n jury programma schrijven (als er consensus is over wat de opdracht precies wordt)...
Het wordt iig. een unix/linux programma dus zijn sockets onvermijdelijk, of jullie moeten allemaal ook unixcode schrijven willen (dus geen .net,. geen dll-plugins of iets dergelijks).
* JayTaph bekijkt zijn userid.. hmmm.. 905Creepy schreef op 22 november 2002 @ 15:52:
[...]
* Creepy bekijkt zijn postcount.. hmm.. boven de 3000...
* Creepy bekijkt de postcount van JayTaph... onder de 2000...
JayTaph: welkom op GoT!
* JayTaph bekijkt de userid van Creepy... hmm.. dik boven de 20.000
Creepy: Nee, JIJ welkom op GoT!
[ Voor 5% gewijzigd door JayTaph op 22-11-2002 16:02 ]
Yo dawg, I heard you like posts so I posted below your post so you can post again.
Zo lang al?? Lurker dat je bent!!JayTaph schreef op 22 November 2002 @ 16:01:
[...]
* JayTaph bekijkt zijn userid.. hmmm.. 905
* JayTaph bekijkt de userid van Creepy... hmm.. dik boven de 20.000
Creepy: Nee, JIJ welkom op GoT!
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Ik was van plan om ook iets in elkaar te flansen dat onder windows draait en gebruikt maakt van de stdin en stdout.Verwijderd schreef op 22 November 2002 @ 15:54:
Schaamteloze selfquote:
[...]
Maarja, het is natuurlijk helemaal leuk als we niet naar consensus streven maar ik in plaats daarvan mag bepalen hoe moeilijk het voor jullie wordt. Maw. maak je borst maar nat, of draag iets voor
Het wordt iig. een unix/linux programma dus zijn sockets onvermijdelijk, of jullie moeten allemaal ook unixcode schrijven willen (dus geen .net,. geen dll-plugins of iets dergelijks).
Kunnen de Linux / Unix freaks ook meedoen zolang ze hun code maar portable houden. Kan VB ook. kan .NET ook, kan [insert elke willekeurige taal waar een compiler of interpreter voor windows beschikbaar is] ook
En alles kan dan worden uitgevoerd op 1 en dezelfde machine. Dus ook geen voordelen / nadelen wat betreft processorkracht, lag etc.
Ff kijken of ik volgende week wat heb, dan post ik meer details.
[ Voor 9% gewijzigd door Creepy op 22-11-2002 16:56 ]
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Wie de hoogste framerate kan halen met een bepaald object
aangezien het toch allemaal op 1 computer word getest..
Met een 3D-engine ben je wel even bezig hoorEl_Quedro schreef op 22 November 2002 @ 17:24:
Waarom doen we niet wie de snelste 2D of 3D engine kan bouwen?
Wie de hoogste framerate kan halen met een bepaald object
aangezien het toch allemaal op 1 computer word getest..

El_Quedro schreef op 22 November 2002 @ 17:24:
Waarom doen we niet wie de snelste 2D of 3D engine kan bouwen?
Wie de hoogste framerate kan halen met een bepaald object
aangezien het toch allemaal op 1 computer word getest..
pfff, een objectviewer is geen 3d engine, bovendien is daar nauwelijks snelheid uit te persen, het is puur apifuncties aanroepen
tenzij je software rendering bedoelt natuurlijk
trouwens beetje loos om zo'n contest te doen, alleen maar omdat jij dat toevallig goed kan (ik ook, en nog wel een paar anderen, maar zoveel zijn dat er niet hoor, niet echt een eerlijke competitie dus)
[ Voor 24% gewijzigd door .oisyn op 22-11-2002 20:56 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
- stdin / stdout
- turnbased (zou eigenlijk veel meer een uitdaging zijn om het nou net niet te doen
- unix systeem (tricky voor een paar (waaronder ik), maar moeten het maar doen met cygwin)
- er komt een jury programma dat spul aanstuurt, en speelveldinformatie ed levert aan AI's
- voor een paar (waarschijnlijk de meest gebruikte) talen komen stukken voorbeeld/start code
- uitslag is een winnaar, niet 'AI die de beste tactiek had, maar genuked werd' Alles of niets. We gaan dan ook door tot er een winnaar is.
verder paar ideetjes in de groep gooien:
- spel dat leuk visueel weergegeven kan worden, zodat je kan meekijken / later bekijken. helemaal loos voor het spel zelf, maar geeft wel erg vette meuk
- niet 1 tegen 1, maar allemaal tegen allemaal tegelijk. dus geen ronde, ronde, ronde, finale, maar gewoon 1 spel en that's it. Geeft ook leukere effecten.
that's it for now...
Verwijderd
Dat is verder geen probleem als ik bv. met Creepy samenwerk, ik heb er geen idee van hoe je onder windows een proces spawned en zijn standard i/o naar het parent process piped. Als we een interface voor dat spawnen en de pipes bedenken schrijf ik een portable game-engine die alleen dat interface gebruikt.
Dan blijft verder de vraag: gaan we voor een 2D-friction environment (tankjes oid.) of een 3D-frictionless environment (ruimtescheepjes oid.). 3D-frictionless is een stuk moeilijker sturen, je moet verder vooruit "denken" om te kunnen anticiperen op tegenstanders.
Ik háát ruimtescheepjes
En verder zit ik een soort van c&c uit te denken, maar dan met punten-iets zodat het turnbased wordt... meer info volgt.
Natuurlijk moeten we dit niet 'shameless' jatten, maar ik denk dat je in goed overleg met de makers best hun idee mag hergebruiken..Mart! schreef op 19 November 2002 @ 08:47:
[...] Op http://icfpcontest.cse.ogi.edu/ vindt je een beschrijving van de game. Deze contest is al lang begonnen (zelfs afgelopen?), maar misschien geeft het ideeen.
De omschrijving van de opdracht vindt je hier. [...] Ik vond het toen een leuk concept, de game lijkt me ook redelijk uitdagend.
Voordelen: 1. server is reeds gemaakt. 2. er is een test-serverapplicatie voor de te realiseren clients. 3. Regels m.b.t. protocol liggen al vast en zijn uitgekristalsieerd na een eerste vragenronde
Verwijderd
Dan zal er wel iets van een server gesetuppet moeten worden, die sterk genoeg is om naar alle deelnemers (lees: proggramma's) informatie over posities ed te sturen. Via sockets lijkt me het handigste en dan gewoon informatie terugsturen. Niks stdin/stdout, gewoon een waarde retourneren, wat de server er mee doet moet hij zelf maar weten... Of je moet het idd op 1 machine runnen, maar zorg dan wel dat daar PHP beschikbaar is op de command-line- niet 1 tegen 1, maar allemaal tegen allemaal tegelijk. dus geen ronde, ronde, ronde, finale, maar gewoon 1 spel en that's it. Geeft ook leukere effecten.
Precies. Een server opzetten voor een dergelijk spel is niet moeilijk, en het voordeel is dat je het distributed kunt draaien (dit doet me denken aan .NET Terrarium, www.gotdotnet.com geloof ik, en nee, ik ben niet naar .net bekeerdVerwijderd schreef op 23 november 2002 @ 19:00:
[...]
Dan zal er wel iets van een server gesetuppet moeten worden, die sterk genoeg is om naar alle deelnemers (lees: proggramma's) informatie over posities ed te sturen. Via sockets lijkt me het handigste en dan gewoon informatie terugsturen. Niks stdin/stdout, gewoon een waarde retourneren, wat de server er mee doet moet hij zelf maar weten... Of je moet het idd op 1 machine runnen, maar zorg dan wel dat daar PHP beschikbaar is op de command-line
Gaat iedereen gewoon het winnende algoritme insturen en hopen
dus...
ff serieus:
Ik stel voor dat we Dusty vragen voor een opdracht hij is daar erg sterk in weet ik uit ervaring
[ Voor 34% gewijzigd door wasigh op 23-11-2002 23:00 . Reden: Beter Idee ]
Verwijderd schreef op 23 November 2002 @ 20:53:
ik wil ook wel meedoen met een 'contest' maar dan moet ie wel in QuickBASIC of PHP zijn
het idee is dus dat zo'n contest taal onafhankelijk is
Doet iets met Cloud (MS/IBM)
Verwijderd
Hehe, exact mijn talenVerwijderd schreef op 23 November 2002 @ 20:53:
ik wil ook wel meedoen met een 'contest' maar dan moet ie wel in QuickBASIC of PHP zijn
Verwijderd
- We hebben al beslist dat het op één machine zal draaien, dus zijn sockets pure overkill.
- Daarnaast gaan we niet een bestaande compo overdoen omdat bepaalde mensen daar voordeel van zouden kunnen hebben.
- En we nemen zeker geen platform dat (een deel van) de potentiele deelnemers uitsluit tenzij ze flink duiten op tafel leggen (dus geen .net).
Dit topic is gesloten.