"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, 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)
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
--Signature.
Geändert von Crash-Override (11.03.2008 um 19:00 Uhr)
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
Ach ja, Lizenz ist die MIT-Lizenz.
Gilt das als Einsendung?
Ich finds toll. Bin schon voll süchtig danach. XD
http://files.perception-studios.de/dice.php
Hm, kann gut sein, dass /dev/null die Rechte an "echo rand();" hat, da müsstest du erstmal die Lizenz abklären.
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" <__<''
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.Zitat von wikipedia
Auch sehr Spassig:
--Signature.
In PHP:
Edit: Falls ich es nicht mehr schaffe (Mein Zeitplan zerrüttet sich wegen zahlreicher Kleinigkeiten.. -.-) nehmt das da oben als Einsendung..^^"
--For everything, there's a season, for everything there's a time...
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.
--For everything, there's a season, for everything there's a time...
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
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny:CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
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 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![]()
Geändert von dead_orc (15.03.2008 um 17:41 Uhr)
Ok, ich glaub nicht, dass ich mein Projekt bismorgenheute 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:
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:
Download (Download Source)
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.![]()
--Signature.
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. 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 oder als 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.
Ich fühle mich durch diese Bemerkung etwas beleidigt. Mein Müll da oben hat doch eher das 500-fache an Zeilen
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. 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
Sehr nette Idee allgemein. Ich habe mir den Source noch nicht angeguckt, aber Jumping Cubes auf einen Graphen zu übertragen finde ich super
Lustig, so ein Spiel hab ich hier auch noch rumfliegen, allerdings !Windows-only (basiert auf mplayer) und mit PHP.
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.
--For everything, there's a season, for everything there's a time...
Ohne Musik: Link (1.53 MB)
Mit Musik: Link (25.1 MB)
Geändert von Drakes (16.03.2008 um 19:34 Uhr)
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). 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 benötigt, sowie der FreeBasic Compiler für Linux).
Achja, ich hab leider vergessen, im Download die Useful Includes beizupacken, die braucht man zum kompilieren, deswegen gibt es sie hier.
Ich wünsche viel Spaß und so!
Download (4,5 MB)
Hier noch ein Screen:
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!
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny:CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
Geändert von Cherry (16.03.2008 um 20:27 Uhr)
So bin zwar etwas spät dran, aber hier ist mein kleines Spiel.
Das folgende Paket enthält eine Windows Binary sowie den Quellcode und eine Code:locks 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