Games programmieren lernen

nightm4r3

Gesperrt
Mitglied seit
20.11.2005
Beiträge
117
Renomée
0
Hey leutz

So und zwar, ich und mein kumpel wollten uns schon immer mal ein eigenes game machen aber mit richtig guter grafik...Da wollt ich mal fragen könnte man das mit c++ schaffen ich kenn mich da noch garnich aus...was für ein handbuch sollte ich mir da zu legen oder mehrer...
 
Lass es. Üblicherweise schreiben so Gruppen von 20 Leuten über mehrere Jahre an einem einzigen Spiel, also du mit deinem Kumpel schaffst vielleicht in 10 Jahren ein einzelnes Spiel.

Abgesehen davon lernt man Programmieren net von heut auf morgen. Ein paar Jahre sind da Minimum, bis man's wirklich ordentlich kann.
 
Mal abgesehen davon, daß Du in Mathematik sehr fit sein solltest, da gerade 3D-Grafik von der Mathematik lebt.

Mal so zur Info:
http://de.wikipedia.org/wiki/3D-Computergrafik

Versucht erstmal, in einem Renderprogramm wie z. B. POV-Ray (kostenlos) ein Bild "mit richtig guter Grafik" zu rendern.

MFG,
kreuzritter2001
 
Lass es. Üblicherweise schreiben so Gruppen von 20 Leuten über mehrere Jahre an einem einzigen Spiel, also du mit deinem Kumpel schaffst vielleicht in 10 Jahren ein einzelnes Spiel.

Abgesehen davon lernt man Programmieren net von heut auf morgen. Ein paar Jahre sind da Minimum, bis man's wirklich ordentlich kann.

Ich habe ich gesagt das ich das von heut auf morgen lernen will echt....Ich habe gesagt ich will das unbedingt lernen ich weris das man dafür sehr viel zeit braucht und mehr leute...meine frage war aber woher ich erstmal so ein buch herbekomm damit ich die c++ sprache lerne und ein buch fürs spiele programmieren
 
Wenn du damit anfangen willst, guck in die Linksammlung in diesem Forum, die ist für genau solche Fragen da :].

Aber die Idee mit POV-Ray ist garnet schlecht, mach damit mal ein ordentliches Bild. Dann hast du ungefähr einen Ausblick, was dich erwartet (nur die Mathematik brauchst du bei POV-Ray deutlich weniger).
 
Hier mal ein Bild, das in POV-Ray gerendert wurde:

http://img.zazzle.com/dzn/28EE2138-E189-4076-9FF3-65E718D01D4C/pre_sz500_qt80.jpg

Im Gegensatz dazu sehen Screenshots von Grafikengines wie die von FEAR oder Far Cry richtig alt aus. ;)

Ich selbst habe früher (als ich noch mehr Zeit hatte) mal eine Weile Szenarien mit POV-Ray gerendert und viel dabei gelernt (Dreidimensionales Denken, (Normalen-)Vektoren, etc.).
Im Prinzip machen moderne 3D-Engines nichts anderes:
- Du hast ein Szenario (z. B. einen Level in einem 3D-Shooter)
- Du kannst die Kamera bewegen (z. B. vorwärts- oder rückwärtslaufen)
- Du kannst den Blickwinkel der Kamera verändern (z. B. Blickwinkelveränderung mithilfe der Maus)
etc.

Einziger Unterschied:
Eine 3D-Engine berechnet abhängig von den Eingabedaten neue Bilder (schneller, da dedizierte Berechnungseinheiten (Vertex- und Pixel-Shader der GPU); schlechtere Qualität, da es sonst zu lange dauern würde (niedrige Bildrate)).

MFG,
kreuzritter2001
 
So einfach ist es beileibe nicht. Beließ sich mal über Transformationsmatrizen und all solche Sachen, natürlich sollten elementare Geschichten wie Zeiger usw. schon verinnerlicht sein.
Aber mit den Matrizen geht der Spaß erst so richtig los.

Hast du das POV-Ray bild auch noch in höherer Auflösung? Sieht nämlich wirklich verdammt gut aus ;).
 
Hast du das POV-Ray bild auch noch in höherer Auflösung? Sieht nämlich wirklich verdammt gut aus ;).

Yep ! Das Bild ist VERDAMMT geil :) Hätte Kreuzritter nicht geschrieben, dass es sich um ein Renderwerk handelt, hätte ich es glatt für "echt" gehalten... ! Stark!
 
Hi,

um die eigentlichen Fragen von nightm4r3 mal zu beantworten:

Ja mit c++ ist es möglich spiel zu entwickeln, aber um sich an spiele heranzuwagen sollte man wie schon erwähnt einbischen was in c++ drauf haben.
Als Buch für 3D-Spiele kann ich "3D-Spieleprogrammierung" von Scherfgen empfehlen, da wird unteranderem auch nochmal die ganze Mathematik kurz durchgesprochen.
 
@feelx

Naja, an ein paar Ecken sieht man leider doch, dass es nicht echt ist. Zum Beispiel der exakte Schattenwurf durch die Jalousie (hoffe richtig geschrieben ;)). In Wirklichkeit gäbe es da Übergänge zwischen schattig und sonnig, aber das ist mit jedem Renderer schwierig hinzubekommen (mal von Lightmaps abgesehen, aber die sind sowieso eine unschöne Geschichte).

Ansonsten wurden aber die üblichen verdächtigen beseitigt (außer dem Zigarettenrauch). Durch die Sonneneinstrahlung fällt es auch nicht auf, dass das Büro auf hochglanz poliert ist (übliche Schwäche von solchen gerenderten Sachen).
 
Hey leutz

So und zwar, ich und mein kumpel wollten uns schon immer mal ein eigenes game machen aber mit richtig guter grafik...Da wollt ich mal fragen könnte man das mit c++ schaffen ich kenn mich da noch garnich aus...was für ein handbuch sollte ich mir da zu legen oder mehrer...

So etwas habe ich mit 14 auch vor gehabt und ich kann dir sagen, da wird nichts draus. Erstens ist es viel zu kompliziert, zweitens viel zu viel Arbeit und drittens wird es dich schon bald nicht mehr freuen, auch wenn du das jetzt noch nicht glauben kannst.
 
Tolle Nachwuchsförderung hier. :P
So und zwar, ich und mein kumpel wollten uns schon immer mal ein eigenes game machen aber mit richtig guter grafik...Da wollt ich mal fragen könnte man das mit c++ schaffen ich kenn mich da noch garnich aus...was für ein handbuch sollte ich mir da zu legen oder mehrer...
Lerne zuerst einmal zu programmieren. Dafür kann man die allgemein empfohlenen Lektüren verwenden.
Damit kannst du schon sehr schnell einfache textbasierte Spiele bauen.
Danach auf jeden Fall etwas mit Softwaredesign beschäftigen.
Das Wissen, wie von der Syntax her objektorientiert programmiert wird, nutzt einem nicht viel, wenn man nicht weiß wie man ein vernünftiges Klassendesign bastelt. Üben kann man das schon am Klassendesign für ein kleines 3D-Spiel. Allerdings nicht im Quellcode, sondern in UML! An einem UML Diagramm können erfahrene Leute dir direkt Fehler zeigen und Verbesserungsvorschläge machen.
Man sollte auch die Basisdesignpattern kennen.
Nächster Schritt wäre dann etwas mit OpenGL rumzuspielen. Mit drehende Dreiecken anfangen und immer einen Schritt weiter gehen.
Danach kann man sich an das erste einfache 3D Spiel in Angriff nehmen.
Hier gilt auch wieder: Zuerst das Design auf Papier/UML, dort möglichst viele Fehler beseitigen, verschiedene Lösungen besprechen und erst danach mit der Implementierung anfangen.
Als Zeitrahmen kann man, wenn man viel Zeit investiert, eigentlich 3-4 Monate rechnen um das erste Spielchen fertig zu kriegen. Kenne einige Leute, die es in der Zeit von Null an geschafft haben.

Richtig gute Grafik würde ich aber abhaken. Abgesehen von dem notwendigen Wissen werden euch die Designer für den Content fehlen.
Für den Spaß ist das aber auch garnicht notwendig. ;)
 
Oder um es mal anders auszudrücken, schreibt erstmal ein 2D-basiertes pacman etc, und dann könnt ihr weiter sehen. ;)
 
Kann mir jemand ein gutes Einsteiger How-to für OpenGL mit C/C++ empfehlen?

Ich hab zwar ein wenig Erfahrung mit swing & awt in Java aber das wars auch schon was mit "Klicki Bunti Grafik" zutun hat. *noahnung* ;D
 
Hallo.
Wenn ihr noch gar nicht programmieren könnt, schaut euch erstmal Literatur zu C++ an. Vom ersten "Hello world" bis zum komplexeren Programm mit mehreren Klassen, Vererbung und einigen *.c und *.h Files ist schon ein gutes Stück Arbeit.
Dann könnt ihr euch in Zeiger knien, Function Pointers usw.
Anschliessend gehts dann daran ein Programm anhaltend etwas berechnen zu lassen, bis der Anwender das Programm abbricht. Bis hierher genügen wirklich Konsolenanwendungen.

Jetzt gehts ans Eingemachte. Ihr könnt euch mal die Irllicht-Engine anschaun. Die ist im Vergleich zur DirectX Programmierung noch einfach. DirectX ist extrem komplex. Die Irrlicht-Engine ist beherrschbar. Generell gilt: je einfacher eine Engine und je weiter weg sie von DirectX ist (oder OpenGL) desto weniger kann sie meistens und desto länger dauert es, bis Neuerungn in DirectX ihren Weg in die Engine finden.

Wenn ihr die ersten Anwendungen in Irrlicht erfasst habt (und das kann dauern), dann könnt ihr euer Spiel designen. Aber wenn ihr diese Reihenfolge nicht einhalten könnt, und gleich "geile Grafik" sehen wollt, solltet ihr euch nicht allzuviel Chancen ausrechnen. Programmieren ist ein echter Knochenjob.

[edit]
Als Entwicklungsumgebung könnt ihr entweder Bloodshed dev-C++ oder Visual C++ Express 2005 verwenden. Beides ist legal kostenlos :)
[/Edit]

Viel Erfolg dennoch,
exr
 
hmm also ich würde einen ganz anderen Weg vorschlagen: lasst es erstmal mit Programmieren und verstucht stattdessen ein "richtitig gutes" Mod für ein populäres 3D-Spiel zu machen.
Da habt ihr gleich die möglichkeit ein Spiel mit aktueller Grafik zu machen und ihr lernt Dinge, die heutzutage mehr Personal bei der Entwicktlung eines moderen Spiels benötigen als das Programmieren: 3D-Modelle und Texturen erstellen, sowie Geräusche und Musik Abmischen.
Vorallem wenn man bedenkt, dass viele Firmen, die Spiele entwickeln die Grafikengine fertig einkaufen.

Einer der mit mir auf die Schule geangen ist, hat mal mit Mods für Quake3 angefangen und arbeitet jetzt bei Gothic 3 mit.
 
Jopp ich würde auch sagen, dass ihr mit Mods anfangen solltet das ist nicht so schwer.
Vielleicht für CS: Source oder Battlefield2 denn da wirds dank guter SDKs den moddern sehr einfach gemacht.
Wenn du es drauf hast kannst ja gleich bei PointofExistence mitmischen.;D
Aber soweit ich das lesen konnte willst du gleich eine Engine mit programmieren.
Da halt ich nicht soviel von, eine richtig gute Engine wird von Entwicklerteams gemacht.

mfg
Chris
 
hiho erstmal
also... ich bin grad bei c++ und hab schon das mit texten fast abgeschloßen und wollte anfangen was für "spielpogrammirung" zu tun... hab dann die seite getroffen und fand es gut...
vllt könnt ihr mit noch paar sachen sagen... wird mich freuen8):P;D
 
Zuletzt bearbeitet:
hiho erstmal
also... ich bin grad ei c++ und hab schon das mit texten abgeschloßen und wollte anfangen was für "spielpogrammirung" zu tun... hab dann die seite getroffn und fand gut...
, vllt könnt ihr mit noch paar sachen sagen... wird mich freuen8):P;D

Ja, gut so - mach mal weiter.
 
Spiele Programmierung für welche Plattform? Windows? Dann schau Dir mal Visual Studio Express C++ an.

Ansonsten: Jo, Klasse Raytracing Grafik, nur das Raytracing (bis jetzt) ein reiner CPU Job ist. Bei heutigen Spielen arbeitet man mit Texturen, die vorgeben sind, während beim Raytracing jeder Lichtstrahl incl. Brechungen und Reflexion betrachtet wird.

Es gibt eine Forschungsarbeit von Daniel Pohl, der Raytracing in Spielen betrachtet. Die Grafik sieht viel cooler aus derzeitige Render-Engines produzieren, nur leider alles ein reiner CPU Job. (Bericht auf Computerbase.de)

Also, verabschiede Dich erstmal von "Hammergeilen Raytracing Grafiken"... Ausserdem macht ein gutes Spiel nicht die Grafik aus, sondern das Konzept (siehe "World of Goo", "Darwinia", "Crayon Physics Deluxe").

Denoch weiterhin, viel Erfolg! Und viel Durchhaltevermögen!
 
spiele brauchen schon etwas grafik, ohne geht ma auch net...
und ich hab genug einfälle für spiele... das was ich jetzt machen wird ganz besonders...
bloß bin erstmal alleine und suche noch paar anderen... aber gleich zu sagen.. xD
hab mein leben noch vor mir...;D
und danke ^^
PS: wenn jemand bock hat mit mir ein spiel zu pogrammieren soll mich mailen oder iwi bescheid sagen... kann jede hilfe gebrauchen xD*lol*;)

achso is der visual studio umsonst?? und gib mir dann Büdde ein link xD dann hast was richtig gut bei mir... ;D
 
Zuletzt bearbeitet:
achso is der visual studio umsonst?? und gib mir dann Büdde ein link xD dann hast was richtig gut bei mir... ;D
Endlich mal eine vernünftige Frage! Jaein Visual Studio ist (nicht) "umsonst". Es gibt aber eben Express-Editionen die Teilweise eingeschränkt sind. Mit ein paar zusätzlichen Downloads kannst du aber die Express-Editionen erweitern. Lizenztechnisch hast du aber mit allen "umsonst"-Versionen von Microsoft immer ein Problem (Lizenzbedingungen).
Für dich wäre vielleicht mal interessant heraus zu bekommen ob du auch an Schülerlizenzen heran kommst. Lies dir mal diese Meldung durch!. Wenn das klappt oder du erfolgreich die Schule abschließt und ein Studium beginnst dann kannst du auch die größeren Produkte von Microsoft umsonst beziehen. Siehe hier bei Dreamspark.com.
 
Zuletzt bearbeitet:
Zurück
Oben Unten