wie gehts weiter

Spongi27

Grünschnabel
Hey Leute,
Ich habe vor einigen Jahren mit dem Programmieren (Blitzbasic) angefangen.
Nun bin ich bei C gelandet, dass mir sehr gefällt.
Was mir als Anfänger nun Kopfzerbrechen bereitet sind alle Bereiche der Grafik, den ich will eigentlich kleine Spiele erstellen.
Ich hab mal ein Bisschen bei google gesucht und es scheint drei Möglichkeiten zu geben:
1. SDL
2. OpenGL
3. DirectDraw

Bei SDL gibt es anscheinend keine Bücher und fast alle Tutorials sind für C++
Ebenso für OpenGL
Und bei DirectDraw sind alle Bücher und Tuts auf VisualC++ ausgerichtet.
Nun habe ich gehört, dass VisualC++ nicht viel mit C++ zu tun hat und langsamer sei und Runtime Bibliotheken benötigt und eigentlich will ich bei C bleiben und nicht noch ne Sprache lernen.

Ich will eigentlich kleine schnelle Programme, ohne Biblitheken in C schreiben.

Ist das realistisch, und wenn ja, was muss ich lernen bzw. lesen.
 
1) C und C++ sind recht ähnlich, du kannst den gleichen compiler verwenden...
wenn du c kannst, kannst du alles davon auch als c++ schreiben, das ist überhaupt kein problem

2) visual c++ hat nichts mit c++ zu tun :-)
wer hat dir den bär aufgebunden

und 3) OHNE Bibliotheken wirst du vermutlich einmal gar nichts machen, oder willst du ein neues betriebssystem schreiben :-)

nein, auch opengl etc kommt in lib(dll form an, wenn ich mich richtig erinnere...
da wirst du wohl damit leben müssen; auf bibliotheken kann man nicht so schnell verzichten

Ich würde dir nur empfehlen, zuerst ein wenig mit konsolenprogrammen zu üben vor opengl etc

gruß
 
Wenn du ernsthafte games programmieren willst, musst du lernen objektorientiert zu programmieren - C ist für echtzeitgrafik programmierung und vorallem für games nicht geeignet.
 
Nja auf der Basis, das OpenGL auch kein C++ ist ... nja egal :D SDL ist auch mist und veraltet. Wenn du C++ willst, nimmst du da eher http://www.sfml-dev.org/index.php

Also Visual C++ ist eine IDE + Compiler von Microsoft. Seid 2005er Versionen gibt es immer eine EE (Express Edition), die kostenlos zur Verfügung steht.
 
Also, ich hab im mom auch vor irgendwann ein game zu programmieren und benutze daher folgende bücher:

C++ PRogrammierung lernen, Andre willms -> Addison Wesley Verlag
3D-Spiele-Programmierung von Markt+Technik

^^im ersten buch werden Grundlagen zu c++ und oop beigebracht und im zweiten wird die "ZFX-Engine" entwickelt mit der dann im späteren Verlauf des Bcuhes ein Online-Shooter programmiert werden soll. Hört sich sehr vielversprechend an, und ist auch gut erklärt, da ich aber noch nicht soweit mit den büchern bin, kann ich noch nicht viel sagen.

Als Software gibt es zu buchcd des zweiten buch ne ablauf-version von vc++ 6. Ich benutze jedoch vc++ 2008 und bin vollstens zufrieden. vc++ 2008 express ist kostenlos.

Ach ja und wenn du ein ordentliches Game programmieren möchtest, wirst du um Bibliotheken wohl oder übe nicht drum rum kommen.

Wenn du irgendwann soweit bist, versuch dich doch mal an der Ogre3d Engine, ist opensource und hat ne richtig geile Grafik, wenn du dir die screens auf der hp (http://www.ogre3d.org/index.php?set...=com_gallery&Itemid=55&include=view_photo.php ) mal anschaust.

Es gibt ne menge bücher zu opengl und c++, zu sdl hab ich leider noch keine gesehn, aber für die grafik isses echt sch****e.

//edit: ach ja was ich noch vergessen hab: ogre wird von vielen entwicklern benutzt die die spiele auch kostenpflichtig vertreiben (lassen) (siehe deck13, wizarbox etc...)
 
Zuletzt bearbeitet:
Hmm C++ für Spieleprogrammierer ist sehr zu empfehlen. 3D Spieleprogrammierung mit C++ von David Scherfgen ist auch gut.

VC++6 zu verwenden bzw. überhaupt noch beizulegen ist, nunja, unerklärlich. VC++6 ist ein Compiler der Steinzeit und hält sich natürlich nicht an den Standard ... => Mülltonne.

hat ne richtig geile Grafik,
Möp. Du hast da scheinbar was nicht verstanden. Es hat (fast) nichts mit der Engine zu tun, wie geil die Grafik ist! Es ist nur die Frage, welche Optimierungsalgorithmen die Engine benutzt und wie die Verwaltungsebene aufgebaut ist. Ich kann dir (theoretisch :D ) nen Model von der Erde als Datensatz bereitstellen, das du vom original nicht unterscheidest, doch würde das Rendern davon einfach zu lange dauern! Es kommt eben darauf an, wie Normal Maps, Bump Maps usw. eingesetzt werden, um gute Ergebnisse zu erzielen.
 
Klar ist es eine Sache, wie und welche menge der Daten du in die Pipe schiebst, aber Die Engine muss dir doch auch erstmal eine möglichkeit dazu bieten, gute ergebnisse zu erzielen?

Aber eins ist mal fakt: Wenn man das Programmieren lernen nicht für den Beruf braucht, ist es unsinn ein seminar zu belegen. Ich brauch das später für mein beruf, deshalb mach ich ein Studium in dem Bereich...
 
Zuletzt bearbeitet:
Also mal eben C lernen ist nicht, ich denke du weißt in vielen Situationen nicht weiter, bzw. machst dann div. dinge die eigentlich total unnötig wären ( Performance ).

Bevor du dich wirklich mit der Grafikprogrammierung außeinandersetzen willst,
solltest du erstmal C abhaken.

So.
DirectDraw gibt es z.B. schon garnicht mehr, du wirst mit Direct3D arbeiten müssen, dort kansnt du natürlich auch 2D Grafiken zeichnen.

Und nebenbei: Eine Engine ist nicht nötig, wenn du dein erstes Spiel programmieren willst, dann programmier das Spiel und keine Engine.
Das wäre viel zu viel arbeit für ein erstes Spiel - vorrausgesetzt du willst gleich Crysis o.Ä. Toptitel nachprogrammieren :rolleyes:.

Wenn du dich dann erstmal mit den ganzen Funkionen, Klassen( & Methoden ), Enumerationen, Strukturen und Konstanten, bzw. der funktionsweise der API die du verwendest verstehst und etwas Grundwissen ( für ein kleines Spiel ) in Mathematik hast, dann steht deinem kleinem Spiel ncihts mehr im Weg und für weitere Spiele kannst du dir dann natürlich auch eine kleine Engine vornehmen.
 
Zurück