Wie entsteht ein Videospiel?

Joined
Sep 5, 2010
Messages
234
Hi Leute,

da ich von Programmierung etc.. keine Ahnung habe, stelle ich die Frage die mir vielleicht jemand beantworten kann.

Wie wird ein Spiel (z.B fürs NES) von Anfang bis zum Schluss hergestellt/programmiert?
Gibt es vielleicht eine Seite, auf der das für Laien verständlich erklärt wird?

Mir ist schon klar, das Level ausgedacht/gezeichnet werden müssen, jemand die Musik komponieren muss etc.

Aber wie werden die Puzzleteile zusammen gefügt, das am Ende ein Spiel herauskommt?
Hab mir schon ein paar Videos auf Y.T angesehen, aber da sind immer nur Zahlenreihen auf dem Bildschirm.

Wäre nett wenn mir jemand eine Erklärung geben könnte, muss ja nicht lang sein- einfach das Prinzip. :)
Wenn es überhaupt so einfach erklärt werden kann - scheint ja eine komplizierte Sache zu sein.


Vielen Dank & Beste Grüße,

Kortal Mombat69 ;)
 

ingoreis

Advanced Member
Staff member
Joined
Jan 18, 2010
Messages
8,089
Age
38
Location
49.491276,8.423518
Huhu ja das nenne ich mal Zufall denn hier im Forum wird gerade ein echt tolles Spiel entwickelt von Bamt ;)
http://forum.gp2x.de/viewtopic.php?f=33&t=8217&hilit=reggie

Da steht schon eeiniges drinnen darüber in dem Thread :)
 

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,577
Der Thread von Bamt erklärt aber nicht viel über die Hintergründe...

Grob gesehen muss man erstmal schauen, was für Programmiersprachen das Gerät, für welches man programmieren will, unterstützt. Bei NES scheint das vor allem Assembler zu sein. Das ist nichts für Anfänger. Andere Geräte erlauben modernere / einfacherere Sprachen. Bamt z.B. nutzt GLBasic. Damit kann er Spiele für Caanoo, Gp2x oder halt die Pandora erstellen - aber nicht für den NES.

http://nesdev.com/#PC Da gibt es wohl einige Informationen. Ich sehe da wider Erwarten sogar Basic als Programiersprache (nbasic). Je nach Implementierung sind solche Sprachen oft langsamer als direkte Assemblerprogrammierung (auf solch alten Geräten!). Aber für den Anfang ist das auf jeden Fall der bessere Weg.

Wenn du dich nun für eine Sprache entschieden hast (z.B. nbasic), heißt es Dokumentation lesen und Beispiele anschauen. Man muss lernen, wie man von dem Quelltext zum nes-Modul kommt. Wo kommen Ressourcen hin? Wie greife ich auf die Ressourcen zu? Wie stelle ich Bilder dar und spiele Sound ab? Was gibt es für Einschränkungen, kann ich z.B. nur 8x8 Bilder in einem Raster auf dem Bildschirm positionieren? Heutezutage ist man es gewohnt, dass PCs und Konsolen sehr universell einsetzbar sind. Da die Hardware damals sehr viel langsamer war und universelle Hardware sehr sehr teuer, gab es günstigere Spezialhardware für ganz bestimmte Zwecke, z.B. das Darstellen eines 8x8 Bildchens (auch Sprite genannt). Wie nutzt man diese Hardwarebeschleunigung?

Nachdem man "rumgespielt" hat, Hello World, einfache Sprite- und Soundtestprogramme geschrieben und gestestet hat, kommt es an die Planung. Was soll mein Spiel können? Was ist die Spielidee? Wie kann ich die mit den vorhanderen Controllern, Speicher und Farbtiefe umsetzen? KANN ich sie überhaupt umsetzen? Wenn deine Spielidee eine riesige Welt ist, in der man frei rumlaufen kann und teilweise tausende Gegner gleichzeitig agieren, wird das auf dem NES nichts werden.

Dann beginnt man das Spiel zu schreiben. Ressourcen wie Musik und Sprites sind dabei erstmal nebensächlich und können durch Platzhalter ersetzt werden. Prinzpiell würde ich aber davon abraten mit der Programmierung des NES mit dem Programmieren zu beginnen. Gerade das vormals erwähnte Durchlesen der Dokumentation wird in vielen Fragezeichen enden, wenn man keine Erfahrung damit hat. Also wenn du wirklich NES Programmierer werden willst: Schreib erstmal ein kleines Spiel z.B. in glBasic für die Pandora oder den gp2x. Damit bist du schon recht nah an nbasic dran. Gerade bei der Programmierung für den gp2x wirst du lernen mit Sprites zu arbeiten statt moderne 3D Grafik zu nutzen wie Bamt.

VG Ziz
 
Joined
Sep 5, 2010
Messages
234
Danke Ziz für deine echt sehr ausführliche Antwort! :)

Ans programmieren habe ich erst einmal noch nicht gedacht, ich wollte einfach nur das Prinzip verstehen.

Da ich leider keine Pandora oder ähnliches habe.

Es gibt ja mittlerweile "Super Mario Maker" und das hat mich etwas neugierig gemacht.
Aber so leicht scheint es ja nicht zu sein, selbst ein Spiel zu kreieren und in den Spielen steckt sicher VIEL Arbeit drin, auch wenn sie "nur" für das NES sind.

Vor kurzem habe ich auch einen gewissen Jemand kennengelernt, der selber programmiert, der hat mir auch schon einiges übers Programmieren verraten.
Aber vielleicht hat er ja auch Lust ein Spiel zu machen und es dann wäre das ja ein Projekt für die Zukunft. :)

Aber wenn würde ich keine 3D Spiele machen wollen, lieber 2D im NES/SFC/PCE Stil.
Das finde ich einfach schöner zum spielen, obwohl ich Rad Racer für das NES auch super finde - gerade im 3D Modus.


Viele Grüße,

Kortal Mombat69
 

matzesu

Hardcore Member
Staff member
Joined
Oct 24, 2008
Messages
9,267
Age
35
Location
Germany,, Saarland, at home
Das die alten Modul Konsolen schwieriger zu programmieren sind, liegt aber auch an der Natur der Sache,
vergleich mal die 10 mb große Rom von Super Mario World, mit einem heutigen Smartphone Spiel, was gleich mehr Platz verbraucht, bei weniger Content und Graphik.. selbst so ein Pixel Spiel wie Bining of Isaak hat noch über 300 mb...
Die meisste Arbeit wird bei NES Spiele Programmieren wohl das Optimieren verschlingen..
 
A

Anonymous

Guest
Das ist so nicht ganz richtig. Die Farbpallete und Auflösung der konsole haben nicht gerade viel verlangt in Sachen Speicher. Weder im System noch in dem Modul.
Das größte Problem war vermutlich eher die Programmierung an sich.
Heute ist alles mit SDKs und oneclick engines vorbereitet. Abgesehen davon wird CPU und GPU Zeit heute auch schlicht weg verschwendet.
 

fusion_power

Advanced Member
Joined
Dec 25, 2005
Messages
13,051
Location
germany
Website
Visit site
Passend zum Thema gabs was im englischen Forum:
How "oldschool" graphics worked
[youtube]Tfh0ytz8S0k[/youtube]

Wirklich interessant wie man mit so wenig Ressourcen jonglieren musste um überhaupt was auf den Bildschirm zu bekommen.
matzesu said:
Das die alten Modul Konsolen schwieriger zu programmieren sind, liegt aber auch an der Natur der Sache,
vergleich mal die 10 mb große Rom von Super Mario World, mit einem heutigen Smartphone Spiel, was gleich mehr Platz verbraucht, bei weniger Content und Graphik.. selbst so ein Pixel Spiel wie Bining of Isaak hat noch über 300 mb...
10mb aufm Super Nintendo? Also ehr "MegaBit", nicht Megabyte. ^^" Das "Mario 64" ROM vom N64 hat gerad mal 8MegaByte. Stellt euch das mal vor, das ganze, riesige Mario64 in nur 8Megabytes. Find ich nach wie vor Wahnsinn! :O
 

matzesu

Hardcore Member
Staff member
Joined
Oct 24, 2008
Messages
9,267
Age
35
Location
Germany,, Saarland, at home
Hoppla ich wollte eigendlich Super Mario 64 schreiben..
Ich weiss grad nicht was die Mario World Rom an Grösse hat..
Ich muss mal die Gròsse der GBA Version davon mit der GBA Version von Flappy Bird vergleichen..
(Ja es gibt sogar ein Flappy Bird für den GBA, spiele ich gerne auf dem K101 Plus Crystal)....
 

fusion_power

Advanced Member
Joined
Dec 25, 2005
Messages
13,051
Location
germany
Website
Visit site
Ja, bei Super Mario 64 kommt das halt mit den 10MB schon hin. Die SNES Module hatten sichern icht mehr als 1-2MB.

Schon krass wenn man sowas mit heute vergleicht. Angeblich soll "Star Citizen" am Ende um die 100GB groß werden. Gut, dafür bekommt man dan nauch schon "bissl" was fürs Auge geboten. :-D
 

Akabei

Member
Joined
Mar 13, 2011
Messages
2,738
Location
Braunschweig, Germany
Wenn du Interesse an der Entwicklung eines für heutige Verhältnisse eher kleinen Spiels hast, kannst du beim Fortschritt des potentiellen Ultima(1-3)-Killers Zeit der Stille 2 für den C64 auf Claus' Blog teilhaben.
http://tos.acoustic-velocity.com/

btw: Es ist alles andere als einfacher für Retrosysteme zu programmieren. Im Falle des C64 muss man sich wirklich um fast jeden einzelnen CPU-Cycle Gedanken machen um akzeptabele Ergebnisse zu erzielen. Die Illusion eines schnell gecodeten Spiels war schon damals nicht real und ist es heute auch mit Unity oder selbst dem RPG Maker nicht, wenn du wirklich alles (Coding, Grafik, Sound) selber machen willst. Ich persönlich habe schon vor der Entwicklung eines kompletten Spiels im S.E.U.C.K. kapituliert, aber der eingebaute und für damalige Verhältnisse wirklich überragende Sprite-Editor und die (ruckelige) Scrollroutine haben schon gereicht um Ende der Achtziger ein paar Leute zu beeindrucken. :)
 
Joined
Sep 5, 2010
Messages
234
Ist es denn einfacher, ein schon bestehendes Spiel zu "hacken" ?

Kann man sich das wie ein Puzzle vorstellen - kann man Grafiken von z.B Mega Man mit Super Mario kombinieren?

Hab das schon gesehen, z.B hier:

https://www.youtube.com/watch?v=dUHCRagMurQ
 

Ziz

Advanced Member
Joined
Jan 15, 2006
Messages
3,577
Kommt auf das Spiel, die Zielplattform und deine Änderungswünsche an. Ich hatte als Kind viel Spaß die Moorhuhnbilder auszutauschen. ;)
 
Top