Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Santa's Workshop (https://www.delphipraxis.net/194662-santas-workshop.html)

fcknbstrd 19. Dez 2017 08:58

Santa's Workshop
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

ich möchte hier meine kostenlose Weihnachtsapp "Santa's Workshop" vorstellen.

Aktuell ist eine Android-Version im Google PlayStore verfügbar:
https://play.google.com/store/apps/d...SantasWorkshop


Spielprinzip:

Es handelt sich um ein 3D Arcade-Game, wobei man so viele Pakete wie möglich mit dem Wagen einfangen soll, die von den 3 Rutschen herunterschlittern.
Die Größe und Farbe der Pakete (cubes und spheres) entscheidet über die Höhe der Punkte.
Berührt ein Paket den Boden verliert man "Gesundheit".
Stiefel sollte man meiden, da diese die "Gesundheit" beinträchtigen.
Sterne frischen die Gesundheitsleiste wieder auf und Zuckerstangen liefern in jedem Level Bonuspunkte.

Jeder kann seinen Highscore am Ende der Runde in der App bis zum 26.12.2017 online posten (nur hier wird die Internetverbindung benötigt).
Dannach gewinnt der Erstplatzierte einen echten Preis.


Enwicklung:

Die Anwendung ist einfach gehalten und dient einerseits zu Promotionzwecken für die Manaz GmbH, andererseits als Tech-Demo, um
das 3D Addon-Framework Gorilla3D für Delphi-Firemonkey zu präsentieren.
Die Entwicklung wurde mit Delphi 10.1 und 10.2.1 durchgeführt und ist aktuell unter Win32, Win64 und Android lauffähig.

Für die Geschenke und Items wurde eine von mir entwickelte Physik-Engine verwendet. Dadurch kommt ein reeller und zufälligen Faktor hinzu,
es mag jedoch so manchen Arcade-Gamer verwirren, wenn ein Paket auf der Wagenkante entlangrutscht ohne in den Wagen zu fallen, oder wenn
ein Paket ein Anderes wegstubst.


Technische Features:

Santa's Workshop verwendet, das von mir entwickelte, Gorilla3D Framework, was eine Erweiterung zur Delphi Firemonkey-Lib darstellt.
Ich habe in der App jedoch nur einen kleinen Teil der bisherigen Framework-Features verwendet, u.a.:
- Q3 Physics Engine (eigene Physik-Engine innerhalb von Gorilla3D)
- Character Skin-Animation (DAE-Dateien)
- OBJ und DAE-Loader unter Android (funktioniert in der Standard-Firemonkey Bibliothek nicht sauber)
- Multitrack AudioManager
- Mesh-AnimationManager


Weitere Key-Features von Gorilla3D:

- Skeleton- und Vertexanimation für 3D Meshes (Key-Animationen)
- Materialien: Bump-Mapping, Vertex-Color, Phong-, Blinn-, Lambert-Materials, Wasser und Reflexion
- Logische Modellverwaltung (unabhängig von FireMonkey im X3D Format), um eine Vielzahl an Meshes zu verwalten und separat zu instanziieren
- Optimierte Meshgenerierung: Die Anzahl der Vertices wird auf die notwendigen Vertices reduziert
- Flexibles Partikelsystem mit Influencer-Klassen
- Shadow-Volumes Rendering
- Skybox-Unterstützung
- Terrain-Rendering: aus HeightMaps und prozeduralen Algorithmen (Diamond-Square, Perlin-Noise, ...)
- Neue Point3D-, Quaternion-, Transformationsmatrix- und VertexKey-Animationen
- Flexibles Dialogsystem zur Laufzeit laden, speichern und editieren

Link: http://www.manaz.de/de/project/gorilla3D


Probleme bei der Entwicklung:

1) Leider konnte ich das Multipass-Rendering unter Android in der Kürze der Entwicklung nicht zum Laufen bringen, sonst wären Schatten, bessere Materials und Effekte machbar gewesen.
2) Ein Problem stellen tatsächlich bereits Modelle mit durchschnittlicher Polygonanzahl (1500) dar, die zu extrem langen Ladezeiten führen. Auch große Texturen 1024x1024 oder 2048x2048 sind keineswegs ratsam unter Android.
3) Auf älteren Android-Geräten und abgespeckten Geräten (z.b. S5 Mini) läuft der Spiel hakelig oder lädt ewig.
4) Problematisch und schwer zu balancieren war zudem die Swipe-Geschwindigkeit, da sich diese zwischen Windows und mobilen Geräten (Displaygröße abhängig) stark unterscheidet.
5) UV-Texturen bei DAE-Modellen werden leider noch nicht sauber dargestellt.
6) Die Genauigkeit der Physikengine musste reduziert werden, da es zu "real" für ein Arcade-Game war.


Ich wünsche viel Freude beim Testen und freue mich über euer vernichtendes Urteil :)

jobo 19. Dez 2017 10:20

AW: Santa's Workshop
 
Testgerät Android 4.1.2 GT N7000
Fehlercode -20
freier Systemspeicher ca 215MB

fcknbstrd 19. Dez 2017 10:32

AW: Santa's Workshop
 
Vielen Dank für dein Feedback:

Kam dieser Fehlercode bereits im PlayStore?

1) Öffnen Sie als erstes die "Einstellungen"-App auf Ihrem Android-Smartphone.
2) Wählen Sie hier den "Anwendungsmanager" oder die Kategorie "Apps" aus.
3) Suchen Sie nun nach dem Eintrag "Google Play Store".
4) Tippen Sie hier auf die Buttons "Daten löschen" und "Cache leeren".
5) Starten Sie den Play Store erneut und versuchen Sie eine App herunterzuladen.
6) Besteht der Fehler 20 weiterhin, kehren Sie zurück in die Einstellungen und tippen Sie auf die Buttons "Stopp erzwingen" und "Aktualisierungen deinstallieren".
7) Starten Sie den Google Play Store nochmals neu, sollte der Fehler 20 nicht mehr auftauchen.

Quelle: http://praxistipps.chip.de/google-pl...so-gehts_51808


Oder kam dieser Fehler während der Ausführung der App?
Dein Gerät muss das NEON Feature unterstützen.
Quelle: http://docwiki.embarcadero.com/RADSt...id-Ger%C3%A4te

Um das herauszufinden, müsstest du die SysCheck App herunterladen, und prüfen ob "neon" auf "yes" gesetzt ist.
(https://play.google.com/store/apps/d...syscheck&hl=en)

Ich muss leider gestehen, die bisher getesteten Android-Versionen waren alle 5+.

jobo 19. Dez 2017 12:35

AW: Santa's Workshop
 
NEON wird unterstützt.
Es war schon beim Download. Hab etwas aufgeräumt.
Installation erfolgt, start geht bis ~"Rentier füttern", dann geschieht nichts mehr (>10 Minuten). Bei Wechsel der App und Return schwarzer Bildschirm.
Es kommen keine Hinweise vom OS, dass die Anwendung nicht reagiert.

Ein Note 1 ist scheinbar nicht geeignetet für das Spiel.

fcknbstrd 19. Dez 2017 12:38

AW: Santa's Workshop
 
Ok, das ist wirklich sehr schade! 10 Minuten ist einfach zu lang beim Laden.
3 Minuten war bisher das Maximum auf langsamen/älteren Geräten.
Dennoch herzlichen Dank für die Mühe und den Versuch.

jobo 19. Dez 2017 13:44

AW: Santa's Workshop
 
Kein Problem, ich hab mir keine großen Hoffnungen gemacht.
Was passiert an der Stelle? Ist es ein CPU Problem? Also nur lange genug warten? Oder auch Speicher?

Rollo62 19. Dez 2017 13:57

AW: Santa's Workshop
 
Also bei mir läufts.
- Galaxy S7 Edge.
- Gute Ladezeit (über WiFi natürlich)
- Kein Absturz etc.

Interessant ...

Was ist denn der Plan mit dem Gorilla3D, soll das ein Spielengine werden ?

Rollo

fcknbstrd 19. Dez 2017 14:51

AW: Santa's Workshop
 
@jobo:
An dieser Stelle lädt er die 3D-Modelle und Texturen vor.
Schwer zu sagen, an welchem Modell es genau scheitert, da die Texte zufällig generiert werden.
Es ist gut möglich, dass der RAM uns einen Strich durch die Rechnung macht.
Im Schnitt braucht die App ca. 100MB RAM.
Möglich ist auch, dass die Android Version nicht ausreichend ist. Ich meine mal etwas gelesen zu haben für FMX ab Android 4.4.
Falls du die Muse hast, kannst du ja mal ein wenig länger darauf warten. (wäre nur mal interessant ob doch noch etwas passiert :oops:)

@Rollo62:
Schön zu lesen, dass es doch bei dem ein oder anderen funktioniert! :thumb:

Ursprünglich wurde es von mir als Erweiterung zu Firemonkey entwickelt. Da OBJ und DAE Modelle nicht unter Android geladen wurden.
Danach wuchs es Stück für Stück weiter.
Es soll durchaus einige Spielefeatures (z.B.: Dialogue-, Inventar- und Attributesystem, DynamicScene-Management) enthalten.
Es wird allerdings niemals eine Konkurrenz für große Engines anstreben.

Gorilla3D wird von uns in Zukunft hauptsächlich für kleinere attraktive Apps auf mobilen Geräten verwendet.
Da jedoch auch moderne Grafikelemente enthalten sind bzw. auf der Roadmap stehen, schließe ich nicht aus, dass damit auch eine Desktop-Spieleentwicklung angestrebt werden kann. :stupid:

Käme denn sowas für euch in Frage?
Oder bevorzugt ihr doch eher bekannte Spielengines (Unreal, Cryengine, Unity, ...)?


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:32 Uhr.

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