Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

07.06.2017, 10:52

Komponenten eines Spiels - Was muss man können?

Hallo!

Ich habe beim Durchforsten gemerkt, dass es sich hier um ein sehr hilfsbereites Forum handelt, deswegen traue ich mich einfach mal zu fragen :love:

Ich bin 25 und studiere (nichts technisches), möchte aber in meiner Freizeit ein ganz bestimmtes eigenes 2D Spiel programmieren (hobbymäßig versteht sich). Da ich keine Ahnung von nichts habe, habe ich mich durch das sehr hilfreiche Wiki durchgelesen und bereits damit angefangen, C++ anhand von Kalistas Buch zu lernen. Was ich aber einfach nicht verstehen will ist, wie genau so ein Spiel aufgebaut ist (meine die Komponenten) bzw. womit muss man neben C++ arbeiten?

Was ich mir bereits denken kann ist Grafik und Musik. Heißt das, dass ich im Grunde nur mit C++ das Programm schreibe, das in eine bestimmte grafische Umgebung einbinde und Musik einpflege? Würde mich sehr freuen, wenn mir jemand für Dummis erklären kann, was ganz allgemein zu einem Spiel gehört und welche Bereiche ich mir neben C++ aneignen muss. Scheut euch nicht, mir die aufwendigen Bereiche zu nennen. Ich habe nicht vor auf schnelle Erfolge hin zu arbeiten, sondern will das ganze einfach ordentlich angehen, auch wenn es die nächsten 6 Jahre dauern sollte (zumal ich das alleine machen will) :)

LG und vielen Dank im Voraus!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

07.06.2017, 10:57

Eher anders herum. Du malst hübsche Grafiken und komponierst nette Musik und sagst dann deinem C++ Code (der hoffentlich eine dafür geeignet Bibliothek nutzt, um dir das Leben leichter zu machen [z.B. SFML, SDL2, etc]), dass du die Bilder laden und irgendwie irgendwo anzeigen willst und dass du Musik laden und abspielen möchtest. Das sollte im Lauf des Buchs aber dann auch deutlicher werden, wenn es an die Teile geht, die sich mit der Spieleprogrammierung auseinandersetzen.
Es ist sicherlich hilfreich, wenn du in der Lage bist deine Grafiken, Sounds, Musik und Level selber zu erstellen, oft sind Programmierer dafür aber nicht geübt genug (Stichwort Programmer-Art) und es sieht entsprechend grauenvoll aus oder klingt furchtbar. Ist alles zwar auch nur eine Sache der Übung, aber es gibt auch andere Leute, die das eben schon richtig gut können und die versucht man entweder an Board zu holen oder kann auf frei verfügbare Ressourcen (z.B. Dinge, die unter Creative Commons License stehen) zurückgreifen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

3

07.06.2017, 11:48

@BlueCobold

Vielen Dank!Ich glaube ich hab es endlich gecheckt :D Manchmal sind es halt die einfachen Dinge, die einen verwirren. D.h. was ich eigentlich tue ist das Design (Optik), die Musik, die einzelnen Level zu erstellen, bestimmte Werte (Lebensanzeigen, Energie etc.) im C++ zu definieren und das dann am Ende durch das Kompilieren in einem Programm zu vereinen? Ich werde mich jetzt trotzdem erstmal mit C++ auseinandersetzen, damit ich das nebenbei üben kann, wenn ich mich mit Grafikdesign beschäftige :) Bin schon die ganze Zeit am Zeichnen, um das ein bisschen zu verbessern. Man könnte meinen, ich studiere nicht nebenbei :thumbsup:

Goldwing Studios

Treue Seele

Beiträge: 359

Wohnort: Heidelberg

Beruf: Softwareentwickler, Vertriebler

  • Private Nachricht senden

4

07.06.2017, 12:05

Njoa, aber ohne Spiellogik und das behandeln von Userinput passiert mit deinen Werten nicht viel.

Das Männchen sollte sich bei drücken der Pfeiltasten schon bewegen oder? ;)

5

07.06.2017, 12:09

Njoa, aber ohne Spiellogik und das behandeln von Userinput passiert mit deinen Werten nicht viel.

Das Männchen sollte sich bei drücken der Pfeiltasten schon bewegen oder? ;)


Und in welchem Rahmen wird so etwas definiert?

- Grafikdesign
- Leveldesign
- Musik
- ?

Was ist es, das hier noch fehlt? Wäre das, das modellieren von Charakteren und die Einbindung über C++?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

07.06.2017, 12:16

- Grafikdesign
- Leveldesign
- Musik
- ?

Was ist es, das hier noch fehlt?

Programmierung! ;)
Du musst das Programm schreiben, das all deine Sounds, Grafiken, 3D-Modelle etc. abspielt bzw. darstellt, auf Benutzereingaben reagiert usw.

Game Design fehlt auch noch.

7

07.06.2017, 12:41


Programmierung! ;)
Du musst das Programm schreiben, das all deine Sounds, Grafiken, 3D-Modelle etc. abspielt bzw. darstellt, auf Benutzereingaben reagiert usw.

Game Design fehlt auch noch.


Okay jetzt verstehe ich! Hab mich falsch ausgedrückt :love: Vielen Dank, die Erkenntnis hat mich auf jedenfall schonmal sehr viel weiter gebracht. Ich würd auch anregen das im Wiki unter "Wie geht es weiter" zu erwähnen. Als Anfänger will man ja wissen woran man ist und zu wissen, dass alle o.g. Komponenten außerhalb des Programmierens auch dazu gehören, verschafft einem dem roten Faden :)

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

8

07.06.2017, 13:00

Du hast ja erwähnt, dass du Kalistas Buch liest. Ich möchte also nochmal betonen, dass sich das letzte Kapitel genau damit beschäftigt. Da wird es höchstwahrscheinlich "Klick!" für dich machen.
WIP Website: kevinheese.de

9

07.06.2017, 13:15

Also zusammengefasst hast du einfach deinen Code (C++) und deine ganzen Ressourcen (Musik, Modelle, Bilder...). In deinem Code steht dann quasi was wann wie mit deinen Ressourcen passieren soll. z.B. stehen am Anfang wahrscheinlich erst mal einige Codezeilen um beispielsweise ein Sprite des Protagonisten in den (V)Ram deines PCs zu laden. Später wird diesem Sprite dann wahrscheinlich eine Position auf dem Bildschirm zugeordnet und an der entsprechenden Stelle gezeichnet. Damit das ganze interaktiv wird, wirst du dich dann wahrscheinlich dafür entscheiden, in deinen Code eine User-Input Abfrage einzubauen, sodass du beispielsweise die Position des Sprites mit jedem Klick auf "W" ein Stück nach oben bewegst.
Und schwupps schon hast du einen Spieler auf dem Bildschirm, der herumlaufen kann.

Das Buch mit dem du arbeitest ist wirklich gut, damit habe ich auch angefangen. Wenn du aber mal alles durchgearbeitet hast, würde ich die SDL (damit wird das Spiel im Buch gemacht) links liegen lassen und mit die SFML anschauen. Zu meiner Anfangszeit ist mir die SFML wesentlich leichter gefallen, es gibt jede Menge Tutorials und viel schneller (da GPU beschleunigt) ist sie auch noch. Ob sich da was bei der SDL inzwischen was geändert hat, weiß ich aber nicht.

10

07.06.2017, 14:18

Und ich würde dir auch empfehlen von Anfang an alle Codes aus dem Buch mithilfe des WWWs in modernem C++ (z.B.: Smartpointer, std::string statt char usw...) zu schreiben, da die Umstellung oft nicht ganz einfach ist, und der Code aus dem Buch uralt ist.
Albert Einstein sagte: "2 Stunden mit einem netten Mädchen fühlen sich an wie 20 Minuten, 20 Minuten auf einem heißen Ofen fühlen sich an wie 2 Stunden. - Das ist Relativität"

Werbeanzeige