..



  • ne ich bin für Space Invaders :p



  • hustbaer schrieb:

    @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.



  • Gerade dann verstehe ich nicht wie man auf die Idee kommt mit einer full-blown 3D Engine ala Irrlicht anfangen zu wollen?!?


  • Mod

    hustbaer schrieb:

    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.



  • 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.



  • ..



  • @Erhard: nur falls du das falsch verstanden haben solltest: ich würde als Alternative zu einer vollständigen 3D-Engine nicht DirectX oder OpenGL "direkt" vorschlagen, sondern eine einfachere 2D-Engine.

    p.S.: dem was du über den schwierigen Einstieg mit Direct3D/OpenGL sagst kann ich grundsätzlich zustimmen.



  • Danke für die Klarstellung. Welche 2D-Engine würdest Du denn empfehlen? Wird ein PONG oder TETRIS Clone dann wirklich einfacher? Wesentliche Anteile des Codes beschäftigen sich doch eher mit der Ablaufsteuerung und nicht mit der Grafik.



  • Ich wollte auch ein paar Anfänger etwas beibringen und hab nach der einfachsten 2D-Engine gesucht. Doch leider hab ich da nichts gefunden und hab deswegen meine eigene begonnen. Hoffe ist in Ordnung wenn ich hier etwas Werbung für mache. 😃
    http://watteimdocht.de/jngl

    Den Code vereinfachen tut es in der Hinsicht, dass man Zeiger nicht erklären muss und dass es auch ohne OOP funktioniert für den Anfang. Da man diese Sachen ja sowieso irgendwann erklären muss, ist es eigentlich dann doch egal.

    Pong ist echt gut zum anfangen, wobei ich auch noch einfache Moorhuhn-Clones gut finde.



  • Erhard Henkes schrieb:

    Danke für die Klarstellung. Welche 2D-Engine würdest Du denn empfehlen? Wird ein PONG oder TETRIS Clone dann wirklich einfacher? Wesentliche Anteile des Codes beschäftigen sich doch eher mit der Ablaufsteuerung und nicht mit der Grafik.

    Sobald man die Engine im Griff hat, ist der Unterschied natürlich marginal. Aber die hat man natürlich zu Beginn (vor allem als Anfänger) nicht richtig im Griff. Auch wenn du versuchst es noch so simpel zu schreiben werden bei Anfängern zu oft Fragen entstehen die eigentlich an dieser Stelle noch gar nicht nötig wären.

    2D-"Engines" ( ' " ' deshalb, weil man dabei standardmäßig auf SDL/Allegro zurückgreift, welche keine Engines sind. ) sind einfach unkomplizierter.

    Zu Beginn würde ich jedem Anfänger nun zu SFML raten.

    Ist übrigens noch jemand der Meinung, dass sich Tutorials und Bücher nicht genug um programmstrukturelle Dinge kümmern (Object/Resource-Management, effiziente und elegante Spielzustandsverwaltung etc.)? Soweit ich das bisher gesehen habe gehts immer wieder nur um Grafikausgabe / Kollisionsabfrage und Tastatur- oder Mauseingabe.



  • Ist übrigens noch jemand der Meinung, dass sich Tutorials und Bücher nicht genug um programmstrukturelle Dinge kümmern (Object/Resource-Management, effiziente und elegante Spielzustandsverwaltung etc.)?

    Du sprichst mir aus dem Herzen! Unabhängig von der Art der Grafikausgabe (ob 2D oder 3D, ob DirectX, OpenGL oder kapselnde Engine) ist dies wohl ein ziemlich entscheidender Punkt für das Gelingen eines komplexen Spielablaufs. Erweiterbarkeit und Pflege hängen entscheidend vom inneren Design des Games ab.



  • TravisG schrieb:

    Zu Beginn würde ich jedem Anfänger nun zu SFML raten.

    Dito. Imho für Anfänger sehr gut geeignet.

    TravisG schrieb:

    Ist übrigens noch jemand der Meinung, dass sich Tutorials und Bücher nicht genug um programmstrukturelle Dinge kümmern (Object/Resource-Management, effiziente und elegante Spielzustandsverwaltung etc.)?

    Nochmal dito. Hab sowas bisher auch noch nicht gefunden.
    Gibt es da Empfehlungen, was Bücher oder sonstige Ressourcen angeht, die genau diese Dinge zum Thema haben?



  • Erhard Henkes schrieb:

    Danke für die Klarstellung. Welche 2D-Engine würdest Du denn empfehlen? Wird ein PONG oder TETRIS Clone dann wirklich einfacher? Wesentliche Anteile des Codes beschäftigen sich doch eher mit der Ablaufsteuerung und nicht mit der Grafik.

    Für ganz einfache Sachen ist denke ich sowohl die SDL als auch Allegro oder die SFML geeignet.
    Und für einfacher halte ich 2D Sachen deswegen weil man sich erstmal nicht mit Dingen wie Matrizen, Texturen, Vertices, Normalen, Shadern etc. auseinandersetzen muss.

    Mit einer 2D Engine (mit oder ohne " :)) kann ich einfach sagen "LoadImage(file)" und "PutImage(was, wohin)".



  • Noch "DrawPixel(color, x, y)" dazu und man hat alles an Schnittstelle, was man benötigt 😃



  • In den Game Programming Gems findet man z.T. solche Artikel über allgemeine Spielgestaltung, allerdings ziemlich kompliziert geschrieben, z.T. "A System for Managing Game Entities", Vol. 4, S.67.


Anmelden zum Antworten