Ein einfaches Gametutorial

eXe

Grünschnabel
Hallo zusammen,

ich möchte in C++ ein einfaches Spiel programmieren (um so in C++ einzusteigen - Herausforderung usw. :) )
Aber ich finde nirgends ein Tutorial, was mir hilft:

- Ein Fenster mit einem Hintergrund, davor ein Männlein was man mit der Tastertur hin und her bewegen kann, mehr erst mal nicht.

Kennt jemand ein solches Tutorial ?


Greetings
eXe
 
Hi,

ein gut gemeinter Ratschlag meinerseits: Steck Deine Ziele nicht direkt am Anfang zu hoch, lern lieber erstmal die Grundlagen. Gerade C++ ist eine Sprache, die viel leistet, aber auch viele Tücken hat. Daher solltest Du Dir vielleicht erstmal ein Buch zulegen und mit Hello World anfangen, um die Sprache auch wirklich zu verstehen.
Sieh Dir dazu einfach mal die Linksammlung hier im Forum an, oder such bei Google. Tutorials und Beispiele für C++ gibt es genug. :)

Gruss, Dario
 
Hallo Dario,

danke für den Hinweis, aber ich hab schonmal C++ programmiert und nun auch alle Google Tutorials durchgelesen (beinahe alle) - so bin ich ja auch hierher gekommen.

Aber das einfache Hello World auf schwarzem Hintergrund reicht mir nun eben nicht mehr, aber ich finde nirgends ein Tutorial wie man nur eine einfache Grafische Oberfläche entwirft...


Greetings
eXe
 
Anwendungen mit grafischer Oberfläche sind unterschiedlich schwer zu entwickeln. Was aber grundsätzlich wichtig ist, ist zu behalten, dass man nach wie vor mit einer sehr mächtigen und komplexen Programmiersprache arbeitet.
Wie eine GUI-Anwendung nun zu entwickeln ist, hängt von verschiedenen Faktoren ab, wobei der wichtigste Faktor davon die verwendete Bibliothek ist. Sowohl für Windows als auch für Linux und andere Plattformen gibt es mehrere Möglichkeiten. Für Windows sind die wichtigsten die VCL, das .net-Framework, die MFC oder auch das Windows API selbst. Unter Linux gibt es unter anderem Qt und Gtk sowie die CLX.
Wenn Du sagst, dass Du schon Grundkenntnisse mit C++ hast, kann ich Dir den Borland C++ Builder als Entwicklungswerkzeug empfehlen, den gibt es AFAIK als Personal-Version gratis zum Download bei Borland. Trotzdem solltest Du solche Werkzeuge eigentlich erst dann einsetzen, wenn Du die grundlegende Sprache einigermassen gut verstanden hast.
 
Ich denke, dass du dir erst mal den UNterschied zwischen der DOS-API/Windows Console (In der du bisher offensichtlich gearbeitet hast) und der Win32-API
(IN der für gewöhnlich grafische Oberflächen unter Windows programmiert sind) klarmachen solltest.

Ausserdem stimme ich Dario dahingehend zu, dass du erst einmal noch etwas unter DOS rumspielen solltest, um die Grudlagen zu kapieren, da man in der Win32API schon 2 Seiten Code schreiben muss bevor man ein einigermassen vernünftiges Fensterchen hat ;)

Also kauf dir ein gutes Buch und mache dich mit den Basics vertraut, bevor du frustriert feststellst, dass dir die Grundlagen fehlen)
 
#
|--
|\
| \

Toll, aber jetzt mal wieder zurück, sagen wir, ich habe das wichtigste Tutorial durchgelesen - welches Tut soll ich nun lesen (so in Richtung Grafik) ?

Greetings
eXe
 
in der reihenfolge:
C/C++ grundlagen
Windows API
2D-Windows Game
evt. 3D-OpenGL
COM
2D-DirectX
3D-DirectX

Grundlagen ist klar, die braucht man einfach.. WindowsAPI gehöhrt eigendlich auch noch zu den grundlagen...
für winapi siehe http://www.germandevnet.de unter tutorials

Dann fängste mal an einfache 2D spiele mit windows zu realisieren...beispiele und tutorials gibts auf http://www.gamedev.net

wenn du 2d spiele in windows ordendlich machen kannst, kannst du eventuell 3D graphik in OpenGL einlegen,,, das OpenGL api ist relativ einfach...aber beachte bitte das 3d graphik sehr stark in die mathematik geht.. (Maxtrix-rechnungen und ähnliches)

Tja, bevor du mit DirectX anfängst, gibts noch eine kleinigekeit die du unbedingt kernen musst, die du als grundlage für DirectX braucht... Die rede ist von COM .. denn DirectX wird komplett über COM gesteuert..
Hierzu guckste dich am besten durch die DirectX dokumentation und die DirectX tutorials von GameDev.net dann lernste das eigendlich von alleine... du braucht nur wissen wie man die interfaces anwendet, vor allem die funktionalität von IUnknowen sollte dir bekannt sein, weil du release und queryInterface brachen wirst.

Wenn du COM soweit verstanden hast, dann kannst du anfangen mit 2D graphiken mit DirectDraw, DirectInput, DirectSound und so weiter...
und wenn du DDraw soweit beherscht, kannst du es mal mit IDirect3D versuchen ...Aber bis es so weit ist, wird einige zeit vergehen...

Wovon ich dir hier auf jedenfall abraten will, ist MFC... du kannst MFC zwar natürlich bei einfachen sachen benutzen und es schadet auch nicht wenn dus kannst, vor allem wenn du fremden source lesen und ändern musst, aber wenn du komplexere spiele machen willst, und vieleicht dann sogar DirectX benutzen, so ist MFC auf keinen fall angebracht, wie ich selbst schonmal feststellen musste.... Vor allem weil du wenn du mit DirectX arbeitest, keine MFC klassen mehr zur verfügung hast die dir hier noch weiter helfen, und selbst die fenster klasse muss für einen IDirectDrawClipper zum HWND werden.
 
Welches ist denn das wichtigste Tutorial?
Womit Du jetzt weiter machst, hängt wie gesagt davon ab, für welche Basis Du Dich entscheidest. Wenn Du mit der VCL entwickeln willst, solltest Du Dir ein paar Sachen zum C++ Builder ansehen, für MFC und .net ist Visual C++ eher angebracht. Nachteil bei beiden Entwicklungsumgebungen ist allerdings, dass sie nicht ganz billig sind (auch wenn es den C++ Builder AFAIK frei zum Download gibt).
Kostengünstigere Alternativen wären beispielsweise KDevelop unter Linux oder für Windows DevC++ in Verbindung mit dem Windows API. Aber wie auch hier schon gesagt, ist die Programmierung mit dem Windows API nicht ganz einfach, da man sich um viele Dinge selbst kümmern muss. Auf der anderen Seite bekommt man dadurch einen recht guten Einblick in die komplexe Struktur von GUI-Anwendungen und hat mehr Möglichkeiten - wenn man es denn richtig kann.
Zum WinAPI gibt es ein meiner Meinung nach ganz brauchbares Tutorial unter http://www.win-api.de
 
Zurück