Wie fange ich mit Programmieren?

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
roker002
Beiträge: 23
Registriert: 29.03.2009, 23:49

Wie fange ich mit Programmieren?

Beitrag von roker002 »

Hallo... Bin ganz neu hier.
Habe Studentenliz von Visual Studio Serie.

Hab bis jetzt nur MFC und Consolenorientierte Projekte gemacht.
Mein Frage ist: Welches Projekt muss ich jetzt für die Spielentwicklung nehmen?
Interessiere mich für die 3D Spielentwicklung (Naja eigentlich ist es besser wenn man 2D zuerst anfängt).

Könnt ihr einen Noob bisschen aushelfen :P

Danke
Dateianhänge
Projektauswahl.
Projektauswahl.
proj.jpg (113.3 KiB) 7169 mal betrachtet
Seraph
Site Admin
Beiträge: 1184
Registriert: 18.04.2002, 21:53

Re: Wie fange ich mit Programmieren?

Beitrag von Seraph »

Hallo und willkommen.

Ich weiss nicht genau was Du machen moechtest, von daher kann ich Dir leider auch keine ganz klare Antwort geben. Solltest Du ausschliesslich fuer Windows und mit DX/OGL entwickeln wollen, so waere wohl "Win32-Projekt" die richtige Vorlage. Fuer andere Projekte evtl. auch nur eine normale Win32-Konsolenanwendung.

Wobei ich Dir sogar empfehlen wuerde, evtl. auf .net und XNA umzusteigen. Damit ersparst Du Dir zumindest viele Dinge, die Du so "von Hand" machen muesstest. Aber es kommt auch hier darauf an, was Du machen und lernen moechtest. Ich weiss allerdings, dass in der Vergangenheit viele wieder von dem Thema weggekommen sind, weil sie nicht das erreicht haben was sie wollten, was auch kein Wunder ist, wenn man immer erst bei den Wurzeln anfangen muss. XNA nimmt Dir viele Schritte ab und .net biete viele Dinge die man unter C/++ vermissen tut (sowohl von den Features als auch von den Bibliotheken her). Klar, alles ist auch in C++ moeglich, es ist nur eine Frage des Aufwands.

(Dieses ist aber nur meine persoenliche Meinung, sprich es wird sicher einige geben die das verstaendlicherweise anders sehen. :))

PS: Hier findest Du viele Beispiele wie man XNA zu benutzen hat, wie man Projekte aufbaut, etc.
roker002
Beiträge: 23
Registriert: 29.03.2009, 23:49

Re: Wie fange ich mit Programmieren?

Beitrag von roker002 »

Ich wusste garnicht, dass die Spielentwicklung (Engine) soviel mit Lineare Algebra zutun hat. Dachte dass Info mit Nebenfach Physik währe näher dran :D
LA kann man schon vertragen aber keine Theorie :P

XNA.... ist nur für Xbox Live, oder ist es ein genereller IDE für die spielentwicklung? :roll:

Ich möchte von Null anfangen. Sicher sind die Tools wie XNA für den anfänger gut geeignet aber man überspringt auch ziemlich viel stoff was nachher eventuell negative Auswirkung hat.Naja ich sehe mir trotzdem die XNA an.

Danke.
Alexander Kornrumpf
Moderator
Beiträge: 2138
Registriert: 25.02.2009, 13:37

Re: Wie fange ich mit Programmieren?

Beitrag von Alexander Kornrumpf »

Genauso könnte man argumentieren, dass C++ zu sehr von den Grundlagen der Maschinensprache abstrahiert, was "nachher eventuell negative Auswirkungen hat".

Ich verschiebe den Thread mal nach Programmiersprachen...
Benutzeravatar
Richard Schubert
Moderator
Beiträge: 106
Registriert: 27.02.2009, 08:44
Wohnort: Hohen Neuendorf (b. Berlin)
Kontaktdaten:

Re: Wie fange ich mit Programmieren?

Beitrag von Richard Schubert »

XNA ist auch für PC und Zune einsetzbar. Es ist auch möglich bei null anzufangen, solange du Helferklassen wie Sprite oder Mesh vermeidest. Würde ich allerdings nicht empfehlen, da man sich dort immernoch später einarbeiten kann. Learning by doing halte ich für das beste Prinzip. Einfach ein paar XNA Samples herunterladen und dort im Code rumspielen und zusammenkopieren. Die Lernkurve steigt so am schnellsten und die Motivation bleibt auch am längsten erhalten. YMMV
Produktivität über Performance - XNA Creators Club
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Wie fange ich mit Programmieren?

Beitrag von Aramis »

Ich möchte von Null anfangen
Auch wenn du von 0 anfängst, musst du auf bestimmte, mehr oder weniger abstrahierende Bibliotheken bzw. Programmierschnittstellen setzen um irgendetwas auf den Schirm zu bringen. Für unmanaged, sprich 'ganz normales', C++ wären das z.B.
  • WinAPI
  • OpenGL
  • Direct3D
  • SDL
  • Allegro
Guck dir doch einfach mal an was es gibt und probier mal rum. Tutorials hat es genug, Wikipedia hat auch Informationen. Schlussendlich geht es darum ein Gespür für die Materie zu bekommen ... dann ist es irgendwann relativ egal welches Werkzeug du benutzt um an's Ziel zu gelangen :-)

Alex
Benutzeravatar
Schrompf
Moderator
Beiträge: 5047
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Wie fange ich mit Programmieren?

Beitrag von Schrompf »

Mein Klick in der obigen Auswahlliste wäre "Leeres Projekt" - krall Dir eine Bibliothek Deiner Wahl und binde sie in das so erzeugte Projekt ein. Füge dann ein neues Source-File hinzu und paste dort den Beispiel-Startcode der jeweiligen Bibliothek rein. Und schon geht's rund.

So ganz ohne eine Bibliothek im Hintergrund würde ich allerdings nicht anfangen. In dem Kontext wird dann gern zu XNA geraten, was praktisch den Programmiersprachenwechsel hin zu C# impliziert. Kann man machen, C# ist auch ne schöne Sprache. In C++ gibt es aber genauso Bibliotheken, mit denen man schnell zum Ziel kommt - Alexander hat bereits die für die Spieleentwicklung interessanten aufgezählt. Wenn Du die Hardware direkt massieren willst, würde ich Dir die Start-Tutorials aus dem DirectX-SDK empfehlen. Die beginnen bei einem rotierenden Dreieck. Wenn Du mehr die Anwendung, also ein konkretes Spiel im Auge hast, rate ich Dir eher zu einer fertigen Engine. Irrlicht zum Beispiel soll sehr simpel aufzusetzen und zu benutzen sein. Taugt auf Dauer zwar nicht so viel, finde ich, aber ist ein prima Anfang, um in die Materie reinzuschnuppern.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
roker002
Beiträge: 23
Registriert: 29.03.2009, 23:49

Re: Wie fange ich mit Programmieren?

Beitrag von roker002 »

XNA ist aber nur unter C# verfügbar oder?

hat vielleicht jemand Tutorials Seiten für die DX auf C++ Programmierung?
Muss noch mein bachelor schreiben :P

Danke für die Hilfe!
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Wie fange ich mit Programmieren?

Beitrag von Aramis »

Keine wirklichen Tutorials, aber sauberen und gut verständlichen Beispielcode findest du hier.
Benutzeravatar
dowhilefor
Moderator
Beiträge: 173
Registriert: 27.02.2009, 15:44
Alter Benutzername: 6SidedDice
Echter Name: Nico Probst
Wohnort: Bochum
Kontaktdaten:

Re: Wie fange ich mit Programmieren?

Beitrag von dowhilefor »

Ich kann auch nur XNA empfehlen. Unter C++ hat man gerne mal das Gefühl das es "das richtige echte" Spieleprogrammieren ist. Aber am Ende entscheidet, was hinten rauskommt. Und XNA ist mächtig genug, für das was man als Anfänger auf die Beine Stellen kann (und darüber hinnaus) ohne das man sich mit eher nervigen Dingen rumplagen muss, die man am Anfang eh ohne zu verstehen irgendwo rauskopiert.
Fang mit XNA an und du wirst früh Spieleprogrammieren ... Nimm C++ und du wirst dich erstmal mit anderen Dingen plagen müssen, bevor du ans Spieleprogrammieren kommst.
Der Umstieg von C# zurück auf C++ ist übrigens auch einfacher als man denkt. Hat man erstmal das grobe Konzept von DirectX und Spieleprogrammierung gelernt, dazu ein paar gute Praktiken aufgeschnappt kann man immernoch zur "echten" Spieleprogrammierung umsteigen ;)
Mein Gehirn besteht nur noch aus einem hash-index, ich weiss was ich kenn aber kenn nicht was ich weiss
Benutzeravatar
ponx
Establishment
Beiträge: 217
Registriert: 04.05.2008, 12:52
Echter Name: Andy Ponx
Wohnort: Hamburg
Kontaktdaten:

Re: Wie fange ich mit Programmieren?

Beitrag von ponx »

Also was ich zum Einsteig sehr empfehlen kann ist http://www.directxtutorial.com .
Es ist zwar nicht mehr so ganz aktuell (DirectX9, und die Shader kommen erst am Ende) und der Code ist nicht 100%ig sauber, aber es nimmt einen sehr schön bei der Hand, und man kriegt die Grundladen in relativ leicht verdaulichen Häppchen serviert. Außerdem kommt's ohne weitere Bibliotheken aus, was ich zum Lernen irgendwie befriedigender fand.

Auch sehr empfehlenswert und vom Code her sehr sauber sind die Tutorials auf http://www.gametutorials.com/ . Die sind allerdings nicht ganz so ausführlich erklärt wie http://www.directxtutorial.com, und man ist vom Aufbau her etwas verloren. Aber als Tutorial-Nachschlagewerk, wenn man schon ein paar Erfahrungen gesammelt hat, super ! und absolut fehlerfrei.
Antworten