# Das java-forum.org 2D-Game Projekt/Tutorial



## hdi (13. Jan 2009)

*Das java-forum.org 2D-Game Projekt/Tutorial*

Dieser Thread ist eine Mischung aus einem Tutorial und einem Projekt-Tagebuch. 
Entstanden ist das ganze dadurch, dass einige Leute aus diesem Forum ein Spielchen programmieren wollten.
Ziemlich schnell kam dann die Idee, dies mit der Community zu teilen.

Ein paar Facts:

- Ziel: Programmierung eines qualitativ hochwertigen 2D rundebasierten Strategiespiels
- Das Spiel: ...ist eine Art erweitertes Risiko mit Elementen eines Echtzeit-Strategie Spiels, 
das man gegen den Computer und evtl. in einer späteren Version auch über Netzwerk spielen kann.
- Das Team: ...besteht aus: _Quaxli_, _andre111_, _homer65_, _manuche _und meiner Wenigkeit (_hdi_)
- Der Sinn des Threads: besteht darin, dass ihr sehen könnt, wie so ein Projekt von Grund auf ensteht und
sich entwickelt.
- Vorallem werden hier auch später Alpha- und Beta-Versionen bereitstehen, die ihr testen könnt.
Euer Feedback und Vorschläge könnt ihr dann per PN an eines der Teammitglieder senden.

Natürlich steht am Ende auch das fertige Spiel zum Download bereit, inkl. Source-Code.

Wir haben auch ein Forum eingerichtet, indem ihr mitreden und -lesen könnt. 
*Info:* Das Forum ist noch sehr leer und im Aufbau

_Dieser_ Thread soll bitte nicht für solche Dinge genutzt werden - Beiträge in diesem Thread werden von einem Mod gelöscht. 
Immerhin soll das am Ende eine gut strukturierte Dokumentation sein und wir werden hier in regelmässigen Abständen einen
 neuen Tagebuch-Eintrag schreiben, der einen Abschnitt in der Realisierung des Projekts
zusammenfasst. D.h. ein wenig Text zum Status sowie Source-Code. Damit ihr am Ende nicht nur den Code
des kompletten Spiels habt, sondern auch wirklich sehen könnt, wie sich der Code entwickelt hat.

Danke für die Aufmerksamkeit, so far & stay tuned...


----------



## hdi (17. Jan 2009)

*Eintrag 1*

Liebes Tagebuch  :### 

Nachdem wir jetzt ein paar Tage vor uns hin vegetiert haben, sieht es folgendermassen aus: 
Demnächst gibt es die erste Team-Vollversammlung via Skype, in der wir den ersten Milestone ausdiskutieren.
(Gar nicht mal so einfach, 5 Leute via Internet zu einem Zeitpunkt zusammenzutrommeln)

Die nächsten Phasen werden dann sein:
- Jeder macht ein ausführliches und vollständiges UML-Diagramm, das zeigt, wie er diesen Milestone aufziehen will
- Wir werden uns dann alle Vorschläge ansehen, zusammen diskutieren und uns auf eins (oder eine Mischung) einigen
- Dann werden wir aufteilen, wer jetzt was implementiert
- Dann wird irgendwann diese erste Version fertig sein.

Natürlich implmenetieren wir im ersten Milestone noch nicht mal annähernd alle Funktionen des Spiels, es soll
nur eine super primitive Version mit den absoluten Basic-Features sein, damit wir etwas haben, auf dem wir aufbauen können.

Was bei den einzelnen o.g. Phasen rauskommt werden wir euch hier natürlich mitteilen.

Im Moment gibt's nur mal  *--->* hier ein Download *<---* unseres Projekts, wie's im Moment aussieht. Es beinhaltet
völlig unstrukturiert irgendwelche Test und Fun-Files, die wir im Laufe der letzten Tage zusammengeklatscht haben.
Macht also alles keinen wirklichen Sinn, aber hey, wir wollen das ja hier Step by Step dokumentieren.

Nach der Besprechung wird wohl erstmal 90% von allem gelöscht werden 
Dann gibt's hier auch die genaue Spezifikation des ersten Milestones nachzulesen.

Bis denn, mfg euer java-forum.org Team   

PS: Morgen Buttertoast kaufen und 12x Taschentusch (bei Lidl im Angebot).


----------



## hdi (21. Jan 2009)

*Eintrag 2*

Salut  
Die erste Vollversammlung ist gerade zu Ende gegangen, hier eine Zusammenfassung:

Wir konnten eine genaue Spezifikation für das End-Produkt leider nicht in allen Punkten
ausdiskutieren, weil es einfach viele Dinge gibt, die man im Vornherein nicht sagen kann.
D.h. bei einigen Regeln bzw. Features können wir im Moment nicht abschätzen, wie sie sich
auf den Spielspass auswirken werden.

Es existiert aber bereits eine vorerst einigermassen detaillierte *--->* Spezifikation *<---* des Spiels.
Wie gesagt: Einige Regeln und Features können sich noch jederzeit ändern, und das ganze
ist auch noch nicht komplett. An dieser Stelle weise ich nochmal auf unser Forum hin. 
Ihr könnt jederzeit eure Meinungen und Ideen über die Spezifikation preis geben 

Zurück zur Zusammenfassung: Wir haben wir uns nun auch auf den *1.Milestone* geeinigt. 
Für eine erste Implementierungs-Basis nehmen wir folgende Dinge in Angriff:

- Feste per Hand erstellte Karte
- Spieler vs. Spieler (User steuert abwechseln beide Spieler)
- Nur ein Einheitentyp
- Keine Gebäude
- Simples Menü mit den wesentlichsten Funktionen für diese Version
- keine echten Grafiken, alles wird über Primitive gezeichnet
- simples Einblendfenster bei einem Kampf, das nötige Informationen darüber anzeigt
- erster Kampf-Algorithmus
- Ziel: Domination, d.h. ein Spieler wird komplett ausgelöscht

Wie schon im letzten Eintrag erwähnt, werden wir in den kommenden Tagen erstmal jeder
ein ausfürhliches UML Diagramm erstellen. 

Der nächste Eintrag wird dann alle Vorschläge präsentieren sowie auch das letztendliche Design
für diesen Milestone, auf das wir uns dann geeinigt haben werden.

_to be continued..._


----------



## hdi (13. Feb 2009)

*Eintrag 3*

Diesmal kurz und knapp:
Die einzelnen Leute aus dem Team haben versucht ihre Implementierungs-Ideen gemäss Milestone 1 (s.o.)
in der vergangenen Zeit grafisch umzusetzen.

Eigentlich sollte dieser Eintrag ja schon ein finales Modell präsentieren, allerdings haben wir gemerkt, dass
das jetzt nicht so einfach zu lösen ist.
Wir müssen uns demnächst wieder in einer Skype-Vollversammlung treffen, damit jeder sein Diagramm 
und dessen Kernideen präsentieren kann, und wir drüber reden können.
Nur so können wir wirklich ein finales detailliertes Diagramm entwerfen. Wir müssen ja bedenken, dass
wir danach die Implementierung aufteilen. Damit das am Ende zusammenpasst, *muss* ein detailliertes Modell
da sein. So weiss dann Programmierer A, dass er sicher die Methode xy von Programmierer B verwenden kann, auch
wenn die Implementierung noch nicht da ist.

Gut, also an dieser Stelle nur die einzelnen Vorschläge:






*--------------------------------------------------------------------------------------------------------------------------------------------*





_Für Anfänger:_ Wer nicht den blassesten Schimmer hat, was er damit anfangen könnte, der google
mal bitte nach "UML Klassendiagramm".

*Es gibt noch 2 weitere, viel detailliertere Diagramme*, die allerdings wegen ihrer Grösse schlecht
hier darstellbar sind, bzw. schlecht als Bild gecaptured werden können.
*-->* Dieses und dieses*<--* Diagramm sind mit dem Eclipse Plugin "GreenUML"erstellt worden. 
Wenn man sich das Plugin zieht, kann man die Diagramme in Eclipse einfach ansehen.

So, jetzt gibt's noch eine neuere Version unseres *-->* kompletten SVN *<--*. Es gibt schon wieder zig
Implementierungen, die alle wieder verschwinden werden oder sich komplett ändern wenn wir mal das finale
Modell haben. Aber wen Code-Schnipsel interessieren, der kann es sich ja ansehen.
(In dem Package sind auch alle o.g. UML Diagramme drinnen, sowie schon *ein paar tolle Bildchen* von unserem Quaxli!)

Wir melden uns dann also wieder nach der 2.Vollversammlung, wenn wir ein gemeinsames UML Diagramm entworfen
haben. (Dieses finale Modell wird dann sicher als Bild zur Verfügung stehen!)

mfg  

PS: Scheinbar doch nich kurz und knapp


----------



## Polli86 (25. Aug 2009)

hm... schaue hier eigentlich täglich ins Forum und habe gedacht
hier tut sich mal was zu diesem Beitrag, hätte mich nämlich sehr interessiert...
aber da dies seit Februar nicht der Fall ist, könnte man diesen *Wichtigen* Thread
vielleicht seines Status entheben 

Grüße Polli


----------



## Quurks (30. Aug 2009)

Das würde mich auch interessieren, denn aktuell ist er nichtmehr, und beinhaltet eigentlich keine relevanten infos

Hab gerad geschaut, ob sich doch was getan hat


----------



## Illuvatar (30. Aug 2009)

Ja ihr habt recht.
@hdi: Falls da doch noch was laufen sollte, bitte eine PM an mich oder einen anderen Mod, dann kann man das auch wieder sticky machen.


----------

