Montag, 5. September 2011

[TechBlog] Einfach und schnell zum eigenen Dateiformat (Teil 1)


Einführung
Es gibt kaum ein Programm, das keine Daten speichern muss. Manche nutzen dafür Datenbanken oder auch Webservices, aber am häufigsten werden Dateien benutzt. Wenn es für die Daten bereits ein Format gibt, dann kann man natürlich dieses verwenden. Wenn man aber – wie wir – die Map eines Tower Defence-Spiels speichern möchte, dann muss man sich ein eigenes Format ausdenken.

Aufstellen der Anforderungen
Bevor man sein Format definiert, muss man sich zuerst klar machen, was es überhaupt leisten soll. Unser Mapformat, welches wir OTDM getauft haben, muss von unseren Programmen einfach zu verarbeiten sein, da wir nicht zu viel Zeit mit dem Lese- und Schreibcode verbringen wollen. Außerdem sollte das Format auch für Menschen lesbar sein, sodass man per Hand Änderungen vornehmen kann. Genauso sollte OTDM aber auch für andere Programmierer einfach zu implementieren sein. Zu guter Letzt muss es auch größere Maps in wenigen Kilobyte unterbringen können, da die Maps vom Server an die Clients verschickt werden sollen, falls sie dort nicht vorhanden sind.

Definieren des Formats
Wenn die Anforderungen klar sind, kann man sich daran wagen, das eigene Format festzulegen. Zuerst hat man die Wahl, etwas komplett eigenes zu erschaffen oder sein Format aus bereits vorhandenen Formaten zusammen zu setzen. Ein komplett eigenes Format ist unserer Meinung nach nur in wenigen Fällen sinnvoll, vor allem, weil es einen enormen Aufwand benötigt, bis das Programm es lesen und schreiben kann. Wir haben uns deshalb für die zweite Variante entschieden.
Dabei fiel unser Blick auf XML, da es sowohl von Menschen als auch von Computern verarbeitet werden kann. Gleichzeitig ist XML standardisiert und es gibt für fast alle Programmiersprachen fertige Bibliotheken. XML nimmt aber auch eine gewisse Sonderstellung ein, da es zwar einen XML-Standard gibt, der schreibt aber nur einige wenige Rahmenbedingungen vor, während der Rest vollkommen frei ist. Das ermöglicht eine große Flexibilität durch die man viele Daten (vor allem tabellarische oder baumstrukturähnliche) in XML darstellen kann.
Der Nachteil an XML ist, dass es als textbasiertes Format und durch seine Struktur viel Overhead speichert und so die Dateien sehr groß werden können. Für ein Format, das per Internet übertragen werden soll, ist das natürlich denkbar schlecht. Um nun trotzdem die Vorteile von XML nutzen zu können, haben wir uns dafür entschieden die XML-Daten zu komprimieren. Durch seinen Aufbau bedingt lässt sich XML sehr gut komprimieren, zum Teil auf nur 10% der Originalgröße. Dabei hatten wir die Wahl zwischen Zip, GZip und BZip2. BZip2 schied direkt am Anfang aus, da es nur minimal bessere Komprimierung bei erheblich größerem Rechenaufwand bietet. Zip und GZip dagegen sind ungefähr gleich (in unseren Tests). Der Unterschied für uns ist folgender: Zip kann mehrere Dateien speichern, die sich ohne temporäres Entpacken einzeln auslesen lassen. GZip dagegen speichert nur einen Stream, welcher komplett entpackt werden muss, selbst wenn man nur eine Datei lesen möchte. Wir haben uns deshalb für Zip entschieden.

In Teil 2
In Teil 2 zeigen wir, wie man solch ein Dateiformat mithilfe der #ziplib in C# lesen und speichern kann.

Eigene Erfahrungen, Anregungen und Verbesserungsvorschläge sind natürlich erwünscht!

Samstag, 3. September 2011

Mitgliedersuche & Neue Kategorien

Wir sind immer noch auf der Suche nach Mitgliedern. Genauere Informationen dazu und wie ihr euch bewerben könnt findet ihr hier.

Außerdem gibt es ab sofort eine Einteilung der Posts in Kategorien, damit ihr schneller an die Posts kommt, die ihr sucht. Dabei gibt es dann auch gleich eine Neuerung namens "TechBlog". Hier werden wir Posts veröffentlichen, die Probleme und unsere Lösung oder einfach Erkenntnisse während der Entwicklung von OTD thematisieren.

Freitag, 2. September 2011

Status 02.09.2011

Engine²

Wir machen kleine Fortschritte beim ausbauen unserer gesamten Engine. Wir hoffen die Tage fertig zu werden, damit wir wieder daran arbeiten können das Spiel weiter zu entwickeln.

Sonntag, 28. August 2011

Status 28.08.2011

Engine

Das umgestalten der Engine gestaltet sich recht schwer. Es wird noch etwas Zeit in Anspruch nehmen. Wir sagen Bescheid sobald wir fertig sind.

Dienstag, 23. August 2011

Status 23.08.2011

Umstrukturierung

Um uns das Leben später einfacher zu machen und später noch schneller neue Features zu adden und um später schneller Bugs zu fixen, sind wir aktuell dabei unsere Engine umzustricken. Unser SourceCode soll strukturierter werden und vor allem modularer. Das dauert momentan ein wenig, da wir viele Variablen raus nehmen um alles zu vereinfachen. Das Spiel startet schon mal wieder mit der neuen Struktur und wird morgen wieder spielfähig zu machen.

Samstag, 20. August 2011

Status 20.08.2011

Team

Aktuell sind wir, nachdem wir uns ausgeruht haben dabei, neue Teammitglieder zu rekrutieren. Momentan haben wir die Wahl zwischen zwei sehr guten Programmieren, die unser Team ggf. verstärken werden. Wir sind und noch nicht ganz sicher aber informieren Euch in Kürze über den Zuwachs. Desweiteren suchen wir immer noch 2D Grafiker für uns Spiel. Bitte bewerbt Euch im Forum für diesen Posten. Das Forum ist übrigens auch noch arg leer. Wir wünschen einen Besuch Eurer seits. Wir können Euch da vorweg schon alle Fragen und Wünsche abnehmen!

Donnerstag, 18. August 2011

Status 18.08.2011

Gamescom

Gott uns tun die Füße weh. =) Wir haben alles geschafft! Zuerst waren wir überwältigt von der Masse die diesmal da war. Ich persönlich war auch die letzten 2 Jahre da und zu dem Zeitpunkt war viel weniger los. Aber das scheint ja nur die enorme Größe des Events wiederzuspiegeln. Nachdem wir alle 5 Hallen durchgegangen waren, sind wir nochmal alle 5 rückwärts gewandert. Auf dem Rückweg haben wir noch einiges mehr gesehen.

Das erste was wir angepeilt haben war COD MW3. Leider war dies nicht spielbar, aber dafür hatten wir einen überlauten, fast Tinnitus erzeugenden Videobeitrag. Ähnlich wie bei den letzten Teilen baut COD auf Action und Knallerei. Das Video überzeugte mit purer Action im Wasser und im Auto. Alles explodierte und ganze Gebäude vielen in sich zusammen. Grafisch würde ich COD MW2 auf eine Stufe mit COD BlackOps setzen. Auch wenn das die XBOX Version war und wir eine riesige Leinwand hatten, denke ich das ich am PC nicht viel tun wird. Danach gings zu Farcry3. FarCry3 sieht besser aus als ich gedacht hatte. Die Programmierer bauen auf eine eigene Engine, die Landschaft und Jungle wunderschön darstellen kann. Auch wenn die Engine nicht mit der Crytek Engine mithalten kann, hat mich die Grafik überzeugt. Spielerisch ist es wie in FC2 nur mit ein paar mehr Interaktionsmöglichkeiten bzw. Tötungsmöglichkeiten. Viel gesehen hat man nicht nur ein kleines Dorf und ein paar hübsche Szenen.

Kurz danach sind wir unverzüglich zu Diablo 3, meinen persönlichen Favoriten der GC, der letzten 3 Jahre. Ich habe es auf jeder GC spielen dürfen, so auch auf dieser und ich bin einfach davon überzeugt. Grafisch hat sich natürlich viel getan, man kann oft mit der Umgebung interagieren und Monster gibts ohne Ende. Schon nach 5min hatte ich mein Inventar mit Gegenständen voll und ich metzelte mich durch die Gegner. Items soll es angeblich mehrere 1000 geben. Also weckt das meine Sammelleidenschaft und der Wille Stundenlang zu spielen. Zu guter Letzt natürlich noch Battlefield 3, was wir erst bestaunen durften in einem Live Gameplay. Todesmutig stürzte sich der Entwickler auf Veteran-Modus ist Getümmel. Die Grafik ist dank DX11 absoluter Wahnsinn auch wenn ich auch hier behaupten mag nicht so gut wie die Crytek Engine. Dennoch ein absoluter Augenschmaus. Auch GamePlaytechnisch hat BF3 ein bisschen mehr zu bieten als der letzte Teil. Neu hinzu kommt wohl ein neue Rangsystem, eigene Events und Co. alles natürlich ausschließlich online. Als wir dann spielen durften, das Spiel 1x einfror bei mir kann ich behaupten: "Das kauf ich mir!". Spielerisch genau so wie die guten alten Teile, haben wir CTF gespielt mit 64 Spielern, auf einer viel zu großen Karte. Ich erwarte dieses Jahr 4 gute Spiele, die ich mir auf jeden Fall zulegen werde.

Neben den dicken Krachern der GC, waren aber auch viele unscheinbare gute Spiele dabei. Anno 2070 hat mich z.B. auch fasziniert, den die 3 Fraktionen, die wählbar sind spielen sich alle unterschiedlich. Für mich ein großer anreiz auch da zuzuschlagen. Auch Elder Scrolls 5 kann spielerisch und Sammlersüchtige mit Sicherheit begeistern. Assassins Creed durften wir im Multiplayer auch kurz antesten. Jedoch spielt sich das für mich wie der Teil davor. Grafisch sieht es praktisch genau so aus wie der Vorgänger. Der neue Batman und seine Begleiterin konnten mich dank kurzer Demo auch überzeugen. Den ersten Teil habe ich auch durchgespielt, was ich mit diesem sicher auch tun werden. Kampfsystem und Story finde ich einfach gut. Wer noch Zeit hat und 10€ übrig sollte sich schleunigst dort hin begeben. Am besten Oropacks mitnehmen, den die Lautstärke ist diesmal unerträglich. Zu guter Letzt noch ein paar Bilder der GC und unserer Ausbeute:













Status 18.08.2011

GamesCom

Heute gibts mal nichts zu tun, den morgen gehts auf die GamesCom. Danach werde ich euch meine Eindrücke mitteilen und dort ein wenig Werbung für OTD machen.

*EDIT - 07:54* AUF GEHTS... =)

Dienstag, 16. August 2011

Status 16.08.2011

InGame-Menü und Buttons

Heute haben wir wieder viel diskutiert. Dadurch haben wir nun eine Plan zur Umsetzung des InGame-Menüs, die es uns erlaubt, sehr einfach Buttons für neue Funktionen hinzuzufügen. Außerdem haben wir eine grobe Idee, wie das Grundgerüst der Spiellogik gestaltet werden soll.
Buttons können nun neben einem Hintergrundbild auch einen Text darstellen, wodurch eine Unterstützung für mehrere Sprachen möglich wird. In dem Zuge haben wir das Textrendering auch gleich verbessert.

Montag, 15. August 2011

Status 15.08.2011

InGameMenü

Heute hatte ich endlich mal Zeit und Muße mich um das InGameMenü zu kümmern. Eine erste Idee ist alle vorhandenen Tower in kleinen Kästchen zu rendern und einige Infos dazu hinzuzuzeichnen. Bei der kleinsten Auflösung würden 15 Tower ins Fenster passen und somit die Grenze auf 15 erhöht werden. In den Fenster wird dann später mit kleinen Symbolen gezeigt, was der Tower für Fähigkeiten hat. Hierzu zählen z.B. vereisen, verbrennen, vergiften oder Flächenschaden. Das jetzt ist ein erster Versuch wir man es machen könnte. Mir gefällt es und so werd ich es jetzt erstmal weiter machen. Nachdem man nun also auf einen freien Platz klickt wird sich dieses Menü öffnen. Selbiges gilt natürlich nachher auf für die Fallen! Desweiteren wurde den Texten jetzt ein kleiner Schatten hinzugefügt!


Sonntag, 14. August 2011

Status 14.08.2011

Editor und InGameMenü

Dem Editor wurde heute erstmal eine neue Menüleiste verpasst, die etwas schöner aussieht. Dazu kam heute der Pfeillayer, der nun komplett funktioniert, unterscheidet ob mein einen Pfeil an diesen Weg setzen darf und auch schon die Differenzierung zwischen den Starts. Jedem Start kann ein manipulierter Weg zugewiesen werden, wenn das gewünscht ist ansonsten wird der kürzeste Weg von unserer Engine berechnet. Sind Pfeile im Weg wird eine Umleitung gesucht! Desweiteren haben wir das Mapformat erweitert und zwar um gleich 6 Layer. Nicht zum zeichnen in dem Fall sondern zum setzen von Animationen. Über jedem Layer dürft Ihr an jeder beliebigen Stelle eine Animation setzen. Damit Animationen sinnvollerweise auch unter dem Decolayer oder unter dem Weg warum auch immer sein können, hat jeder Layer einen zusätzlichen Animationslayer bekommen. 

Damit Ihr mal wisst, wo OTD entwickelt wird und wie chaotisch unsere Arbeitsplätze aussehen, hier mal ein Bild!

Kampfschaf's Ecke

Philipps Ecke


Samstag, 13. August 2011

Status 13.08.2011

Animation und Editor

Nachdem mein Kollege Philipp aus dem Urlaub zurück ist und wir heute sicher 4 Stunden diskutiert haben, wie wir weiter machen, sind wir zu mehreren Ergebnissen gekommen. Einerseits sind wir uns einig, das wir Euch die Möglichkeit geben von uns definierte Animationen egal in welche Richtung auch Partikeleffekte frei auf der Map platzierbar zu machen. Einzige Grenze die wir setzen ist, das Ihr maximal 3 Effekte auf eine Koordinate setzen dürft. Desweiteren wurde heute unser Pfeillayer, der den Weg manipulierbar macht, im Editor integriert und funktioniert wunderbar. Multiplayertechnisch haben wir heute auch schon weiter diskutiert um diesen so komfortabel wir möglich zu machen. Die Maps werden abwärts-kompatibel sein aber in dem Moment wo sie älter ist, werden alle neuen Sachen einfach ignoriert und mit einem Standardwert versehen. Das InGameMenü habe ich wegen der langen Diskussion nur ein wenig weiter bekommen, wir im Bild zu sehen. Morgen wird auf jeden Fall erstmal der Editor erweitert und verschönert und das InGameMenü fertig gemacht!


Donnerstag, 11. August 2011

Status 11.08.2011

InGame Menü

Nach reichlich Überlegung und Ideensammlung habe ich denke ich eine optimale Möglichkeit gefunden die Infos die es geben wird unter zu bringen. Ich werden oben ein Infopanel im Stil aller Menüs darstellen. Dort wird die Gold, XP und Lebensanzeige erscheinen. Im MP werden dann rechts in einer kleinen Liste kurz die Infos der Mitspieler angezeigt. Ich habe jetzt erstmal das Panel oben vorbereitet und bin zufrieden mit dem Ergebnis! Morgen kuck ich mal was ich unten mache, den ich überlege ein Baumenü zu integrieren. Un zwar nur wenn man auf ein freies Feld klickt. Ich muss noch überlegen wie ich das am dynamischsten mache. Aber dafür werde ich auch eine Lösung finden!


Dienstag, 9. August 2011

Status 09.08.2011

Vorschaumenü

Nicht gestern aber heute habe ich das Vorschaumenü fertig bekommen. Ich denke so wie es jetzt aussieht, kann man es erstmal lassen. Auflösungtechnisch funktionieren jetzt alle Menüs so wie sie sollen! Nach ein wenig Verzögerung mache ich mich als nächstes an das InGameMenü. Ich denke ein Menü unterhalb wie bei viele Spielen passt hier vielleicht optimal, den die Minimap soll nicht im Raum schweben, sondern unten in der Mitte seinen Platz finden. Weiteres die nächsten Tage...


Sonntag, 7. August 2011

Status 07.08.2011

Vorschaumenü

Noch nicht ganz fertig aber fast. Habe heute mal das Vorschaumenü überarbeitet und Auflösungstauglich gemacht. Mögliche Auflösungen werden vorerst folgende sein:
  • 4:3 - 1024x768
  • 4:3 - 1280x1024
  • 4:3 - 1600x1200
  • 16:10 - 1280x800
  • 16:10 - 1440x900
  • 16:10 - 1680x1050
Was jetzt noch fehlt ist die Mapvorschau selber und die Infos dazu im Vorschaumenü. Ich muss mir halt noch eine hübsche Variante überlegen das zu gestallten. Morgen werden ich das definitiv fertig bekommen und dann gehts an die Menü im Spiel.

P.s. Das Forum wartet auf Euch und Eure Fragen und Kritiken!


Samstag, 6. August 2011

Status 06.08.2011

Netzwerkmenü

So nach viel Überlegung habe ich mal das Netzwerkmenü soweit vorbereitet. Beinhalten wird es die 5 letzten benutzen Server, denen man gejoined hat. Was jetzt noch fehlt ist das Vorschaumenü, was nochmal ein wenig Arbeit wird alles umzustricken und anzupassen, aber ich bin sehr guter Dinge das morgen zu schaffen. Gestern war ich auf der Annakirmes meiner Stadt, was ich Euch mal in einem Feuerwerk festgehalten habe. Viel Spaß beim knallen und bis morgen.



Freitag, 5. August 2011

Status 05.08.2011

Menüs & Auflösungen

Wie gestern schon beschrieben, bin ich momentan dabei eine Unterstützung für mehrere Auflösungen zu implementieren. Aufgrund dessen habe ich die Menüsklassen ein wenig modifizieren müssen, damit sich immer alles richtig positioniert. Das habe ich jetzt schon fürs Hauptmenü und dessen Optionsmenü fertig gemacht. Morgen werde ich noch das Vorschaumenü fertig machen und mir eine gute Aufteilung für das Multiplayermenü überlegen. Morgen zeige ich Euch dann mal einen Screeny und eine Video des Feuerwerk das ich mir heute ansehen durfte auf der Annakirmes. Denn wir haben ja nebenbei auch noch was anderes zu tun =)

Donnerstag, 4. August 2011

Status 04.08.2011

Auflösungen

Also nachdem ich gestern erstmal den Tag davor Revue passieren lassen musste, habe ich heute angefangen eine Möglichkeit zu finden nicht nur 1024x768 als Auflösung zu nutzen. Ich bin auf gutem Wegen auch Breitbild etc. zum funktionieren zu bekommen. Die Map wird bereits richtig gerendert in allen Auflösungen jedoch noch nicht die Menüs aber das krieg ich morgen hin. Ich muss mir auch noch überlegen, was ich mache wenn die Map von den Feldern her zu klein ist für die Auflösung. Aktuell werden einfach mehr Tiles gerendert, bei einer höheren Auflösung.

Dienstag, 2. August 2011

Status 02.08.2011

Server & Client erweitert

Da ich gleich zur Annakirmes wandere und mich wild auf alle Attraktionen werfen, habe ich ein wenig vorgearbeitet. Ich habe Server und Client ein wenig erweitert. Im Client gibt es jetzt ein Loginfenster, was später auch erlaubt im Falle eine Absturzes dem vorigem Spiel zu reconnecten. Es ist auch so eingerichtet, das man eine Nachricht bekommt das er versucht zu verbinden und im Falle des Erfolgs ebenfalls mitteilt, das dies erfolgreich war. Ich hab auch mal den aktuellen Stand auch wenn es nur ein Dosfenster ist, des Servers beigelegt. Zu sehen ist ein (Match) zwischen 3 Spielern. Natürlich noch nicht viel los aber das kommt ja noch!



Montag, 1. August 2011

Status 01.08.2011

Server

Da der Server und der Client endlich das von uns programmierte Grundgerüst haben, geht die Multiplayerphase schneller. Die Fallen werden nun ebenfalls übertragen und empfangen. Der Server und der Client versteht nun auch ob ein Client connected oder dis-connected hat. Server und Client verarbeiten und kommunizieren soweit schon sehr gut miteinander. Nun wissen Server und Client wer wer ist und die nächsten Schritte sind z.B. einen Re-connect zu unterstützen und ein Netzwerkmenü zu erstellen.

P.s. Wir möchten Euch natürlich auch dazu animieren, Euch im Forum zu registrieren! Dort wird auf jede Frage eingegangen!!!

Sonntag, 31. Juli 2011

Status 31.07.2011

Server und Logs

Heute haben wir im Server eine Log-Funktion eingebaut, die alle Meldungen zusätzlich in eine Datei speichert. Die Meldungen sind in verschiedene Klassen eingeteilt, die in der Konsole farblich unterschieden werden.
In OTD wird jetzt das Bauen der Tower an den Server übermittelt und die vom Server kommende Nachricht empfangen. Außerdem haben wir die Farbe der Hinweistexte geändert, sodass sie besser lesbar sind.

P.s. Wir möchten Euch natürlich auch dazu animieren, Euch im Forum zu registrieren! Dort wird auf jede Frage eingegangen!!!

Samstag, 30. Juli 2011

Status 30.07.2011

Multiplayer

Nach vielen Stunden gemeinsamer Arbeit über SVN, haben wir es geschafft den Server komplett nach unserer Struktur neu zu programmieren. Die Neuprogrammierung des Servers war nötig, um ihn 100%ig kompatibel für OTD zu machen. Server und Client sind nun auf einander eingespielt und ermöglichen uns ab jetzt eine rasche Weiterentwicklung des Multiplayerparts.

P.s. Wir möchten nochmals auf unser heut eröffnetes Forum hinweisen! http://otd-forum.tk/

OTD FORUM

Ab heute geht unser offizielles OTD Forum online. Dort dürft Ihr ab sofort schon vor dem Release über das Spiel und dessen Tools diskutieren. Reicht Vorschläge ein und sagt was Ihr vom aktuellen Status haltet. Kommentiert die letzten News und kritisiert Dinge fall Sie Euch nicht gefallen. Zu erreichen ist das Forum erstmal unter:

http://otd-forum.tk/

Freitag, 29. Juli 2011

Status 29.07.2011

Schatten und Server

Heute haben ich mal den Schatten noch ein wenig verfeinert. Er harmoniert jetzt wunderbar mit unserem Tag & Nacht Zyklus. Morgen wird definitiv der Server fertig gemacht und die ersten Daten zum senden vorbereitet. Nebenbei wird angefangen Texturen speziell fürs Spiel zu zeichnen. Ein Busch oder Baum oder was auch immer ist ein erster Versuch! Wer Zeit und Lust hat für OTD Texturen, Objekte zu zeichnen, kann sich gerne bei uns melden.

P.s. Kommentare sind ab jetzt für alle möglich! Nach Freischaltung wird dieser auch sichtbar!

Donnerstag, 28. Juli 2011

Status 27.07.2011

Tag-Nacht & Menü

Nachdem wir gestern den Schatten implementiert hatten, haben wir heute den Schatten etwas natürlicher gemacht, indem wir einen Tag-Nacht Zyklus eingebaut haben. Man darf jetzt einen Tageszeitraum eingeben wann die Sonne auf und unter geht. Dementsprechend wird die Map dunkler bzw. heller. Natürlich wird somit nachts auch der Schatten ausgeblendet. Das ganze blendet nun also realistisch ein und aus. Nebenbei wird angefangen das InGameMenü einzurichten. Philipp fängt dankt SVN nun auch an den Server weiter zu entwickeln, damit er mit unserem neuem Client kommunizieren kann.

Dienstag, 26. Juli 2011

Status 26.07.2011

Schatten

Dank Sinus und Cosinus haben wir es heute geschafft, einen dynamischen Schatten zu erzeugen. Wir haben nun eine Art Sonne im Spiel, die je nachdem welches Zeitintervall man angibt, sich um die Map dreht. Demnächst bringen wir noch einen Tag-Nacht Zyklus ins Spiel, da Abends ja eigentlich kein Schatten da ist und wir in dem Moment die Map abdunkeln.


Montag, 25. Juli 2011

Status 25.07.2011

MiniMap und Netzwerk

Gestern und heute habe ich mich weiter mit der MiniMap beschäftigt. Sie ist noch nicht fertig aber macht nette Fortschritte. Ganz einig sind wir uns noch nicht wie wir sie gestalten. Das was Ihr seht ist ein erstes Beispiel wie man es machen könnte. Philipp hat unseren Netzwerkcode noch weiter ausgebaut bzw. umgebaut sodass wir später schneller arbeiten können. Nebenbei wird noch ein wenig mit Licht und Schattenproblemen experimentiert.


Sonntag, 24. Juli 2011

Status 23.07.2011

Kritischer Bug im Editor gefixt

Heute habe ich im Editor den Bug eliminiert, der den Editor immer abstürzen lies, wenn man eine bereits gespeicherte Map nochmals speichern wollte. Außerdem ist das "Map verschieben"-Feature fast komplett fertig.
Morgen werden wir das erweiterte Netzwerk-Grundgerüst in OTD einbauen, auf dem dann das ganze Multiplayer-Feature aufbauen wird.

Freitag, 22. Juli 2011

Status 22.07.2011

Minimap im Spiel, Zoom und größere Tiles im Editor

Die Minimap nimmt langsam Gestalt an. Allerdings dauert es wohl noch ein oder zwei Tage, bis sie komplett fertig sein wird, da wir gleichzeitig ein paar größere Optimierungen am Code durchführen.
Der Editor hat heute endlich das Zoom-Feature bekommen, bald wird man die Map auch verschieben können. Außerdem ist die Unterstützung für größere Tiles nun funktionsfähig und als kleine optische Verbesserung zeigt der Editor nun immer einen dünnen Rahmen um die Map.

Donnerstag, 21. Juli 2011

Status 21.07.2011

Radius, Fenster & Editor

Ich liebe drehende Sachen also habe ich heute den Radius eines Towers animiert und brav mit einer Drehbewegung versehen. Sieht nun aus wie ein Radar eines U-Bootes. Die Tower und Trapfenster habe ich noch ein wenig gefixt, da noch ein paar Größenprobleme auftraten. Philipp hat sich bezüglich des Editors schon Gedanken zur Umsetzung für einer Automatisierung der Funktion „Weg zeichnen“. Unterstützung für größere Tiles ist ebenfalls in Planung genau wie eine Zoomfunktion. Demnächst dürften also die ersten Bilder des Editors hier veröffentlicht werden. Ich kümmere mich morgen um eine MiniMap im Spiel bei einem kühlen Bier.

Mittwoch, 20. Juli 2011

Status 20.07.2011

TrapFenster, Radius und Cursor

Die Trapfenster sind nun auch soweit fertig und passen sich wie die Towerfenster automatisch an. Um das bauen zu verschönern und besser zu veranschaulichen, habe ich den aktiven Bauplatz grün markiert, wie im Screenshot zu sehen. Die Tower rendern sich jetzt nicht mehr Kachelweise sondern bleiben an der Maus und springen nicht mehr mit. Sobald man mit der Maus über einem bebaubaren Feld ist, wird dieses Grün markiert. Um alles ein bisschen sichtbarer zu machen sind Maus und der aktuelle Tower bzw. Trap transparent. Wie ihr wahrscheinlich auch seht, habe ich angefangen den Towerradius einzubauen. Er wird schon erkannt und dementsprechend aus einer Grafik vergrößert bzw. verkleinert.

Dienstag, 19. Juli 2011

Status 19.07.2011

Towerfenster erweitert

Wie gestern gesagt habe ich heute die Towerfenster dynamisch gemacht. Je nach Towertyp (momentan Normal, Eis und Gift Tower) passt sich das Fenster und die Knöpfe etc. an. Morgen mache ich das Selbe für die Fallen. Danach schau ich mal was als nächstes dran ist und melde Euch dies natürlich.

Montag, 18. Juli 2011

Status 18.07.2011

OTDM Format und Tower Fenster

Heute hat YaPh1l unser OTDM Format in den Editor integriert. D.h. alle Mapinformationen (dazu gehören auch Tower, Trap, Monster etc. Infos) werden nun im Editor in unserem  OTDM Format gespeichert und geladen.  Nebenbei wurde noch unser Arrowlayer mit dem man den Weg der Monster manipulieren kann eingefügt. Ich hab heute das Towerfenster fertig gemacht und er zeigt wunderbar alles an, und unterscheidet auch jeden Tower ob Eis oder Gift Tower… =)


Sonntag, 17. Juli 2011

Status 17.07.2011

Editor-Plugins und SVN

Der Editor nimmt immer mehr Gestalt an. Unser Mitstreiter Flo hat Tower-, Level und Mapinfo-Editor grob fertiggestellt. Diese Woche kümmere ich mich darum, dass der Editor unser Mapformat OTDM lesen und schreiben kann. Außerdem haben wir uns ein SVN eingerichtet, sodass wir besser zusammen an OTD arbeiten können.

Samstag, 16. Juli 2011

Status 16.07.2011

Feature-Planung für den Editor und Fortschritte beim Multiplayer

Heute berichte ich mal über den aktuellen Stand. Zuerst noch kurz zu meiner Person: Ich heiße Philipp, aber nenne mich meist Phil oder YaPh1l. Ich bin der zweite Entwickler von OTD, wo ich unter anderem das Programmdesign entwerfe und bin der Hauptentwickler des OTD Editors. Desweiteren arbeite ich noch an einigen kleineren Programmen auf meiner Homepage und bei The Copy&Paste-Crew.

Der Editor befindet sich momentan in der Anfangsphase, kann aber schon Mapdateien öffnen und Boden-, Mauer-, Weg- und Dekolayer mit 32x32-Tiles bearbeiten. Außerdem habe ich vor ein paar Tagen ein Plugin-System eingebaut, mit dem Editoren für Monster, Traps, Levels usw. eingefügt werden. Geplante Features sind unter anderem:
  • Zoom im Mapeditor
  • Pfeil-Layer, um für jede Startposition individuell den Weg / die Wege der Monster kontrollieren zu können
  • Unterstützung für größere Tiles
  • Stylesets für die Tiles (z. B. Wüste, Wald, Moor, Stadt, ....)
  • Ein Tool, um den Rand der Map mit zufälliger Deko zu füllen
  • Öffnen und Speichern direkt im OTDM-Format
Bei OTD selbst arbeite ich gerade an einem Grundgerüst, das es uns möglich machen wird, Single- und Multiplayer in einem Rutsch zu programmieren. Außerdem wird es das Hinzufügen von Features erheblich erleichtern und vor allem beschleunigen.

Donnerstag, 14. Juli 2011

Status 14.07.2011

Heute habe ich das Towermenü soweit initialisiert und bereit gemacht zum Füllen mit Informationen. Morgen werde ich das Menü mit den Infos des angeklickten Towers bereichern. Muss nur noch ein wenig vorarbeiten, damit das fehlerhaft funktioniert. Des Weiteren laufen nebenbei die Arbeiten an dem Editor für Euch.

Dienstag, 12. Juli 2011

Status 12.07.2011

Also zu aller erst haben wir beschlossen, uns am Wochenende intensiv um den Multiplayerpart zu kümmern und den Programmcode so zu gestalten, dass wir nachher nur noch hinzufügen müssen. Heute habe ich angefangen, die Tower anklickbar zu machen und deren Infos zu bekommen. Morgen kümmere ich mich darum z.B. Tower zu verkaufen oder zu aufzustufen.

Montag, 11. Juli 2011

Status 11.07.2011

Gähn... Nein ich habe nicht durchgemacht! =) Die Monster müssen leider noch etwas warten, den wir versuchen all das direkt mit dem Multiplayer zu verbinden, was sich etwas schwerer gestalltet. Untätig war ich aber nicht, denn ich habe ein paar Bugs behoben, Das Vorschaumenü überarbeitet und Infofenster für die Traps fertig gestellt. Bevor ich es vergesse: Es wird auch möglich sein Tiles jenseits der 32x32px zu platzieren.

Die Anzeige für die Bauplätze verschönert und Infofenster für Traps sind fertig:

Samstag, 9. Juli 2011

Status 09.07.2011

Wie gestern schon angesprochen, haben wir heute die Wegfindungsengine erweitert. An sich findet die Engine jetzt den kürzesten Weg. Sollte jedoch ein Pfeil im Weg sein zwingt sich die Wegfindung da entlang. Soweit so gut sind wir jetzt erst mal fertig mit der Wegfindung und kümmern uns nun um die Monster.

Ein Beispiel hier:

Freitag, 8. Juli 2011

Status 08.07.2011

Mein Kollege YaPh1l ist aus Rom zurück und direkt ging es brav weiter. Von den 1000 Zeile Wegfindung sind wir auf lächerliche 204 geschrumpft. Und sie funktioniert sogar noch besser als vorher. Die Engine findet jetzt eigenständig anhand aller Ziele, die es gibt das nächst gelegene.

Zwei Beispiele hier:


Donnerstag, 7. Juli 2011

Status 07.07.2011

...Be happy! =) Habe heute die komplette Wegfindungsengine neu geschrieben, auf Basis des Dijkstra-Algorithmus. Was klingt wie eine chinesische Suppe ist ein ausgeklügeltes System sein Ziel zu finden. Jetzt erst mal ohne Pfeile, den die Engine finden nun egal wie viele Kurven oder Kreuzungen es gibt, das kürzeste Ziel. Die Pfeile werde ich morgen als Extra wieder einbinden, damit man auch selber entscheiden kann wo ein Monster lang läuft. Jetzt brauch ich aber erst mal Schlaf! =)

Ein kleines Beispiel gibts hier. Links obene stehen die Wegpunkte, die er entlang geht für den Start links oben: