Geolaria

Kommentare anzeigen Worklog abonnieren
Gehe zu Seite Zurück  1, 2, 3, 4

Worklogs Geolaria

Vollbild, Levelauswahl und co.

Mittwoch, 27. August 2008 von ChaosCoder
Sooo, wieder gibts was neues:

Früher war die Standardauflöung 1024x768 und wurde im Vollbild auch so gestreckt, das sieht natürlich nicht sooo toll aus. Die Level wären bei einer größeren Auflösung und somit einer größeren "Karte" für Leute mit einer hohen Desktopauflöung also viel einfacher als für andere. Da es aber genug Leute gibt die es trotzdem im Vollbild spielen wollen (wenn man mit der Maus aus dem Fenster kommt und (ausversehen) klickt wär ja das ganze Fenster weg) habe ich nun einen anständigen Vollbildmodus eingebaut, dieser benutzt die Desktop-Auflösung, die Karte bleibt allerdings zentriert auf 1024x768.

Dazu diese Bilder:
user posted imageuser posted image

Levelauswahl

Screen:
user posted image

Hier kann man unter verschiedenen Leveln, die man auch selber bauen kann (siehe ScriptEngine-Eintrag im Worklog), auswählen und ggf. einige "Unterlevel" abschalten, damit man zum Beispiel den Arcademodus trainieren kann ohne ständig die Anfangslevel wiederholen zu müssen. Allerdings hab ich letzeres noch nicht implementiert, folgt aber in den nächsten Tagen sicherlich.

Hinzuzufügen wäre nur noch, dass ich einen weiteren Musikproduzenten gefunden habe, der senerseits auch 2-3 Lieder dem Spiel zusteuern will.

"Banner" oder so

Samstag, 23. August 2008 von ChaosCoder
Hier mal n Banner den ich schnell zusammengeschustert hab, er wird noch verbessert da er aktuell zu sehr dem alten Banner ähnelt, aber ich fand die Version schon gut genug um sie reinzustellen, immerhin ist das hier ja ein Worklog Very Happy

user posted image

PS: Ja ich finde lila schön Wink

~Edit~
und noch gleich nen Screen vom noch unfertigen Menü hinterher:
user posted image

Neue Gegnertypen

Samstag, 23. August 2008 von ChaosCoder
Hallihallo,

nachdem wieder einige befürchteten, dass das Spiel wieder eingefroren ist, kann ich Entwarnung geben. Ich war eine Woche im Urlaub und die Woche davor hatte ich sehr komische Fehler beim compilen, die sich immer wieder änderten und aus den Modulen bei simplen New-Konstruktoren kamen... Ich kann mir das bis heute immernoch nicht erklären, aber es ist auch egal, habe alle Dateiinhalte manuell kopiert und das hat geklappt, waren ja nich sooo viele Dateien Rolling Eyes

Was gibts neues fragt ihr euch?
Es gibt nun 8 unterschiedliche Gegnertypen:
Arrow Standard und alt bekannte grüne, gelbe und rote Gegner, mit 1,2 bzw 3 Lebenspunkten.
Arrow Fast unsichtbare Gegner, die nur einen schwarzen Schatten unter sich haben der auch immer wieder ausfaded.
Arrow Eine Art "Mutter"-Gegner in schickem violett... Wird dieser Gegner zerstört kommen zwei kleine Babys raus:
Arrow Die Babys (ebenfalls violett aber wie man sich denken kann kleiner als die normalen) bewegen sich eher auf der Stelle als den Spieler zu verfolgen, man kann sie aber leicht übersehen und gerade Kamikaze auf die Mütter ist schwer.
Arrow Die grau gehaltenen "Dummies", diese können nicht zerstört werden und dienen zur Ablenkung. So kann man Level interessanter gestalten. Ein Scriptbefehl [KILL]groupid,startevents sorgt aber für kontrollierte Abhilfe.
Arrow Hochexplosive Gegner, man erkennt sie durch ihren roten Punkt in ihrer Mitte. Werden sie nach zwei Abschüssen zerstört, explodieren sie und fügen umliegenden Gegnern Schaden zu, je näher sie sind desto mehr Schaden. Diese können also gut taktisch eingesetzt werden wenn man mit wenigen Schüssen viele Gegner zerstören will.

Die unterschiedlichen update()-Methoden sorgten dafür, dass ich das komplette Gegnerverwaltungssystem umschreiben musste, dies hat überraschenderweise sehr lange gedauert, aber nun ist es fertig.

Grafisch wurde auch weiter aufgebessert, so sehen die Explosionen viel besser aus als vorher (meiner Meinung nach natürlich). Das Menü war eigentlich fertig, muss aber durch Komplikationen nochmal implementiert werden, allerdings hab ich grad gar keine Ahnung ob das schnell geht, hab ganz vergessen wie weit ich damit bin. Razz

Außerdem wurden die Grundsteine für die Levelauswahl gelegt. Diese wird man extern runterladen können, ohne viel Aufwand versteht sich.

Da will ich euch mal noch was zum guggn geben (allerdings gibts nicht viel neues zu sehen...):
user posted imageuser posted imageuser posted image

Ich würde mich sehr freuen wenn ich feedback bekommen würde, das würde mich (hoffentlich xD) motivieren Laughing

Einblick in die Scriptengine

Freitag, 18. Juli 2008 von ChaosCoder
Ich lass den ersten Worklogeintrag mal als Überblick und widme diesen Eintrag der ScriptEngine.

Ein Script besteht aus zwei Teilen:

Teil 1: INITIALIZE
In diesem Teil werden die Gegnertypen festgelegt, die Parameterfolge für den [ENEMY]-Tag sieht wie folgt aus:
Code: [AUSKLAPPEN]
[ENEMY]ID, Pfad zum Bild, Farbwerte R|G|B, Lebenspunkte, Geschwindigkeit, Punkte

und die Implementierung der Standardgegner wie folgt:
Code: [AUSKLAPPEN]
[INITIALIZE]
[ENEMY]gruen,gfx/gruen.png,0|255|0,1,2.0,10
[ENEMY]gelb,gfx/gelb.png,255|255|0,2,2.0,20
[ENEMY]rot,gfx/rot.png,255|0|0,3,2.0,30

Wie man vielleicht schon erkennt werden Befehle in eckigen Klammern geschrieben und die Parameter, mit Kommata getrennt, angefügt. Weitere Einstellmöglichkeiten gibt es noch nicht.

Teil 2: GAME
Der zweite Teil ist der "Game"-Teil. Hier gibt es 4 wichtige Befehle:

[LEVEL]
Initialisiert ein neues Level und trennt damit das Spiel in mehrere Abschnitte.
[TEXT]Startevents,Text,X,Y,Farbwerte R|G|B, Zeit
Zeigt einen Text in der gewünschten Farbe an der gewünschten Position für die gewünschte Zeit lang an, nachdem die Startevents abgefeuert worden sind.
[WAIT]ID,Startevents,Zeit
Erstellt einen Timer der gestartet wird, wenn die Startevents eintreffen. Wenn die Zeitabgelaufen ist wird ein wait-Event abgefeuert, das die ID des Timers enthält.
[GROUP]ID,Startevents,EnemyID,Anzahl,Verzögerung,PosX,PosY
Das wohl wichtigste am Skript. Dieser Befehl erstellt eine Gegnergruppe mit einer ID. Sie wird gestartet wenn die Startevents erfüllt werden. Erfolgt dies, so wird ein start-Event abgefeuert, mit der GruppenID.Danach werden Gegner des angegebenen Gegnertyps gespawnt. Die Verzögerung muss keine eindeutige Zahl sein, sondern kann eine Rechnung sein, die die beiden Variablen i und n benutzt. i wird für jeden Gegner um 1 erhöht, n stellt die Anzahl der Gegner in der Gruppe dar. So würde 1000-i/n*1000 eine Verzögerung ergeben, die immer kleiner wird und somit die Gegner immer schneller hitnereinander gespawnt werden.
Selbiges gilt auch für die Parameter PosX und PosY. Hierbei können aber noch mehr Variablen benutzt werden: (Ich denke die Variablennamen sind eindeutig)
Code: [AUSKLAPPEN]
i,n,playerx,playery,gfx,gfy

und desweiteren können mathematische Funktionen benutzt werden:
Code: [AUSKLAPPEN]
sin,cos,tan,ceil,floor,rnd


Dadurch kann schon mit eienr einzigen Zeile z.B. ein Kreis erstellt werden:
Code: [AUSKLAPPEN]
[GROUP]0,,gruen,100,0,gfx/2+sin(i/n*360)*gfy/2,gfy/2+cos(i/n*360)*gfy/2
(100 Gegner die ohne Verzögerung sofort gespawnt werden. Der Kreis hat den Mittelpunkt gfx/2,gfy/2 und einen Radius von gfy/2 und geht natürlich einmal rum)

Die Events:
Code: [AUSKLAPPEN]
start:ID
spawn:ID
kill:ID
wait:ID
Events können miteinander verknüpft werden, dazu bedient man sich einer Pipe ( | ). Ein spawn-Event wird abgefeuert, wenn die Gegnergruppe vollständig gespawnt wurde. Ein kill-Event wenn eine Gegnergruppe vollständig vernichtet wurde.

IDs gelten nur im jeweiligen Level.

Noch nicht implementiert, aber geplant:
[POWERUP]Häufigkeit für erscheinen eines PowerUps,Häufigkeit für Schildpowerup,Häufigk. f. SchussanzahlP.Up.,Häufigk. f. DurchschlagP.UP
Dies stellt die Powerups ein und werden im Level definiert und gelten solange bis was anderes definiert wird.

Sooo... für Vorschläge bin ich natürlich noch offen, einfach ne pm an mich.
Diesen Eintrag werd ich leicht abgeändert dann auch als Tutorial mitschicken, falls ich keinen Leveleditor baue.

Mir war langweilig...

Freitag, 18. Juli 2008 von ChaosCoder
...also dacht ich mir, machste einfach mal nen Worklog zu meinem aktuellen Projekt.

Ich schreibe gerade an einer Neuauflage meines Spiels ChaosSpace [ShowCase] und weil bestimmt schon viele dachten dieses Projekt sei beim Alpha-Status von 0.93 stehen geblieben, der täuscht sich. Ich hatte zwar mal ne Pause aber seit gut zwei Monaten bastel ich unter Hochdruck eine neue Version. Dazu habe ich ChaosSpace komplett neu geschrieben und gebe dem Spiel daher auch den Namen "ChaosSpace Reloaded"

Ich weiß nicht wie weit der Projektstatus ist, aber ich kann ja mal sagen was alles schon eingebaut ist:

Aktuelle Features:
Arrow Komplett neue ScriptEngine, mit der das Levelgestalten jetzt einfacher ist als es früher gewesen wäre.
Arrow Völlig neue Grafikeffekte
Arrow Mehr Partikel *lächz* Very Happy
Arrow Komplettes Sicherheitsmodul, das "Hackern" es nun schwieriger gestalten sollte im Spiel zu cheaten (dank an nX^)
Arrow Mehr Einstellmöglichkeiten, falls die Partikel langsamere Rechner in die Knie zwingen sollten.
Arrow Gegner verteilen sich noch besser
Arrow Schüsse wurden verändert, man kann jetzt durch entsprechende PowerUps bis zu 4 Schüsse gleichzeitig abfeuern. Das "Durchschlagskraft-PowerUp"(Rolling Eyes) wurde beibehalten.
Arrow Gegner prallen nun vom Schild ab Razz
Arrow Neu definierbare Gegner - wie z.B. fast unsichtbare (nur n kleienr schwarzer Schatten für ein wenig Nervenkitzel xD)
Arrow Extra für ChaosSpace Reloaded komponierte Musik (4 Titel). Dank geht an Sebastian Schell
Arrow Menü, einstellbare Sprache (Englisch oder Deutsch)

Noch geplante Features:
Arrow Levelauswahl
Arrow Komplett neuer online Highscore, der sicherer ist als der jetzt.
Arrow Filtermethode und Scrollbalken für den Highscore (man war das nervig früher)
Arrow neue Sounds
Arrow Noch ein paar Gimmicks in Sachen PowerUps
Arrow natürlich eine Menge neuer Level Very Happy
Arrow Besserer Updater mit mehr Möglichkeiten, der natürlich vorher fragt ob er updaten darf.

Fragwürdig geplante Features:
Arrow Leveleditor
Arrow Coop-Modus
Arrow eigene Website xD
Arrow offline Highscore

<EDIT>
Es gibt nun 8 unterschiedliche Gegnertypen:
Arrow Standard und alt bekannte grüne, gelbe und rote Gegner, mit 1,2 bzw 3 Lebenspunkten.
Arrow Fast unsichtbare Gegner, die nur einen schwarzen Schatten unter sich haben der auch immer wieder ausfaded.
Arrow Eine Art "Mutter"-Gegner in schickem violett... Wird dieser Gegner zerstört kommen zwei kleine Babys raus:
Arrow Die Babys (ebenfalls violett aber wie man sich denken kann kleiner als die normalen) bewegen sich eher auf der Stelle als den Spieler zu verfolgen, man kann sie aber leicht übersehen und gerade Kamikaze auf die Mütter ist schwer.
Arrow Die grau gehaltenen "Dummies", diese können nicht zerstört werden und dienen zur Ablenkung. So kann man Level interessanter gestalten. Ein Scriptbefehl [KILL]groupid,startevents sorgt aber für kontrollierte Abhilfe.
Arrow Hochexplosive Gegner, man erkennt sie durch ihren roten Punkt in ihrer Mitte. Werden sie nach zwei Abschüssen zerstört, explodieren sie und fügen umliegenden Gegnern Schaden zu, je näher sie sind desto mehr Schaden. Diese können also gut taktisch eingesetzt werden wenn man mit wenigen Schüssen viele Gegner zerstören will.
</EDIT>

Joar, das wollt ich mal berichten, und jetzt vergessen wir die Worte und lassen Bilder sprechen Razz

Screenshots: (Klicken zum Vergrößern)
user posted imageuser posted imageuser posted imageuser posted imageuser posted image
(Das Menü ist noch nicht fertig)

Einen Betarelease (sofern überhaupt nötig) werde ich aber erst später machen wenn alles bis auf den Feinschliff steht. Wers nicht erwarten kann dieses Spiel zu spielen soll sich erstmal mit dem alten ChaosSpace zufrieden geben und "Jan" von dem Highscore wegputzen Very HappyVery Happy
Wie man merkt treibe ich ziemlich großen Aufwand für das Spiel, deshalb werde ich das ganze auch ein bisschen größer releasen als die alte Version, mehr sag ich dazu jetzt aber nicht Wink

Gehe zu Seite Zurück  1, 2, 3, 4