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

Karim

Frischling

  • »Karim« ist der Autor dieses Themas

Beiträge: 7

Wohnort: Düsseldorf

  • Private Nachricht senden

1

27.06.2012, 12:57

Aller Anfang ist schwer

Hallo Leute,

ich interessiere mich schon recht lange für die Entwicklung von (Indie)-Spielen wie z.B. Limbo und Konsorten und Spiele (vor allem Action-RPG's) im SNES Stile á la Terranigma.
Ich würde nun gerne anfangen das Programmieren zu lernen, um so nacheinander in die ,,Szene´´ zu kommen, allerdings bin ich da überfragt.
Ich habe manchmal das Gefühl, dass zu viel Lesen, auch nicht gut ist. Jeder berichtet dann doch von irgendwas anderem.

Daher ist meine Frage, oder besser ,,Oberfrage´´, folgende: Wie fange ich mit dem Programmieren für Indie Spiele an?

- Es gibt ja diverse Sprachen wie C oder C++ bzw. Python und Java etc. Ist es da an sich egal welche ich nehme oder zu was sollte ich greifen?

- Spiele wie Limbo und Spiele im Stile von Terranigma, Secret of Mana (nur vllt. in Nintendo DS Grafik anstatt SNES Grafik) sind ja technisch und grafisch anders. Brauche ich da verschiedene Engines?

- Engines etc. - Unity 3D höre ich immer wieder. Sollte ich das nutzen? Wofür brauche ich das genau? Ich habe auch mal gehört, dass Entwickler nicht alles selber programmieren, sondern gerne auf Codeschnipsel zurückgreifen, stimmt das?

Danke und Gruß,
Karim

babelfish

Alter Hase

Beiträge: 1 222

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

2

27.06.2012, 13:28

- Es gibt eine immense Anzahl an Programmiersprachen, jede davon hat ihre Vor- und Nachteile. Ein guter Programmierer wird aber kein Problem damit haben eine neue Sprache zu lernen, da die Grundprinzipen dahinter gleich bleiben.
Fange einfach mit einer Sprache an. Die ersten Wochen wirst du dich nur mit Grundlagen rumquälen.
C++ ist sicher keine schlechte Wahl, um gleich das Verständnis um Pointer etc. aufzubauen.
Da hier wahrscheinlich gleich ein Streit losgehen wird, welche Sprache die Beste sei, enthalte ich mich aber mal :D

- Simple 2D Spiele benötigen keine umwerfende Leistung, in der Enginewahl bist du also ziemlich frei, du benötigst im Grunde einfach ein Framework dass dir ein paar Grafiken auf den Bildschirm zaubert. Performance wird bei Anfängerprojekten IMHO überschätzt.

- Engines nehmen dir eine Menge Arbeit ab.
Stell dir vor, du möchstest z.B. einen einfachen Sound abspielen.
Da müsstest du das Dateiformat kennen, Datei auslesen, Buffer erstellen, Abspielen, Verwalten, evtl. noch loopen lassen...
Eine Audio-Engine bietet dir unter Umständen einfache Funktionen dafür. z.B. PlaySound("MeineDatei.mp3"); und fertig.

Hier musst du unterscheiden zwischen Game-Engines (Komplettpaket), Audio-Engines, Grafik-Engines, Netzwerk-Engines, ...

Karim

Frischling

  • »Karim« ist der Autor dieses Themas

Beiträge: 7

Wohnort: Düsseldorf

  • Private Nachricht senden

3

27.06.2012, 14:03

Hey babelfish und schon mal herzlichen Dank für deine Antwort und Hilfe :)

- Gut, wenn ich die Qual der Wahl habe, was die Programmiersprache angeht, denn dann werde ich zu C++ greifen, da ist dort schon was Erfahrungen sammeln kann und mich dort eh tiefer einarbeiten wollte. Passt dann schon mal ganz gut.

- Das mit den 2D Spielen klingt schon mal gut. Da ich aber sicherlich auch irgendwann mal was in 3D (also richtung Limbo und co.) versuchen möchte, wäre die Wahl auf einer Engine die beides kann sicherlich schlau(er), oder? Unity 3D ist ja eine Game-Engine (somit ein Komplettpaket) und schaut nett aus, zu mal ich las, dass man dort auch 2D Games programmieren kann. Oder kann man mir da ein anderes Framework empfehlen?

Wenn ich's richtig verstanden habe, lerne ich erst mal die Programmiersprache (in meinem Fall C++) und dazu am besten wohl DirectX (sollte man auch können, oder?) und schreibe dann den Code in meiner Game-Engine (beispielsweise Unity 3D) und packe, nachdem der Code erstellt wurde, die Grafiken rein, oder?

LG Karim

Embio

Frischling

Beiträge: 78

Wohnort: Da wo das Gras am grünsten ist

Beruf: Student - Physik

  • Private Nachricht senden

4

27.06.2012, 14:58

Guten Morgen.
Zuviel planen wie das mit Spielen später wird solltest du noch nicht. Erst mal heisst es den langen Weg zu bestreiten und programmieren zu lernen.
Auch ein Blick ins Wiki lohnt sich. Da stehen auch Buchempfehlungen weiter unten zu den einzelnen Sprachen.
Soweit ich mitbekommen habe kann man in Unity nur mit c# und javascript programmieren, aber (und auch das hab ich hier im Forum nur so aufgeschnappt) anscheinend kann man damit auch wie in einem GameMaker sein Spiel "zusammenbasteln".
Aber für den Anfang sind SFML und XNA auch sehr gut für Anfänger geeignet, um sich mit den Grundlagen noch weiter vertraut zu machen.

Zitat

3D (also richtung Limbo und co.)
Seit wann ist Limbo ein 3D Spiel?^^

Übrigens wird am Ende von Heikos Buch (steht auch bei den Empfehlungen im Wiki) ein kleiner 2D Raumshooter programmiert. Da hast du dann schonmal einen Einblick wie das ungf. funktioniert. Das Buch ist für Anfänger in C++. Also passend für dich.

Viel Spass beim lernen ;).
Olaf Schubert: "Die katholische Kirche steckt einfach mehr in seinen Nachwuchs"

Karim

Frischling

  • »Karim« ist der Autor dieses Themas

Beiträge: 7

Wohnort: Düsseldorf

  • Private Nachricht senden

5

18.07.2012, 12:29

Hey Embio,


sorry, dass ich mich jetzt erst melde. War die letzte Zeit im Ausland und konnte von dort aus nicht wirklich schreiben, sorry!
Danke für deine Tips und Du hast natürlich recht, Limbo ist kein 3D Spiel! War gerade nur irgendwie so, dass ich das im ersten Moment damit assoziiert habe.

Ich werde mir mal SFML und XNA anschauen und herunterladen. Das Buch schaue ich mir am Abend ebenfalls mal an, sieht schon mal interessant aus.
ALso hätte ich mit C++ und SFML/XNA als "Framework" schon mal eine gute Grundlage und könnte damit 2D Spiele á la Terranigma, Secret of Mana oder wie auf dem iPhone Zenonia programmieren (sofern man natürlich die Kentnisse zum Programmieren solcher Anwendungen und Spiele hat)?

Dann werde ich mich in den nächsten Tagen gleich mal ransetzen und mich langsam reintasten :thumbsup:

Danke und lieben Gruß,
Karim

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

18.07.2012, 13:02

Schau dir doch mal den Wiki-Artikel an, er richtet sich genau an Leute mit deinen Fragen:
Spiele programmieren lernen

eXpl0it3r

Treue Seele

Beiträge: 386

Wohnort: Schweiz

Beruf: Professional Software Engineer

  • Private Nachricht senden

7

18.07.2012, 15:20

Ich denke du bist dir gar nicht so bewusst was vor dir liegt. Programmieren ist nicht einfach etwas, das man innerhalb von ein bis zwei Wochen lernen kann und danach ein Spiel in der Grösse und Qualität von Spielen wie Limbo veröffentlichen kann. (Ausnahmen bestätigen die Regel.)
Ein solches Spiel zu programmieren benötigt ein Grundwissen, welches man sich in einem Prozess von meist mehrere Jahre aneignen muss. Selbst dann versteht man meist immer noch nur einen kleinen Teil der ganzen Sprache. Mit C++ ist der Schritt oft nocheinmal ein bisschen grösser, da die Sprache zwar sehr klein jedoch umso mehr komplexer ist.
Trotz alldem möcht ich dich nicht vom Einstieg ins Programmieren abhalten, jedoch vorschlag, am Anfangdir ein realistische Ziel zusetzten, wie z.B. ein Tetris Clone oder nochetwas einfacher ein Pong Clone. Das klingt jetzt wohl etwas langweilig, aber es ist ein realistisches Ziel.
Wenn du dann an dem Punkt angekommen bist, wo du dir nicht mehr Gedanken machen musst welche Zeichen zu schreiben um irfendetwas sinnvolles hinzukriegen, sondern dir überlegts wie du deinen Code strukturieren (Code Design) sollst, dann kannst du von mir aus einen weiteren Schritt zu etwas komplizierteren machen. Bei mir kam diese Umschaltung erst nach über einem Jahr programmieren. ;-)
Blog: https://dev.my-gate.net/
—————————————————————————
SFML: https://www.sfml-dev.org/
Thor: http://www.bromeon.ch/libraries/thor/
SFGUI: https://github.com/TankOs/SFGUI/

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

8

18.07.2012, 15:50

Und hier wiederholt sich was sich schon 100x wiederholt hat. Ignorier exploiter (nicht gegen dich) und fang einfach an... So lernt man es am besten ;) Und lass dir Zeit (etwas was ich gerne anders gemacht hätte).

Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

9

18.07.2012, 17:23

nochetwas einfacher ein Pong Clone. Das klingt jetzt wohl etwas langweilig, ...


Um das zu proggen musste ich mich erstmal sehr tief in die DirectX 11 Api, sowie WinAPI32 (in meinem Fall) einarbeiten. Von Langeweile kann ich da nicht berichten. Klar ich hätte so etwas wie SFML oder andere Frameworks nehmen können, wollte ich aber net. ^^

Mein Tipp, erstmal kleine Brötchen backen und einfach mal anfangen. Such nach nem C++ Tutorial und los gehts. Bei Problemen hilft man dir hier sehr gerne weiter.

Gruß

Fb

eXpl0it3r

Treue Seele

Beiträge: 386

Wohnort: Schweiz

Beruf: Professional Software Engineer

  • Private Nachricht senden

10

18.07.2012, 17:50

Zitat von »Fireball«


Um das zu proggen musste ich mich erstmal sehr tief in die DirectX 11 Api, sowie WinAPI32 (in meinem Fall) einarbeiten. Von Langeweile kann ich da nicht berichten. Klar ich hätte so etwas wie SFML oder andere Frameworks nehmen können, wollte ich aber net. ^^

Zum einen bist du da selbst schuld, da du SFML ablehnst und lieber die beiden schrecklichsten APIs der Welt wählest und keine der beiden dir in der Zukunft für andere Platformen helfen werden.
Zum anderen ist das als Fernziel angesetzt, welches man in ein paar Wochen oder Monaten erreichen kann.

@DeKugelschreiber: Es gibt halt beide Meinungen. ;) Und die Aufgabe des Programmieres ist meist ein Balance zu finden zwischen Code Design und einfach drauf los zu programmieren.

Kauf dir lieber ein gutes C++ Buch als dich mit oberflächlichen Tutorials zu beschäftigen. Wie bereits von den anderen erwähnt, nicht lange herum studieren, anfangen! :)
Blog: https://dev.my-gate.net/
—————————————————————————
SFML: https://www.sfml-dev.org/
Thor: http://www.bromeon.ch/libraries/thor/
SFGUI: https://github.com/TankOs/SFGUI/

Werbeanzeige