[Projekt] Devader
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.
Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.
This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.
Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.
This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
- Max Gooroo
- Establishment
- Beiträge: 341
- Registriert: 08.12.2012, 23:16
- Wohnort: Dresden
- Kontaktdaten:
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Also ich hab gerade mal wieder reingeschnuppert ... macht schon cool was her mit Optik und Action.
Was mir aufgefallen ist. Am Anfang gibt es so einen ordentlichen Schub an Powerups, welche einfach herumliegen und da macht es auch direkt Laune, weil eigens erzeugte Bullet-Hell. Aber das hört halt irgendwann auf und der Powerup Nachschub enthält ja immer mal was anderes, so das es dann gelegentlich schnarchig wird die kleinen Viecher mit der normalen Waffe zu beschießen.
Bei den schwarzen Viechern habe ich mich manchmal gefragt, ob ich eigentlich alles richtig mache, weil man draufballert und so optisch erst einmal nicht viel passiert und die Viecher sich auch nicht beeindruckt zeigen. Irgendwann gehen die dann kaputt (nach ein wenig Nuke), aber irgendwie noch ein klareres Feedback, dass auch hier draufballern etwas bringt wäre schon befriedigender.
Ach ja ... zwischen den Levels ist es zwar nett, dass das Raumschiff einen erst einmal einfängt, aber ich bin am Anfang mal wieder Kopfabwesend weiter umher gefahren und da kriegt einen das Raumschiff halt nie :D ... aber irgendwann habe ich dann gemerkt, dass ich mich mal fangen lassen sollte :D
Naja ... ansonsten wie gesagt ... spaßig ... weitermachen ...
Was mir aufgefallen ist. Am Anfang gibt es so einen ordentlichen Schub an Powerups, welche einfach herumliegen und da macht es auch direkt Laune, weil eigens erzeugte Bullet-Hell. Aber das hört halt irgendwann auf und der Powerup Nachschub enthält ja immer mal was anderes, so das es dann gelegentlich schnarchig wird die kleinen Viecher mit der normalen Waffe zu beschießen.
Bei den schwarzen Viechern habe ich mich manchmal gefragt, ob ich eigentlich alles richtig mache, weil man draufballert und so optisch erst einmal nicht viel passiert und die Viecher sich auch nicht beeindruckt zeigen. Irgendwann gehen die dann kaputt (nach ein wenig Nuke), aber irgendwie noch ein klareres Feedback, dass auch hier draufballern etwas bringt wäre schon befriedigender.
Ach ja ... zwischen den Levels ist es zwar nett, dass das Raumschiff einen erst einmal einfängt, aber ich bin am Anfang mal wieder Kopfabwesend weiter umher gefahren und da kriegt einen das Raumschiff halt nie :D ... aber irgendwann habe ich dann gemerkt, dass ich mich mal fangen lassen sollte :D
Naja ... ansonsten wie gesagt ... spaßig ... weitermachen ...
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Dass die schwarzen Viecher nicht beeindruckt sind ist absicht. Aber... es haben schon viele gesagt, dass sie diese zerballern möchten. Ich kann sie schwächer machen, nur sollten sie den Spieler zwingen die Nuke einzusetzen. Eine schlecht platzierte Nuke reicht locker. Die Schüsse machen in der Tat fast nichts (ausser man hat einige Powerups oder Waffenupgrades). Das ist dann auch beim ersten Boss wichtig, weil dieser mit zerballern nicht kleinzukriegen ist.
Eines der Upgrades die man auswählen kann ist mehr Waffen-Powerups droppen. Evtl. sollte ich dieses Upgrade noch stärker machen (grössere Häufigkeit), aber vermutlich wählt das am Anfang eh niemand aus.
Die kleinen Viecher lassen sich sehr gut mit der Nuke vernichten und ab Level 6 sollte man die Geschütztürme einsetzen.
Ich höre jedenfalls was du sagst, die geileren Waffen machen mehr Laune. Starke Waffen machen leider viele der anderen Optionen halt obsolet. Wozu Nuke und Geschützturm, wenn man eh einfach alles wegballern kann. Aktuell ist es allerdings schon fast so, dass man mit der Zeit kaum noch ballert. In Level 11 bekommt man eine weitere Attacke, die einen Cooldown von 1 Sekunde hat und diese ist deutlich stärker als die Standardwaffe. Passt mir momentan noch nicht so ganz, muss da noch ziemlich am Balancing Schrauben.
Vielleicht ist die Lösung mehr Waffenpowerups anzubieten, aber zu verhindern, dass man mehr als 3 gleichzeitig nutzen kann.
Danke auf alle Fälle für dein Feedback und fürs Ausprobieren!
Eines der Upgrades die man auswählen kann ist mehr Waffen-Powerups droppen. Evtl. sollte ich dieses Upgrade noch stärker machen (grössere Häufigkeit), aber vermutlich wählt das am Anfang eh niemand aus.
Die kleinen Viecher lassen sich sehr gut mit der Nuke vernichten und ab Level 6 sollte man die Geschütztürme einsetzen.
Ich höre jedenfalls was du sagst, die geileren Waffen machen mehr Laune. Starke Waffen machen leider viele der anderen Optionen halt obsolet. Wozu Nuke und Geschützturm, wenn man eh einfach alles wegballern kann. Aktuell ist es allerdings schon fast so, dass man mit der Zeit kaum noch ballert. In Level 11 bekommt man eine weitere Attacke, die einen Cooldown von 1 Sekunde hat und diese ist deutlich stärker als die Standardwaffe. Passt mir momentan noch nicht so ganz, muss da noch ziemlich am Balancing Schrauben.
Vielleicht ist die Lösung mehr Waffenpowerups anzubieten, aber zu verhindern, dass man mehr als 3 gleichzeitig nutzen kann.
Danke auf alle Fälle für dein Feedback und fürs Ausprobieren!
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
So nicht stur sein. Habe mal die Tentakel-Monster alle massiv schwächer gemacht. HP von 10->2 und beim Boss sogar von 300->2 :D ... die HP skalieren allerdings mit der Grösse eines Elements, also sind die Boss Tentakel schon noch stärker (und ich habe den Nuke Schaden auf die Tentakel schwer reduziert).
Schlussendlich soll das Spiel Spass machen und es geht nicht darum das mein Konzept aufgeht.
edit:
Achja. Extras werden jetzt viel regelmässiger fallen!
edit 2:
Noch was, falls heute schon gespielt müsst ihr vermutlich aktiv refreshen, damit der Cache nicht verwendet wird.
edit 3:
habs leicht übertrieben, ist jetzt nicht mehr ganz so krass wie oben beschrieben.
Schlussendlich soll das Spiel Spass machen und es geht nicht darum das mein Konzept aufgeht.
edit:
Achja. Extras werden jetzt viel regelmässiger fallen!
edit 2:
Noch was, falls heute schon gespielt müsst ihr vermutlich aktiv refreshen, damit der Cache nicht verwendet wird.
edit 3:
habs leicht übertrieben, ist jetzt nicht mehr ganz so krass wie oben beschrieben.
Zuletzt geändert von marcgfx am 18.07.2016, 00:57, insgesamt 1-mal geändert.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Glaube die Änderungen sind ok... Das Spiel wird zwar einfacher auf ne Art, wenn man immer die Waffen ausbaut. Extras hats auch genügend, so dass es weniger langweilig wird. Ich kam bis Level 25 ohne auch nur einen Geschützturm zu benutzen. Wieso auch nicht, spassig war es einfach nur rumballern. Danke für die Hinweise Max Goroo bzw. wieder auf die gleiche Stelle hauen, irgendwann kapier ichs dann.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Performance, ein leidiges Thema. Ich will immer mehr rausquetschen und sobald ich was rausgequetscht habe will ichs auch schon wieder mit was neuem verbraten. Beim letzten Boss sinkt meine Framerate teilweise auf 30-40 fps, aber ich möchte zumindest auf meiner machine bei fast 60 fps bleiben. Nur wo hole ich die Performance her? Die Ideen gehen mir aus und mit dem Profiler komme ich kaum weiter. Bleibt nur noch der Techswitch. Am 1.April 2017 wird alles auf C++ umgestellt.
Vermutlich gibt es noch X Sachen die ich schneller machen könnte. Ein verbleibender grosser Punkt ist wie mir scheint die Minimap. Das Zeichnen kostet mich beim Boss satte 6% der Rechenleistung. Aber auch wenn ich das jetzt auf 0.1% runterkriege, lohnt sich der Aufwand überhaupt? Wann hört man auf zu optimieren...
Diese Funktion kostet 12%, bzw. selber 5% (die darin aufgerufene 7%). Eigentlich sinds nur ein paar simple Abfragen... aber bei 1000 Objekten reicht das anscheinend. Eventuell habe ich zu viele Properties auf dem _ Object, aber ...
Vermutlich gibt es noch X Sachen die ich schneller machen könnte. Ein verbleibender grosser Punkt ist wie mir scheint die Minimap. Das Zeichnen kostet mich beim Boss satte 6% der Rechenleistung. Aber auch wenn ich das jetzt auf 0.1% runterkriege, lohnt sich der Aufwand überhaupt? Wann hört man auf zu optimieren...
Diese Funktion kostet 12%, bzw. selber 5% (die darin aufgerufene 7%). Eigentlich sinds nur ein paar simple Abfragen... aber bei 1000 Objekten reicht das anscheinend. Eventuell habe ich zu viele Properties auf dem _ Object, aber ...
Code: Alles auswählen
_CUnit_.prototype.paint=function(){
var _ = this._;
if(_.alive<=0){
_.mode = 0.7001+0.0998*(_.killdelay-_.alive)/_.killdelay;
}
else if (_.hurt> _.dmgFlash){
_.mode = 0.42+Math.min(0.09,_.hurt*0.1);
}
else if(_.omode){
_.mode = _.omode;
}
else if(_.immobile>0){
_.mode = 0.5001+Math.min(_.immobile*0.0998,0.0998);
}
else if(_.invincible || _.flashy){
_.mode = Math.qrand()<0.5 ? 0.2001+Math.qrand()*0.05 : 0.2001;
}
else if(_.h.c< _.hp70){
//starts blinking, because of damage
var f = 1.0-_.h.c/ _.hp70;
_.mode = 0.415+f*0.002*Math.qsin(_.time*10);
}
else{
_.mode = 0;
}
//_.mode = 0.405+0.002*Math.qsin(_.time*10);
//add alpha
var ghost = _.ghost;
if(ghost && (ghost<0||ghost>=1||Math.qrand()<0.5)){
_.mode += Math.max((~~(___.ghostalpha * _.alpha * 100))*1000,1000);
}
else if(_.alpha<1){
_.mode += Math.max(~~(_.alpha*100)*1000, 1000);
}
this.paintO();
//only show shadow if not ghost
if(!ghost && _.shadow){
this.paintShadow();
}
if(_.curItem && _.brain && _.brain.user){
this.paintExtra();
}
};
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- Max Gooroo
- Establishment
- Beiträge: 341
- Registriert: 08.12.2012, 23:16
- Wohnort: Dresden
- Kontaktdaten:
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Also die Funktion selbst kann kein Performancekiller sein, da dort ja nur +,*,-,/ gemacht wird und das auch nicht besonders häufig und auch sehr linear.
Hier würde ich wahrscheinlich noch einmal Math.qrand und Math.qsin (da ich die dinger ni kenne, spricht hier aber auch nur meine nase) unter die Lupe nehmen (die paint methoden natürlich auch, aber dass die erst einmal sich irgendwie bemerkbar machen, ist zumindest erst einmal kein riesen wunder)
aber wie gesagt, der rest der methode ist derartig albern simpel, dass es verwunderlich wäre hier performanceprobleme im großen zu bekommen.
Hier würde ich wahrscheinlich noch einmal Math.qrand und Math.qsin (da ich die dinger ni kenne, spricht hier aber auch nur meine nase) unter die Lupe nehmen (die paint methoden natürlich auch, aber dass die erst einmal sich irgendwie bemerkbar machen, ist zumindest erst einmal kein riesen wunder)
aber wie gesagt, der rest der methode ist derartig albern simpel, dass es verwunderlich wäre hier performanceprobleme im großen zu bekommen.
Re: [Projekt] Cyberlympics - AntiMiner/Devader
seh ich auch so! nur sind die aufgerufenen funktionen eigentlich nicht in diesen prozenten drin.
qrand, qsin, qcos sind lookup versionen von random(), sin(), cos() und deutlich schneller als die originale.
ich habe dann auch mal alles in der funktion ausgeklammert, bis auf this.paintO(); und die anzeige hat sich kaum verändert. naja, ich glaube die profiler zahlen sind auch etwas mit vorsicht zu geniessen.
in firefox habe ich beim profiling ganz andere resultate bekommen. ich denke ich bin langsam halt wirklich an einer grenze angelangt. mit guten ideen bekomme ich vielleicht noch etwas performance rausgequetscht. ich habe mir überlegt die minimap einfach komplett zu streichen, da zoomen ebenfalls eine möglichkeit wäre um übersicht zu bekommen. aber ich finde sie doch zu nützlich, immer rauszoomen ist auch doof. am schluss spielt man nur noch in der rausgezoomten variante. naja, ich glaube ich werde mal versuchen den minimap code zu optimieren. eventuell habe ich sonst noch eine super idee die mir unverhofft weiterhilft, mal sehen.
es gibt ja noch genug anderes zu tun...
qrand, qsin, qcos sind lookup versionen von random(), sin(), cos() und deutlich schneller als die originale.
ich habe dann auch mal alles in der funktion ausgeklammert, bis auf this.paintO(); und die anzeige hat sich kaum verändert. naja, ich glaube die profiler zahlen sind auch etwas mit vorsicht zu geniessen.
in firefox habe ich beim profiling ganz andere resultate bekommen. ich denke ich bin langsam halt wirklich an einer grenze angelangt. mit guten ideen bekomme ich vielleicht noch etwas performance rausgequetscht. ich habe mir überlegt die minimap einfach komplett zu streichen, da zoomen ebenfalls eine möglichkeit wäre um übersicht zu bekommen. aber ich finde sie doch zu nützlich, immer rauszoomen ist auch doof. am schluss spielt man nur noch in der rausgezoomten variante. naja, ich glaube ich werde mal versuchen den minimap code zu optimieren. eventuell habe ich sonst noch eine super idee die mir unverhofft weiterhilft, mal sehen.
es gibt ja noch genug anderes zu tun...
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Ich habe etwas Erfolg beim Optimieren gehabt, reichen tut es aber noch nicht.
Um Objekte aufzubewahren habe ich bislang immer eine HashTable genutzt, nur ist es anscheinend sehr langsam über diese zu iterieren. Die HashTable ist allerdings sehr nützlich um die Objekte schnell per id abfragen zu können. Also habe ich jetzt eine Zwitterlösung erstellt und halte Objekte sowohl in einer HashTable wie auch in einem Array. So kann ich schnell abfragen, aber auch iterieren. Dachte ich zumindest. Nur wurde die Performance nach kurzer Zeit viel schlechter.
Das liegt daran, dass zerstörte Objekte wieder aus dem Array gelöscht werden. Dafür gibt es die "splice(pos, len)" Operation. Durch die vielen Schüsse und Explosionen wird splice derart Oft aufgerufen, dass die Performance massiv leidet.
Die Lösung ist recht einfach. Anstatt die Objekte aus dem Array zu löschen, wird die Position im Array auf null gesetzt und in einer zweiten Liste werden die freien Plätze im Array gespeichert. Erstelle ich ein neues Objekt, schaue ich zuerst ob im Array ein Platz frei ist. Wenn nicht wird das neue Objekt angehängt, ansonsten nimmt es den freien Platz ein. So muss das Array nie kleiner gemacht werden und schon gar kein Element aus der Mitte entfernt werden.
Manchmal denke ich sollte einen Blog schreiben... Inzwischen habe ich doch so einiges gemacht, was für andere Javascript Programmierer von Interesse sein könnte. Leider bin ich kein begnadeter Texter.
Ein anderes Thema bin ich heute abend angegangen. Die Power-Ups wollte ich anzeigen lassen. Die erste Idee war dass ich die aufgesammelten Power-Ups oben links im GUI anzeige. Dies hat mich aber vor diverse Probleme gestellt. GUI ist aktuell HTML. Die Power-Up Bilder kommen aus dem Texturatlas den ich in WebGL verwende. Angezeigt werden die Power-Ups mit Hilfe eines Hue-Rotate-Shaders für die richtige Farbe. CSS hue-rotate ist leider richtig schlecht und produziert dunkle Farben. Also habe ich mir überlegt die Power-Ups via WebGL unter das GUI zu kleben. Leider auch nicht so einfach. Ich muss die Position relativ zum Spielfeld bestimmen und den Zoom Faktor einrechnen (Position und Grösse). Machbar aber umständlich. Dann kam mir noch ein Gedanke, ich spiele mit der Idee 2-Spieler-Modus zu erlauben. In diesem Fall kann ich nicht einfach die Power-Ups in den selben Buffer reinschmeissen, bzw. ich muss dann für beide Spieler unterschiedliche Ausgaben in WebGL machen. Mühsam...
Da kam mir die Idee ich könnte die Power-Ups direkt am Robo anzeigen, was ich schlussendlich auch gemacht habe. Schöne spielerei, nur erfüllt dies nur bedingt was ich eigentlich erzielen wollte... Man sieht zwar ganz klein was man für Extras hat, aber dass sie kurz vor dem Erlöschen blinken ist nicht wirklich sichtbar. Eigentlich wars also für die Katz :lol:
Um Objekte aufzubewahren habe ich bislang immer eine HashTable genutzt, nur ist es anscheinend sehr langsam über diese zu iterieren. Die HashTable ist allerdings sehr nützlich um die Objekte schnell per id abfragen zu können. Also habe ich jetzt eine Zwitterlösung erstellt und halte Objekte sowohl in einer HashTable wie auch in einem Array. So kann ich schnell abfragen, aber auch iterieren. Dachte ich zumindest. Nur wurde die Performance nach kurzer Zeit viel schlechter.
Das liegt daran, dass zerstörte Objekte wieder aus dem Array gelöscht werden. Dafür gibt es die "splice(pos, len)" Operation. Durch die vielen Schüsse und Explosionen wird splice derart Oft aufgerufen, dass die Performance massiv leidet.
Die Lösung ist recht einfach. Anstatt die Objekte aus dem Array zu löschen, wird die Position im Array auf null gesetzt und in einer zweiten Liste werden die freien Plätze im Array gespeichert. Erstelle ich ein neues Objekt, schaue ich zuerst ob im Array ein Platz frei ist. Wenn nicht wird das neue Objekt angehängt, ansonsten nimmt es den freien Platz ein. So muss das Array nie kleiner gemacht werden und schon gar kein Element aus der Mitte entfernt werden.
Manchmal denke ich sollte einen Blog schreiben... Inzwischen habe ich doch so einiges gemacht, was für andere Javascript Programmierer von Interesse sein könnte. Leider bin ich kein begnadeter Texter.
Ein anderes Thema bin ich heute abend angegangen. Die Power-Ups wollte ich anzeigen lassen. Die erste Idee war dass ich die aufgesammelten Power-Ups oben links im GUI anzeige. Dies hat mich aber vor diverse Probleme gestellt. GUI ist aktuell HTML. Die Power-Up Bilder kommen aus dem Texturatlas den ich in WebGL verwende. Angezeigt werden die Power-Ups mit Hilfe eines Hue-Rotate-Shaders für die richtige Farbe. CSS hue-rotate ist leider richtig schlecht und produziert dunkle Farben. Also habe ich mir überlegt die Power-Ups via WebGL unter das GUI zu kleben. Leider auch nicht so einfach. Ich muss die Position relativ zum Spielfeld bestimmen und den Zoom Faktor einrechnen (Position und Grösse). Machbar aber umständlich. Dann kam mir noch ein Gedanke, ich spiele mit der Idee 2-Spieler-Modus zu erlauben. In diesem Fall kann ich nicht einfach die Power-Ups in den selben Buffer reinschmeissen, bzw. ich muss dann für beide Spieler unterschiedliche Ausgaben in WebGL machen. Mühsam...
Da kam mir die Idee ich könnte die Power-Ups direkt am Robo anzeigen, was ich schlussendlich auch gemacht habe. Schöne spielerei, nur erfüllt dies nur bedingt was ich eigentlich erzielen wollte... Man sieht zwar ganz klein was man für Extras hat, aber dass sie kurz vor dem Erlöschen blinken ist nicht wirklich sichtbar. Eigentlich wars also für die Katz :lol:
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Kleine Anpassung, grosse Wirkung. Die Powerups werden jetzt an den Rücken geheftet, sind grösser und auf 3 limitiert. Man kann tatsächlich die Power-Ups sehen und es kann nicht passieren, dass man zu viele Power-Ups sammelt und die Framerate zusammenbricht.
66% gut sichtbar, etwas wuchtig
50% gefällt mir aktuell besser
in der alten Version waren die Power-Ups am Rumpf und 25%
66% gut sichtbar, etwas wuchtig
50% gefällt mir aktuell besser
in der alten Version waren die Power-Ups am Rumpf und 25%
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Habe beschlossen zwei Level komplett zu erneuern. In beiden habe ich die Seesterne wiederwendet und sie sind mir richtig auf den Keks gegangen. Es war einfach nur langweilig. Jetzt bin ich an was neuem dran.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
der screenshot sieht leider aus wie eine verschlechterung. in bewegung siehts aber besser aus als zuvor.
wer es mal testen möchte:
http://data.cyberlympics.com/html/game. ... 1_LEVEL_24
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
So der zweite Ersatz für die Seesterne. Das Ding rotiert um die Kristalle und hinterlässt eine grössere Anzahl Schüsse. Je mehr man vernichtet, desto schneller wird es.
Taucht in Level 22 auf:
http://data.cyberlympics.com/html/game. ... 1_LEVEL_22
Ich habe die Power-Up Sounds überarbeitet, so dass ich meine Stimme nicht mehr so gut erkenne :oops: Um das anständig testen zu können wurde das Extra-Test-Level wieder auf einen brauchbaren Stand gebracht.
http://data.cyberlympics.com/html/game. ... tiMinerT_1
Bei den Level 26-29 habe ich ebenfalls etwas geschraubt. Ich weiss nicht ob ich es so lassen kann oder nicht.
In Level 26 kommt der Boss von Level 10 in angepasster Form doppelt wieder.
27 Teleporter Spinnen (viel leichter zu zerstören, war höllisch schwer)
28 Energie Netz Spinnen (kleine optische Anpassung)
29 Kollossale Spinnen (verzögertes Spawning, am Anfang nicht so viele)
30 Adios (Endboss, auch mit ein paar Spinnen...)
Also in den Leveln gibts massig Spinnen. Ich finde die Level nicht schlecht, nur die optische Abwechslung ist nicht so gross.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Habe wieder an den Power-Ups gearbeitet. Inzwischen ist für mich klar, dass ich am Limit von maximal 3 Power-Ups gleichzeitig festhalten werde. Was jetzt noch fehlte war, dass auch alle Power-Ups in dreifacher Ausführung Sinn machen. Eigentlich hat nur eines gefehlt, das "Bounce" Power-Up. Es bewirkt ein Abprallen des Schusses nach dem Einschlag. Die Einschlagswirkung geht dabei nicht verloren. Nur wie sehen Stufe 1-3 aus? Da war ich mir lange nicht sicher, bzw. hatte keine Idee. Ich habe mich für folgendes Entschieden: Stufe 1 -> der Schuss prallt ganz normal perfekt ab. Stufe 2 -> der abprallende Schuss wird auf die doppelte Geschwindikgeit beschleunigt. Stufe 3 -> dreifache Geschwindigkeit nach dem Aufprall. Muss noch schauen wie es sich schlussendlich anfühlt, aber funktionieren tut es nach einigem gebastle...
Der Split-Schuss musste gefixt werden, da bei mehrfacher Aufteilung des Schusses nur immer der linke Schuss weiter aufgeteilt wurde. So entstand ein schiefer Baum.
Alle 6 Power-Ups sollten jetzt zusammen harmonieren.
An der Vertonung habe ich ebenfalls gearbeitet. Alle Power-Ups haben neue Samples.
Beim Title-Screen wird "Devader" ausgesprochen
Die Seesterne sind jetzt violet und ihre Schüsse sind leichter von denen des Spielers zu unterscheiden.
Die Schüsse des Spielers wurden alle verändert, ich wollte jede Ausbaustufe sichtbarer machen.
Dann gabs noch ein fehlgeschlagenes Optimierungsexperiment, mit anschliessendem Revert :?
Der Split-Schuss musste gefixt werden, da bei mehrfacher Aufteilung des Schusses nur immer der linke Schuss weiter aufgeteilt wurde. So entstand ein schiefer Baum.
Alle 6 Power-Ups sollten jetzt zusammen harmonieren.
An der Vertonung habe ich ebenfalls gearbeitet. Alle Power-Ups haben neue Samples.
Beim Title-Screen wird "Devader" ausgesprochen
Die Seesterne sind jetzt violet und ihre Schüsse sind leichter von denen des Spielers zu unterscheiden.
Die Schüsse des Spielers wurden alle verändert, ich wollte jede Ausbaustufe sichtbarer machen.
Dann gabs noch ein fehlgeschlagenes Optimierungsexperiment, mit anschliessendem Revert :?
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Wollte das Intro aufpeppen aber habe auf ganzer Linie versagt. Die Idee war die Schrift mit der Musik in zusammenhang zu bringen, ein leichtes Pulsieren passend zum Beat. Irgendwie hats einfach nicht klappen wollen. Ich habs mit einem Hack zumindest mal zum Bewegen gebracht, aber der Effekt sah dann sowieso so schlecht aus, dass ichs einfach mal in die Tonne getreten habe.
Da ich wenigsten einen kleinen Erfolg gebraucht habe, habe ich mich um flüssigeres Zoomen gekümmert. Bisher wurde der Zoomfaktor via Mausrad sofort verändert, das war ziemlich Ruckartig. Jetzt gibt es einen Zielwert der verändert wird und die Anpassung an den neuen Wert geschieht über mehrere Frames. Viel angenehmer.
Beim Zoom-Testen ist mir dann aufgefallen, dass die Mauskoordinaten im gezoomten Zustand nicht korrekt umgerechnet werden. Das wurde jetzt korrigiert.
Ein weiteres Problem für das mir eben eine Lösung einfiel: Wenn man im FullScreen modus mit der Maus nach ganz oben geht, wird die Toolbar eingeblendet. Wenn ich also zuoberst auf was Ziele -> Toolbar. Das nervt im Spiel, ich kann es aber nicht komplett verhindern. Was ich aber tun kann ist die Mauskoordinaten umzurechnen. Ich habe also einen Rand eingeführt. Befindet sich die Maus in diesem Randbereich, ist sie für den Spieler am Bildschirmrand (ist es aber nicht wirklich). Der Spieler kann also die komplette Spielfläche navigieren ohne mit der Maus wirklich an den Bildschirmrand zu gelangen. Er kann es aber weiterhin, wenn er noch weiter nach oben fährt.
Da ich wenigsten einen kleinen Erfolg gebraucht habe, habe ich mich um flüssigeres Zoomen gekümmert. Bisher wurde der Zoomfaktor via Mausrad sofort verändert, das war ziemlich Ruckartig. Jetzt gibt es einen Zielwert der verändert wird und die Anpassung an den neuen Wert geschieht über mehrere Frames. Viel angenehmer.
Beim Zoom-Testen ist mir dann aufgefallen, dass die Mauskoordinaten im gezoomten Zustand nicht korrekt umgerechnet werden. Das wurde jetzt korrigiert.
Ein weiteres Problem für das mir eben eine Lösung einfiel: Wenn man im FullScreen modus mit der Maus nach ganz oben geht, wird die Toolbar eingeblendet. Wenn ich also zuoberst auf was Ziele -> Toolbar. Das nervt im Spiel, ich kann es aber nicht komplett verhindern. Was ich aber tun kann ist die Mauskoordinaten umzurechnen. Ich habe also einen Rand eingeführt. Befindet sich die Maus in diesem Randbereich, ist sie für den Spieler am Bildschirmrand (ist es aber nicht wirklich). Der Spieler kann also die komplette Spielfläche navigieren ohne mit der Maus wirklich an den Bildschirmrand zu gelangen. Er kann es aber weiterhin, wenn er noch weiter nach oben fährt.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Mal wieder an einem neuen Vieh am tüfteln. Es soll am Schluss in etwas wie gehen aussehen... Die roten Füsse sind aktiv, die cyan Füsse sind verankert. Immerhin laufen sie schon dem Spieler nach, sie verhedern sich allerdings in den Kristallen. Ebenso haben sie grosse schwierigkeiten, wenn man ihnen ein Bein wegschiesst :D
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
langsam sehen die viecher ganz witzig aus :D
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
jetzt funktioniert es auch schon stabil mit dem laufen. es gab auch noch einige problem, wenn ich ne nuke auf die dinger runterliess. die beine wurden dabei ziemlich umher gewirbelt. sah witzig aus, aber sie konnten sich nicht mehr davon erholen.
oben drauf kommt jetzt noch was augenartiges, dass einen laser abfeuern wird.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Jetzt mit Laser. Ich glaube statt 30 werden es jetzt wohl 35 Wellen... gibt einige Gegner die ich ungern kicken möchte, aber nicht so gut in 30 Wellen passen.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Die sehen ziemlich geil aus. Angelehnt an's erste Bild die Idee: sorge dafür, dass der Laserblast auch andere Spinnen verletzen kann, damit man den Kampf mit riskantem Manövrieren evtl. für sich einfacher machen kann.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Danke Schrompf! Sie können in der Tat schon Schaden an eigenen Einheiten anrichten, im oberen Bild habe ich keinen Schuss selbst abgefeuert.
Da ich überlege auf 35 Wellen aufzustocken, muss ich noch ein neues Feature einbauen (in jedem Abschnitt kommt ein Bonus dazu). Ich überlege ob ich eine Befestigung der Hexas vornehmen könnte.
Es fehlen wie ich sehe noch ein paar Mauerteile. Ebenso kann man erkennen dass die Spinnen teilweise in die Wände laufen, was nicht sein sollte :roll:
Da ich überlege auf 35 Wellen aufzustocken, muss ich noch ein neues Feature einbauen (in jedem Abschnitt kommt ein Bonus dazu). Ich überlege ob ich eine Befestigung der Hexas vornehmen könnte.
Es fehlen wie ich sehe noch ein paar Mauerteile. Ebenso kann man erkennen dass die Spinnen teilweise in die Wände laufen, was nicht sein sollte :roll:
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Auf der Suche nach Problemen bei der Schutzwandgenerierung habe ich das komplette Grid mit Hexas gefüllt. Irgendwie haben mir die kleinen Schutzwände auch gefallen.
Ich habe also um die grössere Schutzwand noch eine kleinere Schutzwand errichtet.
Die Schutzwand ist jetzt grau, gibt aber bei einschlägen rötlichen Staub ab. Die grünen Hexas zeigen nun auch Schaden über Staub an. Mal sehen wie sich das auf die Performance auswirkt.
Ich habe also um die grössere Schutzwand noch eine kleinere Schutzwand errichtet.
Die Schutzwand ist jetzt grau, gibt aber bei einschlägen rötlichen Staub ab. Die grünen Hexas zeigen nun auch Schaden über Staub an. Mal sehen wie sich das auf die Performance auswirkt.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Tausendfüssler im Asteroids style. Wenn man die grossen zerstört, gibts kleinere :)
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Ich habe meine ImageWrapper Klasse auf prototype umgestellt. Bisher war es ein relativ unschönes closure construct (hat immer noch ein paar unschönheiten, beim ladevorgang). Jedenfalls... irgendwie scheint mir alles schneller zu laufen.
Es könnte aber auch am update zu Chrome 52 liegen... Auf alle Fälle bin ich happy :)
Es könnte aber auch am update zu Chrome 52 liegen... Auf alle Fälle bin ich happy :)
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Ich bin inzwischen überzeugt, dass der Performanceboost von Chrome kommt. Ich habe nicht neues geniales entdeckt, aber das ist völlig in Ordnung so ;)
Die neuen Wände bereiten mir etwas Probleme. Ich unterscheide zwischen Objekten die in jedem Frame neu gezeichnet werden und (fast) statischen Objekten. Dazu gehören die Hexas. Bisher war es so, dass ich die Hexas nur ein einziges Mal am Anfang gezeichnet habe. Danach waren sie in einem Render-Buffer. Wurde ein Hexa zerstört, oder gab es ein Update wurde neu gezeichnet, aber der Platz im Buffer blieb bestehen. Also etwa 500 reservierte Plätze, egal wie viele der Hexas noch bestanden. Durch das einführen der neuen Wände konnten es auch mal 1000 sein und ich beschloss, dass ich das ändern muss. Das Löschen schien nach einigen korrekturen und gewürge gut zu funktionieren, ebenso das hinzufügen der Wände.
Ich habe wieder mal das Spiel von vorne durchgespielt, es ist wohl leider doch noch buggy. Überhaupt hat es in diesem kleinen Screen so viele Fehler, dass ich jetzt besser schlafen gehe.
- die grauen hexas sollten die verbleibenden grünen hexas umringen. ich vermute mal ich habe die zerstörten nicht aus dem grid gelöscht. dazu kommt ein anzeigefehler, deshalb sind die grauen hexas nicht alle sichtbar.
- beim resizen des screens entstand der schwarz rand, weil der zoom-faktor wohl nicht korrigiert wurde
- oben rechts hats noch überbleibsel von der energiekugel, eigentlich hat es nur eine kugel
Das Positive: Ich konnte bis Level 26 vordringen ohne zu sterben und ohne Bugs zu finden
Die neuen Wände bereiten mir etwas Probleme. Ich unterscheide zwischen Objekten die in jedem Frame neu gezeichnet werden und (fast) statischen Objekten. Dazu gehören die Hexas. Bisher war es so, dass ich die Hexas nur ein einziges Mal am Anfang gezeichnet habe. Danach waren sie in einem Render-Buffer. Wurde ein Hexa zerstört, oder gab es ein Update wurde neu gezeichnet, aber der Platz im Buffer blieb bestehen. Also etwa 500 reservierte Plätze, egal wie viele der Hexas noch bestanden. Durch das einführen der neuen Wände konnten es auch mal 1000 sein und ich beschloss, dass ich das ändern muss. Das Löschen schien nach einigen korrekturen und gewürge gut zu funktionieren, ebenso das hinzufügen der Wände.
Ich habe wieder mal das Spiel von vorne durchgespielt, es ist wohl leider doch noch buggy. Überhaupt hat es in diesem kleinen Screen so viele Fehler, dass ich jetzt besser schlafen gehe.
- die grauen hexas sollten die verbleibenden grünen hexas umringen. ich vermute mal ich habe die zerstörten nicht aus dem grid gelöscht. dazu kommt ein anzeigefehler, deshalb sind die grauen hexas nicht alle sichtbar.
- beim resizen des screens entstand der schwarz rand, weil der zoom-faktor wohl nicht korrigiert wurde
- oben rechts hats noch überbleibsel von der energiekugel, eigentlich hat es nur eine kugel
Das Positive: Ich konnte bis Level 26 vordringen ohne zu sterben und ohne Bugs zu finden
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Nur mühsame Sachen gemacht irgendwie
- fix Renderbug (++a != a++ .... grmpf)
- fix Schuss geht durch alles durch (sehr sporadisch und mühsam zu debuggen)
- läuft endlich in NW.js . Somit würde einem Steam release nichts im Weg stehen + ich könnte sicher sein, dass es auch nicht am Browser liegt, wenn es langsam ist.
- mal den kompletten Hintergrund mit einem grossen Bild ersetzt und wieder rückgängig gemacht. führte ausserdem zu einer ewigen Bug-Suche, nach einem nicht vorhandenem Bug. Grund war ein Break-Point der dazu führte das ein XmlRequest Callback nicht ausgeführt wurde (so siehts zumindest aus...).
- ein paar Graphiker angeschrieben, ob sie Lust hätten ein paar coole Bilder für die Levelabschnitte zu fabrizieren
- wie so oft am Balancing geschraubt und viele kleine Fixes und Verbesserungen
Grundsätzlich alles gut, vor allem da ich meine Releasemöglichkeiten als etwas positiver einstufe.
Ich werde demnächst mal Continues einbauen und muss mal zusehen das ein neues Spiel starten funktioniert (nachdem man verreckt ist).
Für die Monetarisierung hatte ich noch eine Idee: Kostenpflichtige Continues (eines Umsonst)
- fix Renderbug (++a != a++ .... grmpf)
- fix Schuss geht durch alles durch (sehr sporadisch und mühsam zu debuggen)
- läuft endlich in NW.js . Somit würde einem Steam release nichts im Weg stehen + ich könnte sicher sein, dass es auch nicht am Browser liegt, wenn es langsam ist.
- mal den kompletten Hintergrund mit einem grossen Bild ersetzt und wieder rückgängig gemacht. führte ausserdem zu einer ewigen Bug-Suche, nach einem nicht vorhandenem Bug. Grund war ein Break-Point der dazu führte das ein XmlRequest Callback nicht ausgeführt wurde (so siehts zumindest aus...).
- ein paar Graphiker angeschrieben, ob sie Lust hätten ein paar coole Bilder für die Levelabschnitte zu fabrizieren
- wie so oft am Balancing geschraubt und viele kleine Fixes und Verbesserungen
Grundsätzlich alles gut, vor allem da ich meine Releasemöglichkeiten als etwas positiver einstufe.
Ich werde demnächst mal Continues einbauen und muss mal zusehen das ein neues Spiel starten funktioniert (nachdem man verreckt ist).
Für die Monetarisierung hatte ich noch eine Idee: Kostenpflichtige Continues (eines Umsonst)
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Am zweitletzten Boss dran... sieht noch nach gar nix aus :P
Erster Test war ein sich selbst replizierendes Objekt was eine Art Baumstruktur ergab. Wurde schnell unspielbar (10000 objekte oder sowas)
Eigentliches Ziel ist es ein Vieh zu bauen, dass ein paar Arme hat mit "Fingern". Die Finger werden abgeschossen und kleben dann dort fest wo sie einschlagen. Zwischen Finger und Hand soll sowas wie ein Laser bestehen, dieser ist für den Spieler gefährlich. So zumindest die Grundidee, ausschauen tut es überhaupt noch nicht so...
Erster Test war ein sich selbst replizierendes Objekt was eine Art Baumstruktur ergab. Wurde schnell unspielbar (10000 objekte oder sowas)
Eigentliches Ziel ist es ein Vieh zu bauen, dass ein paar Arme hat mit "Fingern". Die Finger werden abgeschossen und kleben dann dort fest wo sie einschlagen. Zwischen Finger und Hand soll sowas wie ein Laser bestehen, dieser ist für den Spieler gefährlich. So zumindest die Grundidee, ausschauen tut es überhaupt noch nicht so...
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Das Vieh nimmt langsam Form an
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Ich war nicht so fleissig in letzter Zeit, bzw. habe nicht viel zu zeigen... auf der Suche nach Graphikern ist dieses Bild das erste gute Resultat das ich bekommen habe.
Muss jetzt mal schauen wie ich die Zwischenbilder genau einbauen möchte. Der Plan ist folgender: Wenn man aufgesammelt wird, blende ich nach Schwarz. Danach wird ein Bild mit Text eingeblendet, der die Story vorantreibt. Mit einem Klick gehts dann weiter zum Upgrade-Screen. Irgendwann wird noch der Punktestand aktualisiert. Eventuell brauchts dafür einen eigenen Screen, oder ich integriere das in den Upgrade-Screen... mal schauen
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- Max Gooroo
- Establishment
- Beiträge: 341
- Registriert: 08.12.2012, 23:16
- Wohnort: Dresden
- Kontaktdaten:
Re: [Projekt] Cyberlympics - AntiMiner/Devader
solche grafiken machen mich immer an ...
irgendwie oldschool :D
hauptsache der text ist dann auch lesbar.
irgendwie oldschool :D
hauptsache der text ist dann auch lesbar.
Re: [Projekt] Cyberlympics - AntiMiner/Devader
Danke Max,
ich denke es ist ganz gut so, da ich von vielen sowieso schon gehört habe, dass mein Game einen 90s vibe hat :)
Ich überlege ob ich die Rendersequenzen ganz kicke und nur noch auf ein paar old-school Bilder setzen soll.
Der Text wird lesbar sein, da er unter das Bild kommen wird :)
ich denke es ist ganz gut so, da ich von vielen sowieso schon gehört habe, dass mein Game einen 90s vibe hat :)
Ich überlege ob ich die Rendersequenzen ganz kicke und nur noch auf ein paar old-school Bilder setzen soll.
Der Text wird lesbar sein, da er unter das Bild kommen wird :)
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space