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

Unbegabt83

Frischling

  • »Unbegabt83« ist der Autor dieses Themas

Beiträge: 22

Wohnort: Mörfelden-Walldorf

Beruf: habe ich

  • Private Nachricht senden

1

27.01.2017, 13:27

Lernen von den Besten - Wo fange ich an

Zitat

Nehmen wir nun als Gegenbeispiel ein einfaches Arcade-Spiel a la Pacman: Du brauchst 1 Spielfigur, 1 Gegner (in 4 verschiedenen Farben), eine Handvoll "Tiles" fuer die Waende und die zu fressenden Punkte, 1 einziges Level (zumindest wenn man das Original Pacman als Vorlage nimmt) und schon kannst Du daraus ein Spiel machen. Das tolle ist, Du kannst es jederzeit beliebig erweitern. Du kannst neue Gegner einbauen, neue Levels basteln, neue Tile-Designs einfuehren, usw, ganz wie Du moechtest. Aber es funktioniert auch ohne. Das ist der springende Punkt. Versuche also erstmal ein Spiel zu machen, das Dir nicht unnoetig viel Aufwand bereitet, denn angefangene und nicht vollendete Projekte gibt es wirklich massenhaft. Auch ich selbst habe vermutlich 10x so viele angefangene Sachen auf meiner Festplatte herumliegen als fertiges. Und ich denke das ist sogar noch untertrieben.
Auf eigene Faust ganz allein ein Spiel kreieren, ohne aktuelle Kenntnis und Geld fürs Programmieren?

Hallo erstmal,

der ein oder andere hat mich vielleicht schon im Bereich von C++ für Spieleprogrammierer gesehen, wenn nicht, nichts verpasst :D

Ich heiße Chris, bin 33 Jahre jung und komme aus dem nahen Umfeld Frankfurt Main, seit 8 Wochen ca., lerne ich fleissig C++ und würde sagen, von einem Spiel bin ich noch weit entfernt. Da ich aber nicht immer einen Kopf habe zu schreiben, schaue ich mich auch hier im Forum gerne um und versuche "as much as i can" aufzusaugen. Und dabei bin ich auf diese Auskunft gestoßen.

Dabei ging mir spontan ein paar fragen durch den Kopf.

Nehmen wir mal PacMan als Beispiel. Prinzip sollte jeder kennen denke ich.
Wenn ich dieses Spiel nun schreiben möchte, wo fange ich an. Schreibe ich erst das Windows Fenster, erstelle dann das Menü und dann die Spielfläche?
oder starte ich mit PacMan und seinen Funktionen oder oder oder

Verzeiht die Plumpe definierung, ich lerne noch :rolleyes:

Worauf ich hinaus möchte, wie starte ich so ein Projekt.

Vor ner Woche hatte ich mir Gedanken gemacht was mit meinen "begrenzten" Fähigkeiten bisher so möglich wäre und hatte die Idee
das ich ja eine Slotmachine bauen könnte.

Ich bin dann so vorgegangen.
Grundgerüst erstellt
Prototypen definiert
Menü eingebunden
Prototypen deklariert
"Zufallszahl" Code geschrieben
Funktionen ins Menü eingebunden
Test (:D waren nur 7 Fehler)
Fehler suche/Behebung
Test (kein Fehler)
Release Version an meine Frau gegeben die dann gleich einen Jeton Bug gefunden
Bug suche/Behebung
kleine Optimierungen sowie Erweiterungen des Menüs
Fertig.

Das war aber nun auch einfach. Es ist schließlich eine Konsolen Anwendung und außer dem Code macht man den Rest im Buch von Herr Kalista ja mehr als einmal durch.
Wenn ich nun aber an PacMan denke sehe ich den Wald vor lauter Bäumen nicht.

Ich bin für jeden Tip und eine Rege Unterhaltung dankbar und möchte, obwohl das eigentlich Selbstverständlich sein sollte, nochmal erwähnen jeder hat seine eigenen Erfahrungen und Meinungen und das ist gut so also nicht streiten :thumbup:

Ach und bevor ich falsch verstanden werde, ich will, derzeit, kein PacMan schreiben, es ist eher so das ich wissen will wie ich sowas starten würde.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

27.01.2017, 13:44

In Heikos Buch handelt das letzte Kapitel von einem Spiel mit SDL. Wenn du bei dem Kapitel angekommen bist siehst du ja schon mal eine Möglichkeit sowas anzugehen. Ansonsten gibt es da keine goldene Regel. Ich arbeite mich gern vom großen zum kleinen. So wie du selbst schon sagst, erst das Grundgerüst drum herum, dann die Spielwelt, dann den Spieler und so weiter. Theoretisch kannst du aber auch so anfangen dass du mit dem Spieler startest. Für den Anfang ist das vielleicht gar nicht so schlecht. Versuch erst mal eine steuerbare Grafik umzusetzen. Dann kümmerst du dich darum dass das Level angezeigt wird. Als nächstes kümmerst du dich um die Kollision und danach dann um Gegner und Collectables. Da hilft probieren über studieren. Wenn du dir nicht sicher bist was besser ist dann setz dich vor die Kiste und probier es aus :) Das hilft meistens am meisten. Wenn dabei etwas nicht so optimal läuft wirst du dich beim nächsten Projekt daran erinnern und es besser machen. Das ist sinnvoller als vorgekaute Wege die vielleicht auch nicht optimal sind, die man aber nun mal so gelernt hat und deshalb nicht so hinterfragt.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Unbegabt83

Frischling

  • »Unbegabt83« ist der Autor dieses Themas

Beiträge: 22

Wohnort: Mörfelden-Walldorf

Beruf: habe ich

  • Private Nachricht senden

3

27.01.2017, 14:00

Ich habe natürlich schon einmal vor geblättert und gelunzt.

Aber er beschreibt ja einen Weg den man gehen kann und mich Interessieren die anderen Wege. Das es am Ende darauf hinausläuft meinen Weg zu finden ist klar.
Aber über den eigenen Teller schauen schadet nie. Und das es unterschiedliche Wege gibt sieht man ja in den FAQ´s :thumbsup:

ich sage nur "int main()"

Tobiking

1x Rätselkönig

  • Private Nachricht senden

4

27.01.2017, 15:45

Schorsch hat es eigentlich schon ziemlich gut geschrieben. Gerade wenn man die Technologie, die man verwenden möchte, nicht kennt, wird man sich erstmal kleine Prototypen basteln um zu sehen wie was funktioniert. Es macht wenig Sinn die Logik für die Spielfigur zu entwickeln, wenn du noch gar nicht weiß wie man diese dann steuern und anzeigen kann. Ein "Durchstich" erlaubt dir dann erst weitere Entscheidungen zu treffen.

Wichtig finde ich noch sich klar zu machen das die Reihenfolge wie man ein Spiel spielt nicht unbedingt die Reihenfolge ist wie es entwickelt wird. Ohne Gameplay bringt dir z.B. ein Menu nicht viel. Es wird dich eher nerven, wenn du es immer wieder durchklicken musst, während du das Gameplay testest. Da es sich auch hinterher problemlos hinzufügen lässt, gibt es wenig Grund damit anzufangen.

Unbegabt83

Frischling

  • »Unbegabt83« ist der Autor dieses Themas

Beiträge: 22

Wohnort: Mörfelden-Walldorf

Beruf: habe ich

  • Private Nachricht senden

5

27.01.2017, 16:39

Ah siehst du diesen Aspekt hatte ich noch gar nicht in betracht gezogen.

Ich habe bei meiner Slotmachine zwar das Menü schon eingepflegt gehabt, habe aber für die Tests die Parameter geändert gehabt. (Zufallszahlen zwischen 1-4) um schneller kein Pärchen 1 Pärchen oder 3 richtige zu haben. Das Menü hatte mich dabei jetzt nicht gestört aber in einem Projekt wo ich mich immer durcharbeiten muss.... Danke für den Tip.

6

27.01.2017, 19:09

Ich entwickle meine Spiele (oder was sich so nennen darf) ganz allein. Ich fange zb erst mit der grafischen Seite an. Ich mache erstmal alle Bilder. Damit kann ich gleichzeit das konzepieren der App machen. Mir eine bessere Vorstullung machen und auch die Anforderungen des Spiels an meine Anwendung besser mir vor Augen führen.

7

28.01.2017, 01:51

Anfaenger beginnen gerne mit dem Hauptmenue oder dem Intro (habe ich damals auch so gemacht). Spaeter lernt man irgendwann, dass das der falsche Weg ist ;)

Wenn ich ein Spiel programmiere, dann habe ich natuerlich meist eine mehr oder weniger konkrete Idee. Diese setze ich normalerweise erstmal in Form eines Pseudo-Screenshots bzw. Mockups um. Dazu nehme ich ein Grafikprogramm und versuche ein Bild zu zeichnen, wie das fertige Spiel dann aussehen koennte. Meist beachte ich zu diesem Zeitpunkt bereits Tile- und Sprite-Groessen usw, und versuche dem ganzen also schon einen moeglichen Look zu geben. Ich muss dazu sagen, dass ich hauptsaechlich 2D-Spiele programmiere.

Anschliessend versuche ich, den Kern des Spiels so schnell wie moeglich umzusetzen, damit ich einfach mal sehen kann, wie das in "bewegter Form" aussieht. Ich bastle mir also ein Programm, das mein Level auf den Bildschirm zeichnet. Dies ist bei einem 2D-Spiel in meinem Fall oft eine simple verschachtelte Schleife, einmal in Y- und einmal in X-Richtung gehe ich ueber die Leveldaten (diese lege ich meist erstmal direkt als String ab, also z.B. "." als leerer Boden, "#" als Mauer, usw) und zeichne die entsprechenden Tiles. Als naechstes baue ich eine Spielfigur mit ein und sorge dafuer, dass sich diese mit den Pfeiltasten bewegen laesst usw.

Es haengt natuerlich auch immer von der Spielidee ab. Bei einem "Pong-Clone" wuerde ich natuerlich direkt mit einem schwarzen Bildschirm und 2 Schlaegern und dem Ball beginnen, da braucht es kein Level im Hintergrund. Vielleicht ist ein Pong-Clone auch gar keine schlechte Idee, wenn einem Pacman noch ne Stufe zu hoch ist.

Schlussendlich gibt es natuerlich auch Spiele, die gar keine Figuren oder Levels oder sowas haben. Da muss man dann natuerlich anders vorgehen, je nachdem wie das Projekt es erfordert. Moeglicherweise muss man sich mit einer bestimmten Spielmechanik beschaeftigen und diese erstmal prototypenhaft umsetzen, oder man muss sich erstmal ueberlegen, wie man das Spielgeschehen am sinnvollsten im Speicher ablegt. Aber da kann man natuerlich nichts allgemeines sagen.

Fischkralle

Frischling

Beiträge: 24

Wohnort: Köln

Beruf: Softwarearchitekt

  • Private Nachricht senden

8

28.01.2017, 12:49

Jeder wie es für ihn am besten ist.
Ich gehöre auch zu denen, die sich erst ein Grobes Gerüst bauen um dort erst mal den Kern ans laufen zu bekommen.
Ist dies geschehen wird das Gerüst immer weiter ersetzt.
Auf diese Weise kann ich das drumherum an den komplizierten Teil anpassen und mache mir den Kern nicht noch komplizierter dadurch, dass ich mich nach irgendwelchen Schnittstellen richten oder diese noch einmal umbauen muss.

Was den ganzen GFX Kram abgeht, in der Entwicklung nutze ich Prototypen als Grafiken. Gut genug um zu erkennen was es ist und sich in absolut jeder Community zu blamieren...
Erst in den letzten Schritten (neben Integration Tests usw.) werden erst die endgültigen Grafiken erstellt. (Bin mich gerade genau mit diesem Punkt am rumschlagen)
Der Vorteil, der sich hier ergibt ist, dass ich beim Testen immer sehen kann, wie alle Grafiken miteinander harmonieren.
Das gleiche übrigens für den Sound.
Geschriebene Sachen können Spuren von eigener Meinung und/oder Sarkasmus enthalten.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

28.01.2017, 12:58

Meine Empfehlung: Bleib noch etwas in der Konsole und mach einfach mal ein paar schwierigere Spiele wie z.B. Schachspiel oder Dungeon Crawler. In der Umsetzung komplexerer Spiellogik versteckt sich viel, was du über's Programmieren lernen kannst.

Unbegabt83

Frischling

  • »Unbegabt83« ist der Autor dieses Themas

Beiträge: 22

Wohnort: Mörfelden-Walldorf

Beruf: habe ich

  • Private Nachricht senden

10

31.01.2017, 12:37

@Fischkralle

Grafiken heisst du gehst in GIMP etc. und malst/bastelst einfach so wie es in etwa aussehen soll nur eben 75% und nicht 100%

Gute Idee nehme ich mit auf.

@dot

Wie ich ja schon geschrieben habe, ich bin weit weg von der "Spieleprogrammierung" daher ja erstmal wird es in der Konsole bleiben denke ich

@Zeha

Vielen Dank für deine Ausführung, Kommentar dazu habe ich via PM geschickt

@TypeOverride

Auch ne Idee wer es eher Visuell braucht. Stelle ich mir Persönlich bei Click & Point spielen sehr Sinnvoll vor

Werbeanzeige