EntwicklerX - Spencer (WIP)

Alles rund um Spiele für Amiga OS4

Moderator: OS4Welt-Team

Rudi
Beiträge: 143
Registriert: 23. November 2015 17:49

Re: EntwicklerX - Spencer (WIP)

Beitrag von Rudi »

Goos hat geschrieben: Emotion und SPE:
Emotion nutzt zur Decodierung die ffmpeg libs, die wiederum keinerlei FPU code haben, womit der Player jetzt schon flott auf dem A1222 läuft, einzig für die Grafikausgabe im RadeonHD Treiber wird noch FPU code genutzt, welcher aber mittlerweile von Hand de Ruiter durch eine Integer version ersetzt wird.
Hört sich schonmal gut an.

Die Nutzung von Fragmentshader würden nur für diverse Filter/Effekte funktionieren. Zum beschleunigen, des Dekodierens, bräuchte man andere Techniken wie die Unterstützung der Video Acceleration API im Grafikkarten Treiber.
Einzig sinnvolle Nutzung des Fragmentshaders, wäre das konvertieren vom YUV Video Pixelformat zum RGB Ausgabeformat, welche aber schon von der graphics library, Hardwarebescheunigt durch die RadeonHD Treiber in Emotion vorgenommen wird.
Ich dachte an Filter und Effekte. Wäre das sehr aufwendig?
Wenn nein, wäre es einfach möglich dann eigene Shader per Textdatei einzubinden?
Das es am besten wäre das ganze codieren decodieren über die speziellen Grafikarten einheiten laufen zu lassen ist klar.
Ist aber bestimmt nicht in ein paar Stunden programmiert.
Bier, Schwenker UND Wein ... irgendwie hab ich das Bedürfnis ne Woche Urlaub im Saarland zu machen :wink:
Es hat halt seine Vorteile an der Grenze zu Frankreich zu wohnen.
Gruß
Rudi
Benutzeravatar
imagodespira
Entwickler-X
Beiträge: 2729
Registriert: 27. September 2009 09:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 91 Mal
Kontaktdaten:

Re: EntwicklerX - Spencer (WIP)

Beitrag von imagodespira »

Ein kleines Update:

Wir haben neue kleine Trailer/Videos gemacht, die zeigen von jeder Welt etwas:

https://youtu.be/BXHJXyliuZE

https://youtu.be/R41zpHl4ATo

Edit: noch ein Level 65 Gameplay.
https://youtu.be/meMXLZh0L3k

Gestern haben wir mit dem Level Test begonnen, heute werden die letzten Levels finalisiert.
spencer_test.png
Frank arbeitet noch ein ein paar Kleinigkeiten und dann geht es weiter mit der AmigaOS Version. Wir können keine zeitliche Prognose abgeben, ein paar Wochen müsst ihr euch noch Gedulden. Im Grunde läuft ja alles, aber an jeder Ecke sind noch Optimierungen zu erledigen, die sich sicher etwas ziehen werden. Und glatt geht es im Amiga Sektor eh nie ;)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
http://www.entwickler-x.de

AmigaOne X1000 @ 1800 Mhz , 2GB RAM, 128GB SSD, Grafikkarte Club3D HD 7750 inkl. RadeonHD Warp3D SI, Warp3D Nova, DVD Brenner, PCI-NETZWERKKARTE ;)
Benutzeravatar
HelmutH
OS4Welt-Team
Beiträge: 2640
Registriert: 28. September 2009 10:56
Wohnort: Oberhausen
Hat sich bedankt: 41 Mal
Danksagung erhalten: 44 Mal

Re: EntwicklerX - Spencer (WIP)

Beitrag von HelmutH »

Klasse
Bin gespannt drauf wie ein Flitzebogen :up:
Nur hoffentlich kommt auch bald der AOne Tabor (mein Aone ist verreckt) damit ich es dann auch spielen kann.
Gruß Helmut
Amiga 500, Amiga 2000, AmigaOne XE, AmigaOne X5000
Benutzeravatar
Goos
Entwickler-X
Beiträge: 291
Registriert: 27. September 2009 13:27
Wohnort: Neustadt i. Sa.
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: EntwicklerX - Spencer (WIP)

Beitrag von Goos »

Rudi hat geschrieben: Ich dachte an Filter und Effekte. Wäre das sehr aufwendig?
Wenn nein, wäre es einfach möglich dann eigene Shader per Textdatei einzubinden?
Rudi
Shader per Textdatei einbinden ist kein Thema, der Aufwand ist überschaubar, alles im allem denk ich mal 1-2 Tage,
nur erwarte ich da Einbußen in der Performance, da die YUV Pixeldaten für den Treiber aufbereitet und zur Verfügung gestellt werden müssen (wir haben immer noch kein GART im 3D Treiber).
Ist die Frage ob es Filter/Effekte gibt, die den Aufwand wert wäre.
Programmierer der EntwicklerX
Benutzeravatar
imagodespira
Entwickler-X
Beiträge: 2729
Registriert: 27. September 2009 09:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 91 Mal
Kontaktdaten:

Re: EntwicklerX - Spencer (WIP)

Beitrag von imagodespira »

IMG_20180314_164114.jpg
Frank ist kräftig am Optimieren und Anpassen für AmigaOS. Es geht voran...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
http://www.entwickler-x.de

AmigaOne X1000 @ 1800 Mhz , 2GB RAM, 128GB SSD, Grafikkarte Club3D HD 7750 inkl. RadeonHD Warp3D SI, Warp3D Nova, DVD Brenner, PCI-NETZWERKKARTE ;)
Rudi
Beiträge: 143
Registriert: 23. November 2015 17:49

Re: EntwicklerX - Spencer (WIP)

Beitrag von Rudi »

Goos hat geschrieben: Shader per Textdatei einbinden ist kein Thema, der Aufwand ist überschaubar, alles im allem denk ich mal 1-2 Tage,
nur erwarte ich da Einbußen in der Performance, da die YUV Pixeldaten für den Treiber aufbereitet und zur Verfügung gestellt werden müssen (wir haben immer noch kein GART im 3D Treiber).
Ist die Frage ob es Filter/Effekte gibt, die den Aufwand wert wäre.
Hier mal ein paar Beispiele.
https://www.youtube.com/watch?v=SMRln8FJvKc
Wäre schon eine schöne Spielerei. Könnte man langfristig zum Videoeffekt/schnittprogramm erweiteren.
Die Performance müsste doch die selbe sein, wenn man eine YUV-Textur für den Shader verwendet bzw. die Umwandlung in der Grafikarte passiert. Ich erkenne hier den Flaschenhals nicht, da die Datenmenge über den PCIE-Bus die gleiche bleibt.

Aber macht mal erst mit Spencer fleissig weiter.

Rudi
Benutzeravatar
imagodespira
Entwickler-X
Beiträge: 2729
Registriert: 27. September 2009 09:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 91 Mal
Kontaktdaten:

Re: EntwicklerX - Spencer (WIP)

Beitrag von imagodespira »

Spencer ist erst einmal Fokus. Und auch danach ist die Frage, ob das zeitlich möglich ist. Denn nur wegen ein paar Effekten, die im Alltag keiner braucht, wird sicher nicht so etwas eingefügt. Wenn wir mal soweit sind, wenigstens ein FullHD Video flüssig zu bekommen, dann kann man über Spielereien dieser Art nachdenken (oder überhaupt ein Schnittprogramm, was genial wäre ;) ).

Kleines Spencer Update:
Frank arbeitet schon eine Woche komplett an der Amiga Version. Wie immer, kommen Dinge dazwischen, die nicht geplant waren und Zeitfresser sind.

Ein paar Beispiele:
1. vsync und zerfetztes Bild: Je nach Auflösung und Framerate war das Bild ziemlich auseinander gerissen und sah trotz vieler Bilder/Sekunde nicht immer gut aus. Ein Tag forschen und Frank hat diese Sachen minimieren/lösen können.

2. Performance Probleme:
Das Spiel lief akzeptabel spielbar (FullHD auf X1000, 720p auf Sam460 war das Ziel!). Nur habe ich die Bonuslevel am Ende der "Welten" 3x länger gemacht als die normalen Levels und somit sind viele Objekte mehr zu berechnen. Durch fehlendes GART im System und kleinen Einschränkungen in Nova, macht vieles noch die CPU und muss z.B. auch unsichtbare Objekte im Level noch positionieren und drehen (für Kollision, Schatten und weiteres). Der Flaschenhals bei uns sind also auch viele Objekte in einer Szene... je mehr, desto beschissener läuft es :)

Nun habe ich die Levels aus kleinen Tiles zusammengebaut:
level1_viel.png
Schaut euch die Zahlen an, jede Zahl ist ein eigenes Tile. Für das Grundlevel (ohne Items und Pflanzen usw.) sind es im Level1 schon über 220 Objekte die gezeichnet werden müssen. Im Bonuslevel dann 3x so viel -> halbe FPS am Sam460 (16 fps). Kein riesen Spaß!

Ein Tag probieren und Spielereien! Wir mussten also die Anzahl der Objekte reduzieren und vorher überhaupt herausfinden wo genau das Problem liegt (nur viele Objekte oder auch Kollision usw... es war wie immer eine Mischung ;) ). Als das Problem lokalisiert war, musste überlegt werden was sinnvoll für uns ist (Zeit/Aufwand, akzeptable Geschwindigkeit/optimaler Speed).
Das Schnelleste beim Darstellen ist es, das Level in Blender komplett nachzubauen und als einzelnes Objekt zu exportieren, dann im Tile-Editor die Kollision per Hand nachzeichnen -> rechnerisch ca. eine Woche Arbeit für den Imago ...

Also mussten Kompromisse her! Jetzt ist es so, dass ich für jede Welt die Einzelteile in sinnvolle, größere Teile zusammenfasse um eine akzeptable Anzahl von Objekten in einer Szene zu erhalten. Hier ein Screenshot, auf die Zahlen achten (jede Zahl = 1 Objekt):
level1_wenig.png
Jetzt haben wir statt über 220 Objekte nur noch 27 für das Level! Diese Optimierung dauert meinerseits jetzt keine Woche mehr, sondern "nur" noch 2 Tage Arbeit. Bei den 5 Bonusleveln werden wir jedoch die "Ein Objekt" Variante trotzdem machen, also diese Level in Blender komplett nachbauen. Das dauert länger, aber bei 5 Leveln noch im Rahmen (anstatt den gesamten 80).

Ihr seht, das ist eine Aufwändige Sache das für unser System hinzubekommen. Und da schneide ich nur einige Sachen an, Frank hat an noch anderen Problemen zu kämpfen.

Trotzdem:
Wir lernen natürlich viel dabei. Im nächsten Platformer (der kommen wird!), werden wir gleich das Level anders aufbauen. Langfristig profitiert man davon, Levels sind mit weniger Teilen auch schneller gebaut (ich musste aber erst einmal lernen, was genau ich brauche... das geht nur mit fertigen Leveln). Auch sind wieder Eigenheiten unseres Systems herausgefunden und in die Engine eingeflossen. Während der Entwicklung steht die Kommunikation mit Hans und Daniel zwecks Nova und OGLES, wobei beide schön Fehler bereinigen und Features hinzufügen durften. Davon wird in Zukunft auch profitiert. Auch haben wir Hans eine Liste von gewünschten Features gegeben und hoffen, dass da einiges in Nova einfließen kann um auch ohne dieser Optimierung unsererseits mehr Performance herausholen zu können (denn überlegt mal, die Ports die man haben will werden eigentlich nicht wirklich gut funktionieren... denn keiner schert sich auf dem PC um solche Dinge, die Spiele sind also nicht so optimiert, da sehe ich Probleme dass wir überhaupt was bekommen "können"!).

Noch ein Bonus des Aufwandes:
Frank testest und Optimiert auch wieder für MiniGL, wenn durch Engine Optimierung, Levelobjekt-Reduzierung kommen wir einer akzeptablen Geschwindigkeit auf Sam440 ohne Nova wieder nahe! Man darf da keine Wunder erwarten (auch unwichtige Objektebenen blenden wir aus, nicht mehr so schön, geringe Auflösung, kein Schatten...), aber es ist nicht mehr "Nova only" und vielleicht für einen Peg2, Sam440, AOne Nutzer trotzdem ein Kaufgrund (bis zum Tabor ;) ).

Vielleicht schaffen wir es, ein Video zu veröffentlichen. Es wird auch bald eine Demo geben. Veröffentlichung des Spieles ist immer noch im März geplant (AmiStore+Alinea Download). Wir haben uns gegen eine CD entschieden und es wird diesmal auch keine Amiboing Anbindung geben. Wir müssen etwas reduzieren um auf ein sinnvolles Maß zu kommen, denn Spencer soll nur ein Anfang sein, wir wollen mehr Spiele in diesem Jahr herausbringen!

Schönes Wochenende und danke, dass der ein oder andere bis hier durchgehalten hat ;)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
http://www.entwickler-x.de

AmigaOne X1000 @ 1800 Mhz , 2GB RAM, 128GB SSD, Grafikkarte Club3D HD 7750 inkl. RadeonHD Warp3D SI, Warp3D Nova, DVD Brenner, PCI-NETZWERKKARTE ;)
Flow
Beiträge: 72
Registriert: 22. August 2013 18:25

Re: EntwicklerX - Spencer (WIP)

Beitrag von Flow »

:up: Wie immer interessant zu lesen. Könnte auch im Spiegel - "Das anonyme Job-Protokoll" erscheinen.
Benutzeravatar
AmigaPapst
OS4Welt-Team
Beiträge: 472
Registriert: 25. September 2009 18:22
Wohnort: Wehrheim
Hat sich bedankt: 11 Mal
Danksagung erhalten: 11 Mal
Kontaktdaten:

Re: EntwicklerX - Spencer (WIP)

Beitrag von AmigaPapst »

Sieht verdammt gut aus. Klasse Jungs. :)
Ist schon krass, was man alles bei der Amiga Version zusätzlich für einen riesen Aufwand hat. Ich bin der Meinung die OS-Entwickler (inkl. 3D-System) müssen mehr tun, damit das Gesamtsystem besser wird. Nur so haben die Programmierer von Software weniger Arbeit und Software und damit auch Spiele können schneller umgesetzt werden.
AmigaOne X1000 1,8 Ghz/2GB Ram + Radeon 6670 2GB + AmigaOS 4.1
A4000T CyberstormPPC 604e 200Mhz/060/128MB + CybervisionPPC 8MB + AmigaOS 4
und viele Amigas mehr...
https://www.alinea-computer.de
https://www.amiga-shop.net
Benutzeravatar
Cyborg
AmigaOS Entwickler
Beiträge: 3518
Registriert: 28. September 2009 11:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 34 Mal

Re: EntwicklerX - Spencer (WIP)

Beitrag von Cyborg »

@ AmigaPapst
Stell Dir vor, daß praktisch alle heutzutage noch relevanten Spiele- und Softwareentwickler schon seit langer Zeit Teil des Entwicklerteams von AmigaOS sind, eben damit die sich auch selbst helfen können bzw. explizit dort helfen können, wo sie sich am Besten auskennen. In Teilbereichen hat das auch wirklich was gebracht, aber für die wirklich großen Wale unter den Aufgaben haben die halt auch nicht wirklich Zeit, das noch nebenbei zu machen.

In diesem Zusammenhang finde ich es schon "witzig", daß bei einem lumpigen (*) Spiel völlig klar ist, daß eine Übersetzung so an die 50000 Mücken kosten muß und das so auch ohne zu murren akzeptiert wird. Bei einem kompletten Betriebssystem wird aber halt einfach alles gefordert... muß ja inkludiert sein und darf nicht mehr kosten.. pff. Mir wird ganz schwindelig, wenn ich mir vorstelle, was wir in den letzten Jahren mit einer halben Million Euro alles hätten bewegen können. Und mit 50000 aufgeteilt auf ALLE unsere 9 Übersetzungen wären sicher auch alle unsere Übersetzer mehr als glücklich gewesen, die das tatsächlich komplett ehrenamtlich gestemmt haben (dafür kann man gar nicht oft genug DANKE sagen!).


(*) bevor jetzt wieder einer schreit, daß Thimbleweed Park alles andere als lumpig wäre: ich habe damit nicht die Qualität des Spiels an sich gemeint, sondern den Unterschied zwischen Spiel und Betriebssystem als farbige Metapher.
.. der SysOp hat immer recht :evil:

PGP Schlüssel verfügbar
Antworten