Thema:
Re: 1/2 OT: Frage an programmieraffine User flat
Autor: b0b
Datum:07.05.20 12:15
Antwort auf:1/2 OT: Frage an programmieraffine User von Beauregard

nahezu volle Zustimmung für gameflow

ich versuche es mal zu unterteilen. erst vielleicht der "soziale", der technische part ist dann weiter unten im text


1. warum erscheinen heute keine/wenige sportspiele, und wenn, dann schon gar nicht von der EA-Konkurenz? und warum kommt da nichts von Indies?

Wie gameflow schon geschrieben hat - meistens wirds gleich an lizenzen scheitern. Ohne kauft's halt niemand. Was Fun-sport betrifft - was hat sich denn hier gut verkauft? Die heutigen NBA-fans würden sowas wie "NBA Jam" doch gar nicht spielen - wenn man mal ein modernes NBA-spiel (also ein echtes, kein videospiel) sieht - da werden nur 3er geworfen und bei jedem körperkontakt gepfiffen ;)

tony hawk wurde einfach mal beim letzten release verkackt. die anderen sportarten liefen nie wirklich gut. Volleyball? Madden (ausser US)? Die sportarten denen ich am meisten als videospiel zutraue sind fussball und tennis. Selber bin ich kein Fan von beiden. Virtua Tennis hat spaß gemacht, und ein "Mario Strikers" ebenso, die "ernsten" vertretter ich da gar nicht bzw ewigkeiten keine mehr angefasst.

warum machen indies nichts in der richtung? jetzt mal alles sehr verallgemeinernd - indies sind geeks. sind mit computerspielen aufgewachsen, lieben das hobby so sehr, dass sie was eigenes entwickeln wollen. ich vermute mal ganz stark, dass unter diesen sehr wenige eben die sport-genres bevorzugen. anders gesagt ist der anteil unter den typischen FIFA-spielern, der sich auch für entwicklung interessiert - und dann sich noch die mühe macht, das ganze zu lernen und das auch noch durchzieht - deutlich geringer als bei RPG oder FPS (oder dem Metroidvania-trend folgend) fans zb.
Liegt auch bestimmt daran, dass die genres komplett andere anforderungen stellen. Ein FPS - es wird irgendeine vorhandene engine genommen (unreal oder unity chest beating), da gibt's schon viele prefabs und code-schnipsel aus tutorials - macht den anfang einfacher. Die meisten Indie-entwickler sind keine allzu guten (oder besser gesagt: erfahrenen) programmierer, da wird was zusammengewürfelt, hauptsache es funktioniert irgendwie. Die meisten sind auch eher Designer, die sich das programmieren mal notdürftig irgendwie aneignen. Ein Beispiel hiefür wäre der Doom64EX entwickler - eigentlich ein 3D-artist, hatte angefangen eine der doom-engines so umzubiegen, dass der N64-teil damit läuft, fing dann irgendwann sein 3D framework zu schreiben (KEX), arbeitet jetzt bei Nightdive Studios als Programmierer. RPS werden oft runden-basiert, metroidvanias gleichen sich allesamt. Die setzen allesamt auf allgemeine, teilweise auswendig-zu-lernende patterns im gameplay und gegner-design. FPS enthalten meist vorgefertigte skripte aus unity/unreal als KI - und da alle wissen dass es suckt, wird da eher auf den Multiplayer-Modus gesetzt.
Das soll jetzt keinesfalls Indie-bashing sein. Einige haben ja den Quellcode veröffentlicht, ich habe mir auch einige davon angeschaut - da weiß man nicht ob man lachen oder weinen soll. Und wieso das überhaupt irgendwie funktioniert. ABER! es funktioniert soweit, dass sie eben ein Produkt veröffentlicht haben und es verkauft wird! DAS allein ist schon eine grosse Leistung!

Bei Mannschaftssport-Spielen wird es an der KI gleich alles scheitern. Nicht nur müssen da die Spiel-regeln an sich gelten - zB Schach regeln implementieren (was ja dann immer noch rundenbasiert ist). Die KI kollegen müssen sich ja auch halbwegs intelligent verhalten. Aus "Pattern" sollen nun situationsbedingte verhaltensweisen werden. Bei den allermeisten hört es da schon gleich auf. Physik kommt natürlich noch hinzu.

also zb beim fussball. nicht nur der ball sollte sich realistisch verhalten (drehungen, "kurve" fliegen,...) - die KI sollte zumindest seine flugbahnen erahnen können - mal so als beispiel.
(hier frage ich mich, wieso "Virtua Striker" so gut weg kommt bei den fans)





>Wenns denn schon wenig Neues gibt, wie groß wäre denn das Risiko einer „Neuauflage“ eines Klassikers? Also z.B. Beach Spikers oder PES 5. Wie groß wäre der zeitliche Aufwand? Gesamtkosten? In anderen Genres gibts doch zahlreiche Remastered Editionen. Wobei mir ja eine 1:1 Umsetzung auch schon reichen würde.

wie gameflow geschrieben hat - hängt stark vom alter und ursprungsplattform ab. aber grundsätzlich ab ps2 zeit, denke ich ist es nicht sooo schlimm. wurde schon mal fast alles in C oder C++ geschrieben, zumindest für GC und Xbox. PS2-code wird dann (mindestens) die VU-spezifischen geschichten in Assembler enthalten. Aber grundsätzlich - man würde von einer schwachen auf eine deutlich stärkere portieren, was die sache ungleich einfacher macht ;) der ganze alte rendering code fliegt komplett raus - und damit auch die meisten platform-spezifischen optimisierungen von damals ^^. denn mal ehrlich - moderne renderer in der qualität von beach spikers oder pes5 sind nicht gerade aufwendig zu programmieren. darum würde ich mir keine gedanken machen.
beim rest - naja architekturwechsel. verschiedene custom prozessoren -> intel oder arm (die anderen sind ja alle tot mittlerweilen). je nachdem wie hardware-spezifisch der spiel-code war, desto mehr arbeit. wir wissen ja nicht wie der originale code ausgesehen hat.

zu dem "Wind Waker HD" port würde ich noch hinzufügen:
es fand kein CPU umstieg statt. und die Wii-U hat die GC/Wii GPU eingebaut. Die CPU ist eine weiterentwicklung der GC-CPU, nur halt schneller, 3-kerne und zusatzfeatures - aber rückwärtskompatibel. Wii-U kann beide Grafik-API (GX und GX2). Das vorgehen war relativ einfach. Das Spiel so wie es ist einfach für Wii-U kompilieren und nach und nach die Grafik-routinen von GX auf GX2 umzuschreiben (sprich von GC fixed-pipeline zu shader-pipeline). Da die physik und die animationen fest an 30fps reinprogrammiert waren, wurde dieser umstand auch beibehalten (sprich die änderungen wären komplizierter als zeitlich dafür vorgesehen). Keine Ahnung wie viel Gebrauch von der 3core CPU sie da gemacht haben (vermutung: keinen). Für Nintendo war das ja auch ein gutes internes Lernprojekt wie Grafik mittels shader geht (sie haben ja eine lange generation gepennt und mussten hier aufholen). Soll nur heissen - für Nintendo wäre es ein noch einfacherer Port gewesen, den sie auch schneller und mit deutlich weniger Leuten hätten machen können - allerdings wozu? Ich denke es ging da mehr um den internen "Lerneffekt".

Andersrum ist es schwieriger:
[https://www.gamasutra.com/view/feature/131563/postmortem_treyarchs_tony_hawks_.php]

zB Tony Hawk von PS1 auf Dreamcast. Kleines Team und in relativ kurzer Zeit alles. Der Artikel lohnt sich.

In PC-welt wurden einige der Ports von Windows auf Linux/OSX nur von einer person gemacht (icculus). aber hier ist die architektur ja die gleiche (intel), also DirectX -> OpenGL usw. Der typ arbeitet als freelancer und portiert halt...

Ein nenennswerter Artikel ist noch:
[https://www.destructoid.com/the-pc-port-of-little-king-s-story-is-in-a-much-better-place-now-416352.phtml]
[https://xseedgames.tumblr.com/post/156725636690/little-kings-story-pc-relaunch-guest-blog]

Durante ist etwa durch seinen DSfix für die PC-Version von Dark Souls bekannt. Er fixte hat die dummheiten zahlreicher japanischer Entwickler und deren halbgaren Windows-Versionen "von aussen". Hier wurde er dann bezahlt um einen der ports zu fixen. Denn der erste Windows-Port war nicht gut -er bekam den Quellcode und sollte das beste draus machen. Wii zu Win-PC
aber hier auch - trotz des wechsels zu 60 fps, läuft es teilweise in 30 fps ab, ist im artikel angesprochen

-> ports können durchaus mit wenigen mitarbeitern gestemmt werden und die kosten überschaubar gehalten werden. je nach ausgangsmaterial (quellcode) ist der aufwand imo noch im rahmen.
ob sich der release (werbung, veröffentlichung an sich etc) dennoch lohnt - uhm ja ....

was ist wenn man den source code gar nicht hat?
reverse engineering! imo die höchste kunst von allen - selten und kein publisher wird sich sowas leisten können/wollen.
mir bekannte fürs dissassembling beispiele hierfür wären diablo1, need for speed 2, dungeon keeper 1, syndicate wars (also fast alles pc versionen) und erst kürzlich super mario 64! hab mir mal den code fürs letztere angeschaut und kompiliert - bin von der qualität echt erstaunt, hätte weit schlimmeres vorgestellt.
aber sowas bezahlt kein publisher - (sehr) viel zeit und fanatismus :D



was fussball angeht, auf github sind einzelne mir bekannte versuche:

ein sensible soccer clone:
[https://github.com/anttisalonen/freekick3]
(für so ein simplespiel, sind die kompilierzeiten mal echt grausam :D)

[https://github.com/jadnohra/World-Of-Football]

und wieso ich überhaupt erst anfing zu antworten. ich meinte mich an ein projekt erinnern zu können, wo einer ein fussball spiel fürn pc gemacht hat. es gab blob einträge etc und es sah ganz vielversprechend aus. dann hat er das projekt eingestellt (zu kopf gewachsen, zeitliche gründe). nun ich hab danach gesucht:

[http://properlydecent.com/]

komische seite hat er jetzt, such da nach "gameplay football". der code liegt hier
https://github.com/BazkieBumpercar/GameplayFootball
und wie es aussieht macht Google selbst jetzt was damit: [https://ai.googleblog.com/2019/06/introducing-google-research-football.html]

-> wie du merkst ist KI das grosse thema


< antworten >