AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Santa's Workshop

Santa's Workshop

Ein Thema von fcknbstrd · begonnen am 19. Dez 2017 · letzter Beitrag vom 19. Dez 2017
Antwort Antwort
fcknbstrd
Registriert seit: 24. Okt 2013
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
Miniaturansicht angehängter Grafiken
splashscreen-640x480.png   screen1-small.jpg  
 
jobo

 
Delphi 2010 Enterprise
 
#2
  Alt 19. Dez 2017, 09:20
Testgerät Android 4.1.2 GT N7000
Fehlercode -20
freier Systemspeicher ca 215MB
  Mit Zitat antworten Zitat
fcknbstrd
 
#3
  Alt 19. Dez 2017, 09:32
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+.
  Mit Zitat antworten Zitat
jobo

 
Delphi 2010 Enterprise
 
#4
  Alt 19. Dez 2017, 11:35
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.
  Mit Zitat antworten Zitat
fcknbstrd
 
#5
  Alt 19. Dez 2017, 11:38
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.
  Mit Zitat antworten Zitat
jobo

 
Delphi 2010 Enterprise
 
#6
  Alt 19. Dez 2017, 12:44
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?
  Mit Zitat antworten Zitat
Rollo62

 
Delphi 10.3 Rio
 
#7
  Alt 19. Dez 2017, 12:57
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
  Mit Zitat antworten Zitat
fcknbstrd
 
#8
  Alt 19. Dez 2017, 13:51
@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 )

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

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.

Käme denn sowas für euch in Frage?
Oder bevorzugt ihr doch eher bekannte Spielengines (Unreal, Cryengine, Unity, ...)?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf