Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Contest: Spielprogrammierung



Lukas
23.02.2008, 16:57
Moin,

da DFYX mich gebeten hat, den Contest aufzumachen (und wir zu nichts kommen, wenn's keiner macht): hier ist er.

Die Aufgabenstellung ist simpel: Programmiere ein Spiel.

Ihr müsst den Source bis Sonntag, den 16.3.2008 um 20 Uhr MEZ in diesen Thread posten oder verlinken (der Source muss kostenfrei zur Verfügung stehen, idealerweise unter einer OSI (http://opensource.org)-zertifizierten Lizenz), sprich, ihr habt ca. zwei drei Wochen Zeit. Dann werde ich einen Thread mit einer Umfrage aufmachen, die eine Woche läuft, in der der Sieger gewählt wird (da können alle User abstimmen, nicht nur die Teilnehmer, wobei ich Stimmen von "Außenstehenden" (also Leuten, die keine Ahnung haben und einfach ihren besten Kumpel wählen), ZAs, und ähnlichen Manipulations-Versuchen nicht zählen werde).

Es gibt keinerlei Einschränkungen, was das Genre und den Inhalt des Spiels (solange das ganze nicht gegen die Netiquette verstößt) und die Verwendung von Programmiersprachen, Bibliotheken, etc angeht (solange diese ebenfalls kostenlos verfügbar oder beim OS mitgeliefert sind). Selbiges gilt für Resourcen (Grafiken, Sounds, etc).
Ihr solltet im Hinterkopf behalten, dass hier im Forum Windows-, Linux- und Mac-User rumlaufen und die euch vermutlich nicht wählen werden, wenn euer Programm auf ihrem OS nicht läuft.
Desweiteren ist Teamarbeit untersagt, baut euer Spiel alleine.


Ein Hinweis noch: versucht nicht, ein Riesen-Projekt auf die Beine zu stellen. In 2 Wochen könnt ihr kein Super-Spiel mit 3D-Grafik und toller KI bauen. Ein command line-Tic Tac Toe ist eine gültige Einsendung, und das ist besser als wenn ihr das uber-Spiel baut, aber es nicht fertig kriegt.

Als Preis für den Sieger werde ich 'nen Sonderrang (für einen Monat) springen lassen (Vorschläge für diesen Rang bitte zwischen jetzt und Ende der Abstimmung hier posten oder an mich senden, ich werd mir dann einfach einen rausgreifen).

Viel Spaß :)


Update 7.3.: der Contest wurde nach Antrag von Ineluki und relativ klarer Zustimmung der Teilnehmer um eine Woche verlängert.

Jesus_666
23.02.2008, 17:06
Nett. Ich werd' mal sehen, was ich hinkriege.

makkurona
23.02.2008, 17:18
Ebenfalls, wie schon im anderen Thread erwähnt: Ich freue mich tierisch darauf auch einmal ein Spiel praktisch umzusetzen. (:

drunken monkey
23.02.2008, 17:24
OK, ich überleg' mal gleich, was es wird. ^^ Hoffentlich krieg' ich's diesmal mal wieder fertig...<___<'

@ Rang: Warum nicht einfach (themenbezogener) Rang nach Wahl?

MagicMagor
23.02.2008, 17:35
Wunderbar, hab sogar schon eine Idee was ich eventuell mache.
Kurze Frage noch, wie sieht es mit eventuell verwendeten Grafiken/Sounds aus, selbstgemacht Pflicht oder auch frei verfügbare unter entsprechender Lizenz stehende erlaubt? (Quellenangabe dann wohl Pflicht)

dead_orc
23.02.2008, 17:42
Wunderbar, hab sogar schon eine Idee was ich eventuell mache.
Kurze Frage noch, wie sieht es mit eventuell verwendeten Grafiken/Sounds aus, selbstgemacht Pflicht oder auch frei verfügbare unter entsprechender Lizenz stehende erlaubt? (Quellenangabe dann wohl Pflicht)

Ich erdreiste mich mal, zu sagen, dass jede frei verfügbare und entsprechend lizensierte Ressource wie Grafik oder Sound verwendet werden darf, da es hier ums Programmieren und nicht ums malen geht.

Lukas
23.02.2008, 17:46
Ich erdreiste mich mal, zu sagen, dass jede frei verfügbare und entsprechend lizensierte Ressource wie Grafik oder Sound verwendet werden darf, da es hier ums Programmieren und nicht ums malen geht.
Ja, ist sinnvoll. Ich editier's mal in den Startpost.

Ynnus
23.02.2008, 23:14
Und wie wird kontrolliert, dass die Einsendung wirklich in den 2 Wochen entstanden ist. Ich habe zahlreiche Spielchen rumliegen, die ich einsenden könnte und vorgeben könnte, sie wären für den Contest geschrieben worden. Wie wird gewährleistet, dass dies nicht passiert?

Lukas
23.02.2008, 23:23
Und wie wird kontrolliert, dass die Einsendung wirklich in den 2 Wochen entstanden ist. Ich habe zahlreiche Spielchen rumliegen, die ich einsenden könnte und vorgeben könnte, sie wären für den Contest geschrieben worden. Wie wird gewährleistet, dass dies nicht passiert?
Ist dir das Konzept "Vertrauen" bekannt? :rolleyes:

Ynnus
24.02.2008, 02:51
Ist dir das Konzept "Vertrauen" bekannt? :rolleyes:

Mir schon, aber manch anderem vielleicht nicht. Und besonders schmeichelhaft ist dein Smilie nicht, ich habe nichtmal vor mitzumachen, brauchst mir also kaum unterstellen ich würde das so machen wie besagt. Ich habe lediglich diese Tatsache angesprochen.

Rolus
24.02.2008, 08:25
Wenn man auf dem Gebiet schon Erfahrungen gemacht hat, profiertiert man davon sowieso. Und wenn man ein ähnliches Projekt schon mal geschrieben hat, werden sich Ähnlichkeiten (auch im Code) zum 2-Wochen-Spiel wohl nicht vermeiden lassen.
Ich habe daher vor, für das Spiel SDL zu nutzen. Damit habe ich mich nämlich noch nie beschäftigt und so entsteht das Spiel wirklich neu. Aber ich weiß nicht, wie weit ich in zwei Wochen komme ... aber hoffentlich wird überhaupt jemand in der Zeit fertig. Ein Spiel regt natürlich doch ungemein zur Selbstüberschätzung an.

freundliche Grüße, Rolus

Brainstar
24.02.2008, 11:01
Mir schon, aber manch anderem vielleicht nicht. Und besonders schmeichelhaft ist dein Smilie nicht, ich habe nichtmal vor mitzumachen, brauchst mir also kaum unterstellen ich würde das so machen wie besagt. Ich habe lediglich diese Tatsache angesprochen.

Kann man etwas Anders tun, als Vertrauen? Ich glaube kaum, dass der Smilie schmeichelhaft aussehen soll...

@Rolus: Ich glaube kaum, dass es darum geht, wieder bei Null anzufangen.
Und klar sieht der Code immer ähnlich aus. Ein Mainloop, der alle Bedingungen abfängt und entsprechend verarbeitet, das wars. Imho gehts bei einem Contest darum, wer besser - dh. sauberer und effizienter - programmieren kann.

Ich weiß noch nicht, ob ich mitmachen werde, wenn ich Zeit dazu finde und ne Idee hab, ich bereit mir halt schon mal ein Mainloop-Template vor^^

Mal sehen, wie viele Leute diesmal mitmachen und wie viele größenwahnsinnig werden.

Lukas
24.02.2008, 11:04
Mir schon, aber manch anderem vielleicht nicht. Und besonders schmeichelhaft ist dein Smilie nicht, ich habe nichtmal vor mitzumachen, brauchst mir also kaum unterstellen ich würde das so machen wie besagt. Ich habe lediglich diese Tatsache angesprochen.
Ich will dir das auch gar nicht unterstellen — ich erachte es lediglich als ziemlich offensichtlich, dass wir keine Möglichkeit haben, das zu kontrollieren, und daher darauf vertrauen müssen, dass die Leute Interesse an einem fairen Contest haben und sich dran halten.

dead_orc
24.02.2008, 16:06
So, mein Spiel ist fertig *duck*
Für den Fall, dass niemand sonst was baut, haben wir wenigstens eine Einsendung ^^

makkurona
24.02.2008, 17:31
Heya, du bist schnell (:
Ich arbeite noch an einer Engine. Nur was kleines, wills ja nicht übertreiben. Habe aber momentan ein leichtes Problem mit meinen OpenGL Kentnissen. Aber solche Defizite schreien ja förmlich dannach ausgeglichen zu werden und ich sitze dahinter. (:
Auch wenn ich dafür Hilfe in diversen Foren einholen muss.

Rolus
24.02.2008, 22:52
Imho gehts bei einem Contest darum, wer besser - dh. sauberer und effizienter - programmieren kann.
Hm, allgemeine Frage: Wo soll die Priorität liegen? Auf dem Code oder dem Ergebnis? Also ich würde meine Stimme wohl dem Spiel geben, das mir am meisten Spaß macht und nicht dem, das am "effizientesten" programmiert ist. Natürlich kann jeder beim Abstimmen irgendwie selbst die Gewichtungen setzen. Aber so generell würde mich schon interessieren, ob man lieber mehr Zeit in Code-Optimierung oder in Spielfunktionen investieren sollte.

freundliche Grüße, Rolus

Indy
25.02.2008, 12:26
Ein Spielecontest? Mit einer kleinen, einfachen Windowsanwendung könnte ich dabei sein, ich werde mal schaun, was ich schaffe, muss jedoch noch eine frei verfügbare Entwicklungsumgebung für C# auftreiben, meine Schullizenz von Visual Studio 2005 dürfte beim Wettbewerb nicht zulässig sein...

Lukas
25.02.2008, 12:27
Ein Spielecontest? Mit einer kleinen, einfachen Windowsanwendung könnte ich dabei sein, ich werde mal schaun, was ich schaffe, muss jedoch noch eine frei verfügbare Entwicklungsumgebung für C# auftreiben, meine Schullizenz von Visual Studio 2005 dürfte beim Wettbewerb nicht zulässig sein...

Visual Studio Express?

Indy
25.02.2008, 12:33
Die gibt es kostenlos? Danke für die Info, wusste ich gar nicht. :D
Dann zieh ich die mir mal.

drunken monkey
25.02.2008, 13:05
So, ich habe auch fertig, also eine Abstimmung wird's schon mal geben. :D
Hau' mich allerdings vielleicht noch ein bisschen hinter ein paar Features, also post' ich's mal noch nicht. ^^ (Und natürlich, um noch einen Post abzustauben, die 10.000 kriegt man nicht von alleine. XD)

Drakes
25.02.2008, 19:29
Wow, interessiert mich echt, was ihr gemacht habt, bin noch nicht einmal mit meiner Engine fertig. Nun gut, ich schaue SDL zum ersten mal an und da braucht es nun mal ein bischen mehr Zeit, wobei ich sagen muss, dass der Code mit SDL sehr kompakt und trotzdem verständlich ist.

Indy
25.02.2008, 20:29
Da gebe ich mir stundenlang Mühe einen Prototypen für ein Jump'nRun in der Konsole zu machen und dann stelle ich fest, dass das Endergebnis durch die ganzen Console.Clear's zu Augenkrebs führt. http://www.multimediaxis.de/images/smilies/old/sm_15.gif Tja, schade.

Na gut, werd ich mir halt ein anderes Spiel ausdenken. :hehe:

duke
26.02.2008, 19:16
Hm, ich versuch auch mal was kleines, nichts großes oder herrausragendes. Aber so komm ich wenigstens mal dazu mir ein wenig OOP in C++ anzusehen. Kann aber nichts versprechen. :P

Drakes
27.02.2008, 15:08
Wird mir erlaubt Grafiken vom Board hier zu gebrauchen? Sonst, wen müsste ich fragen? (Hatte ne blöde idee :p)

makkurona
27.02.2008, 17:23
kommt auf die Grafiken an, schätze ich.
geht es um Avatare wirst du die personen fragen müssen, geht es ums Design die Webmaster, schätze ich.

Btw: Macht meine Engine Fortschritte und wirft meinen Zeitplan ob unerhoffter Komplikationen erheblich zurück.

dead_orc
27.02.2008, 19:57
Wird mir erlaubt Grafiken vom Board hier zu gebrauchen? Sonst, wen müsste ich fragen? (Hatte ne blöde idee :p)

Die Standarddesigns sind von Ranmaru, und laut ihm sind alle Grafiken Creative Commons by-nc (http://creativecommons.org/licenses/by-nc/2.0/de/), demnach für den Contest erlaubt, solange du vermerkst, dass sie von Ranmaru sind, und das Spiel nicht verkaufst (sowie jedem anderen verbietest, es zu verkaufen, was gewisse Lizenzprobleme geben könnte xD).

Drakes
27.02.2008, 20:09
Was meinst du mit Standarddesignes, sind das alle die ich unten auswählen kann? Und wie soll ich das dann managen mit der Lizenz? Eine Readme-Datei erstellen und dort einfach schreiben, dass die Grafiken unter der Creative Commons Lizenz stehen, auf die Website verweisen und schreiben, dass sie von Ranmaru sind(mit Verweis auf Multimediaxis)? Sowieso, wo müsste man hinschreiben (und was), dass das Programm Open Source ist?

dead_orc
27.02.2008, 20:30
Was meinst du mit Standarddesignes, sind das alle die ich unten auswählen kann? Und wie soll ich das dann managen mit der Lizenz? Eine Readme-Datei erstellen und dort einfach schreiben, dass die Grafiken unter der Creative Commons Lizenz stehen, auf die Website verweisen und schreiben, dass sie von Ranmaru sind(mit Verweis auf Multimediaxis)? Sowieso, wo müsste man hinschreiben (und was), dass das Programm Open Source ist?

Die Lizenz eines Programms wird meistens in einer Datei LICENSE mitgeliefert. Wenn keine vorhanden ist, ist AFAIK der Author Eigentümer aller Rechte (geistiges Eigentum und so). Wie du den Vermerk auf den Author unterbringst... gute Frage, müsste reichen, wenns irgendwo in ner Readme steht. Für sowas sind aber IIRC die Seiten von Creative Commons (http://creativecommons.org) eine ganz gute Anlaufstelle, die haben ne recht umfangreiche FAQ.

duke
28.02.2008, 12:18
Ich hoff mal, dass ich heute wieder dazu komme etwas mehr zu programmieren, damit die "Base" vom Spiel fertig wird. :P

.oO(Ich hoffe mal, dass ich es überhaupt schaffe, zum 3.3 fertig zu werden.)

DFYX
28.02.2008, 13:47
OK, ich hab jetzt tatsächlich ne Idee und das Grundgerüst steht. In ANSI C und SDL, sollte also wirklich beinahe überall laufen.

Hisoka
28.02.2008, 14:02
Als Basis nehmen wohl alle das selbe. :D

Nutze hier C++ und SDL. Ne Basis ist bei mir auch schon fertig. Jetzt kommt erstmal der Test unter Linux, damit ich endlich wieder hier programmieren kann. :)

dead_orc
28.02.2008, 16:35
Als Basis nehmen wohl alle das selbe. :D

Bezweifel ich :p

Crash-Override
28.02.2008, 17:55
Bei mir noch kein ausgearbeitetes Konzept, nur ein paar Ideen. Umsetzen werde ich es denke ich mal mit Python und pyGame, wollte da schon laenger mal wieder was mit machen.

FF
29.02.2008, 12:10
idee ja, zeit nein -> noe.

Satyras
29.02.2008, 16:15
idee ja, zeit nein -> noe.

Geht mir genauso xD!

drunken monkey
05.03.2008, 18:55
Wow, also wenn ich das richtig sehe, hat bisher noch niemand abgegeben. o_O' Naja, orc ist immerhin schon fertig...
Trotzdem wird's langsam spannend, wieviele Einsendungen da noch kommen! ^^'''

Hier jedenfalls mein Spiel, weiter dran rumbasteln bringt's, glaub' ich, nicht wirklich. http://www.multimediaxis.de/images/smilies/old/szuck.gif

Spiel (http://betrunkeneraffe.be.funpic.de/qtfr/qtfr.html)
Verzeichnis mit Sources und einem Gesamt-ZIP (http://betrunkeneraffe.be.funpic.de/qtfr/)

Möge der Beste gewinnen, und ich der Beste sein! ^^

dead_orc
05.03.2008, 19:25
Wow, also wenn ich das richtig sehe, hat bisher noch niemand abgegeben. o_O' Naja, orc ist immerhin schon fertig...
Trotzdem wird's langsam spannend, wieviele Einsendungen da noch kommen! ^^'''

Hier jedenfalls mein Spiel, weiter dran rumbasteln bringt's, glaub' ich, nicht wirklich. http://www.multimediaxis.de/images/smilies/old/szuck.gif

Spiel (http://betrunkeneraffe.be.funpic.de/qtfr/qtfr.html)
Verzeichnis mit Sources und einem Gesamt-ZIP (http://betrunkeneraffe.be.funpic.de/qtfr/)

Möge der Beste gewinnen, und ich der Beste sein! ^^

Was zum...!?
Bezahlst du mir die Augenkrebs-Behandlung?
Hab beim ersten Versuch 9720 Punkte geschafft. Du solltest diese Messages nach gelben Kästen länger anzeigen IMO - ich konnte die nie vollständig lesen ^^

Aber gut, es ist ein Spiel. Und du hast die Anweisung befolgt - nicht zu viel machen ^^ (woran ich vielleicht doch noch scheitern werde)
Und einigermaßen ideenreich ist es immerhin auch ;)

Wenn sonst keine Einsendungen kommen, hast du meine Stimme sicher :p

[EDIT]
14231 Punkte. (gosh, ich hab das echt nochmal gespielt. Und mir tun die Augen wieder weh >_<)

[EDIT2]
Type:

Warning: Do not resize the browser window while plaing!

Ynnus
05.03.2008, 19:42
Das Spiel beschuldigt mich, geschummelt zu haben. Unerhört!! :p

"310714 Points

Just admit it already, you cheated! :O"


Gespielt in 1680 x 1050 im Firefox.


@dead_orc: Du scheinst deine Maus falsch eingestellt zu haben. Ich hab ja mehr als das 22 fache deiner Punkte... @_@

Jesus_666
05.03.2008, 19:44
Ich habe nur darauf gewartet, daß sich etwas tut.


Aus Zeitmangel habe ich kein tolles Spiel machen können, aber ich konnte immerhin einen originellen Ansatz verfolgen: Ich habe Tic Tac Toe in Inform 7 (http://www.inform-fiction.org/I7/Inform%207.html) implementiert. Damit dürfte ich wohl das mit Abstand am umständlichsten zu bedienende Spiel haben.

Das Archiv beinhaltet das Spiel als Bytecode für Z-Machine Version 5 und Glulx, jeweils roh und in Blorb-Archiven, das Inform 7 (OS X)-Projekt, eine Kopie der Lizenz und eine Readme, die beschreibt, wie man aus dem Projekt den Quelltext isoliert.

Hier ein Screenshot. (http://jesus_666.fnord.name/temp/Bild%2016.png)
Und hier die Abgabe. (http://jesus_666.fnord.name/temp/Tict%20Ecto.zip)


PS: Kompatible Interpreter wären Zoom (http://www.logicalshift.co.uk/unix/zoom/) (OS X/*nix, Z-Code), Frotz (http://frotz.homeunix.org/frotz/) (Versionen für alle OSe, Z-Code) oder Glulxe (http://www.eblong.com/zarf/glulx/) (Win/Mac/DOS, Glulx).
Getestet mit Zoom (OS X).

FF
05.03.2008, 19:56
ynnus: du hast _definitiv_ zu viel freizeit o.O"
ich hab bei 2111 aufgehört, weils unspaßig wurde.

dead_orc
05.03.2008, 20:09
Das Spiel beschuldigt mich, geschummelt zu haben. Unerhört!! :p

"310714 Points

Just admit it already, you cheated! :O"


Gespielt in 1680 x 1050 im Firefox.


@dead_orc: Du scheinst deine Maus falsch eingestellt zu haben. Ich hab ja mehr als das 22 fache deiner Punkte... @_@

Ich habs mit Touchpad gespielt. Und mir ist nicht langweilig - ich hab schon von 10k Punkten Augenschmerzen bekommen.

Ich habe übrigens ein 4 Gewinnt auf der Shell gebastelt. Ich veröffentliche auch schon mal den Source Code (http://deadorc.de/tmp/4g.c), jedoch wird hoffentlich noch eine aktuellere Version mit einigen mehr Features kommen. Das Spiel hat ne grundlegende KI, die man mit -ai als erstem Argument aktiviert.

[EDIT]
Narf, stimmt ja, der DNS ist ja grade down. Dann halt hier ein alternativer Link (http://annexis.org/~dead_orc/4g.c)

Dependency ist übrigens ncurses bzw. pcurses. Zum Kompilieren unter Linux:

gcc -lncurses -o 4g 4g.c

Unter Windows hab ichs auch irgendwie mit Bloodshed Dev++ hinbekommen, aber fragt mich nicht wie. Das "Final" Release gibts hoffentlich gleich mit Binaries.

Ynnus
05.03.2008, 20:23
ynnus: du hast _definitiv_ zu viel freizeit o.O"
ich hab bei 2111 aufgehört, weils unspaßig wurde.

Ich habs nur einmal gespielt und dann eben bis ich verloren hatte, ist doch doof in der Mitte aufzuhören. Aber das Spiel geht definitiv zu langsam los, am Ende wirds unmöglich schnell, am Anfang aber sehr lahm.

drunken monkey
05.03.2008, 20:37
Source Code (http://deadorc.de/tmp/4g.c)
Den Server findet er bei mir nicht, ist der gerade down?

@ Ynnus: Wow, dachte echt nicht, dass soviele Punkte möglich sind...:eek: Aber gut, gratz! :D
Dass das Spiel weit weg von jedem Sinn von "perfekt" ist, ist mir natürlich klar, aber wie orc schon sagte, ich wollt' mich diesmal auf keinen Fall in was reinsteigern. ^^''

Jesus_666
05.03.2008, 20:50
Wow, also wenn ich das richtig sehe, hat bisher noch niemand abgegeben. o_O' Naja, orc ist immerhin schon fertig...
Trotzdem wird's langsam spannend, wieviele Einsendungen da noch kommen! ^^'''

Hier jedenfalls mein Spiel, weiter dran rumbasteln bringt's, glaub' ich, nicht wirklich. http://www.multimediaxis.de/images/smilies/old/szuck.gif

Spiel (http://betrunkeneraffe.be.funpic.de/qtfr/qtfr.html)
Verzeichnis mit Sources und einem Gesamt-ZIP (http://betrunkeneraffe.be.funpic.de/qtfr/)

Möge der Beste gewinnen, und ich der Beste sein! ^^
Warum besteht das Spiel darauf, daß ich mein Browserfenster vergrößere? Das ist unter OS X nervig, weil da "maximieren" nicht mit "den ganzen Bildschirm bedecken" identisch ist und die gewünschte Breite bedeutet, daß ich das Fenster von Hand vergrößern (und damit meine normale Breite verwerfen) muß.

drunken monkey
05.03.2008, 21:02
Warum besteht das Spiel darauf, daß ich mein Browserfenster vergrößere? Das ist unter OS X nervig, weil da "maximieren" nicht mit "den ganzen Bildschirm bedecken" identisch ist und die gewünschte Breite bedeutet, daß ich das Fenster von Hand vergrößern (und damit meine normale Breite verwerfen) muß.
Ah, tut mir leid, dachte mir schon, dass das bei Mac nervig sein könnte. ^^'
Das ist um zu verhindern, dass jemand das Fenster einfach total mini macht und dann praktisch immer auf die selbe Stelle klicken muss (oder ganz in die Nähe). Bessere Lösung solches Schummeln zu verhindern ist mir nicht eingefallen. <__<''

DFYX
05.03.2008, 21:28
Berechne die Punktzahl halt abhängig von der Fenstergröße.

Jesus_666
05.03.2008, 22:18
Mache einfach die Quadratgröße von der Fenstergröße abhängig. Du multiplizierst Fensterbreite und -höhe und teilst das Ergebnis durch einen Referenzwert, den du aus deinem Testfenster gebildet hast. Dadurch erhältst du einen Skalierungsfaktor, mit dem du dann die Quadratgröße multiplizierst.

So hat man dann auch keine Merkwürdigkeiten á la inkonsistente Punktevergabe. Ganz arg kleine Fenster kann man vermeiden, indem man vor dem Spiel errechnet, ob skalierungsfaktor * quadratgröße < 1 und dann verweigert.

drunken monkey
05.03.2008, 22:29
Mache einfach die Quadratgröße von der Fenstergröße abhängig.
Mache ich eh. ^^'
Hielt das mit dem Maximierungszwang dennoch für eine gute Idee, war's wahrscheinlich nicht, aber da ich's jetzt abgegeben habe und sowieso nicht mehr ändere ist's ja auch wurscht. ^^'' So genial, dass gleich alle nach einer Version 2 schreien, ist's ja doch nicht. XD

Jesus_666
05.03.2008, 22:56
Deine Entscheidung. Für mich ist diese Abfrage aber schon eine Berücksichtigung wert, wenn ich hinterher stimme.

Crash-Override
06.03.2008, 05:55
Mache ich eh. ^^'
Hielt das mit dem Maximierungszwang dennoch für eine gute Idee, war's wahrscheinlich nicht, aber da ich's jetzt abgegeben habe und sowieso nicht mehr ändere ist's ja auch wurscht. ^^'' So genial, dass gleich alle nach einer Version 2 schreien, ist's ja doch nicht. XD

Mach die Felder alle um ca. 50% kleiner und lass es in nem PopUp von 800x600 (oder 640x480) spielen, das sollte eigentlich ziemlich alle Unklahrheiten beseitigen.

Jesus_666
06.03.2008, 07:12
Mach die Felder alle um ca. 50% kleiner und lass es in nem PopUp von 800x600 (oder 640x480) spielen, das sollte eigentlich ziemlich alle Unklahrheiten beseitigen.

Nachteil: Das setzt voraus, daß Popups neue Fenster sind und JavaScript das Recht hat, die Größe neuer Fenster zu bestimmen. Letzteres kann man abstellen und ersteres wird durch tabbed browsing gestört. Bei mir sind Popups immer Tabs und das ist gut so.

Aber man kann natürlich auch einfach alles in einen Tag fester Größe packen. Um den kann man immer noch ein Popup umzu bauen (für die, wo's funktioniert).

makkurona
06.03.2008, 13:21
Jesus: Das ist eine zweispieler Variante, oder?
Also, der PC rechnet nicht selbst die nächsten Züge aus?

(Screenshot gesehen)

FF
06.03.2008, 14:03
das ist bei dem spiel doch sowieso reichlich sinnlos. es geht mehr ums prinzip.
denn sowohl bei cpu gegner als auch bei menschen (die das spiel min. 1x gespielt haben...) ist das Ergebnis eigentlich immer schon vorher klar.
Wer anfängt, gewinnt, oder es gibt Unentschieden, der zweite kann eigentlich gar nicht gewinnen.

Jesus_666
06.03.2008, 17:44
das ist bei dem spiel doch sowieso reichlich sinnlos. es geht mehr ums prinzip.
denn sowohl bei cpu gegner als auch bei menschen (die das spiel min. 1x gespielt haben...) ist das Ergebnis eigentlich immer schon vorher klar.
Wer anfängt, gewinnt, oder es gibt Unentschieden, der zweite kann eigentlich gar nicht gewinnen.

Falsch formuliert: Es gibt immer unentschieden, wenn nicht einer der beiden Spieler einen Fehler macht. Deshalb ist ein Computerspieler wirklich sinnlos, weil der Mensch unter keinen Umständen gewinnen kann (es sei denn, man läßt den Computerspieler absichtlich schlecht spielen; dann gewinnt ein halbwegs aufmerksamer Spieler automatisch).

Abgesehen davon ist Inform 7 für sowas nicht gerade die handlichste Sprache. Inform ist dafür gebaut, Räume und Gegenstände zu verwalten oder zu bestimmen, ob Lord Chatterley die Uhr mitgenommen hat. Programmatisch eine Situation zu analysieren ist nicht wirklich eine Kernkompetenz.

makkurona
06.03.2008, 18:20
Gerade deswegen wäre ich ja an der Umsetzung interessiert gewesen.

Es wäre interessant gewesen sich die Algorithmik anzuschauen.

Jesus_666
06.03.2008, 19:33
Gerade deswegen wäre ich ja an der Umsetzung interessiert gewesen.

Es wäre interessant gewesen sich die Algorithmik anzuschauen.

Die Grundlagen sind einsehbar. (http://en.wikipedia.org/wiki/Tic-tac-toe#Strategy)

Rolus
06.03.2008, 19:38
Aufgrund der Symmetrie gibt es da doch eine sehr beschränkte Anzahl an Möglichkeiten (z.B. nur 3 unterschiedliche Eröffnungs-Varianten). Es wäre also nicht allzu aufwendig, der "KI" im Voraus genau zu definieren, wie sie auf unterschiedliche Spielsituationen reagieren soll. Spiele mit einem Menschen, der das Spiel versteht, würden halt immer unentschieden enden.
Naja, bis Sonntag Abend ist ja noch Zeit. Mal sehen, wie viel ich bei meinem Spiel bis dahin noch schaffe.

freundliche Grüße, Rolus

Ineluki
06.03.2008, 23:13
Ich wuerde fast dafuer plaedieren, den Contest bis naechste Woche SO laufen zu lassen. Ich war die letzten zwei wochen extrem auf Arbeit eingespannt, mitunter mehr als 13h/Tag und konnte deswegen noch nicht einmal anfangen. Wenns noch bis naechste Woche Sonntag ginge, wuerde ich es zumindest versuchen.

Ist euere Entscheidung, ob ihr Verlaengerung um eine Woche wollt. Und denkt dran, kleine Broetchen zu backen.

[Edit]
Mir faellt gerade auf, dass dann der Contest genau an Dingsis erstem Todestag enden wuerde. Irgendwie finde ich das sehr wuerdevoll und respektabel.

DFYX
06.03.2008, 23:17
Wegen mir, dann hab ich noch Zeit, einen fiesen Bug auszubügeln.

Jesus_666
06.03.2008, 23:19
Akzeptabel. Es verstößt zwar ein wenig gegen die Idee, durch kurze Deadlines kleine Projekte zu erzwingen, aber besser ein kleines Projekt mehr als absolute Integrität.

Lukas
07.03.2008, 10:40
Joa, ich hab auch nichts dagegen, ich werd allerdings noch warten, bevor ich die Regeländerung in den Startpost editiere (und damit wirklich akzeptiere), kann ja immer noch sein, dass jemand was dagegen hat.

Übrigens müsste dann jemand anders die Umfrage aufmachen, ich bin zu dem Zeitpunkt nicht da.

Crash-Override
07.03.2008, 12:46
Joa, ich hab auch nichts dagegen, ich werd allerdings noch warten, bevor ich die Regeländerung in den Startpost editiere (und damit wirklich akzeptiere), kann ja immer noch sein, dass jemand was dagegen hat.

Übrigens müsste dann jemand anders die Umfrage aufmachen, ich bin zu dem Zeitpunkt nicht da.

Ich haette auch nicht wirlich was dagegen, da ich selbst noch ein wenig Zeit benoetigen wuerde (hab momentan viel zu tun, da ich Fuehrerschein machen muss bzw. heute Erste Hilfe Kurs (ca. 4-5h), der fuer selbigen benoetigt wird). Mein Projekt lauft nun doch mit Delphi, Download und Infos gibts aber erst kurz vor der Deadline.

makkurona
07.03.2008, 12:50
Worrrrrrd.

Dann kann ich vielleicht doch meinen zeitplan wieder ausbügeln. Hatte ein ziemliches Problem mit einigen Komponenten... nunja, zeitaufwendig es auszubügeln.

Manuel
07.03.2008, 18:16
Dito. Das käme mir gerade sehr gelegen, da ich mich gerade in eine (für mich) neue Programmiersprache Python einarbeite und ich die Sprache bis jetzt super finde^^. Das könnte das erste programmierte Spielchen von mir werden, welches nicht auf ASCII-Grafiken beruht^^.

MagicMagor
07.03.2008, 19:52
Mir käme das ehrlich gesagt auch gelegen. Zum einen bin ich in der ersten Woche gar nicht zum Programmieren gekommen, zum anderen geht es mir ähnlich wie Manuel. Ich bin noch lange nicht so fit mit Python und Pygame wie ich es gerne wäre, aber die Sprache ist definitiv meine Wahl.

Rolus
07.03.2008, 20:07
Buh, pfui! Regelbruch! So ein Saftladen; echt unglaublich ist das - unglaublich! Ich dachte, ich kann jetzt mein total unfertiges Spiel abgeben und jetzt gibt's doch noch mehr Zeit ... bah!

freundliche Grüße, Rolus

DFYX
07.03.2008, 20:58
So, ich bin so gut wie fertig. Ich muss nur noch ein kleines Menü basteln und vielleicht ein paar optische Feinheiten verändern.

Lukas
07.03.2008, 21:30
Naja, die Tendenz der Mehrheit ist klar.

Damit ist der Contest jetzt offiziell bis zum 16.3. verlängert.

DFYX
07.03.2008, 22:43
Mal ein kleiner WIP Screenshot (http://npshare.de/files/36/1398/nonomania.png)

dead_orc
09.03.2008, 14:55
Ich hätte es nicht für möglich gehalten, aber ich könnte sogar heute abgeben. Mein Connect Four mit Netzwerksupport und KI ist scheinbar wirklich komplett fertig. Zumindest unter Linux. Ich habe keine Ahnung, ob es unter OS X läuft und für Windows muss ich definitiv noch Anpassungen vornehmen - aber ich hab ja noch ne Woche :D

Und weil DFYX hier schon nen Screenshot postet, muss ich ja mithalten: Screeeeen! (http://deadorc.de/tmp/4gewinnt_beta.png)

makkurona
10.03.2008, 12:53
Der Screen sieht interessant aus.
Allerdings finde ich die AUfnahme vom Quelltext wesentlich eindrucksvoller als das Spiel. XD

Rolus
10.03.2008, 15:16
Dann gibt's von mir auch mal nen kleinen Screenshot (http://freenet-homepage.de/rolus/screen1.jpg).
Die ganzen Grafiken sind allerdings eher temporär.
Gegen Ende der Woche werde ich die neu erstellen.

freundliche Grüße, Rolus

Ineluki
10.03.2008, 18:18
OMG, Rolus .... Wird das ein Warcraft Clone ?

DFYX
10.03.2008, 19:10
OMG, Rolus .... Wird das ein Warcraft Clone ?

Exakt dafür hätte ichs auf den ersten Blick auch gehalten.

dead_orc
10.03.2008, 19:31
OMG, Rolus .... Wird das ein Warcraft Clone ?

Ich hätte es eher für Age of Empires gehalten :D

@makkurona: Solange es reicht, um deine Stimme zu bekommen :p

Rolus
10.03.2008, 19:57
Nein, es soll ein Anno 1602 Klon werden. Nur viel eingeschränkter.
In 3 Wochen ist halt nicht sehr viel zu schaffen, zumal ich die ersten
beiden Wochen kaum Zeit hatte (und von SDL keine Ahunung hatte).

freundliche Grüße, Rolus

duke
10.03.2008, 21:56
Meep. Hab leider nix wirkliches auf die Reihe bekommen, hab wohl meine Fähigkeiten etwas überschätzt. ;)
Was ich eigentlich machen wollte => Text Adventure mit tinyXML Parser. (Also sozusagen, hätte sich jeder anhand der xml Daten ein eigenes Adventure später machen können.)

Als nächsten Contest könnte ja man z.B. "Progge ein sinnvolles Programm, was dir bei deinen täglichen Aufgaben helfen kann." realiseren. Also sprich, dass jeder ein kleines Progrämmchen schreibt, dass in irgendeiner Art und Weise hilfreich sein könnte. Aber ist nur nen Vorschlag. ;)

csg
10.03.2008, 23:29
hm, noch sind es ja ein paar Tage. Ich hab keine Ahnung ob ich das ganze in der Zeit noch spielbar bekomme, aber ich versuche es einfach mal.
Muss das endprodukt eigentlich finalen Status haben?

Und wenn hier schon alle Screens zeigen, dann mach ich auch mit.

>>klick<< (http://www.npshare.de/files/36/4235/tor7lbla.PNG)

MagicMagor
11.03.2008, 12:18
Muss das endprodukt eigentlich finalen Status haben?
Wäre witzlos wenn nicht. Deswegen soll man ja auch kleine Brötchen backen.
Auch wenn ich sagen muss, daß ich mir keine sonderlichen Chancen einräume, wenn ich die Screens hier sehe. Bin ja froh wenn ich überhaupt fertig werde =).

Hisoka
11.03.2008, 13:33
hier mal was kleines (http://silver-boards.com/download/download-13.jpg)

Meines ist mal wirklich was kleines. Naja es fehlt zwar noch ein wenig, aber einiges ist schon drin. ;)

dead_orc
11.03.2008, 15:36
Wäre witzlos wenn nicht. Deswegen soll man ja auch kleine Brötchen backen.
Auch wenn ich sagen muss, daß ich mir keine sonderlichen Chancen einräume, wenn ich die Screens hier sehe. Bin ja froh wenn ich überhaupt fertig werde =).

Hey, hier sind ausnahmslos alle Screens besser als meiner. Was meinst du wies mir geht :p
Aber ich bin ja eh mit ner realistischen Einstellung an den Contest herangegangen. "Gewinnen werd ich eh nicht, aber teilnehmen kann ich ja trotzdem" ^^

Crash-Override
11.03.2008, 18:50
"Gewinnen werd ich eh nicht, aber teilnehmen kann ich ja trotzdem" ^^

"Dabeisein ist alles"

Ich bin mitlerweile mit meinem Projekt auf C# gewechselt, da ich nun doch endlich mal was anderes als immer nur Delphi nutzen/lernen moechte (PHP nutze ich auch kaum noch). Umgesetzt wird alles auf der Konsole, lauffaehigkeit mit Mono wird vermutet, aber nicht garantiert (evt. getestet falls ich Zeit habe).
Mein Spiel ist ne Art Weltraum-Handelsspiel (Vorbild waere hier Smugglers (http://www.nielsbauergames.com/smugglers3.html), zwar eher der erste Teil, aber der wird nicht mehr verkauft :( ). Vielleicht ein wenig geeky, aber irgendwie mag ich solche Spiele.
Ein Screen, weil's ja alle tun (Gruppenzwang) (http://img20.imageshack.us/img20/6163/screenss6.png)

Es geht im Uebrigen nicht nur ums handeln, sondern ich will (habe aber noch nicht) noch gegnerische Schiffe einbauen. Missionen und verschiedene Fraktionen (z.B. Piraten) wie im Orginal werden aber wegfallen. Zufaellige Elemente (Sklavenaufstand, Mit den Drogen erwischt werden) kommen aber noch dazu, genauso wie Schiffupgrades (Raketen [Angriff und Defense], Cargo Space und mehr Speed).

edit: Lizenz ist bei mir CC by-nc-sa

Lukas
11.03.2008, 21:09
So, da ich ab übermorgen weg bin und keine Ahnung hab, ob ich mein Spiel bis dahin fertig kriege, aber gesagt habe, dass selbst ein command line-Tic Tac Toe besser ist als nichts, poste ich einfach mal... ein command line-Tic Tac Toe. Sollte ich nichts mehr weiter einreichen, ist das hier meine Einsendung :D


#!/usr/bin/python

from itertools import chain

class Field(object):
def __init__(self):
self._data = [0] * 9

def set(self, player, n):
if not 1 <= n <= 9 or self._data[n-1] != 0:
raise ValueError('invalid field')
else:
self._data[n-1] = player

def winner(self):
return (set(s.pop() for s in chain(*[(set(self._data[i:i+7:3]), set(self._data[i*3:i*3+3])) for i in xrange(3)] + [(set(self._data[::4]), set(self._data[2:8:2]))]) if len(s) == 1 and s != set([0])) or set([0])).pop()

def render(self):
return '\n-+-+-\n'.join('|'.join([[' ', 'x', 'o'][i] for i in self._data][j:j+3]) for j in xrange(0, 9, 3))

def main():
print 'Enter the number of a field to put your mark there\n\n\n1|2|3\n-+-+-\n4|5|6\n-+-+-\n7|8|9\n\n'
f = Field()
turn = 1
while turn < 10 and not f.winner():
print '\n' + f.render() + '\n\n'
player = 2 - turn % 2
s = raw_input("player %s's turn: " % {1:'x', 2:'o'}[player])
try:
f.set(player, int(s))
except ValueError:
print 'invalid turn, try again'
else:
turn += 1
print '\n' + f.render() + '\n\n'
if f.winner():
print "player %s wins!" % {1:'x', 2:'o'}[f.winner()]
else:
print 'draw!'

if __name__ == '__main__':
main()
Ach ja, Lizenz ist die MIT-Lizenz.

kris
12.03.2008, 15:52
$wuerfel = rand(1,6);
echo $wuerfel;
echo "<br><a onclick=\"javascript:location.reload()\">Nochmal würfeln!</a>";


Gilt das als Einsendung? :D
Ich finds toll. Bin schon voll süchtig danach. XD

http://files.perception-studios.de/dice.php

drunken monkey
12.03.2008, 16:07
Hm, kann gut sein, dass /dev/null die Rechte an "echo rand();" hat, da müsstest du erstmal die Lizenz abklären. :p

Btw bin ich ziemlich froh, dass ich nicht vorm Spiel einen Screenshot gepostet habe...<__<' "Wow, es ist ein...blaues Quadrat auf grünem Grund! O__O" <__<''

Loxagon
12.03.2008, 17:10
$wuerfel = rand(1,6);
echo $wuerfel;
echo "<br><a onclick=\"javascript:location.reload()\">Nochmal würfeln!</a>";


Gilt das als Einsendung? :D
Ich finds toll. Bin schon voll süchtig danach. XD

http://files.perception-studios.de/dice.php

Mit welcher Axt darf man dir den Kopf zurechtrücken? :D

DFYX
12.03.2008, 17:26
Mit welcher Axt darf man dir den Kopf zurechtrücken? :D
Die Frage geht grade so zurück. Spam?

Crash-Override
12.03.2008, 19:56
Mit welcher Axt darf man dir den Kopf zurechtrücken? :D


Das Spiel (v. althochdt.: spil für „Tanzbewegung“) ist eine Tätigkeit, die ohne bewussten Zweck zum Vergnügen, zur Entspannung, allein aus Freude an ihrer Ausübung ausgeführt wird.

Freude ist relativ und da er es toll findet und Gefahr laeuft suechtig zu werden bereitet es zumindest IHM Freude, ergo waere dieses "sinnlose Wuerfeln" fuer ihn ein Spiel. Sicherlich laesst sich so eine Menge als Spiel definieren und sofern es digital programmiert und lauffaehig ist kannst du es gerne zum Wettbewerb anmelden.

Auch sehr Spassig:

using System;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Random r = new Random();
if (r.Next(0, 100) == 1)
Console.WriteLine("You win.");
else
Console.WriteLine("You lose.");
}
}
}

makkurona
12.03.2008, 20:01
In PHP:



<?php
echo ((rand(1,100)==1)?"You win!":"You lose,dude.");
?>




Edit: Falls ich es nicht mehr schaffe (Mein Zeitplan zerrüttet sich wegen zahlreicher Kleinigkeiten.. -.-) nehmt das da oben als Einsendung..^^"

DFYX
12.03.2008, 20:13
Würde es euch vielleicht was ausmachen, den Schwachsinn zu lassen? Das hier ist ein Contestthread, keine Spamparty.[/spaßbremse]

makkurona
14.03.2008, 21:44
Ich werd es nicht schaffen. Vielleicht hätte ich es, wenn ich Morgen noch zeit gehabt hätte, am Sonntag geschafft, aber nunja... Viele Kleinigkeiten ergeben leider auch irgendwann etwas großes. ^^

Morgen ist Musikmesse in Frankfurt, der Grund warum ich nicht am Projekt weiterarbeiten kann.

Tut mir leid, ich hab getan was ich konnte. Beim nächsten Contest, ich wäre auf jedenfall für einen, werd ich mir den Zeitplan etwas optimierter gestalten und bei Bedarf einfach die Ziele kürzen.

Cherry
15.03.2008, 07:28
Hoppla, gibts ja nen Contest! Naja, werde dann auch noch schnell was machen (nur zum Spaß, mit sowas kann ich höchstens einen Kleinkind-Contest gewinnen...!)

Kommt dann im Edit.

mfG Cherry

dead_orc
15.03.2008, 17:19
So, fertig. Nein, eigentlich nicht. Ich habe innerhalb der letzten 4 Stunden 10 Bugs gefixt, 7 davon überhaupt erst gefunden, und davon 3 erst durch andere Bugfixes produziert. Außerdem noch 3 ausstehende "Features" implementiert... und jetzt einfach keinen Bock mehr. Daher kommt hier nun: 4 Gewinnt! Mit Netzwerksupport und einer (eher mäßigen) KI.

Source mit Binaries für Linux und Windows: tar.gz (http://deadorc.de/tmp/4gewinnt.tar.gz) zip (http://deadorc.de/tmp/4gewinnt.zip)

Lizenz ist, wie in `COPYRIGHT' nachlesbar, die MIT-Lizenz.

Wer sich unter Linux wohlfühlt, wird sicherlich schnell drauf kommen, die Dateien mit --help aufzurufen, um zu sehen, was alles geht. Wer eingefleischter Windowser ist, weiß das vielleicht nicht sofort, aber weiß hoffentlich wenigstens, wie es geht ;)

Wer es gerne selber kompilieren möchte oder muss: Die Makefiles für Windows und Linux liegen bei. Ich hoffe, dass es unter OS X genau so gut geht, wie unter Linux :)

Edit: OK, einen Bug hab ich noch schnell gefixt. Das wars hoffentlich dann auch so etwa :)

Crash-Override
15.03.2008, 23:22
Ok, ich glaub nicht, dass ich mein Projekt bis morgen heute fertigstellen kann, deshalb hier mein Alternativ-Projekt (Urspruenglich hervorgegangen aus einem "iTunes Beschreibungs-Feld fuer Filme und TV-Serien [longDescription Field] Editor Tool", weiterentwickelt zu einem Minispiel, weiterentwickelt fuer den Wettbewerb).
Interessieren duerfte es allerdings die Wenigsten hier sein.
Voraussetzungen: Windows, .NET, iTunes
Wobei zu sagen ist, dass iTunes schoen aufgeraeumt (mit perfekten ID3-Tags sein sollte, sonst bringt es nichts (mehr als zehn Songs sollte man allerdings auch drin haben)). Beispielsweise so:
http://img145.imageshack.us/img145/7506/37202927lg5.th.png (http://img145.imageshack.us/my.php?image=37202927lg5.png)

Das Programm ist so aehnlich wie ein OS X Spiel (Name vergessen) oder das iPod Spiel "Music Quiz": Man erraet das gespielte Lied (zufaellig ausgewaehlt, gespielt werden nur die ersten 10 Sekunden, damit es schwere wird) und bekommt am Ende ein tolles, wenig aussagendes Ergebnis wie gut man seine Song-Bibliothek kennt.

Hier noch ein paar Screenshots:
http://img507.imageshack.us/img507/5889/77736991nf2.th.png (http://img507.imageshack.us/my.php?image=77736991nf2.png)http://img207.imageshack.us/img207/5585/47031333hn1.th.png (http://img207.imageshack.us/my.php?image=47031333hn1.png)http://img523.imageshack.us/img523/5748/14441174wf8.th.png (http://img523.imageshack.us/my.php?image=14441174wf8.png)

Download (http://upload.npcfighter.de/files/36/8136/GuessThatTune.rar) (Download Source (http://upload.npcfighter.de/files/36/7524/GuessThatTune%20Source.rar))

Der Source ist an sich unkommentiert, da er imho nicht zu schwer zu verstehen ist. Erkenntlich wird (hoffentlich) wie man in C# iTunes steuern kann und Menues auf CUI Ebene machen kann. Ansonsten ist er wenig beeindruckend. ;)

Ineluki
16.03.2008, 00:01
ES IST VOLLBRACHT ... zumindest annaehrend ...

Ich hatte ja leider beruflich bedingt nur seit Montag Zeit, und diese hab ich auch genutzt. (Ich hab sogar dafuer Do und Fr Urlaub genommen und ausnahmsweise den Sa dran gehaengt, obwohl der eigentlich fuer die Familie reserviert ist.)

Leider habe ich es nicht mehr geschafft, einen GUI Client mit SDL zu programmieren (oder ueberhaupt anzufangen), aber dafuer ist mit Haengen und Wuergen der Server fertig geworden.

Um was geht es eigentlich ?

Ich habe einen Jumping Cubes Tactics Server programmiert, von einigen liebevoll auch Jumping Jihad genannt.

Jumping Cubes ist ein Spiel, das normalerweise auf einem quadratischem (2D) regelmaessigen Spielfeld mit n Feldern mit 2 Spielern gespielt wird. Am Anfang ist jedes Feld mit 1 belegt und gehoert keinem Spieler. Wenn ein Spieler in ein Feld setzt, das nicht seinem(/n) Gegner(/n) gehoehrt, so bekommt der Spieler das Feld und dessen Zaehler erhoeht sich um 1. Wenn der Zaehler eines Feldes einen Wert groesser als die Anzahl der benachbarten Felder annimmt, so wird der Zaehler des Feldes um die Anzahl benachbarter Felder verkleinert und "expandiert" auf alle benachbarten Felder, indem der Spieler Eigentuemer dieser Felder wird und ihr Zaehler um 1 erhoeht wird. Das ganze wird so lange rekursiv ausgefuehrt, bis kein Feld mehr expandiert. Wer sich das ganze mal ansehen will, sei auf KJumpingCubes aus dem KDEGames verwiesen.

Ich habe das ganze nun komplett neu auf einem beliebigen gerichteten Graphen als Spielfeld und mit n Spielern, n>1 aufgezogen. Diese variante nenne ich Jumping Cubes Tactics.

Eine Variante davon koennte z.B. auf einer Risiko-Weltkarte gespielt werden, wobei jedes Land ein Feld (Knoten im Graphen) ist und jede Grenze eine Verbindung (bidirektionale Kante im Graphen). Die Spieler sind in dieser Interpretation Goetter, die in den Laendern Wunder wirken. Wurden genug Wunder gewirkt (Expansion), so ziehen Missionare in die benachbarten Laender und ueberzeugen die "Glaeubigen" davon, das alle bisherigen Wunder von der eigenen Gottheit (also dem Spieler) vollbracht wurden. Gewonnen hat, wer alle Laender auf der Welt zu seinem eigenen Glauben ueberzeugt hat.

Zumindest war das der Ansatz, mit dem ich das Spiel begonnen habe. Um jedoch alles so flexibel wie moeglich zu halten, ging ich noch einen Schritt weiter, und erlaube beliebige Graphen, welche in einem Mapformat definiert werden. Diese werden vom Server bei bedarf gelesen, das Spiel erstellt, und die entsprechenden Daten zum Client weiter geleitet. Dazu wird ein selbst entwickeltes Netzwerkprotokoll auf Socket-Basis verwendet.

Leider wurde, wie gesagt, der GUI Client nicht fertig, aber der Server ist trotzdem schon mit einem Commandline Client benutzbar, indem man die Befehle per Hand eingibt und das, was einem der Server sendet, auf der Console ausgegeben wird. Das Protokoll ohnehin ist ohnehin menschenlesbar, auch wenn es etwas unhandlich ist.

Der Server verwendet low level Sockets, Multithreading mit pthreads sowie, C++ STL Container, Algorithmen und Streams (kein fopen und aehnliches C) und ist grossteils Object Orientiert angelegt, koennte also fuer den einen oder anderen interessant sein.

Das ganze wurde unter Dev-C++ entwickelt (Achtung, pthreads libs und header ueber den Packetmannager installieren) und ist mehr oder weniger Work In Progress und nicht mehr als ein paar Stunden lang getestet. Unter Linux sollte das Ganze theoretisch problemlos laufen (da ich mich versuche an POSIX zu orientieren) ist aber aus Zeitgruenden ungetestet.

Ich verwende gcc-3.4.2 (mingw-special) und anscheinend eine etwas aeltere glibc. Als Libaries brauch ich unter windows nur -lwsock32 und -lpthread. Unter Linux muss das ganze ggf entsprechend angepasst werden. Sonst wird eigentlich nichts exotisches gebraucht.

Eine Beschreibung des Netzwerkprotokolls ist in "Network Protocol.txt" enthalten, das Mapformat ist in "maps/default.map" beschrieben, ebenfalls eine Textdatei.
Da ich jetzt auch keine weitere Zeit habe, setze ich es einfach unter die MIT License (http://de.wikipedia.org/wiki/MIT-Lizenz). Eine LICENSE Datei befindet sich im Ordner.

Ich weiss, das ich mit einem Commandline Server ohne GUI keinen Hofstaat machen kann, aber seid gnaedig. Immerhin hatte ich nur 1/3 der Zeit, die andere fuer einen 3-Zeiler hatten ^^

Download: als ZIP (http://ineluki.rpg-atelier.net/Prog/JumpingCubesTactics.zip) oder als tar.gz (http://ineluki.rpg-atelier.net/Prog/JumpingCubesTactics.tar.gz)
Gepackt mit WinZip 7.0 SR-1 bzw WinAce v2.2, Textdateien und SourceCodes im DOS-Format (Zeilenende = \r\n statt \n) !!

EDIT: Da bereits mehrfach danach gefragt wurde: Der Client gehoerte urspruenglich nicht dazu, wurde jedoch wegen der fehlenden GUI schnell noch hinzu kopiert. Daher ist die eigene IP Addresse (bzw die IP des Servers) im Quelltext einzutragen und der Client zu compilieren, ansonsten wird der Server nicht gefunden. Sorry fuer die Unannehmlichkeiten.

dead_orc
16.03.2008, 09:50
Ich weiss, das ich mit einem Commandline Server ohne GUI keinen Hofstaat machen kann, aber seid gnaedig. Immerhin hatte ich nur 1/3 der Zeit, die andere fuer einen 3-Zeiler hatten ^^
Ich fühle mich durch diese Bemerkung etwas beleidigt. Mein Müll da oben hat doch eher das 500-fache an Zeilen :O


Das ganze wurde unter Dev-C++ entwickelt (Achtung, pthreads libs und header ueber den Packetmannager installieren) und ist mehr oder weniger Work In Progress und nicht mehr als ein paar Stunden lang getestet. Unter Linux sollte das Ganze theoretisch problemlos laufen (da ich mich versuche an POSIX zu orientieren) ist aber aus Zeitgruenden ungetestet.

Ich verwende gcc-3.4.2 (mingw-special) und anscheinend eine etwas aeltere glibc. Als Libaries brauch ich unter windows nur -lwsock32 und -lpthread. Unter Linux muss das ganze ggf entsprechend angepasst werden. Sonst wird eigentlich nichts exotisches gebraucht.

Eine Beschreibung des Netzwerkprotokolls ist in "Network Protocol.txt" enthalten, das Mapformat ist in "maps/default.map" beschrieben, ebenfalls eine Textdatei.
Da ich jetzt auch keine weitere Zeit habe, setze ich es einfach unter die MIT License (http://de.wikipedia.org/wiki/MIT-Lizenz). Eine LICENSE Datei befindet sich im Ordner.

Gepackt mit WinZip 7.0 SR-1 bzw WinAce v2.2, Textdateien und SourceCodes im DOS-Format (Zeilenende = \r\n statt \n) !!

Zumindest den Server konnte ich inzwischen problemlos kompilieren. Dir fehlte in zwei Dateien wohl ein #include <errno.h>, zumindest wurde sonst nirgendwo errno deklariert. Das Makefile, das ich mir aus der Windows-Version zusammengeschustert habe, hab ich einfach mal hochgeladen (http://deadorc.de/tmp/Makefile). Damit wird allerdings nur der Server gebaut (wie auch mit dem Windows-Makefile, wenn ich das richtig sehe) - den Client bekomm ich selber nicht kompiliert :D

Sehr nette Idee allgemein. Ich habe mir den Source noch nicht angeguckt, aber Jumping Cubes auf einen Graphen zu übertragen finde ich super :D


Ok, ich glaub nicht, dass ich mein Projekt bis morgen heute fertigstellen kann, deshalb hier mein Alternativ-Projekt (Urspruenglich hervorgegangen aus einem "iTunes Beschreibungs-Feld fuer Filme und TV-Serien [longDescription Field] Editor Tool", weiterentwickelt zu einem Minispiel, weiterentwickelt fuer den Wettbewerb).
Interessieren duerfte es allerdings die Wenigsten hier sein.
Voraussetzungen: Windows, .NET, iTunes
Wobei zu sagen ist, dass iTunes schoen aufgeraeumt (mit perfekten ID3-Tags sein sollte, sonst bringt es nichts (mehr als zehn Songs sollte man allerdings auch drin haben)). Beispielsweise so:
http://img145.imageshack.us/img145/7506/37202927lg5.th.png (http://img145.imageshack.us/my.php?image=37202927lg5.png)

Das Programm ist so aehnlich wie ein OS X Spiel (Name vergessen) oder das iPod Spiel "Music Quiz": Man erraet das gespielte Lied (zufaellig ausgewaehlt, gespielt werden nur die ersten 10 Sekunden, damit es schwere wird) und bekommt am Ende ein tolles, wenig aussagendes Ergebnis wie gut man seine Song-Bibliothek kennt.

Hier noch ein paar Screenshots:
http://img507.imageshack.us/img507/5889/77736991nf2.th.png (http://img507.imageshack.us/my.php?image=77736991nf2.png)http://img207.imageshack.us/img207/5585/47031333hn1.th.png (http://img207.imageshack.us/my.php?image=47031333hn1.png)http://img523.imageshack.us/img523/5748/14441174wf8.th.png (http://img523.imageshack.us/my.php?image=14441174wf8.png)

Download (http://upload.npcfighter.de/files/36/8136/GuessThatTune.rar) (Download Source (http://upload.npcfighter.de/files/36/7524/GuessThatTune%20Source.rar))

Der Source ist an sich unkommentiert, da er imho nicht zu schwer zu verstehen ist. Erkenntlich wird (hoffentlich) wie man in C# iTunes steuern kann und Menues auf CUI Ebene machen kann. Ansonsten ist er wenig beeindruckend. ;)

Lustig, so ein Spiel hab ich hier auch noch rumfliegen, allerdings !Windows-only (basiert auf mplayer ;) ) und mit PHP.

makkurona
16.03.2008, 10:34
Du hast meinen respekt, Luki.

Ich habes mir noch nicht angeguckt, aber was du da erzählst ist vielversprechend.


Mit dem dreizeiler meinte er wohl meine "Alternativeinsendung". (Die btw. nicht ernst gemeint war. Ich hatte eigentlich eine recht schöne idee, aber ich hatte, wie gesagt, immer wieder an Kleinigkeiten zu knabbern. Im Endeffekt wurden aus den vielen Kleinigkeiten leider ein zerwürfelter Zeitplan und ein daraus resultierender Defizit was meine Leistung angeht.

Drakes
16.03.2008, 13:54
Ohne Musik: Link (1.53 MB) (http://www.nformer.de/eigenes/SDLwithoutMusic.zip)
Mit Musik: Link (25.1 MB) (http://www.nformer.de/eigenes/SDL.zip)
ist jetzt zu spät zum entfernen, mit E kann man die anzahl Sterne auch erhöhen

Cherry
16.03.2008, 16:32
Weil ich diesen Contest vorher nicht bemerkt habe, hatte ich jetzt nur zwei Tage Zeit, um ein Spiel auf die Beine zu stellen (der Sourcecode ist dementsprechend... unleserlich :D ). Aber es wurde was:

Terror in Washington

Ein... hm, wie soll ich es nennen? Denkspiel trifft es nicht ganz... Ist auf jeden Fall gar nicht so einfach, wie es erscheint.

Ist für Windows kompiliert, sollte sich aber ohne große Probleme auch unter Linux kompilieren lassen (dazu wird FMOD für Linux (http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz) benötigt, sowie der FreeBasic Compiler für Linux (http://downloads.sourceforge.net/fbc/FreeBASIC-v0.18.3b-linux.tar.gz?download)).

Achja, ich hab leider vergessen, im Download die Useful Includes beizupacken, die braucht man zum kompilieren, deswegen gibt es sie hier (http://cherry1.ch.funpic.de/useful.rar).

Ich wünsche viel Spaß und so!

Download (http://www.file-upload.net/download-730783/terror.rar.html) (4,5 MB)

Hier noch ein Screen:
http://cherry1.ch.funpic.de/terror.PNG
...

mfG Cherry

EDIT: Ganz vergessen: Im Titelscreen kommt man mit "H" zur Highscoreliste
EDIT²: Ich weiß, die Story ist krankhaft
EDIT³: Es ist ein bisschen schwer zu verstehen, aber strengt dann, wenn man es kann, richtig das Hirn an!

Hisoka
16.03.2008, 19:33
So bin zwar etwas spät dran, aber hier ist mein kleines Spiel. :D

Das folgende Paket enthält eine Windows Binary sowie den Quellcode und eine Code::Blocks Projektdatei, diese wird benötigt um das Spiel auf Unix Systemen zu kompilieren. (ein Makefile werde ich im notfall nachreichen)

Download: http://silver-boards.com/Shooter.zip
Lizenz: GPLv3

DFYX
16.03.2008, 20:25
Bäh, nicht so schnell. Armer Mann ist kein D-Zug.

Spiel (http://www.wecallit42.de/temp/Nonomania.zip)
Sources (http://www.wecallit42.de/temp/Nonomania_Source.zip)

Ich hab leider keine Zeit mehr, einen längeren Text zu verfassen. Deshalb verweise ich einfach mal auf den Wikipediaartikel Nonogramm.

Was die Lizenz angeht: macht damit, was ihr wollt, solang ihr dazu schreibt, dass es von mir stammt, es nicht kommerziell verwendet und die Lizenzen der benutzten Bibliotheken (SDL, SDL_ttf und SDL_image) nicht verletzt.

Edit: Ach ja, im Menü kann man die Levels per Doppelklick auswählen.

Ineluki
17.03.2008, 14:14
@Dead_Orc
Da hast du aber wirklich was in den falschen Hals bekommen ...
Ich habe naemlich nicht dich gemeint mit dem Einzeilercode sondern bezog moch auf diesen Post und folgende.
Ich hatte in keiner Weise die Absicht deinen Code, den ich noch nicht mal angesehen habe, zu schmaelern. Ausserdem wusste ich, das der Einzeiler Code nicht ganz ernst gemeint war, weswegen ich darauf scherzhaft angespielt habe.


In PHP:



<?php echo ((rand(1,100)==1)?"You win!":"You lose,dude."); ?>


Edit: Falls ich es nicht mehr schaffe (Mein Zeitplan zerrüttet sich wegen zahlreicher Kleinigkeiten.. -.-) nehmt das da oben als Einsendung..^^"


BTW was ist denn das Problem beim Commandline Client ? Der benutzt doch nichts anderes als der Hauptserver ... sprich PThreads und Sockets.

kris
17.03.2008, 15:05
Ohne Musik: Link (1.53 MB) (http://www.nformer.de/eigenes/SDLwithoutMusic.zip)
Mit Musik: Link (25.1 MB) (http://www.nformer.de/eigenes/SDL.zip)
ist jetzt zu spät zum entfernen, mit E kann man die anzahl Sterne auch erhöhen

Wow. Vorallem die Musik gefällt mir. <3
Blos irgendwann stauen sich die Gegner rapide auf. Da würde ich mir einen Spawn-stop wünschen. ^^

Gucksu: http://www.npshare.de/files/36/6286/lol.jpg

€dit: Yeah, das rockt:http://www.npshare.de/files/36/9890/yeah222.jpg

dead_orc
17.03.2008, 16:27
@Dead_Orc
Da hast du aber wirklich was in den falschen Hals bekommen ...
Ich habe naemlich nicht dich gemeint mit dem Einzeilercode sondern bezog moch auf diesen Post und folgende.
Ich hatte in keiner Weise die Absicht deinen Code, den ich noch nicht mal angesehen habe, zu schmaelern. Ausserdem wusste ich, das der Einzeiler Code nicht ganz ernst gemeint war, weswegen ich darauf scherzhaft angespielt habe.
OK, alles klar :)


BTW was ist denn das Problem beim Commandline Client ? Der benutzt doch nichts anderes als der Hauptserver ... sprich PThreads und Sockets.
D'oh, mein Fehler. gcc != g++, mit

g++ -lpthread -g3 Console_Client.cpp -o client
gehts wunderbar.