@Bonne: Kurze Idee: Hast du Lust eine Seite aufzumachen bei der man alle Highscore-Listen auf einen Blick sieht? Sollte ja recht schnell gehen. Dann hat man einen besseren Überblick.
Jup, hab meinen Speicherstand unmittelbar vor Ende "k, geht" genannt, das Komma hat er wohl mitbekommen.
Das hängt zusammen. TooManyAlphaPolys führt zu flackernden Pfxen (im Gegensatz zu TooFewAlphaVobs aber meistens nicht zu einem Absturz).
Erstens würde ichs auf eine Taste legen (zum Beispiel Alt) sodass die Lebensbalken nur angezeigt werden, wenn man sie sehen will (z.B. wenn man Alt gedrück hat, ich glaub in WC3 gibts das so oder so ähnlich). Das Feld ist so schon manchmal sehr voll (den Flächenzaubern könntest du zum Teil etwas mehr Transparenz spendieren, zum Beispiel der Kältewelle).
Die Darstellung selbst... Das ist nicht leicht, aber am einfachsten wohl, wenn die Lebensanzeigen Vobs sind.
Mit zCVob::SetPositionWorld(class zVEC3 const &) und zCVob::SetVisual(class zSTRING const &) kannst du sie aktuell und in Position halten. Unklar ist aber, ob und wenn ja wie man 100 verschiedene Visuals machen will... Partikeleffekte sind wahrscheinlich schwer so zu gestalten, dass sie sich von einem Frame auf den anderen aktualisieren lassen (auch wenn es bestimmt möglich ist einen Partikeleffekt zu machen, der aussieht wie ein HP Balken, solange sich die HP nicht verändern). 100 Meshes mit passender Textuierung sind wahrscheinlich ziemlich nervig zu erstellen (es sei denn man beherrscht irgendeine Programmiersprache, die das 3D-Programm versteht). Aber man kann ja basteln.
Nimm einen roten Balken der Länge 50% und einen grünen Balken der Länge 50%. Dann legst du sie so über jeden Npc:
**********
Falls der Npc p > 50% Lebensenergie hat, legst du noch einen grünen 50% Balken drüber, der den Bereich von p - 50 bis p abdeckt.
Falls der Npc p < 50% Lebensenergie hat, legst du noch einen roten 50% Balken drüber, der den Bereich von p bis p + 50% abdeckt.
Das wären zwei Visuals, die du erstellen musst und maximal drei Vobs aus denen ein Lebensenergie Balken besteht. Einfügen kannst du Vobs mit MEM_InsertVob. Du musst die Lebensbalken aber natürlich wiederverwenden, nicht immer neue erzeugen. Das kannst du zum Beispiel indem du sie sinnvoll benennst (MEM_RenameVob) und MEM_SearchAllVobsByName / MEM_SearchVobByName geeignet verwendest (zum Beispiel spezieller Name für unbenutzte grüne und rote Balken und spezieller Name für welche die gerade im Einsatz sind (und im nächsten Frame wieder weggeräumt werden müssen, weil ihre Position nicht mehr aktuell ist)).
Die Lösung hat den Nachteil, dass die Vobs ganz normal angeleuchtet werden. Sobald man einen Unwetterturm baut werden die Lebensanzeigen etwas dunkler. Aber das ist wohl nicht so schlimm.
Hab jetzt ein System in der Art eingebaut, hab allerdings 11 Vobs gemacht, gibt also alle 10 Prozent ein neues Vob. Funktioniert gut, wird zwar nur zwei Mal pro Minute aktualisiert, aber sonst sah das arg Performance-lastig aus, jetzt passt's eigentlich und man kann die Balken ja problemlos dem Monster zuordnen.
Zitat von werauchimmer
Neues Problem, ich hab mal den Schlangenpfad im Normalmodus ausprobiert, die 60. Welle ist erledigt, es gibt keine Gegner mehr, aber das Ende wird nicht ausgelöst und es gibt somit kein Score. Woran kann das liegen?
Hm, muss ich mal gucken, ist mir jetzt noch nicht untergekommen.
Zitat von Sektenspinner
@Bonne: Kurze Idee: Hast du Lust eine Seite aufzumachen bei der man alle Highscore-Listen auf einen Blick sieht? Sollte ja recht schnell gehen. Dann hat man einen besseren Überblick.
Ja, kann ich machen, denke ich. Wobei das ziemlich unübersichtlich werden könnte mit den vielen Highscores ... Naja, mal sehen.
Ok. Auflösung von 10% ist ja auch nicht schlecht. Das hilft schon sehr.
Hier noch ein paar Ideen, die mir grade gekommen sind:
Du könntest ein Menü machen, wo man die Elemente einzeln aktivieren oder deaktivieren kann und dann die Informationen zu genau dieser Elemente Kombination bekommt (das ist etwas leichter als den Zettel selbst rauszukramen. Wenn man drei Elemente gesammelt hat und sucht den passenden Magier kann das eine Weile dauern, gibt ja 35 Dreier-Kombos.). Das könnte über einen Dialog laufen, der dann automatisch die Dokumente öffnet. Dokumente öffnen geht ganz normal wie man Zettel anzeigt (Edit: Hoppla, der MEM_Infomanager.isDone muss true sein), schließen geht mit MEM_InsertKeyEvent(KEY_ESCAPE). Wenn du einen Zettel schließen und einen anderen öffnen willst musst du zwischendrin einen oder zwei Frames warten (damit der eine das Key-Event mitkriegt und sich schließt, bevor der andere sich öffnet). Material dazu gibts auch in den mehrseitigen Büchern von Gottfried und Rhobar, das ist letztendlich nichts anderes, nur dass auf Pfeiltasten reagiert wird, statt auf Dialogauswahl. Das sollte nicht sehr aufwändig sein und hilft wirklich sich zurechzufinden.
Die Zettel könnte man eventuell auch insofern überarbeiten, als dass man Redundanz reduziert. Zum Beispiel so:
Eigentlich ändert sich ja immer nur der Schaden (und manchmal eine Zahl im Infotext).
Eine Sache die ich noch machen würde:
Code:
[OVERRIDES]
GAME.animatedWindows=0
Probiers aus, es ist echt VIEL angenehmer. Die Spieler werden das nicht kennen, daher würde ichs für sie automatisch als Override ändern. Die animierten Fenstern stören schon, gerade bei sowas wie Glücksspiel oder Regenbogen, wo man vielleicht man schnell ran muss.
Worüber du nachdenken könntest wäre auch eine Art Cursor, den man mit den Pfeiltasten über das Feld bewegen kann. Mit Leertaste, Enter oder sonst einer Taste kann man dann dort einen Dialog starten. Da gibts dann vielleicht folgende Möglichkeiten:
Der Cursor ist auf einem leeren Feld: Option einen neuen Magier zu bauen.
Der Cursor ist auf einem Magier: Dialog für diesen Magier wird geöffnet.
Cursor ist über einem speziellen Elemente-Schrein-Icon: Man kann Golems rufen.
Du könntest sogar eine Position für den Pausenraum reservieren, die man anklicken muss um Pause zu machen oder eine "Bibliothek" in der man die ganzen Texte zu den Magiern lesen kann.
Das war jetzt allerdings ein etwas aufwändigerer Vorschlag.
Eine Kleinigkeit zum Schluss: Wäre schön, wenn du das Interface auch anzeigst, wenn man das Spiel gerade mit ESC pausiert hat. Ich muss zwischendrin immer mal nachdenken was ich nun mache und vergesse dummerweise immer, welche Elemente ich habe. :P
Ok. Auflösung von 10% ist ja auch nicht schlecht. Das hilft schon sehr.
Auf jedenfall, hab das jetzt ein wenig getestet, ist sehr nützlich, wenn man nicht mehr nur schätzen muss, sondern auch mal gucken kann, wie es zur Zeit steht
Zitat von Sektenspinner
Hier noch ein paar Ideen, die mir grade gekommen sind:
Du könntest ein Menü machen, wo man die Elemente einzeln aktivieren oder deaktivieren kann und dann die Informationen zu genau dieser Elemente Kombination bekommt (das ist etwas leichter als den Zettel selbst rauszukramen. Wenn man drei Elemente gesammelt hat und sucht den passenden Magier kann das eine Weile dauern, gibt ja 35 Dreier-Kombos.). Das könnte über einen Dialog laufen, der dann automatisch die Dokumente öffnet. Dokumente öffnen geht ganz normal wie man Zettel anzeigt, schließen geht mit MEM_InsertKeyEvent(KEY_ESCAPE). Wenn du einen Zettel schließen und einen anderen öffnen willst musst du zwischendrin einen oder zwei Frames warten (damit der eine das Key-Event mitkriegt und sich schließt, bevor der andere sich öffnet). Material dazu gibts auch in den mehrseitigen Büchern von Gottfried und Rhobar, das ist letztendlich nichts anderes, nur dass auf Pfeiltasten reagiert wird, statt auf Dialogauswahl. Das sollte nicht sehr aufwändig sein und hilft wirklich sich zurechzufinden.
Berechtigter Einwand, werde ich mal sehen. Ich hatte allerdings irgendwann irgendwo mal versucht einen Zettel per Dialog oder so zu öffnen, da hatte sich nur nichts getan, deswegen bin ich hier gar nicht davon ausgegangen, dass das klappen könnte. Aber stimmt schon, bei den vielen Kombos ist das schon nicht so einfach, die passende Kombo rauszusuchen in angemessener Zeit.
Zitat von Sektenspinner
Die Zettel könnte man eventuell auch insofern überarbeiten, als dass man Redundanz reduziert. Zum Beispiel so:
Eigentlich ändert sich ja immer nur der Schaden (und manchmal eine Zahl im Infotext).
Das ist eine sehr gute Idee.
Zitat von Sektenspinner
Eine Sache die ich noch machen würde:
Code:
[OVERRIDES]
GAME.animatedWindows=0
Probiers aus, es ist echt VIEL angenehmer. Die Spieler werden das nicht kennen, daher würde ichs für sie automatisch als Override ändern. Die animierten Fenstern stören schon, gerade bei sowas wie Glücksspiel oder Regenbogen, wo man vielleicht man schnell ran muss.
Kannte ich auch nicht ^^ Muss auch endlich mal die Wolkenschatten deaktivieren, einmal ESC gedrückt und schon ist das ganze Spielfeld dunkel, ist echt lästig.
Zitat von Sektenspinner
Worüber du nachdenken könntest wäre auch eine Art Cursor, den man mit den Pfeiltasten über das Feld bewegen kann. Mit Leertaste, Enter oder sonst einer Taste kann man dann dort einen Dialog starten. Da gibts dann vielleicht folgende Möglichkeiten:
Der Cursor ist auf einem leeren Feld: Option einen neuen Magier zu bauen.
Der Cursor ist auf einem Magier: Dialog für diesen Magier wird geöffnet.
Cursor ist über einem speziellen Elemente-Schrein-Icon: Man kann Golems rufen.
Du könntest sogar eine Position für den Pausenraum reservieren, die man anklicken muss um Pause zu machen oder eine "Bibliothek" in der man die ganzen Texte zu den Magiern lesen kann.
Das war jetzt allerdings ein etwas aufwändigerer Vorschlag.
Mit LeGo könnte man das ja auch direkt mit der Maus machen, nur müsste ich da irgendein vernünftiges System finden, um die Mausposition irgendwie in brauchbare Koordinaten umzuwandeln, vor allem mit den Zoomstufen Mit dem Cursor könnte man ja noch was anfangen, wenn der als Vob rumrutscht.
Zitat von Sektenspinner
Eine Kleinigkeit zum Schluss: Wäre schön, wenn du das Interface auch anzeigst, wenn man das Spiel gerade mit ESC pausiert hat. Ich muss zwischendrin immer mal nachdenken was ich nun mache und vergesse dummerweise immer, welche Elemente ich habe. :P
es freut mich sehr, dass eine neue Version von Elemental War herausgekommen ist.
Ich werde dies wohl in der nächsten Zeit ausgiebig testen und habe gerade mein erstes Survivalspiel hinter mich gebracht. Schön, dass es wieder neue Möglichkeiten gibt.
Vielen Dank für die Erstellung dieser Modifikation.
Insektenschwarm hat kein Visual (funktioniert aber). Druckwelle hat kein Visual und ich hab auch keine Wirkung erkennen können (hatte aber nur Stufe 1, vielleicht hat es sich nur nicht so stark ausgewirkt.
Schön fände ich noch, wenn die Punkte, die man erreicht auch erklärt werden (oder sogar angezeigt werden, während ich sie erhalte). Ich hab keine Ahnung wie meine Punktzahl zu Stande kommt.
es freut mich sehr, dass eine neue Version von Elemental War herausgekommen ist.
Ich werde dies wohl in der nächsten Zeit ausgiebig testen und habe gerade mein erstes Survivalspiel hinter mich gebracht. Schön, dass es wieder neue Möglichkeiten gibt.
Vielen Dank für die Erstellung dieser Modifikation.
Mal sehen, ob du mich wieder überall auf Platz 3 abdrängen kannst
Zitat von Sektenspinner
Insektenschwarm hat kein Visual (funktioniert aber). Druckwelle hat kein Visual und ich hab auch keine Wirkung erkennen können (hatte aber nur Stufe 1, vielleicht hat es sich nur nicht so stark ausgewirkt.
Aufgrund der Reichweiten-Anzeige ist das ja nicht mehr so schlimm wie in den alten Versionen, muss trotzdem mal gucken, eigentlich sollten die klappen, hab wohl doch noch einen falschen PFX rausgesucht, zumindest bei der Druckwelle.
Zitat von Sektenspinner
Schön fände ich noch, wenn die Punkte, die man erreicht auch erklärt werden (oder sogar angezeigt werden, während ich sie erhalte). Ich hab keine Ahnung wie meine Punktzahl zu Stande kommt.
Hab am Ende, wenn die erreichten Punkte angezeigt werden, jetzt auch Anzeigen ergänzt, wofür man wie viele Punkte bekommen hat. Dann sieht man mal, wie viel die einzelnen Sachen wie Gold, Zeitbonus usw. letztlich ausmachen. Das ganze gibt's nur beim normalen Spielmodus, beim Survival geht's ja nur nach den Spawns und beim Multiplayer hängt's von den gegnerischen Punkten ab
Für die neue Version hab ich jetzt noch eine Erweiterung ausstehen (Per Dialog Element-Kombos anzeigen), mal sehen, ob ich das heute noch mache, ansonsten gibt's das Update morgen. Dann kommt auch eine neue Highscore-Seite, wo die alle drauf sind, wenn ich's hinkrieg
Was ich heute schon gemacht hab und was im EP zu finden ist, ist ein neues Diagramm, das anzeigt, wie viele Spieler welchen Erfolg erreicht haben. Wenn ein roter Balken oben ankommt, haben alle Spieler den Erfolg. Außerdem sieht man so, wie viele Spieler Version 1.4 oder dann höher im Online-Modus gespielt haben, weil nur die logischerweise gezählt werden können
Für die neue Version hab ich jetzt noch eine Erweiterung ausstehen (Per Dialog Element-Kombos anzeigen), mal sehen, ob ich das heute noch mache, ansonsten gibt's das Update morgen. Dann kommt auch eine neue Highscore-Seite, wo die alle drauf sind, wenn ich's hinkrieg
In dem Fall warte ich mal noch mit dem Hochladen auf den Server, bis die neue Version raus ist.
Neue Version ist da und zusammen mit dem Changelog im ersten Beitrag verlinkt. Großer Dank geht dazu an Sektenspinner, der neben vielen Ideen auch bei deren Umsetzung zur Seite stand und den gestern aufgetauchten Crash-Bug im Zusammenhang mit den HP-Balken geholfen hat zu beheben.
Die interessanteste Neuerung sind meiner Meinung nach eben die HP-Balken der Monster, die man sich per gedrückter linker ALT-Taste anzeigen lassen kann.
Balancing-Änderungen habe ich keine vorgenommen, dafür hätte es dann neue Highscore gebraucht (zumindest bei Schwächungen einiger Magier, was bei der nächsten Version beim Steuereintreiber auf jedenfall der Fall sein wird).
Neue Version ist da und zusammen mit dem Changelog im ersten Beitrag verlinkt. Großer Dank geht dazu an Sektenspinner, der neben vielen Ideen auch bei deren Umsetzung zur Seite stand und den gestern aufgetauchten Crash-Bug im Zusammenhang mit den HP-Balken geholfen hat zu beheben.
Die interessanteste Neuerung sind meiner Meinung nach eben die HP-Balken der Monster, die man sich per gedrückter linker ALT-Taste anzeigen lassen kann.
Cool, das ging ja schnell
Dann werd ich mich auch nochmal süchtig machen lassen.
Mach das und werde eine Herausforderung im Highscore
Das bezweifel ich. Bin froh, als ich damals überhaupt auf dem normalen Schwierigkeitsgrad durchgekommen bin xD
Mir fällt schon wieder das nächste Feature ein.
Man kennt es aus Strategiespielen wo man auch immer ewig warten muss, bis die Einheiten irgendwo hin gelaufen sind oder sich durchgekämpft haben o.Ä.
Bei Elemental War ist die Problematik die gleiche.
Zwischenzeitlich hat man seine Magier so klasse ausgebaut, dass sie spielend mit allem fertig werden, bis dann irgendwann wieder die Zeit kommt, wo es eng wird.
Dann sitzt man untätig vor dem Bildschirm und wartet nur, dass das Gold steigt und die Monster endlich durchgelaufen sind.
Deshalb meine Idee: Auf Tastendruck die Zeit beschleunigen!
Das bezweifel ich. Bin froh, als ich damals überhaupt auf dem normalen Schwierigkeitsgrad durchgekommen bin xD
Mir fällt schon wieder das nächste Feature ein.
Man kennt es aus Strategiespielen wo man auch immer ewig warten muss, bis die Einheiten irgendwo hin gelaufen sind oder sich durchgekämpft haben o.Ä.
Bei Elemental War ist die Problematik die gleiche.
Zwischenzeitlich hat man seine Magier so klasse ausgebaut, dass sie spielend mit allem fertig werden, bis dann irgendwann wieder die Zeit kommt, wo es eng wird.
Dann sitzt man untätig vor dem Bildschirm und wartet nur, dass das Gold steigt und die Monster endlich durchgelaufen sind.
Deshalb meine Idee: Auf Tastendruck die Zeit beschleunigen!
Hm, mist, das hatte Gorilla schon vorgeschlagen, hab mich dann davor gedrückt, aber wenn's jetzt schon zweimal den Wunsch gibt, muss ich dem wohl doch nachkommen
Hm, ich schätze mal ich muss auf "sehr schwer" umsteigen, wenn ich irgendeine Highscore knacken will. Bei "schwer" komme ich selbst bei einem annähernd perfekten Spiel nicht in die Nähe der von 300.000 Punkten.
Die Lebensbalken sind schon sehr hilfreich (auch wenn du denen ruhig jeden Frame eine Neupositionierung hättest gönnen können ).
Was das Menü mit den Elementen angeht, hab ich eigentlich was anderes gemeint, eher sowas:
Spoiler:(zum lesen bitte Text markieren)
Start des Dialogs, Optionen:
Code:
Feuer
Wasser
Natur
Erde
Elektro
Luft
Schatten
ENDE
Wir wählen "Luft". Zettel für die (reinen) Luftmagier erscheint. Neue Auswahl:
Code:
Feuer
Wasser
Natur
Erde
Elektro
<<LUFT>>
Schatten
ENDE
Wir wählen "Wasser". Zettel für den Nebelmagier erscheint. Neue Auswahl:
Code:
Feuer
<<WASSER>>
Natur
Erde
Elektro
<<LUFT>>
Schatten
ENDE
Wir wählen "Natur". Zettel für den Verschlinger erscheint. Neue Auswahl:
Code:
Feuer
<<WASSER>>
<<NATUR>>
Erde
Elektro
<<LUFT>>
Schatten
ENDE
Wir wählen "Wasser". Zettel für Insektenschwarm erscheint. Neue Auswahl:
Code:
Feuer
Wasser
<<NATUR>>
Erde
Elektro
<<LUFT>>
Schatten
ENDE
Soll jetzt nicht heißen, dass dein System nicht auch in Ordnung wäre. Das "Nachschlagbedürfnis" (was weiß ich, was will ich wissen) ist ja vielleicht auch von Person zu Person verschieden.
Hm, ich schätze mal ich muss auf "sehr schwer" umsteigen, wenn ich irgendeine Highscore knacken will. Bei "schwer" komme ich selbst bei einem annähernd perfekten Spiel nicht in die Nähe der von 300.000 Punkten.
Das sowieso, aber selbst mit einem guten Spiel auf sehr schwer und Zufall kommst du eigentlich nur auf sowas im 200.000 Punkte-Bereich. Für die 300.000 brauchst du schon sehr viel Glück und musst wohl echt gut mit den Magiern umgehen können. Die Kombo von werauchimmer war, soweit ich das aus seinem Save zwecks Fehleranalyse gesehen habe, erst Leben (weiß gar nicht, wie viele Leben er hatte) und am Ende ist er auf Steuereintreiber umgestiegen und alles andere verkauft.
Dadurch gibt's dann mehr Punkte für die Leben und wenn er rechtzeitig die anderne Magier verkauft noch genug Zinsen, damit sich das Gold lohnt. Und durch das Gold wird der Steuereintreber auch immer stärker.
Zitat von Sektenspinner
Die Lebensbalken sind schon sehr hilfreich (auch wenn du denen ruhig jeden Frame eine Neupositionierung hättest gönnen können ).
Sollte eigentlich:
Code:
// In jedem Durchlauf HP-Balken mitverschieben
var int liste;
liste = MEM_SearchAllVobsByName("HP_BAR");
var zCArray arr; arr = MEM_PtrToInst(liste);
var int i; i = 0;
var int loop; loop = MEM_StackPos.position;
if (i < arr.numInArray) {
var ocMob mob;
MEM_AssignInst(mob, MEM_ReadIntArray(arr.array, i));
var C_NPC tmp;
tmp = Hlp_GetNpc(mob.owner);
if (!Hlp_IsValidNpc(tmp))
|| (Npc_IsDead(tmp))
{
i += 1;
MEM_StackPos.position = loop;
};
B_SetBalken(tmp);
i += 1;
MEM_StackPos.position = loop;
};
if (liste)
{
MEM_ArrayClear(liste);
};
Sollte eigentlich genau das machen, oder? Trifft halt, wie ich jetzt gesehen habe, nur für recyclte Balken zu, aber das sollte ja nach den ersten paar Wellen schon kein Problem mehr sein.
Zitat von Sektenspinner
Was das Menü mit den Elementen angeht, hab ich eigentlich was anderes gemeint, eher sowas:
Spoiler:(zum lesen bitte Text markieren)
Start des Dialogs, Optionen:
Code:
Feuer
Wasser
Natur
Erde
Elektro
Luft
Schatten
ENDE
Wir wählen "Luft". Zettel für die (reinen) Luftmagier erscheint. Neue Auswahl:
Code:
Feuer
Wasser
Natur
Erde
Elektro
<<LUFT>>
Schatten
ENDE
Wir wählen "Wasser". Zettel für den Nebelmagier erscheint. Neue Auswahl:
Code:
Feuer
<<WASSER>>
Natur
Erde
Elektro
<<LUFT>>
Schatten
ENDE
Wir wählen "Natur". Zettel für den Verschlinger erscheint. Neue Auswahl:
Code:
Feuer
<<WASSER>>
<<NATUR>>
Erde
Elektro
<<LUFT>>
Schatten
ENDE
Wir wählen "Wasser". Zettel für Insektenschwarm erscheint. Neue Auswahl:
Code:
Feuer
Wasser
<<NATUR>>
Erde
Elektro
<<LUFT>>
Schatten
ENDE
Soll jetzt nicht heißen, dass dein System nicht auch in Ordnung wäre. Das "Nachschlagbedürfnis" (was weiß ich, was will ich wissen) ist ja vielleicht auch von Person zu Person verschieden.
Ah, ok, war nicht sicher, wie du es gemeint hattest, mein System fand ich nicht so optimal, weil man ja trotzdem nochmal runterscrollen muss (oder hoch, geht schneller). Na, hab ich doch gleich noch was zu ändern für die nächste Version
Das Problem ist, ich war ein bisschen überfordert mit all den verschiedenen Kombos und Möglichkeiten, die es nun gibt. Aber das gibt sich schon noch
Mir ist aufgefallen, dass (zumindest auf meinem Laptop, aber so schlecht ist der eigentlich nicht) teilweise die Performance massiv einbricht.
Normalerweise hab ich (bei Elemental War) so um die 50-55 fps.
Wenn aber viele Monster da sind, geht es auch mal auf ca 20-25 runter.
Das ist eigentlich noch erträglich, aber das einblenden der Lebensbalken gibt ihm dann den Rest und senkt die fps auf 8.
Natürlich bin ich froh, dass es die Lebensbalken gibt (Da erkennt man mal, wie dämlich die Magier agieren, wenn 10 Viecher mit nur noch jeweils 20% Leben ins Ziel huschen), aber das mit der Performance ist störend, auch diese ruckartige Bewegung, die dem Monster immer etwas hinterher zu hinken scheint ist suboptimal. Vielleicht fällt dir ja noch ein, wie man das verbessern kann.
Hast du eine Möglichkeit, das Verhalten der Magier anzupassen, je nachdem welche Attacke sie durchführen?
z.B. wäre es bei diesem Lähmungs-Effekt sehr praktisch, wenn der Kerl nicht 5 Mal hintereinander auf das gleiche Monster schießen würde, sondern immer nur ein Monster nach dem anderen lahm legen würde.
Andererseits wäre es bei Magiern, die eine sehr starke Attacke ausführen besser, wenn sie erst wieder von einem Ziel ablassen würden, wenn sie es tot geschossen haben, auch wenn es zwischenzeitlich außer Reichweite gewesen ist.
So schießt z.B. ein Magier auf das erste ankommende Monster, das Monster läuft um eine Biegung und der Magier knöpft sich das nächste vor.
Wenn dieser Magier nun aber der letzte ist, kommen beispielsweise alle Monster mit 30% HP durch.
Viel besser wäre es, wenn sich der Magier wieder zum ersten Monster umdrehen würde, wenn es auf seiner Rückseite zum zweiten Mal vorbei kommt.
Und am allertollsten wäre es, wenn man das Kampfverhalten der Magier einstellen könnte.
1. Möglichst viele Monster treffen
2. Normal
3. Bedingungslos auf ein Monster konzentrieren, bis es tot ist, auch wenn es zwischendurch außer Reichweite war.
Keine Ahnung was davon überhaupt machbar ist bzw. was du davon überhaupt machen willst (würde sicherlich wieder das Balancing durcheinander bringen), aber das fällt mir gerade so spontan ein.
Achja.. Kann ich irgendwo noch einmal nachgucken, wie sich der Highscore berechnet?
Beim Effekt stärken finde ich:
Info: Erhöht den Schaden eines verbündeten Magiers in Reichweite um 15% für 60 Sekunden, wird alle 5 Sekunden gezaubert
Der Effekt hält 60 Sekunden lang an, wird aber alle 5 Sekunden aufgefrischt?
Summiert sich das ganze oder bedeutet es einfach, dass der Effekt praktisch dauerhaft anhält.
Ich meinte das Ruckeln der Balken, du scheinst sie nur jede Sekunde neuzupositionieren. Du könntest das, zum Beispiel mit LeGo Frame-Functions jeden Frame machen, sodass sie sanft mit den Monster mitlaufen.
Aber wenn das Performance Probleme gibt, müsste man die natürlich vorher ausräumen. Eigentlich sollte die Zeit ausreichen.
Code:
...
MEM_ArrayClear(liste); leert das Array, lässt es aber im Speicher zurück. Du solltest MEM_ArrayFree benutzen, sonst leaks du 12 Byte Speicher pro Aufruf.
@Kushel: Ich finde es gehört dazu, dass die Magier nicht sonderlich intelligent sind. Die Intelligenz muss durch geschickte Positionierung und Mischung der Magier allein vom Spieler kommen. Übrigens halte ich es für unmöglich eine Strategie für die Magier zu erfinden, die dem Wunsch des Spielers in jeder Situation entspricht. Zum Beispiel könnte der Spieler gerade wollen, dass ein Magier alle Monster auf 20% runterschießt, wenn hintendran noch ein Magier steht, der Gebietsschaden macht.
Das Problem ist, ich war ein bisschen überfordert mit all den verschiedenen Kombos und Möglichkeiten, die es nun gibt. Aber das gibt sich schon noch
Das stimmt schon, da muss man sich erstmal einspielen.
Zitat von kushel_baer
Mir ist aufgefallen, dass (zumindest auf meinem Laptop, aber so schlecht ist der eigentlich nicht) teilweise die Performance massiv einbricht.
Normalerweise hab ich (bei Elemental War) so um die 50-55 fps.
Wenn aber viele Monster da sind, geht es auch mal auf ca 20-25 runter.
Das ist eigentlich noch erträglich, aber das einblenden der Lebensbalken gibt ihm dann den Rest und senkt die fps auf 8.
Ich hab schon einiges optimiert, weil die Performance grad beim Survival schon ordentlich in die Knie gegangen ist, das läuft jetzt sehr viel besser. Bei den Balken kommen halt jeden Frame (eigentlich, was ja nicht wirklich zu klappen scheint) noch für jedes Monster die Berechnung des Balkens und die Verschiebung dazu.
Zitat von kushel_baer
Natürlich bin ich froh, dass es die Lebensbalken gibt (Da erkennt man mal, wie dämlich die Magier agieren, wenn 10 Viecher mit nur noch jeweils 20% Leben ins Ziel huschen), aber das mit der Performance ist störend, auch diese ruckartige Bewegung, die dem Monster immer etwas hinterher zu hinken scheint ist suboptimal. Vielleicht fällt dir ja noch ein, wie man das verbessern kann.
Die ruckartige Bewegung hab ich nicht wegbekommen, eigentlich sollten die Balken jeden Frame verschoben werden, aber das will irgendwie wohl nicht.
Zitat von kushel_baer
Hast du eine Möglichkeit, das Verhalten der Magier anzupassen, je nachdem welche Attacke sie durchführen?
z.B. wäre es bei diesem Lähmungs-Effekt sehr praktisch, wenn der Kerl nicht 5 Mal hintereinander auf das gleiche Monster schießen würde, sondern immer nur ein Monster nach dem anderen lahm legen würde.
Andererseits wäre es bei Magiern, die eine sehr starke Attacke ausführen besser, wenn sie erst wieder von einem Ziel ablassen würden, wenn sie es tot geschossen haben, auch wenn es zwischenzeitlich außer Reichweite gewesen ist.
So schießt z.B. ein Magier auf das erste ankommende Monster, das Monster läuft um eine Biegung und der Magier knöpft sich das nächste vor.
Wenn dieser Magier nun aber der letzte ist, kommen beispielsweise alle Monster mit 30% HP durch.
Viel besser wäre es, wenn sich der Magier wieder zum ersten Monster umdrehen würde, wenn es auf seiner Rückseite zum zweiten Mal vorbei kommt.
Und am allertollsten wäre es, wenn man das Kampfverhalten der Magier einstellen könnte.
1. Möglichst viele Monster treffen
2. Normal
3. Bedingungslos auf ein Monster konzentrieren, bis es tot ist, auch wenn es zwischendurch außer Reichweite war.
Keine Ahnung was davon überhaupt machbar ist bzw. was du davon überhaupt machen willst (würde sicherlich wieder das Balancing durcheinander bringen), aber das fällt mir gerade so spontan ein.
Welcher der Lähm-Magier hat denn weitergeschossen? Eigentlich sollten die nämlich nur Lähmen und dann das nächste Ziel auswählen. Beim Rest könnte man natürlich was machen und verschiedene Möglichkeiten anbieten, muss ich mir mal noch überlegen.
Zitat von kushel_baer
Achja.. Kann ich irgendwo noch einmal nachgucken, wie sich der Highscore berechnet?
Und je nach Schwierigkeitsgrad dann noch * 1, 2, 4, 6 oder 9.
Zitat von kushel_baer
Beim Effekt stärken finde ich:
Info: Erhöht den Schaden eines verbündeten Magiers in Reichweite um 15% für 60 Sekunden, wird alle 5 Sekunden gezaubert
Der Effekt hält 60 Sekunden lang an, wird aber alle 5 Sekunden aufgefrischt?
Summiert sich das ganze oder bedeutet es einfach, dass der Effekt praktisch dauerhaft anhält.
Der Magier schickt alle 5 Sekunden den Effekt an einen Magier (den nächsten, den er findet und der noch nicht gestärkt ist) und dort hält der Effekt dann 60 Sekunden. Wird dann nach den 60 Sekunden aufgefrischt, wenn der Stärken-Magier seine 5 Sekunden Cooldown weg hat, also eigentlich dann immer
Zitat von Sektenspinner
Ich meinte das Ruckeln der Balken, du scheinst sie nur jede Sekunde neuzupositionieren. Du könntest das, zum Beispiel mit LeGo Frame-Functions jeden Frame machen, sodass sie sanft mit den Monster mitlaufen.
Aber wenn das Performance Probleme gibt, müsste man die natürlich vorher ausräumen. Eigentlich sollte die Zeit ausreichen.
Die Triggerschleife, wo der Code drin steht, ist ein Frametrigger, sollte dann ja eigentlich klappen, oder? Ich mein Tastedrücke fängt's ja auch super ab und alles (und ist ja auf deinem Framtrigger-Code aufgebaut). Weiß auch nicht, warum die trotzdem ruckeln.
Zitat von Sektenspinner
MEM_ArrayClear(liste); leert das Array, lässt es aber im Speicher zurück. Du solltest MEM_ArrayFree benutzen, sonst leaks du 12 Byte Speicher pro Aufruf.
Das sowieso, aber selbst mit einem guten Spiel auf sehr schwer und Zufall kommst du eigentlich nur auf sowas im 200.000 Punkte-Bereich. Für die 300.000 brauchst du schon sehr viel Glück und musst wohl echt gut mit den Magiern umgehen können. Die Kombo von werauchimmer war, soweit ich das aus seinem Save zwecks Fehleranalyse gesehen habe, erst Leben (weiß gar nicht, wie viele Leben er hatte) und am Ende ist er auf Steuereintreiber umgestiegen und alles andere verkauft.
Dadurch gibt's dann mehr Punkte für die Leben und wenn er rechtzeitig die anderne Magier verkauft noch genug Zinsen, damit sich das Gold lohnt. Und durch das Gold wird der Steuereintreber auch immer stärker.
Die Magier habe ich eigentlich nur deswegen verkauft, damit ich dir den einzigen nicht funktionierenden Magier zum Testen überlasse, das dir geschickte savegame war also nicht genau das, womit ich weiter gespielt habe
Das Luftelement habe ich zu spät bekommen, als dass der Steuereintreiber noch allzu viel gebracht hätte, zum Zeitpunkt des Schlangenpfad-scores waren noch ca. 8 Magier am Feld.
Auf über 200000 Punkte kommt man übrigens auch ohne Zufall.
Wo kann man eigentlich sehen, welche Erfolge man bereits hat? Bei meinem Solisten-Spiel bin ich mir nicht sicher, ob das überhaupt angezeigt wurde.
Zitat von Bonne6
Im Startraum im Menü auf Statistik klicken, dann werden die angezeigt.
Ok, das hatte ich irgendwie total übersehen
Geändert von werauchimmer (29.09.2011 um 17:33 Uhr)