Einstieg in die Spiele-programmierung!

Alles Wissenswerte über Skripte, Browser, Makros, PhP, HTML...

Moderatoren: Moderatoren, Redakteure

Benutzeravatar
Renaku
Beiträge: 471
Registriert: 13.01.2009 17:53
Persönliche Nachricht:

Beitrag von Renaku »

Hi Skyline135,

Ich gehöre auch schon länger zu den Hobby-Programmierern. Deshalb kann ich dir nur den Rat geben, klein anzufangen und dich nach und nach an großere Projekte zu wagen, Ich habe hier mal 2 Einstiegs-Programmiersprachen für dich (die ich auch genutze habe bzw. teilweise heute noch nutze)

Wenn du einen guten Einstieg in die 2D Spieleprogrammierung suchst, und von Programmieren so absolut keine Ahnung hast, würde ich dir PureBasic empfehlen. Die ideale Programmiersprache für Einsteiger. Auf http://purearea.net/ findest du alles was du dafür brauchst (Tutorials, Programme, Comiler).
Bei PureBasic gibt es eine kostenlose Demo, dehren Funktionsumfang locker für den Anfang ausreicht, und die in der zeitlichen Nutzung nicht eingeschränkt ist

Soll es dagegen eine etwas anspruchsvollere Sprache sein, solltest du dich mal mit der C / C++ Erweiterung "Allegro" auseinandersetzten. Hierzu gibt es ein Buch mit dem Titel "Spieleprogrammierung" von Author "Lennart Steinke". Ebenfalls ein guter Einstieg in die 2D Entwicklung und Programmierung. Alle Programme für das Arbeiten mit Allegro sind sowiso kostenlos. Schau mal auf .http://alleg.sourceforge.net/wip.html (nur die Installation von Allegro ist etwas umständlicher)
roman2
Beiträge: 1906
Registriert: 07.06.2008 17:00
Persönliche Nachricht:

Beitrag von roman2 »

Hm, nur so ein paar Tips die noch nicht gegeben wurden...

1.) Fang nicht mit C++ an. Skriptsprachen wie Ruby oder Python sind anfangs sehr viel einfacher zu lernen, weil man sich einfach um weniger kuemmern muss.
Wenn du Ruby oder Python beherrscht, kannst du immer noch C++ lernen, und zwar deutlich schneller da du viele Konzepte uebernehmen kannst.

2.) Es gibt viele freie Bibliotheken, die dir einen Haufen arbeit abnehmen. Fuer C++ waeren das zB das schon genannte Allegro oder SDL (ok, das ist eigentlich C, kannst du aber trotzdem benutzen).
Fuer Python kenn ich nur PyGame, fuer Ruby muesstest du googlen.
Skyline135
Beiträge: 8
Registriert: 23.08.2009 22:17
Persönliche Nachricht:

Beitrag von Skyline135 »

Renaku hat geschrieben: Wenn du einen guten Einstieg in die 2D Spieleprogrammierung suchst, und von Programmieren so absolut keine Ahnung hast, würde ich dir PureBasic empfehlen. Die ideale Programmiersprache für Einsteiger. Auf http://purearea.net/ findest du alles was du dafür brauchst (Tutorials, Programme, Comiler).
Renaku hat geschrieben: Soll es dagegen eine etwas anspruchsvollere Sprache sein, solltest du dich mal mit der C / C++ Erweiterung "Allegro" auseinandersetzten. Hierzu gibt es ein Buch mit dem Titel "Spieleprogrammierung" von Author "Lennart Steinke". Ebenfalls ein guter Einstieg in die 2D Entwicklung und Programmierung.
Dank dir für die Tipps ;)
habe das genannte buch hier und es ist ehrlich gesagt nen bischen unübersichtlich und unverständlich geschrieben. ich bekomme es mit diesem buch net hin XD

Aber ich werde mich mal mit PureBasic beschäftigen, welches du empfolen hast. Scheint leicht verständlich zu sein
Benutzeravatar
|Chris|
Beiträge: 2400
Registriert: 13.02.2009 17:46
Persönliche Nachricht:

Beitrag von |Chris| »

Die Sprache ist nicht das Wichtige. Wichtig ist, das du erstmal die Gedanken zu Papier bringst, die du mit der Sprache formulieren möchtest ;) Denn die erschafft dir kein Spiel sondern ist nur Mittel zum Zweck.

Edit:
Ok, klar ist das Wekrzeug wichtig. Aber was ich damit sagen möchte: Auch das beste Werkzeug hilft dir nichts, wenn du nicht weist was du eigentlich damit machen möchtest.


Ein 2D-Spielchen ist ein sehr guter Anfang. Schnapp dir Papier und Stift und skizziere dein Spiel. Für den Anfang vielleicht ein Strategiespiel? Oder Adventure? Dann fang an dir darüber Gedanken zu machen wie du es realisieren kannst. "Wie zeichne ich das Spielfeld?", "Wie bewege ich Panzer 1 von A nach B?", "Wie läuft der Kampf ab?".

Denk daran das du Grafiken und Hintergründe für dein Spiel nicht einfach irgendwo hernehmen kannst sondern ebenfalls selbst erstellen darfst.
Benutzeravatar
Renaku
Beiträge: 471
Registriert: 13.01.2009 17:53
Persönliche Nachricht:

Beitrag von Renaku »

|Chris| hat geschrieben:Die Sprache ist nicht das Wichtige. Wichtig ist, das du erstmal die Gedanken zu Papier bringst, die du mit der Sprache formulieren möchtest ;) Denn die erschafft dir kein Spiel sondern ist nur Mittel zum Zweck.
Genau das ist das Problem für Anfänger, sie planen und planen und planen und sind hinterher enttäuscht, dass sich die ach so einfache Planung doch nicht so leicht umsetzen lässt. Oftmals ist die Enttäuschung so groß, dass sie sich von dem Thema Programmierung distanzieren.
Natürlich ist Planung wichtig, aber gerade Einsteiger übernehmen sich da halt auch gern mal.
|Chris| hat geschrieben: Edit:
Ok, klar ist das Wekrzeug wichtig. Aber was ich damit sagen möchte: Auch das beste Werkzeug hilft dir nichts, wenn du nicht weist was du eigentlich damit machen möchtest.
Wenn du dein Werkzeug nicht kennst, nützt es dir auch nichts, dass du weißt wass du damit schaffen willst. Erst wenn du dein Werkzeug kennst, weißt du, was es leisten kann und was du damit machen kannst. Das beste ist hier "Learning by doing".
Finde erstmal heraus, wie etwas funktioniert. Hinterher kannst du es immer noch in einem größeren Projekt verbauen.
|Chris| hat geschrieben: Ein 2D-Spielchen ist ein sehr guter Anfang. Schnapp dir Papier und Stift und skizziere dein Spiel. Für den Anfang vielleicht ein Strategiespiel? Oder Adventure? Dann fang an dir darüber Gedanken zu machen wie du es realisieren kannst. "Wie zeichne ich das Spielfeld?", "Wie bewege ich Panzer 1 von A nach B?", "Wie läuft der Kampf ab?"
Ein Strategiespiel wie du es beschreibst ist sehr Komplex. Die Map muss aufgebaut werden, Einheiten müssen Postiert und mit ein klein wenig KI versehen werden und der Gegner soll ja schließlich auch nicht bloß doof herumstehen (braucht also auch einen gewissen Grat an KI). Besser währe hier für den Anfang eine Art Pong- Klon oder ein Quiz-Spiel. Anfänger, die sich davon unterfordert fühlen, können es auch mit einem Side-Scrolling Shooter probieren.
Jaegerfeld
Beiträge: 4
Registriert: 31.08.2009 11:30
Persönliche Nachricht:

Beitrag von Jaegerfeld »

Wenn du jetzt anfangen willst das Programmieren zu lernen rate ich dir zu einer der neueren Sprachen wie C# oder Java.
Hier besonders zu C#, denn hier kann man per .NET und XNA sehr viel in kurzer Zeit erreichen.

Ich habe hier:

http://www.heartsofiron.eu/forum/viewto ... 63&t=12461

mal ein paar Bücherempfehlungen zum Thema gemacht.
Da dürfte für jeden was dabei sein.
Wenn wirklich ein gesteigertes Interesse da ist kann ich auch mit Tutorials und Seitenempfehlungen weiterhelfen.
Aron_dc
Beiträge: 238
Registriert: 02.12.2008 11:10
Persönliche Nachricht:

Beitrag von Aron_dc »

Einem Anfänger in der Programmierung würde ich auch eher zu einer Sprache wie JAVA (mit C# hatte ich noch keine Berührung, aber vom hörensagen ist es JAVA in den für Anfänger wichtigen Punkten wohl ähnlich) als Einstieg anstelle von C/C++ raten.

Ich bin gelernter Anwendungsentwickler (habe mehrere Jahre JAVAerfahrung) und lerne gerade den Umstieg auf C/C++.

Gerade für Anfänger können die strikten Vorgaben die Java macht, eine Erleichterung bei der Fehlersuche sein. Da dürfen nicht wild Typen umgewandelt werden ohne wenigstens eine Warnung auszulösen, da entfällt (die für Anfänger oft schwierige) Handhabung verschiedener Bibliotheken, die Problematik mit uninitiierten Variablen in C usw. .

Ich will damit nicht sagen, dass C/C++ eine schlechte Sprache ist (ganz im Gegenteil), aber die Compilermeldungen sind oftmals eher kryptisch und helfen (Anfängern der Programmierung) oft nicht wirklich weiter. JAVA gibt da oftmals relativ genau den Ursprung des Programmierfehlers an und vermindert allein durch die strikten Vorgaben schon Fehler, die C/C++ meist ohne mit der Wimper zu zucken annehmen würde.

Ich vermute, dass es sich mit C# ähnlich wie bei JAVA verhält.

@Alle Sprachenfanboys: Ich will hier jetzt weder eine Diskussion welches die bessere Sprache ist noch irgenwelches dämliches Geflame auslösen. Spart euch also beides.
Benutzeravatar
Sylence
Beiträge: 1154
Registriert: 10.07.2007 00:02
Persönliche Nachricht:

Beitrag von Sylence »

Leute die Sprache ist total wurst.
Wenn man Programmieren kann, dann braucht nur noch eine Referenz für eine X-beliebige Sprache um in dieser Sprache programmieren zu können.

Es hat auch durchaus seine Vorteile mit einer Sprache, in der man sich schön das Bein abschießen kann zu lernen. So lernt man direkt das wichtigste, nämlich das Debugging.
Jaegerfeld
Beiträge: 4
Registriert: 31.08.2009 11:30
Persönliche Nachricht:

Beitrag von Jaegerfeld »

Naja, in Basic oder so macht Spieleprogrammierung keinen Spaß.
Natürlich ist Debugging wichtig.

Aber viel wichtiger ist, dass man mit der Sprache auch seine Wünsche vernünftig umsetzen kann.

Wenn du in Basic oder Fortran 3D Grafik programmieren willst ist das deine Sache.

Dem Threadersteller hilft das aber wenig.

Da er nach eigener Aussage Anfänger ist sollte er sich lieber gleich einer modernen Sprache zuwenden.

Hat auch den Vorteil das für diese viel aktuellere Tutorials und IDEs zur Verfügung stehen.
Und Frameworks wie XNA nehmen ihm sehr viel Arbeit ab, wodurch man sich auf das wesentliche konzentrieren kann.
Benutzeravatar
blackeagle2k3
Beiträge: 189
Registriert: 07.04.2009 15:51
Persönliche Nachricht:

Beitrag von blackeagle2k3 »

Hatte jetzt keine lust alles zu lesen....

Ich sag dir nur so wi es mir damals ergangen ist...

also ehrlich gesagt war ich genau so wie du...

ähh mathe blaa ne ich will ein spiel machen was soll der scheiß in diesem buch...

hab mich in etlichen foren ausgehäult aber wen ich dir einen tipp geben darf fang mit was sehr leichtem an und lerne als erstes kleine Programme in .Net VBA giebt es auch unter dem link

dan geh unter:
http://de.wikibooks.org/wiki/Visual_Basic_.NET:_Felder

oder unter galileo open book einfach bei google.de eingeben giebt es auch gute anfänger tuts...

so das nächste was ich gehasst habe ist wenn nichts geklappt hat ich schreib mal ne rezeptur auf die fast überall gilt sogar beim gitarre spielen!...:

1.Gedult sehr wichtig
2.lies dich rein und wiederholen wiederholen wiederholen
3.Wen du etwas geschaft hast machs so lang bis du keine hilfe mehr brauchst...
4.es ist nicht schlimm hilfe zu brauchen das ist auch etwas wichtiges.
5.Lass dich auf keinen Fall entmutigen egal was Forum spinner wie ich oder andere sagen
6.Melde dich in einem Gescheiten programmier Forum und dan in ein Spiele Programier forum an...
7.Lerne Lerne Lerne Lerne
8.Auf keinem Fall mit schwerer dingen anfangen ist ziemlich doof da man keinen erfolg hat und schnell entmutigt wird...
9.Wen du das geld hast mal kurse besuchen... ist aber nicht so wichtig

Das hat mir geholfen und heute bin ich ein mittlerer Progger nach nem halben jahr und kann recht viel würde ich sagen und das mit 17 also

Nochmals die wichtigen sachen...

GEDULT GEDULT Üben üben üben... auf keinem fall entmutigen lassen!
Aron_dc
Beiträge: 238
Registriert: 02.12.2008 11:10
Persönliche Nachricht:

Beitrag von Aron_dc »

Sylence hat geschrieben:Leute die Sprache ist total wurst.
Stimmt ja prinzipiell auch. Nem Anfänger würd ich trotzdem eher ne Sprache ans Herz legen die ihn stärker an die Hand nimmt und ihn nicht alle paar meter mit kaltem Wasser überschüttet.
Sylence hat geschrieben: Wenn man Programmieren kann, dann braucht nur noch eine Referenz für eine X-beliebige Sprache um in dieser Sprache programmieren zu können.
Auch richtig, aber wie du schon selbst feststellst "Wenn man programmieren kann...". Das kann der Threadstarter aber noch nicht.
Sylence hat geschrieben: Es hat auch durchaus seine Vorteile mit einer Sprache, in der man sich schön das Bein abschießen kann zu lernen. So lernt man direkt das wichtigste, nämlich das Debugging.
Das macht man in jeder Sprache zur genüge, wenn man lernt. Da braucht man sich denke ich keine Sorgen machen zu kurz zu kommen.



Geduld und kleine Ziele sind aber am Anfang wirklich sehr hilfreich, da jeder Teilerfolg wiederrum motivierend wirkt.
Kashrlyyk
Beiträge: 6
Registriert: 27.11.2008 19:42
Persönliche Nachricht:

Beitrag von Kashrlyyk »

Du kannst auch hier hin gehen: http://www.3dbuzz.com/vbforum/sv_home.php

Dort dann unter "Most recent videos" "Free"-> "C++" auswählen und diese der Reihe nach anschauen und mitmachen.