Leistungsprobleme: Einige Kugeln, die in Rinnen rollen
Hallo zusammen,
ich bin zur Zeit am Experimentieren mit Rätseln, die folgendermaßen funktionieren:
Idee dahinter
Es gibt eine oder mehrere Kugeln auf der Karte, die man umherschieben kann, und die, wenn sie in bestimmte Rinnen auf der Karte geschoben werden, diesen Rinnen folgen. Der Spieler verliert Lebenspunkte, wenn er sich von einer Kugel in einer Rinne überrollen lässt. (Ich habe ein paar Sachen ausgelassen, aber das sollte als grobe Zusammenfassung genügen.)
Bisherige Implementierung
Hat bisher alles ganz gut funktioniert, ich habe das ungefähr so eingebaut:
Die Kugel hat mehrere Ereignisseiten:
- Eine für das manuelle Schieben: Bei Tastendruck bewegt sich die Kugel vom Spieler weg und prüft dann, ob sie vielleicht in einer Rinne liegt (und rollt dann los).
- Je eine Seite für jede Richtung, die die Kugel in der Rinne rollen kann. Die Richtung wird in einer Variablen (Wert 1 für "nach unten", Wert 2 für "nach links" usw.) gespeichert. Jede der "Richtungs-Seiten" hat als Bedingung eben einen bestimmten Wert dieser Richtungsvariable und bewegt die Kugel per autonomous Movement dauernd in die entsprechende Richtung.
Ein Parallel Process-Ereignis macht Folgendes:
- Es fragt die Koordinaten der Kugel ab. Wenn per Koordinaten festgestellt wird, dass die Kugel an einer Biegung der Rinne angelangt ist, wird die Richtungsvariable geändert und die Kugel ändert die Richtung.
- Wenn per Koordinaten festgestellt wird, dass der Spieler die Kugel berührt, verliert er Lebenspunkte.
- Die Rinnengrafik hat ein Terrain Tag. Das Ereignis hier setzt den Terrain Tag der Kugel und überprüft, ob die Rinne aufgehört hat (falls das der Fall ist, wird die Richtungsvariable auf 0 gesetzt und die Kugel stoppt).
Jetzt habe ich leider ein gravierendes Problem bemerkt: Das Spiel ruckelt ab 5 Kugeln auf einer Karte sehr stark und ist praktisch unspielbar.
Meine Frage: Hat jemand eine Idee für eine andere Lösung?
ich bin zur Zeit am Experimentieren mit Rätseln, die folgendermaßen funktionieren:
Idee dahinter
Es gibt eine oder mehrere Kugeln auf der Karte, die man umherschieben kann, und die, wenn sie in bestimmte Rinnen auf der Karte geschoben werden, diesen Rinnen folgen. Der Spieler verliert Lebenspunkte, wenn er sich von einer Kugel in einer Rinne überrollen lässt. (Ich habe ein paar Sachen ausgelassen, aber das sollte als grobe Zusammenfassung genügen.)
Bisherige Implementierung
Hat bisher alles ganz gut funktioniert, ich habe das ungefähr so eingebaut:
Die Kugel hat mehrere Ereignisseiten:
- Eine für das manuelle Schieben: Bei Tastendruck bewegt sich die Kugel vom Spieler weg und prüft dann, ob sie vielleicht in einer Rinne liegt (und rollt dann los).
- Je eine Seite für jede Richtung, die die Kugel in der Rinne rollen kann. Die Richtung wird in einer Variablen (Wert 1 für "nach unten", Wert 2 für "nach links" usw.) gespeichert. Jede der "Richtungs-Seiten" hat als Bedingung eben einen bestimmten Wert dieser Richtungsvariable und bewegt die Kugel per autonomous Movement dauernd in die entsprechende Richtung.
Ein Parallel Process-Ereignis macht Folgendes:
- Es fragt die Koordinaten der Kugel ab. Wenn per Koordinaten festgestellt wird, dass die Kugel an einer Biegung der Rinne angelangt ist, wird die Richtungsvariable geändert und die Kugel ändert die Richtung.
- Wenn per Koordinaten festgestellt wird, dass der Spieler die Kugel berührt, verliert er Lebenspunkte.
- Die Rinnengrafik hat ein Terrain Tag. Das Ereignis hier setzt den Terrain Tag der Kugel und überprüft, ob die Rinne aufgehört hat (falls das der Fall ist, wird die Richtungsvariable auf 0 gesetzt und die Kugel stoppt).
Jetzt habe ich leider ein gravierendes Problem bemerkt: Das Spiel ruckelt ab 5 Kugeln auf einer Karte sehr stark und ist praktisch unspielbar.
Meine Frage: Hat jemand eine Idee für eine andere Lösung?
Wenn du das Ganze mit Events umsetzen magst würde sich meine Lösung vermutlich nicht essentiell von deiner unterscheiden.
Du könntest ggf. nochmal überfliegen ob du noch unnötige Abfragen im Eventcode hast die du herauskürzen könntest (zum Beispiel wäre es überflüssig mit jedem Frame die X- und Y-Koordinate einer Kugel neu zu setzen wenn diese mit Geschwindigkeit "Slow" 8 Doppelframes benötigt um ein Feld zurückzulegen).
Du könntest ggf. nochmal überfliegen ob du noch unnötige Abfragen im Eventcode hast die du herauskürzen könntest (zum Beispiel wäre es überflüssig mit jedem Frame die X- und Y-Koordinate einer Kugel neu zu setzen wenn diese mit Geschwindigkeit "Slow" 8 Doppelframes benötigt um ein Feld zurückzulegen).
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Irrlicht« (16. August 2011, 19:23)
Benutzerinformationen überspringen
Motto: Du kannst zwar niemals die Perfektion an sich erreichen, jedoch solltest du auch nicht vor ihr weglaufen
ja, die idee sowie umsetzung ist so gut wie richtig gemacht worden. da ich lange weile hatte, habe ich es mal eben selbst getestet und nach meinen vorstellungen eventet, was ziemlich genau deiner beschreibung ähnelt. jedoch läuft bei mir derzeit immer noch alles auf 39 fps obwohl ich mittlerweile 14 kugeln mit fullspeed umherrasen lasse. ich werde noch ein paar gimmicks einbauen und hier als demo posten, falls jemand interesse daran hat.
@lycosa: wenn du mir eine übersicht deiner map gibst, also wie es ungefähr aufgebaut sein soll, dann könnte ich im design in deiner richtung gehen, damit es für dich verständlicher wäre.
@lycosa: wenn du mir eine übersicht deiner map gibst, also wie es ungefähr aufgebaut sein soll, dann könnte ich im design in deiner richtung gehen, damit es für dich verständlicher wäre.
Mapping:
Scripting:
Eventing:
Brainstorming:
pic-Editing:
Music-komposing:
Real-Living:
Hauptprojekt: Sons of a new World (Simulation)
Nebenprojekte:
Scripting:
Eventing:
Brainstorming:
pic-Editing:
Music-komposing:
Real-Living:
Hauptprojekt: Sons of a new World (Simulation)
Sons of a new World - Die Story
Unsere Reise beginnt an einem heißen Nachmittag im Juni 1999 in Mollywood. Einem 210.824 Einwohner kleinem Stadtteil von Los Devilis. Bis vor kurzem war das Leben hier noch in bester Ordnung. Die Arbeitslosenzahlen sanken jährlich, die Computerindustrie boomte und verschaffte jeden halbwegsintelligenten Bürger einen hohen Wohlstand. Aber etwas erschütterte die Menschen wie ein Laubfeuer in ihren Meinungen an eine glückliche Zukunft. Ein örtlich aufstrebender Zeitungsverlag meldete zum ersten Mal, das die Welt in Gefahr sei und die Unterschicht der Bevölkerung schenkte ihr gehör.
Beruhigende Worte des wiedergewählten Präsidenten Warnold Whitennegger konnten jedoch seine fleißigen Bürger besänftigen, bevor diese Meldungen über die Landesgrenzen hinaus schwappten.
Nichts desto trotz glauben die Menschen noch immer an den bevorstehenden Untergang der unabstreitbaren technologieabhängigen Weltbevölkerung zur Jahrtausendwende. Hochtitulierte Historiker, Wissenschaftler mit einem IQ von durchschnittlich 190 und überbezahlte Informatiker glauben fest daran, dass alle computergestützen Maschinen sich gegen die stumpfen Menschen auflehnen und in einem fürchterlichen Krieg besiegen werden. Doch gibt es bis jetzt noch keinen Beweis dafür, da der Informant der letzten Katastrophenmeldung sich scheinbar in Luft auflöste.
Sapple, ein Unternehmen, welches für seine überaus teuren Sapple-Computer und oPads bekannt wurde, fanden kurz darauf Hinweise in einem ihrer neusten oPhones. Eine uncodierte Quellcodepassage beschreibt unverwechselbar den Verlauf des Jüngsten Gerichts.
Zuerst dachte man daran, dass ein Sapple-Mitarbeiter sich einen Scherz erlaubte. Doch erwies sich das als Irrweg. Die Erkenntnis über die absolute Echtheit des Quellcodes stellte sich heraus, als sich eine Hand voll Programmierer versuchten, die indentifizierten Passagen zu löschen. Jedoch ohne Erfolg. Immer wieder verweigerte Notepad das Speichern und führte stets wiederholend zu einem Blue-Screen mit dem Fehlercode WEWILLKILLYOU.
Obwohl nun alles für den Weltuntergang spricht, gibt es immer noch ein paar Menschen, die sich versappelt fühlen. So soll der kürzlichst ausgerufene Katastrophen-Notstand insgeheim von den Killuminaten herbeigerufen worden sein, um endlich die Welt offiziell erobern zu können, welche es schon seit Jahrhunderten vergeblich mit allen Mitteln versuchten wie mit dem Blacksaturday, dem purpurnen Vorhang oder die World-Mall-Zerstörung.
So und nicht anders denkt auch unser junger Protagonist an eine Verschwörung. Wir nennen ihn mal fortan Klaus.
Klaus, 22 Jahre jung, blaue Augen, braune Haare. Arbeitet seit er 18 ist, ehrenamtlich beim örtlichen Naturschutz. Ein ganz gewöhnlicher Bürger von Mollywood. Wie jeden Samstag Nachmittag genießt Klaus seinen erholsamen Spaziergang im öffentlichen Park um die Ecke. Ihm faszinieren stets aufs neue die wunderschön spriesenden Gräser, die farbenprächtigen Blumen, welche er schon im Schlaf mit lateinischem Namen aufsagen kann und die vorbeifliegenden Schmetterlinge, die er schon alle einen eigenen Namen gab und bei Gelegenheit auch grüßt.
Unser friedlicher Protagonist war jedoch nicht immer so friedliebend. Klaus verbrachte seine Heranwachsendenzeit wie jeder Junge seinerzeits mit ausgelassenen Partys bis zum Morgengrauen.
Heute dachte Klaus mal wieder daran seinen Lieblingsbaum zu streicheln. Er vergaß es schon sooft und packte die Gelgenheit am Schopf. Klaus musste nur noch über die Brücke um ihn zu erreichen. Doch dann begann etwas, was er bis heute nicht vergaßund schildert es in seinem Tagebuch mit folgenden Worten:
Liebes Tagebuch,
ich schreibe dir heute dem 27.08.1999, weil mir etwas Furchbares passierte. Du wirst es nicht glauben, aber ich werde gerade gekidnappt und das noch bevor ich meinen Baum streicheln konnte. Ich kann es bisher immer noch nicht fassen...
Ich befinde mich gerade auf einem Schiff oder in einem Ballon. Ich kann es dir nicht genau sagen. Es ist sehr dunkel und ich habe nur meinen beleuchteten Kugelschreiber, der mir etwas von meiner Umgebung verrät.Ich sehe einige Geräte. Es scheinen Toaster, Mikrowellen und Computer zu sein. Ob es etwas mit dem Untergang der Welt zu tun hat? Ich kann es mir nicht erklären, was hier vor sich geht, aber ich bin sicher, dass ich es bald erfahren sollte.
Oje, unser armer Klaus. Er scheint deine Hilfe jetzt wirklich dringend zu benötigen. Wirst du ihm Helfen, sich aus dieser misslichen Lage zu befreien? Klaus und meine Wenigkeit zählen auf dich, also starte ein neues Spiel im Story-Modus oder bestreite es mit/ gegen einen Freund am gleichen Computer und lüfte das Geheimnis um den misteriösen Weltuntergang und der Gefangennahme vom verzweifelten Klaus.
Unsere Reise beginnt an einem heißen Nachmittag im Juni 1999 in Mollywood. Einem 210.824 Einwohner kleinem Stadtteil von Los Devilis. Bis vor kurzem war das Leben hier noch in bester Ordnung. Die Arbeitslosenzahlen sanken jährlich, die Computerindustrie boomte und verschaffte jeden halbwegsintelligenten Bürger einen hohen Wohlstand. Aber etwas erschütterte die Menschen wie ein Laubfeuer in ihren Meinungen an eine glückliche Zukunft. Ein örtlich aufstrebender Zeitungsverlag meldete zum ersten Mal, das die Welt in Gefahr sei und die Unterschicht der Bevölkerung schenkte ihr gehör.
Beruhigende Worte des wiedergewählten Präsidenten Warnold Whitennegger konnten jedoch seine fleißigen Bürger besänftigen, bevor diese Meldungen über die Landesgrenzen hinaus schwappten.
Nichts desto trotz glauben die Menschen noch immer an den bevorstehenden Untergang der unabstreitbaren technologieabhängigen Weltbevölkerung zur Jahrtausendwende. Hochtitulierte Historiker, Wissenschaftler mit einem IQ von durchschnittlich 190 und überbezahlte Informatiker glauben fest daran, dass alle computergestützen Maschinen sich gegen die stumpfen Menschen auflehnen und in einem fürchterlichen Krieg besiegen werden. Doch gibt es bis jetzt noch keinen Beweis dafür, da der Informant der letzten Katastrophenmeldung sich scheinbar in Luft auflöste.
Sapple, ein Unternehmen, welches für seine überaus teuren Sapple-Computer und oPads bekannt wurde, fanden kurz darauf Hinweise in einem ihrer neusten oPhones. Eine uncodierte Quellcodepassage beschreibt unverwechselbar den Verlauf des Jüngsten Gerichts.
Zuerst dachte man daran, dass ein Sapple-Mitarbeiter sich einen Scherz erlaubte. Doch erwies sich das als Irrweg. Die Erkenntnis über die absolute Echtheit des Quellcodes stellte sich heraus, als sich eine Hand voll Programmierer versuchten, die indentifizierten Passagen zu löschen. Jedoch ohne Erfolg. Immer wieder verweigerte Notepad das Speichern und führte stets wiederholend zu einem Blue-Screen mit dem Fehlercode WEWILLKILLYOU.
Obwohl nun alles für den Weltuntergang spricht, gibt es immer noch ein paar Menschen, die sich versappelt fühlen. So soll der kürzlichst ausgerufene Katastrophen-Notstand insgeheim von den Killuminaten herbeigerufen worden sein, um endlich die Welt offiziell erobern zu können, welche es schon seit Jahrhunderten vergeblich mit allen Mitteln versuchten wie mit dem Blacksaturday, dem purpurnen Vorhang oder die World-Mall-Zerstörung.
So und nicht anders denkt auch unser junger Protagonist an eine Verschwörung. Wir nennen ihn mal fortan Klaus.
Klaus, 22 Jahre jung, blaue Augen, braune Haare. Arbeitet seit er 18 ist, ehrenamtlich beim örtlichen Naturschutz. Ein ganz gewöhnlicher Bürger von Mollywood. Wie jeden Samstag Nachmittag genießt Klaus seinen erholsamen Spaziergang im öffentlichen Park um die Ecke. Ihm faszinieren stets aufs neue die wunderschön spriesenden Gräser, die farbenprächtigen Blumen, welche er schon im Schlaf mit lateinischem Namen aufsagen kann und die vorbeifliegenden Schmetterlinge, die er schon alle einen eigenen Namen gab und bei Gelegenheit auch grüßt.
Unser friedlicher Protagonist war jedoch nicht immer so friedliebend. Klaus verbrachte seine Heranwachsendenzeit wie jeder Junge seinerzeits mit ausgelassenen Partys bis zum Morgengrauen.
Heute dachte Klaus mal wieder daran seinen Lieblingsbaum zu streicheln. Er vergaß es schon sooft und packte die Gelgenheit am Schopf. Klaus musste nur noch über die Brücke um ihn zu erreichen. Doch dann begann etwas, was er bis heute nicht vergaßund schildert es in seinem Tagebuch mit folgenden Worten:
Liebes Tagebuch,
ich schreibe dir heute dem 27.08.1999, weil mir etwas Furchbares passierte. Du wirst es nicht glauben, aber ich werde gerade gekidnappt und das noch bevor ich meinen Baum streicheln konnte. Ich kann es bisher immer noch nicht fassen...
Ich befinde mich gerade auf einem Schiff oder in einem Ballon. Ich kann es dir nicht genau sagen. Es ist sehr dunkel und ich habe nur meinen beleuchteten Kugelschreiber, der mir etwas von meiner Umgebung verrät.Ich sehe einige Geräte. Es scheinen Toaster, Mikrowellen und Computer zu sein. Ob es etwas mit dem Untergang der Welt zu tun hat? Ich kann es mir nicht erklären, was hier vor sich geht, aber ich bin sicher, dass ich es bald erfahren sollte.
Oje, unser armer Klaus. Er scheint deine Hilfe jetzt wirklich dringend zu benötigen. Wirst du ihm Helfen, sich aus dieser misslichen Lage zu befreien? Klaus und meine Wenigkeit zählen auf dich, also starte ein neues Spiel im Story-Modus oder bestreite es mit/ gegen einen Freund am gleichen Computer und lüfte das Geheimnis um den misteriösen Weltuntergang und der Gefangennahme vom verzweifelten Klaus.
zum Lesen den Text mit der Maus markieren
Nebenprojekte:
zum Lesen den Text mit der Maus markieren
@Irrlicht: Ich bin alles nochmal durchgegangen und habe ein paar Sachen optimiert. Jetzt läuft es besser, aber ich spüre hin und wieder immer noch Verlangsamungen.
Das liegt zu einem kleinen Teil auch an ein paar Parallel-Process-Common Events, die ich ständig im Hintergrund laufen lasse. (Wenn ich die abschalte gibt es aber keine deutlichen Verbesserungen...)
Ich will es übrigens nicht unbedingt mit Events machen, aber für eine RGSS-Implementierung fehlen mir eindeutig die Kenntnisse.
@Darkfogi: Was hast du denn für einen Rechner? Ich dachte meiner ist noch einigermaßen aktuell...
Aber abgesehen davon: Das Spiel soll auch auf etwas schwächeren Rechnern noch laufen, also muss es auf neueren Rechnern (z.B. auch meinem) wirklich absolut flüssig gehen.
Verbraucht das einfache Setzen und Abfragen von Variablen (alle mit if - else eingebaut!) dermaßen viel Leistung
? Bei dem Event sind das 15 Variablen die erst gesetzt werden und dann 6 if-Abfragen mit jeweils mehrfacher else-Schachtelung.
PS: Bringt es einen Vorteil, wenn ich am Ende dieses Events einen ganz kurzen wait-Befehl einbaue (z.B. 1 frame)?
Das liegt zu einem kleinen Teil auch an ein paar Parallel-Process-Common Events, die ich ständig im Hintergrund laufen lasse. (Wenn ich die abschalte gibt es aber keine deutlichen Verbesserungen...)
Ich will es übrigens nicht unbedingt mit Events machen, aber für eine RGSS-Implementierung fehlen mir eindeutig die Kenntnisse.
@Darkfogi: Was hast du denn für einen Rechner? Ich dachte meiner ist noch einigermaßen aktuell...
Aber abgesehen davon: Das Spiel soll auch auf etwas schwächeren Rechnern noch laufen, also muss es auf neueren Rechnern (z.B. auch meinem) wirklich absolut flüssig gehen.
Verbraucht das einfache Setzen und Abfragen von Variablen (alle mit if - else eingebaut!) dermaßen viel Leistung
? Bei dem Event sind das 15 Variablen die erst gesetzt werden und dann 6 if-Abfragen mit jeweils mehrfacher else-Schachtelung.PS: Bringt es einen Vorteil, wenn ich am Ende dieses Events einen ganz kurzen wait-Befehl einbaue (z.B. 1 frame)?
Lad mal dein Projekt hoch,da ist bestimmt beim Eventing etwas nicht ganz richtig wenn das so Lagt.
Mit dem Maker sollte das eher weniger zu tun haben.Leider hab ich nur den VX und kann mir das beim XP nicht anschauen.
EDIT: Tips damit es nicht Lagt
1.Das Rechen Event wie ich es nenne.
Ein Paralell Process Event in dem nur die Variablen für die Positionen bestimmt werden,also alle Variablen ?? die gleich player map x und y bestimmen
und in das selbe Event auch für alle Kugeln, keine Conditional Branches in diesem Event.Dies gewährleistet das es zu keinen Bugs in der Positionsabfrage kommt und macht es allgemein flüssiger.
2.Das abfrage Event wie ich es nenne.
In dieses Paralell Process Event kommen alle Conditional branches ob der Player auf dem gleichen Feld ist wie eine Rollende Kugel.Und ein Branch ob der Kugel Rollt Schalter für diese Kugel AN ist
Trifft dies zu, so wird eine Animation auf den Helden gewirkt,ein Sound abgespielt und er erleidet schaden oder wird irgendwo hinbewegt oder geportet jenachdem was du vor hast.
(Ich nehme an das deine Kugeln auf Through eingestellt sind)
3.Allgemeine Tips
Die Abfrage ob die Kugel beim Schieben die richtige Position hat packst du auch in die ersten beiden Events mit rein.
(Du brauchst für eine Kugel 2mal die Map X und Map Y Variablen. 1mal für die Schiebeposition und einmal die Kugelvariablen minus die Heldvariablen um zu sehen ob die Entfernung Null ist
und der Held somit überrollt)
Sollte dein Held aber von hinten in eine Kugel reinrennen so wird er auch überrollt, sollte das nicht gewollt sein muss die Sache nochmal komplizierter erstellt werden.
Gruss Bex
Mit dem Maker sollte das eher weniger zu tun haben.Leider hab ich nur den VX und kann mir das beim XP nicht anschauen.
EDIT: Tips damit es nicht Lagt
1.Das Rechen Event wie ich es nenne.
Ein Paralell Process Event in dem nur die Variablen für die Positionen bestimmt werden,also alle Variablen ?? die gleich player map x und y bestimmen
und in das selbe Event auch für alle Kugeln, keine Conditional Branches in diesem Event.Dies gewährleistet das es zu keinen Bugs in der Positionsabfrage kommt und macht es allgemein flüssiger.
2.Das abfrage Event wie ich es nenne.
In dieses Paralell Process Event kommen alle Conditional branches ob der Player auf dem gleichen Feld ist wie eine Rollende Kugel.Und ein Branch ob der Kugel Rollt Schalter für diese Kugel AN ist
Trifft dies zu, so wird eine Animation auf den Helden gewirkt,ein Sound abgespielt und er erleidet schaden oder wird irgendwo hinbewegt oder geportet jenachdem was du vor hast.
(Ich nehme an das deine Kugeln auf Through eingestellt sind)
3.Allgemeine Tips
Die Abfrage ob die Kugel beim Schieben die richtige Position hat packst du auch in die ersten beiden Events mit rein.
(Du brauchst für eine Kugel 2mal die Map X und Map Y Variablen. 1mal für die Schiebeposition und einmal die Kugelvariablen minus die Heldvariablen um zu sehen ob die Entfernung Null ist
und der Held somit überrollt)
Sollte dein Held aber von hinten in eine Kugel reinrennen so wird er auch überrollt, sollte das nicht gewollt sein muss die Sache nochmal komplizierter erstellt werden.
Gruss Bex
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Bex« (17. August 2011, 02:33)
Benutzerinformationen überspringen
Motto: Du kannst zwar niemals die Perfektion an sich erreichen, jedoch solltest du auch nicht vor ihr weglaufen
sry das es so lange gedauert hat. habe noch ein paar schwierigkeiten mit den kugeln. bei mir rollen sie derzeit automatisch, weil ich die belastungsgrenze erst einmal testen wollte und nun bekomme ich sie nicht mehr dazu, das sie erst anfangen sollen zu rollen, wenn ich ihnen das sage... naja, vielleicht hilft es ja trotzdem ein wenig weiter.
in den nächsten tagen werde ich wohl nicht mehr dazu kommen, es noch fertig zu stellen, aber evtl. setze ich mich nächste woche noch einmal dran.
mfg Darkfogi
in den nächsten tagen werde ich wohl nicht mehr dazu kommen, es noch fertig zu stellen, aber evtl. setze ich mich nächste woche noch einmal dran.
mfg Darkfogi
Mapping:
Scripting:
Eventing:
Brainstorming:
pic-Editing:
Music-komposing:
Real-Living:
Hauptprojekt: Sons of a new World (Simulation)
Nebenprojekte:
Scripting:
Eventing:
Brainstorming:
pic-Editing:
Music-komposing:
Real-Living:
Hauptprojekt: Sons of a new World (Simulation)
Sons of a new World - Die Story
Unsere Reise beginnt an einem heißen Nachmittag im Juni 1999 in Mollywood. Einem 210.824 Einwohner kleinem Stadtteil von Los Devilis. Bis vor kurzem war das Leben hier noch in bester Ordnung. Die Arbeitslosenzahlen sanken jährlich, die Computerindustrie boomte und verschaffte jeden halbwegsintelligenten Bürger einen hohen Wohlstand. Aber etwas erschütterte die Menschen wie ein Laubfeuer in ihren Meinungen an eine glückliche Zukunft. Ein örtlich aufstrebender Zeitungsverlag meldete zum ersten Mal, das die Welt in Gefahr sei und die Unterschicht der Bevölkerung schenkte ihr gehör.
Beruhigende Worte des wiedergewählten Präsidenten Warnold Whitennegger konnten jedoch seine fleißigen Bürger besänftigen, bevor diese Meldungen über die Landesgrenzen hinaus schwappten.
Nichts desto trotz glauben die Menschen noch immer an den bevorstehenden Untergang der unabstreitbaren technologieabhängigen Weltbevölkerung zur Jahrtausendwende. Hochtitulierte Historiker, Wissenschaftler mit einem IQ von durchschnittlich 190 und überbezahlte Informatiker glauben fest daran, dass alle computergestützen Maschinen sich gegen die stumpfen Menschen auflehnen und in einem fürchterlichen Krieg besiegen werden. Doch gibt es bis jetzt noch keinen Beweis dafür, da der Informant der letzten Katastrophenmeldung sich scheinbar in Luft auflöste.
Sapple, ein Unternehmen, welches für seine überaus teuren Sapple-Computer und oPads bekannt wurde, fanden kurz darauf Hinweise in einem ihrer neusten oPhones. Eine uncodierte Quellcodepassage beschreibt unverwechselbar den Verlauf des Jüngsten Gerichts.
Zuerst dachte man daran, dass ein Sapple-Mitarbeiter sich einen Scherz erlaubte. Doch erwies sich das als Irrweg. Die Erkenntnis über die absolute Echtheit des Quellcodes stellte sich heraus, als sich eine Hand voll Programmierer versuchten, die indentifizierten Passagen zu löschen. Jedoch ohne Erfolg. Immer wieder verweigerte Notepad das Speichern und führte stets wiederholend zu einem Blue-Screen mit dem Fehlercode WEWILLKILLYOU.
Obwohl nun alles für den Weltuntergang spricht, gibt es immer noch ein paar Menschen, die sich versappelt fühlen. So soll der kürzlichst ausgerufene Katastrophen-Notstand insgeheim von den Killuminaten herbeigerufen worden sein, um endlich die Welt offiziell erobern zu können, welche es schon seit Jahrhunderten vergeblich mit allen Mitteln versuchten wie mit dem Blacksaturday, dem purpurnen Vorhang oder die World-Mall-Zerstörung.
So und nicht anders denkt auch unser junger Protagonist an eine Verschwörung. Wir nennen ihn mal fortan Klaus.
Klaus, 22 Jahre jung, blaue Augen, braune Haare. Arbeitet seit er 18 ist, ehrenamtlich beim örtlichen Naturschutz. Ein ganz gewöhnlicher Bürger von Mollywood. Wie jeden Samstag Nachmittag genießt Klaus seinen erholsamen Spaziergang im öffentlichen Park um die Ecke. Ihm faszinieren stets aufs neue die wunderschön spriesenden Gräser, die farbenprächtigen Blumen, welche er schon im Schlaf mit lateinischem Namen aufsagen kann und die vorbeifliegenden Schmetterlinge, die er schon alle einen eigenen Namen gab und bei Gelegenheit auch grüßt.
Unser friedlicher Protagonist war jedoch nicht immer so friedliebend. Klaus verbrachte seine Heranwachsendenzeit wie jeder Junge seinerzeits mit ausgelassenen Partys bis zum Morgengrauen.
Heute dachte Klaus mal wieder daran seinen Lieblingsbaum zu streicheln. Er vergaß es schon sooft und packte die Gelgenheit am Schopf. Klaus musste nur noch über die Brücke um ihn zu erreichen. Doch dann begann etwas, was er bis heute nicht vergaßund schildert es in seinem Tagebuch mit folgenden Worten:
Liebes Tagebuch,
ich schreibe dir heute dem 27.08.1999, weil mir etwas Furchbares passierte. Du wirst es nicht glauben, aber ich werde gerade gekidnappt und das noch bevor ich meinen Baum streicheln konnte. Ich kann es bisher immer noch nicht fassen...
Ich befinde mich gerade auf einem Schiff oder in einem Ballon. Ich kann es dir nicht genau sagen. Es ist sehr dunkel und ich habe nur meinen beleuchteten Kugelschreiber, der mir etwas von meiner Umgebung verrät.Ich sehe einige Geräte. Es scheinen Toaster, Mikrowellen und Computer zu sein. Ob es etwas mit dem Untergang der Welt zu tun hat? Ich kann es mir nicht erklären, was hier vor sich geht, aber ich bin sicher, dass ich es bald erfahren sollte.
Oje, unser armer Klaus. Er scheint deine Hilfe jetzt wirklich dringend zu benötigen. Wirst du ihm Helfen, sich aus dieser misslichen Lage zu befreien? Klaus und meine Wenigkeit zählen auf dich, also starte ein neues Spiel im Story-Modus oder bestreite es mit/ gegen einen Freund am gleichen Computer und lüfte das Geheimnis um den misteriösen Weltuntergang und der Gefangennahme vom verzweifelten Klaus.
Unsere Reise beginnt an einem heißen Nachmittag im Juni 1999 in Mollywood. Einem 210.824 Einwohner kleinem Stadtteil von Los Devilis. Bis vor kurzem war das Leben hier noch in bester Ordnung. Die Arbeitslosenzahlen sanken jährlich, die Computerindustrie boomte und verschaffte jeden halbwegsintelligenten Bürger einen hohen Wohlstand. Aber etwas erschütterte die Menschen wie ein Laubfeuer in ihren Meinungen an eine glückliche Zukunft. Ein örtlich aufstrebender Zeitungsverlag meldete zum ersten Mal, das die Welt in Gefahr sei und die Unterschicht der Bevölkerung schenkte ihr gehör.
Beruhigende Worte des wiedergewählten Präsidenten Warnold Whitennegger konnten jedoch seine fleißigen Bürger besänftigen, bevor diese Meldungen über die Landesgrenzen hinaus schwappten.
Nichts desto trotz glauben die Menschen noch immer an den bevorstehenden Untergang der unabstreitbaren technologieabhängigen Weltbevölkerung zur Jahrtausendwende. Hochtitulierte Historiker, Wissenschaftler mit einem IQ von durchschnittlich 190 und überbezahlte Informatiker glauben fest daran, dass alle computergestützen Maschinen sich gegen die stumpfen Menschen auflehnen und in einem fürchterlichen Krieg besiegen werden. Doch gibt es bis jetzt noch keinen Beweis dafür, da der Informant der letzten Katastrophenmeldung sich scheinbar in Luft auflöste.
Sapple, ein Unternehmen, welches für seine überaus teuren Sapple-Computer und oPads bekannt wurde, fanden kurz darauf Hinweise in einem ihrer neusten oPhones. Eine uncodierte Quellcodepassage beschreibt unverwechselbar den Verlauf des Jüngsten Gerichts.
Zuerst dachte man daran, dass ein Sapple-Mitarbeiter sich einen Scherz erlaubte. Doch erwies sich das als Irrweg. Die Erkenntnis über die absolute Echtheit des Quellcodes stellte sich heraus, als sich eine Hand voll Programmierer versuchten, die indentifizierten Passagen zu löschen. Jedoch ohne Erfolg. Immer wieder verweigerte Notepad das Speichern und führte stets wiederholend zu einem Blue-Screen mit dem Fehlercode WEWILLKILLYOU.
Obwohl nun alles für den Weltuntergang spricht, gibt es immer noch ein paar Menschen, die sich versappelt fühlen. So soll der kürzlichst ausgerufene Katastrophen-Notstand insgeheim von den Killuminaten herbeigerufen worden sein, um endlich die Welt offiziell erobern zu können, welche es schon seit Jahrhunderten vergeblich mit allen Mitteln versuchten wie mit dem Blacksaturday, dem purpurnen Vorhang oder die World-Mall-Zerstörung.
So und nicht anders denkt auch unser junger Protagonist an eine Verschwörung. Wir nennen ihn mal fortan Klaus.
Klaus, 22 Jahre jung, blaue Augen, braune Haare. Arbeitet seit er 18 ist, ehrenamtlich beim örtlichen Naturschutz. Ein ganz gewöhnlicher Bürger von Mollywood. Wie jeden Samstag Nachmittag genießt Klaus seinen erholsamen Spaziergang im öffentlichen Park um die Ecke. Ihm faszinieren stets aufs neue die wunderschön spriesenden Gräser, die farbenprächtigen Blumen, welche er schon im Schlaf mit lateinischem Namen aufsagen kann und die vorbeifliegenden Schmetterlinge, die er schon alle einen eigenen Namen gab und bei Gelegenheit auch grüßt.
Unser friedlicher Protagonist war jedoch nicht immer so friedliebend. Klaus verbrachte seine Heranwachsendenzeit wie jeder Junge seinerzeits mit ausgelassenen Partys bis zum Morgengrauen.
Heute dachte Klaus mal wieder daran seinen Lieblingsbaum zu streicheln. Er vergaß es schon sooft und packte die Gelgenheit am Schopf. Klaus musste nur noch über die Brücke um ihn zu erreichen. Doch dann begann etwas, was er bis heute nicht vergaßund schildert es in seinem Tagebuch mit folgenden Worten:
Liebes Tagebuch,
ich schreibe dir heute dem 27.08.1999, weil mir etwas Furchbares passierte. Du wirst es nicht glauben, aber ich werde gerade gekidnappt und das noch bevor ich meinen Baum streicheln konnte. Ich kann es bisher immer noch nicht fassen...
Ich befinde mich gerade auf einem Schiff oder in einem Ballon. Ich kann es dir nicht genau sagen. Es ist sehr dunkel und ich habe nur meinen beleuchteten Kugelschreiber, der mir etwas von meiner Umgebung verrät.Ich sehe einige Geräte. Es scheinen Toaster, Mikrowellen und Computer zu sein. Ob es etwas mit dem Untergang der Welt zu tun hat? Ich kann es mir nicht erklären, was hier vor sich geht, aber ich bin sicher, dass ich es bald erfahren sollte.
Oje, unser armer Klaus. Er scheint deine Hilfe jetzt wirklich dringend zu benötigen. Wirst du ihm Helfen, sich aus dieser misslichen Lage zu befreien? Klaus und meine Wenigkeit zählen auf dich, also starte ein neues Spiel im Story-Modus oder bestreite es mit/ gegen einen Freund am gleichen Computer und lüfte das Geheimnis um den misteriösen Weltuntergang und der Gefangennahme vom verzweifelten Klaus.
zum Lesen den Text mit der Maus markieren
Nebenprojekte:
zum Lesen den Text mit der Maus markieren
@Bex: Ich habe zwei Events aus dem einen Kontroll-Event gemacht - das bringt anscheinend spürbar Leistung (obwohl ich mir nicht erklären kann, wieso). Danke für den Hinweis!
Übrigens: Nein, ich habe die Kugeln nicht auf through gestellt, da sie sich gegenseitig blockieren können sollen.
@Darkfogi: Vielen Dank für die Demo, die läuft auch bei mir flüssig!
Allerdings hast du ja Terrain Tags verwendet, und die hab in meinem Projekt leider schon anderweitig belegt.
Die Kugeln sind jetzt Events, die dem Held bei Berührung Lebenspunkte abziehen, und sie bewegen sich mit der autonomous-Movement-Funktion in eine Richtung (z.B. "move down" als Befehl und sowohl "repeat action" als auch "ignore if can't move" angehakt).
Allerdings sind die einzelnen "Schritte" der Kugeln nun etwas abgehackt. Weiß jemand, wie man das beheben könnte?
Übrigens: Nein, ich habe die Kugeln nicht auf through gestellt, da sie sich gegenseitig blockieren können sollen.
@Darkfogi: Vielen Dank für die Demo, die läuft auch bei mir flüssig!
Allerdings hast du ja Terrain Tags verwendet, und die hab in meinem Projekt leider schon anderweitig belegt.
Die Kugeln sind jetzt Events, die dem Held bei Berührung Lebenspunkte abziehen, und sie bewegen sich mit der autonomous-Movement-Funktion in eine Richtung (z.B. "move down" als Befehl und sowohl "repeat action" als auch "ignore if can't move" angehakt).
Allerdings sind die einzelnen "Schritte" der Kugeln nun etwas abgehackt. Weiß jemand, wie man das beheben könnte?
Benutzerinformationen überspringen
Motto: Brothers everywhere, raise your hands into the air, we're warriors, warriors of the world!
Freq auf Highest
- Eventer -
Das liegt am Game_Character2 - Script.
Generell wird eine neue Bewegung auf höchster Frequenz erst gestartet wenn davor 1 Frame gewartet wurde. Ein weiterer Frame wird zwischen Ende und Neustart einer wiederholten MoveRoute gewartet.
Du könntest versuchen in Game_Character2 folgendes zu ändern:
Zeile 59 ersetzen:
alt: if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
neu: if @stop_count >= (40 - @move_frequency * 2) * (6 - @move_frequency)
Zwischen Zeile 179 und Zeile 180 eine weitere Zeile (siehe '# <-- Eingefügt' - Kommentar) einfügen:
Zwischen (der jetzigen) Zeile 190 und 191 weitere vier Zeilen einfügen:
Ansich hätte auch der erste Punkt sowie die Zeile next im 3. Punkt gereicht, die Sache mit der Variable new_start dient lediglich dazu zu verhindern dass sich das Spiel aufhängt wenn versehendlich eine wiederholte MoveRoute verwendet wird die innerhalb eines Frames beendet werden kann.
Generell wird eine neue Bewegung auf höchster Frequenz erst gestartet wenn davor 1 Frame gewartet wurde. Ein weiterer Frame wird zwischen Ende und Neustart einer wiederholten MoveRoute gewartet.
Du könntest versuchen in Game_Character2 folgendes zu ändern:
Zeile 59 ersetzen:
alt: if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
neu: if @stop_count >= (40 - @move_frequency * 2) * (6 - @move_frequency)
Zwischen Zeile 179 und Zeile 180 eine weitere Zeile (siehe '# <-- Eingefügt' - Kommentar) einfügen:
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 |
# Interrupt if not stopping if jumping? or moving? return end new_start = (@move_route_index == 0) # <-- Eingefügt # Loop until finally arriving at move command list while @move_route_index < @move_route.list.size |
Zwischen (der jetzigen) Zeile 190 und 191 weitere vier Zeilen einfügen:
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 |
# If [repeat action] option is ON if @move_route.repeat # First return to the move route index @move_route_index = 0 unless new_start # <-- Eingefügt new_start = true # <-- Eingefügt next # <-- Eingefügt end # <-- Eingefügt end # If [repeat action] option is OFF unless @move_route.repeat |
Ansich hätte auch der erste Punkt sowie die Zeile next im 3. Punkt gereicht, die Sache mit der Variable new_start dient lediglich dazu zu verhindern dass sich das Spiel aufhängt wenn versehendlich eine wiederholte MoveRoute verwendet wird die innerhalb eines Frames beendet werden kann.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Irrlicht« (20. August 2011, 14:26)
Ähnliche Themen
-
Skript-Anfragen »-
Einige Scripts- Gesucht und nicht gefunden
(14. August 2011, 15:51)
-
Events & Technik »-
Event/Boss auf mehrere Felder verteilen
(11. August 2011, 22:46)
-
Events & Technik »-
Event/Boss auf mehrere Felder verteilen
(11. August 2011, 22:46)
-
Ältere Suchanfragen »-
Hilfe beim Windowskin pixeln benötigt!
(14. August 2010, 22:49)



