[JumpnRun] A Teds' Diary (Alpha-Version)

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag von Dare Devil »

Okay... hatte vergessen InitSprite3D() zu machen...
wow... jetzt ist es aber verdammt schnell - ne halbe Sekunde bei mir... :mrgreen: werd das aber auf 3 Sek. verlangsamen und die Moeglichkeit bieten, das Intro mit der ESC-Taste abzubrechen... Ich hoffe dann sind alle zufrieden und ausserdem hoffe ich, dass es jetzt bei jedem gleich schnell laeuft :allright:

edit: Update gibts vermutlich erst morgen - da mir heute etwas die Zeit fehlt...
Bild + Bild

Bild
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Du kannst es auch zeitlich so bauen, daß es auf jedem Rechner gleich ist. Einfach immer den Zeitabstand vom Start der Schleife bis zum jetzigen Zeitpunkt messen (mit ElapsedMilliseconds()), dann diese Zahl durch Deine gewünschte Zeit (3000 ms) teilen und als Float speichern, dann hast Du die prozentuale Helligkeit (also einen Wert zwischen 0 und 1). Diesen Wert mußt Du nur noch mit dem Helligkeitswert (also 255) multiplizieren und schon hast Du eine Blendanimation, die wirklich auf jedem Rechner 3 Sekunden dauert, egal wie schnell oder langsam CPU und Grafikkarte sind.

Das mit dem ESC würd ich aber trotzdem reinmachen, denn selbst 3 Sekunden können einem irgendwann zu viel sein ;)

EDIT: Hier mal ein beispielhafter Code-Schnipsel (ungetestet):

Code: Alles auswählen

#DURATION = 3000       ; gewünschte Dauer in Millisekunden

startTime.l = ElapsedMilliseconds()
deltaTime.l = 0
brightness.f = 0

While deltaTime < #DURATION And Not KeyboardReleased(#PB_Any)
    deltaTime = ElapsedMilliseconds() - startTime
    brightness = deltaTime / #DURATION
    
    DisplayTranslucentSprite(lvl, 0, 0, brightness * 255)
    FlipBuffers()
    ExamineKeyboard()

    ; hier natürlich noch WindowEvent() und Delay(1) usw.
Wend
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag von Dare Devil »

ZeHa hat geschrieben:Du kannst es auch zeitlich so bauen, daß es auf jedem Rechner gleich ist. Einfach immer den Zeitabstand vom Start der Schleife bis zum jetzigen Zeitpunkt messen (mit ElapsedMilliseconds()), dann diese Zahl durch Deine gewünschte Zeit (3000 ms) teilen und als Float speichern, dann hast Du die prozentuale Helligkeit (also einen Wert zwischen 0 und 1). Diesen Wert mußt Du nur noch mit dem Helligkeitswert (also 255) multiplizieren und schon hast Du eine Blendanimation, die wirklich auf jedem Rechner 3 Sekunden dauert, egal wie schnell oder langsam CPU und Grafikkarte sind.

Das mit dem ESC würd ich aber trotzdem reinmachen, denn selbst 3 Sekunden können einem irgendwann zu viel sein ;)

EDIT: Hier mal ein beispielhafter Code-Schnipsel (ungetestet):

Code: Alles auswählen

#DURATION = 3000       ; gewünschte Dauer in Millisekunden

startTime.l = ElapsedMilliseconds()
deltaTime.l = 0
brightness.f = 0

While deltaTime < #DURATION And Not KeyboardReleased(#PB_Any)
    deltaTime = ElapsedMilliseconds() - startTime
    brightness = deltaTime / #DURATION
    
    DisplayTranslucentSprite(lvl, 0, 0, brightness * 255)
    FlipBuffers()
    ExamineKeyboard()

    ; hier natürlich noch WindowEvent() und Delay(1) usw.
Wend
Danke, das kann ich echt gut gebrauchen! :allright:
Haette jetzt ein Delay()-Gewurschtel gemacht :mrgreen:
Bild + Bild

Bild
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Jo ;) kenne ich von früher auch noch.
Gewöhne Dir am besten an, immer "nach der Zeit" zu gehen, damit kriegst Du es wirklich rechnerunabhängig hin. Eigentlich müßtest Du das fürs Spiel genauso machen... ;) aber da es ja scheinbar bei den meisten "normal" läuft, kannst Du Dir das natürlich auch fürs nächste Projekt aufheben. Habe "Gloomy Nights" auch nicht mehr "umgerüstet", das ist jetzt halt so wie es ist.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag von Dare Devil »

ZeHa hat geschrieben:Jo ;) kenne ich von früher auch noch.
Gewöhne Dir am besten an, immer "nach der Zeit" zu gehen, damit kriegst Du es wirklich rechnerunabhängig hin. Eigentlich müßtest Du das fürs Spiel genauso machen... ;) aber da es ja scheinbar bei den meisten "normal" läuft, kannst Du Dir das natürlich auch fürs nächste Projekt aufheben. Habe "Gloomy Nights" auch nicht mehr "umgerüstet", das ist jetzt halt so wie es ist.
Hab es geschafft deinen Code - leicht modifiziert - in mein Programm einzubinden, thx nochmal :allright:
Muesstest mir halt dann beim naechsten Update sagen, ob es bei dir wirklich nur noch 3 Sek dauert - das waere nett von dir, wenn du mir das mitteilen koenntest :) Und mit ESC kann man jetzt die ganze Funktion ueberspringen - wenn man nicht warten will

Also ich habe da zu meinem Spiel noch eine Kleinigkeit vor: Ich wuerde gerne eine Karte zeichnen, die jedesmal vor Levelbeginn eingeblendet wird und die aktuelle Position auf der Karte zeigt (wo man sich gerade befindet) - waer das ne gute Idee oder sinnlos?
Bild + Bild

Bild
Benutzeravatar
Criss
Beiträge: 126
Registriert: 21.09.2004 18:45
Kontaktdaten:

Beitrag von Criss »

Jep, gute Idee! Kannst Du einfach mit einem Bild lösen.
"Zu glauben, der Mensch sei Einschränkungen unterworfen, ist die grösste Illusion von allen." Robert Allan Monroe
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Also das dritte Level finde ich unfair, ab der stelle mit den vielen Kanonen komm ich nicht weiter. Die Treffererkennung mit dem Messer funzt nicht immer so richtig glaube ich und ich weiß nicht warum der manchmal nicht das Messer zückt auch wenn ich auf die Taste drücke.
I´a dllfreak2001
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag von Dare Devil »

dllfreak2001 hat geschrieben:Also das dritte Level finde ich unfair, ab der stelle mit den vielen Kanonen komm ich nicht weiter. Die Treffererkennung mit dem Messer funzt nicht immer so richtig glaube ich und ich weiß nicht warum der manchmal nicht das Messer zückt auch wenn ich auf die Taste drücke.
Das erste Problem: Der Trick ist zu wissen, wo man landet und wie man weitergeht. Wenn man erstmal den "Dreh" raushaut ist es keine wirklich grosse Kunst mehr :wink:

Das zweite Problem: Da gibt es einige Probleme seit dem letzten Update - an denen arbeite ich gerade - zwar funktioniert die Funktion im groben und ganzen, allerdings ist dem Spieler nicht so ganz klar, wie er das machen soll - aus diesem Grund werde ich diese Funktion noch komplett ueberarbeiten - heute Abend (wenn alles nach Plan verlaeuft) erscheint die naechste Alpha-Version, dann kannst du es ja nochmal testen und mir berichten, wie du die ueberarbeitete Messer-Steuerung findest....
Bild + Bild

Bild
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag von Dare Devil »

Zweites Update
Aenderungen:

* Beine der Spielfiguren (sowohl der Hauptspielfigur als auch der Gegner) bewegen sich nicht mehr so rasch, sodass der Geh-Prozess "natuerlicher aussieht.

* Intro-Bildschirm mit ESC-Taste abbrechbar - ausserdem sollte dieser Prozess nicht laenger als 3 - 4 Sek. dauern.

* Messer-Stech-Funktion geaendert Jetzt bleibt das Messer einige Frames draussen, wenn man die TAB-Taste drueckt - es spielt dabei keine Rolle mehr - ob man die Taste gleich danach wieder loslaesst oder gedrueckt haelt.

* Bug in Level 4 ausgebessert: Es gab 2 Stellen im vierten Level in der ein Herz verlieren unumgaenglich war - dank eines netten Users konnte der Fehler entdeckt und ausgebessert werden. Jetzt ist es (theoretisch) moeglich das gesamte Level zu spielen ohne ein einziges Herz zu verlieren ;)



Ich hab so einiges geaendert - ich hoffe dass es reibungslos klappt - waere nett wenn ihr das wieder testen koennt und mir Bescheid geben koennt - ob es noch Bugs gibt.

Moechte mich bei allen Testern / Bugreportern an dieser Stelle fuer ihre Muehe bedanken! :wink:
Zuletzt geändert von Dare Devil am 15.12.2008 20:56, insgesamt 1-mal geändert.
Bild + Bild

Bild
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Beitrag von Milchshake »

Ok, nach langem Versuchen habe ich Schlussentlich die 4te Level fast geschafft.
DOCH ich habe folgendes Problem.
Nach dem die 4te Tür erschienen ist, kann ich bei der oberen Plattform nicht mehr springen.
Bild

Ich habe die Türen Nummeriert, falls es dir hilft.
Hab jetzt PB 4.02
Muhahaha!!!!
Antworten