Delphi-PRAXiS
Seite 1 von 3  1 23   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Flappy Firemonkey - Spiele mit Delphi XE5 (https://www.delphipraxis.net/179322-flappy-firemonkey-spiele-mit-delphi-xe5.html)

Crocotronic 26. Feb 2014 20:40

Flappy Firemonkey - Spiele mit Delphi XE5
 
Guten Abend,
nachdem ich heute auf Flappy Firemonkey gestoßen bin, war ich erstaunt, was mit einem recht primitiven 500 Zeiler möglich ist.
Das Spiel hat zwar noch ein paar Verbesserungsmöglichkeiten, aber unterm Strich muss man sagen, dass es wirklich nett aussieht und die Performance auch akzeptabel ist.
Jetzt würde mich interessieren, wie man das Ganze in Professionell umsetzt. Ein Timer, der alle 33 ms ein paar Bitmaps rumschiebt, genügt für dieses Spiel vielleicht, ist aber nicht gerade die feine englische Art.
Ich hätte spontan an OpenGL gedacht, doch kenne mich mit der Spieleentwicklung noch kein Stück aus, deshalb die Frage an Euch: Wie würde man hier vorgehen?

Viele Grüße
Croco

Aphton 27. Feb 2014 00:14

AW: Flappy Firemonkey - Spiele mit Delphi XE5
 
Das hier bezieht sich nicht wirklich direkt an deine Frage aber eher an - warum alle denken, dass Spieleprogrammierung in Delphi nicht geht oder etwas spezielles ist?!

[Edit]Das hier ist nicht nur an dich gerichtet. Ich habe das Gefühl, dass das ein allgemeine Konsens ist![/Edit]
Delphi, C++, Java, ... sind "Sprachen".. Eine Sprache ist ein Mittel zum Zweck.
Genauso wie ich momentan das Schreiben auf Deutsch ausnutze um dir meine Gedankengänge klarzumachen, benutzt man Programmiersprachen um Spiele (und vieles mehr) darin zu programmieren.
Ich könnte genauso gut eine vollständige Erörterung nach Schema machen. Nichts hält mich auf. Der springende Punkt ist, dass das ganze auch auf Englisch, Japanisch, Koreanisch usw. usf. geht!
Die Sprache an sich ist nicht der entscheidende Punkt!

So, zurück zu deiner ursprünglichen Frage..
Die Mechanik in Flappy Bird/Monkey ist im Grunde ganz einfach:
- man hat mehrere Objekte die von rechts nach links wandern
- der Protagonist bewegt sich rauf oder runter (wobei runter automatisch geschieht)

Technisch ganz billig:
- Ein Hintergrund Bitmap für die Szene
- Ein Flappy Bird Sprite für den Protagonisten
- und jeweils ein Bild für die Hindernisse

Hindernisse werden dann einfach zur Laufzeit berechnet (generiert) und zu der Spiellogik passend bewegt!
Kollisionsüberprüfung... kannst du hier nach suchen. Sollte auch ganz einfach realisierbar sein! Inputhandling ist auch ganz banal - für jeden Tap auf den Velocity-Vektor einen bestimmten Upvektor drauf addieren!

Wenn man dann mal das Grundgerüst fertig hat und es bereits spielbar ist, kann mit dem Aufpolieren begonnen werden.. Hierzu kannste dir ja mal das hier ansehen!

[Edit]
Zum Timer - in der Praxis macht man das so, dass man so oft es geht die Hauptlogik ausführt (Mainloop) und die visuell-logischen Updates in bestimmten Intervallen machen UND diese delte-Zeit auch mit berücksichtigt!
Am einfachsten bemüht man sich um den OnIdle Eventhandler in Application.
Dort drinnen führ man allmögliche updates dann aus!
Zeitmessung usw. muss auch stattfinden!
[/Edit]

Puke 27. Feb 2014 10:04

AW: Flappy Firemonkey - Spiele mit Delphi XE5
 
Das Spiel ist ziemlich banal...
Ich hab's vor kurzem auch geproggt (ohne dieses Projekt zu kennen und aufgrund der Idee von ein paar Kumpels, die mir erklärt haben dass das Spiel aus irgendeinem Grund aus den Stores genommen wurden (man merkt: ich besitze kein Smartphones))
Nimm dir ne firemonkey Anwendung und hau einfach ein Image rein. Baust ein paar Klassen zusammen. Und bewegst das Zeug, Lücken per random und gezeichnet wird auf eine bufferbitmap per canvas.

Opengl ist nicht zu empfehlen, weil es nicht so einfach konverteirbar ist. Außerdem soll fmx schon eine 3D hardwarebeschleunigung sein :cyclops:

Das Spiel hat mich eigentlich nur wegen des highscores und mehrspieler-Modus und den dazugehörigen Servern so viel zeit gekostet (2 Wochen), womit ich 12tage länger gebraucht habe als der progger von Flappy Bird.

MfG
Puke

mkinzler 27. Feb 2014 10:16

AW: Flappy Firemonkey - Spiele mit Delphi XE5
 
Zitat:

Nimm dir ne firemonkey Anwendung und hau einfach ein Image rein. ... wird auf eine bufferbitmap per canvas.
Geht es hier, darum die schlechteste aller Möglichkeiten zu finden? :mrgreen:
Zitat:

Opengl ist nicht zu empfehlen, weil es nicht so einfach konverteirbar ist.
OpenGL(ES) ist eigentlich auf allen Plattformen verfügbar, DirectX nur auf Windows
Zitat:

Außerdem soll fmx schon eine 3D hardwarebeschleunigung sein
Ob das hier etwas bringt?

Btw. der Code hat auch sonst gewisse Mängel ( z.B. ständige Abprüfung auf True und False, Verwendung von TImages als Speichermedium für Bildframes, anstatt in Imagelist...)

BUG 27. Feb 2014 11:18

AW: Flappy Firemonkey - Spiele mit Delphi XE5
 
Zitat:

Zitat von Puke (Beitrag 1249804)
das Spiel aus irgendeinem Grund aus den Stores genommen wurden

Der Entwickler hat seine plötzlich gewonnene Bekanntheit und den dazu gehörigen (Internet-)Hass nicht verkraftet.

Peter666 27. Feb 2014 19:46

AW: Flappy Firemonkey - Spiele mit Delphi XE5
 
Davon abgesehen gibt es jede Menge geniale Minispiele die man auch nach FMX portieren kann. Geht doch mal auf java4k.com und schaut euch die angebotenen Games mal an. Wenn ich etwas kurzweil (im Urlaub, oder weil die bessere Hälfte grade aus dem Haus ist und nix im Fernsehen läuft) brauche, habe ich seit geraumer Zeit diverse Spiele nach Delphi portiert und berücksichtigt man bestimmte Eigenheiten von Delphi bzw. von Java kriegt man die meisten der dort angebotenen Spiele an einem Abend (also pro Spiel) portiert. Ist vielleicht eine Macke von mir, aber ich persönlich finde so etwas äußerst entspannend und wenn das Kompilat dann auf allen Plattformen funktioniert auch sehr befriedigend. Angefangen hab ich damit mit XE2 und irgendwie bin ich von dem Trip nicht mehr losgekommen. Da sind so viele coole Projekte dabei, derzeit finde ich das hier sehr nett: http://www.java4k.com/index.php?acti...d=view&gid=486
Natürlich auch das von Gef: http://www.java4k.com/index.php?acti...d=view&gid=483
Wobei den Quellcode dann in Delphi umzusetzen wohl mehr als einen Abend braucht. Das Ergebnis ist atemberaubend im Vergleich zum Quellcode, der zwar leserlich, aber dennoch aufwändiger umzusetzen ist. Leider hab ich keinen Urlaub...

arnof 28. Feb 2014 07:31

AW: Flappy Firemonkey - Spiele mit Delphi XE5
 
Gibt es deine Umsetzungen irgendwo ? Stores ?

Leider bin ich nicht begabt genug für Spiele....

arnof 28. Feb 2014 07:33

AW: Flappy Firemonkey - Spiele mit Delphi XE5
 
Zitat:

Zitat von BUG (Beitrag 1249814)
Zitat:

Zitat von Puke (Beitrag 1249804)
das Spiel aus irgendeinem Grund aus den Stores genommen wurden

Der Entwickler hat seine plötzlich gewonnene Bekanntheit und den dazu gehörigen (Internet-)Hass nicht verkraftet.

Also wenn die Angaben von dem Stimmten (50.000 $ pro Tag an Werbeeinnahmen) dann währe mir das Facebookgemeker egal ....

milos 1. Mär 2014 09:43

AW: Flappy Firemonkey - Spiele mit Delphi XE5
 
Mir wäre dies bei so einer hohen Einnahme auch relativ egal, aber wenn man sich das Spiel mal genauer ansieht, sieht man dass die Grafiken für den Boden und den Hintergrund von Sonic (glaube ich jedenfalls) und die Röhren von Mario fast 1 zu 1 "nachgemacht" wurden.

Ob das Nintendo und Sega gefallen hat das man mit ihren "Ideen" so viel Geld gemacht hat?
Ich glaube der Typ hatte massive Copyright Probleme.

Puke 1. Mär 2014 11:07

AW: Flappy Firemonkey - Spiele mit Delphi XE5
 
Zwei 3D Engines passen imho nicht so gut zusammen?
Außerdem verschnellert fmx angeblich den Zugriff per canvas! Und eine bessere Methode wird es dann wahrscheinlich auch nicht in der Zeit geben!


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:50 Uhr.
Seite 1 von 3  1 23   

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf