Tetris ist für den Anfang komplexer als das klassische "Pong". Daher sollte man mit einem "Pong" beginnen und dort das Auflegen von texturen, die Einbindung einer AI, das Optimieren des Codes bezüglich Performance, das Umwandeln in echte OOP (Klasse Ball, Bar, Game, ...) usw. üben. Pong ist hierfür ein Idealfall.
Hier ein Beispiel für den Code mit "irrlicht" (Grafik Engine), den man als Ausgangspunkt für diese Übungen verwenden könnte:
// Pong.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//
Von mir optimiert auf Basis:
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=30191
#include "stdafx.h"
#include <irrlicht.h>
#include <iostream>
// irrlicht namespace using namespace irr; using namespace core; using namespace scene;
using namespace video; using namespace io; using namespace gui;
#pragma comment(lib, "Irrlicht.lib")
// Pong.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//
Von mir optimiert auf Basis:
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=30191
#include "stdafx.h"
#include <irrlicht.h>
#include <iostream>
// irrlicht namespace using namespace irr; using namespace core; using namespace scene;
using namespace video; using namespace io; using namespace gui;
#pragma comment(lib, "Irrlicht.lib")
// Pong.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//
Von mir optimiert auf Basis:
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=30191
#include "stdafx.h"
#include <irrlicht.h>
#include <iostream>
// irrlicht namespace using namespace irr; using namespace core; using namespace scene;
using namespace video; using namespace io; using namespace gui;
#pragma comment(lib, "Irrlicht.lib")
@Erhard Henkes:
Ich weiss nicht wieso du auf die Idee kommst man sollte Tetris als Anfängerspiel in 3D programmieren?!?
In 2D ist Tetris relativ einfach hinzubekommen.
Klar ist Pong noch einfacher, ob nun in 2D oder 3D, bloss ... Pong alleine spielen macht genau garkeinen Spass (mit oder ohne Computer-Gegner, ganz egal).
Deswegen: Tetris ist IMO immer noch besser geeignet als Pong. Allerdings eben nicht notwändigerweise mit einer 3D Engine.
@Erhard Henkes:
Ich weiss nicht wieso du auf die Idee kommst man sollte Tetris als Anfängerspiel in 3D programmieren?!?
In 2D ist Tetris relativ einfach hinzubekommen.
Klar ist Pong noch einfacher, ob nun in 2D oder 3D, bloss ... Pong alleine spielen macht genau garkeinen Spass (mit oder ohne Computer-Gegner, ganz egal).
Deswegen: Tetris ist IMO immer noch besser geeignet als Pong. Allerdings eben nicht notwändigerweise mit einer 3D Engine.
Ich denke es ging ihm eher um den Lernfaktor beim Programmieren.
Ich denke es ging ihm eher um den Lernfaktor beim Programmieren.
Ja, mir geht es momentan nur um die Didaktik, denn viele Einstieger haben massive Probleme mit der Spieleprogrammierung, obwohl sie dort gerne mitmischen würden.
_________________ OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm
Gerade dann verstehe ich nicht wie man auf die Idee kommt mit einer full-blown 3D Engine ala Irrlicht anfangen zu wollen?!?
genau das frage ich mich auch, didaktisch echt zweifelhaft IMO. jemand der gerade lernt wie man ein winziges spiel macht soll gleich ne riesen engine nutzen.
ich denke die beispiele sind eher um fuer leute denen pong/tetris an sich 08/15 ist, zu zeigen wie man anhand dieser beispiele mit der engine umgeht. nicht andersrum.
_________________ Kilo Byte=1000,Kilobyte=1024 ANSI/IEEE Standard 1084-1986 rapso
-Mod im Spiele-/Grafikprogrammierung|rapsoo@hotmail.com| #dionysos irc.quakenet.org |amazon stole my PS3
Ich denke er will eher zeigen wie man sowa smacht wenn man ne Engine nimmt, nicht jedem liegt es ja selbst ne Engine zu bauen, wobei ich für so einfache Sachen lieber ne recht simple Engine bauen würde als ne fertige zu benutzen weil es einem sehr viel Grundlagen wissen beibringt.
zu zeigen wie man anhand dieser beispiele mit der engine umgeht
Genau, ich halte es für richtig, sofort mit einer Engine zu beginnen, und um den Leuten zu zeigen, dass es mehr gibt als Ego-Shooter, Terrains, FPS-Cameras und Quake-Maps zeige ich diese Beispiele. Man steht auf einem Riesen und experimentiert an einem kleinen Modell. Das vermittelt Sicherheit durch Einfachheit und man lernt den Rahmenaufbau des neuen Werkzeuges dabei spielerisch kennen. So stelle ich mir den Beginn der Lernkurve vor.
_________________ OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm
Warum favorisiere ich den Start mit einer Engine so überzeugt? Es sind eigene Erfahrungen und posts wie diese:
Zitat:
In irrlicht everything is simple. Just only a few lines code, you can create everything in 3D space. Along time ago, I have ideal about a simple game 3D. At that time, I didn't have irrlicht engine, I just only use DirectX SDK. As you see, DirectX SDK really complicated. I was painful with it because it has many complicated functions with much formulary mathematics. I think if you aren’t good at mathematics, you can not use DirectX SDK professionally. I had spent for three months but my game hadn't finish yet. And now with irrlicht, I was easily finish it. The irrlicht engine has only one weakness that is speed. If your 3D application has many 3D objects then the speed of frame per second is very slow. So I think the irrlicht doesn't correspond for commercial games or tactical RST games. But if you are amateur programmer then irrlicht is the best engine for you. I really like irrlicht very much. This is my first 3D game. It's name "Dragon killer", this is very simple game. This is the link to download this game: http://www.mediafire.com/?dgedptm9z43
Have fun!
Die mathematischen Anforderungen und die nutzlose Komplexität, die durch das DirectX SDK oder OpenGL verursacht werden, kann man sich einfach schenken, indem man eine Ebene höher programmiert. Das Argument bezüglich Performance kann ich noch nicht ausreichend beurteilen, ist mir aber auch schon aufgefallen bei irrlicht. Es gibt ja auch noch OGRE.
_________________ OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm
Nächstes Thema anzeigen Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums
für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de
Werbekostenerstattung verdient werden kann.
Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de
enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt
(vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in
privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden.
Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere
übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.