Wie anfangen bzw Tutorial?



  • Hi!
    Ich benutze jetzt seit 4 Jahren den RPG Maker. Aber langsam möcht ich mal was anderes benutzen um Spiele zu erstellen. Ich habe mal mit BlitzBasic ein Spiel angefangen aber nur zur Hälfte gemacht dann hab ich wieder den Maker genommen ^^

    Wollt mal wissen wie genau das aussieht wenn man diese Engines runterläd. Was muss ich jetzt runterladen um z.B. erstmal ein 2D Spiel zu machen zum üben und gibt es irgentwo Tutorials dazu? Welche Programmiersprache muss man können?
    Ich kann zu 75% C, 25% C++, 20 % Java, 60% Assambler (und PHP).

    Ich kann mir das nämlich noch gar nicht richtig vorstellen wie man da jetzt was programmieren soll.



  • Hallo

    Für C++ solltest du mal nach SFML suchen und wenn dir die Sprache egal ist, dann empfehle ich c# und .net und XNA.

    chrische



  • Ich kann nur ein gutes Buch empfehlen....
    "Jetzt lerne ich Spieleprogrammierung" war ganz gut, was ich mich erinnere...
    Wichtig ist mit kleinen Sachen anzufangen und sich erstmal ansehen wie man was darstellen kann.
    Auf keinen Fall direkt mit nem MMORPG loslegen 😃
    Klar ists auch gut mit ner fertigen Engine anzufangen weil man da schnell was sehen kann aber man sollte sich auf jeden fall ansehen wie das funktioniert bzw. selbst ne kleine "Engine" bauen.



  • Klar ists auch gut mit ner fertigen Engine anzufangen weil man da schnell was sehen kann

    Genau! z.B. irrlicht mit irrklang, irrXML, irrAI und irrEdit.


  • Mod

    Schwarzer Frost schrieb:

    Hi!
    Ich benutze jetzt seit 4 Jahren den RPG Maker. Aber langsam möcht ich mal was anderes benutzen um Spiele zu erstellen. Ich habe mal mit BlitzBasic ein Spiel angefangen aber nur zur Hälfte gemacht dann hab ich wieder den Maker genommen ^^

    Wollt mal wissen wie genau das aussieht wenn man diese Engines runterläd. Was muss ich jetzt runterladen um z.B. erstmal ein 2D Spiel zu machen zum üben und gibt es irgentwo Tutorials dazu? Welche Programmiersprache muss man können?
    Ich kann zu 75% C, 25% C++, 20 % Java, 60% Assambler (und PHP).

    Ich kann mir das nämlich noch gar nicht richtig vorstellen wie man da jetzt was programmieren soll.

    dann fang nicht zu gross an, ich denke dass z.b. Irrlicht schlecht ist wenn du noch nie ein spiel programmiert hast (ausser mit rpg maker 😉 ). mach erstmal etwas einfaches, 2D klingt gut :)!. je nach sprache die dir am besten gefaellt, kannst du z.b. mit c++ http://www.sfml-dev.org/ benutzen und mit java hast du auch alles was du brauchst, da wuerde ich dir http://www.amazon.com/Black-Art-Java-Game-Programming/dp/1571690433 empfehlen.

    versuch nicht anzufangen indem du dir zuviel auf einmal auferlegst, ne gute engine zu lernen wie UT3, CryEngine2 usw. oder auch hobby dinger wie Nebula2 sind echt viel fuer den anfang. du bekommst damit dann zwar vielleicht ein tutorial zum laufen, aber du wirst nicht wirklich wissen was dahinter passiert, didaktisch schlecht. erstmal grundlagen, auch wenn's dauert 😉



  • CryEngine2 is keine gute engine 😞 schaut nur ganz nett aus


  • Mod

    PRIEST schrieb:

    CryEngine2 is keine gute engine 😞 schaut nur ganz nett aus

    woher weisst du das und was genau ist deiner meinung nach nicht gut.
    und wie wolltest du dem threadstarter damit helfen?



  • Die Cryengine2 ist an manchen ecken totaler spaghetti code.

    Und ich helfe ihm damit, indem ich ihm mitteile das nicht jede engine gut ist nur weil sie in einem toll aussehendem spiel drin steckt oder groß vermarktet wird.. man soll ja auch keine falschen eindrücke vermitteln gell.



  • PRIEST schrieb:

    Die Cryengine2 ist an manchen ecken totaler spaghetti code.

    Ich frag mich obs irgendne "große" Engine gibt die nicht an allen Ecken und Enden Spaghetti/übler Code ist. Wenn ich mir die Gehirn- und Augenvergewaltigung der Half Life 2 Engine anschaue....



  • Schwarzer Frost schrieb:

    Welche Programmiersprache muss man können?
    Ich kann zu 75% C, 25% C++, 20 % Java, 60% Assambler (und PHP).

    Na, dann nimm Assembler! 😃

    Nein, ich würde schon unter C++ programmieren, da hast du auch am ehesten die Voraussetzungen, um an die Grenzen der Performance zu gelangen. Zudem werden die meisten kommerziellen Spiele in C++ programmiert.

    Anfangen würde ich auch mit SFML, das ist meiner Ansicht nach eine sehr schön gestaltete, benutzerfreundliche und sogar schnelle Library für 2D-Grafikprogrammierung. Möglicherweise musst du noch ein wenig mehr C++ lernen, aber das kann sowieso nie schaden 😉
    ______
    Was ich mich allerdings frage: Wie man sein Wissen so einschätzen kann? 100% wird man ganz sicher nie erreichen, und 25% von allem, was C++ bietet, ist schon beträchtlich 🙂
    Aber unter Annahme, dass du damit die reinen Sprachkonzepte (Funktionen, Operatorüberladung, Polymorphie, Templates, ...) meinst, ist vielleicht schon noch etwas mehr nötig. Aber das wird sich ja zeigen... 😉

    TravisG schrieb:

    Ich frag mich obs irgendne "große" Engine gibt die nicht an allen Ecken und Enden Spaghetti/übler Code ist.

    Was ist für dich "gross"? Ist aber irgendwie schade, dass viele Entwickler meinen, saubere und ressourcensparende Programmierung wäre mit zunehmender Projektgrösse und -funktionalität unwichtiger...

    Sieht man auch teilweise an neueren Spielen, dass Entwickler sich einfach auf einen Anwender mit einem superschnellen Computer verlassen. Denn irgendwie ist es ja schon merkwürdig, dass sich die Computerleistung seit Jahren vervielfacht, aber die Spielegrafik sich nicht nur verbessert, zumindest nur in kleinen Schritten. Manchmal hab ich auch das Gefühl, bessere Grafik wird als billiger Vorwand für schlechte Programmierung genommen. Ein Spiel besteht schliesslich nicht nur aus Grafik, und teilweise sind es auch andere Algorithmen, die zur Langsamkeit beitragen... Aber naja, so gut kann ich das auch nicht beurteilen, ist einfach mein persönlicher Eindruck...


  • Mod

    PRIEST schrieb:

    Die Cryengine2 ist an manchen ecken totaler spaghetti code.

    Und ich helfe ihm damit, indem ich ihm mitteile das nicht jede engine gut ist nur weil sie in einem toll aussehendem spiel drin steckt oder groß vermarktet wird.. man soll ja auch keine falschen eindrücke vermitteln gell.

    kannst du uns verraten wie du/man an den CryEngine2 code drankomm(s)t? dachte das gibt's nur fuer licensierte.



  • Bei jemandem der von sich selber behauptet das er zu "60% Assambler" kann und in die Spieleprogrammierer einsteigen will ist die Wahrscheinlichkeit bestimmt sehr hoch, dass er mit der CryEngine 2 anfängt. 🙄


  • Mod

    naja, so ziemlich jede engine ist ueberlastung fuer leute die gerade anfangen, aber das will nicht jeder wahrhaben 😉



  • ist doch logisch, dass eine engine für ein kommerzielles produkt, dass unter zeit- und finanzdruck entsteht spaghetticode enthält. wenn man da kurz vor fertigstellung entdeckt, dass das konzept nicht 100% aufgeht, wird halt eher schnell was reingequetscht, als dass die firma an dem projekt am ende sogar noch pleite geht, nach 3-5 jahren entwicklung. die interessiert doch ned, ob ihr code preise gewinnt, die wollen ihr produkt verkaufen und dafür reicht, dass es läuft... welcome to the real world 😃

    zum thema: wenn man mit 2D anfängt (weise entscheidung) und dabei wirklich was lernen möchte, empfehle ich: 2D engine selbst schreiben. durch verwenden, von fremdem, fertigem code lernt man keine neue technologie kennen. schau dir die konzepte "double buffering" und "page flipping" an und schon wirst du eine idee haben, wie du es angehen kannst.
    es kann durchaus interessant sein, die eigene 2D engine mit jedem spiel, dass man schreibt zu erweitern und zu sehen, wie sie auf einmal immer mehr kann. außerdem ist sichergestellt, dass du die technologien, die du auf diesem wege lernst, auch aus dem ff beherrschst. probiers mal aus... investiere 2-3 wochen mühe und du wirst sehen, es lohnt sich



  • naja, so ziemlich jede engine ist ueberlastung fuer leute die gerade anfangen, aber das will nicht jeder wahrhaben

    Was soll denn bitte "leute die gerade anfangen" bedeuten? (mit dem Programmieren, mit C++?) Man kann schlicht und einfach nicht aus dem Stand mit echter Spiele-Programmierung beginnen. Was soll denn dabei heraus kommen?

    Ich behaupte nach wie vor, dass eine Engine einen Entwickler, der C++ ausreichend gut beherrscht, schnell voran bringt. Es ist effizienter, auf vorhandenen Systemen aufzubauen, als diese ständig fragmentarisch neu zu entwickeln (Man nennt dies allgemein "das Rad nicht ständig neu entwickeln").

    Es spricht nichts dagegen, sich anhand von DirectX oder OpenGL mit den Grundlagen zu beschäftigen. Das meinte rapso vermutlich, und da hätte er Recht.



  • Man kann schlicht und einfach nicht aus dem Stand mit echter Spiele-Programmierung beginnen

    Warum nicht ?
    "Echte" Spiele brauchen eine "Engine" ?



  • Warum nicht ?

    Weil Spieleprogrammierung ziemlich viele Facetten von OOP, 3D zu Networking hat.

    "Echte" Spiele brauchen eine "Engine" ?

    Ja, alles andere ist ineffizient und daher Vergeudung von Kraft und Zeit.


  • Mod

    Erhard Henkes schrieb:

    naja, so ziemlich jede engine ist ueberlastung fuer leute die gerade anfangen, aber das will nicht jeder wahrhaben

    Was soll denn bitte "leute die gerade anfangen" bedeuten? (mit dem Programmieren, mit C++?)

    leute die diese sprache nicht programmierten, leute die dieses themengebiet der programmierung nie kannten, leute denen alles neu ist was mit spieleentwicklung zu tun hat, also die die was _lernen_.

    Man kann schlicht und einfach nicht aus dem Stand mit echter Spiele-Programmierung beginnen. Was soll denn dabei heraus kommen?

    natuerlich nicht, noch unrealistischer ist es aus dem stand gleich auch noch ne engine und spieleentwicklung zu lernen. die meisten sind mit grundlagen schon ausreichend ausgelastet.

    Ich behaupte nach wie vor, dass eine Engine einen Entwickler, der C++ ausreichend gut beherrscht, schnell voran bringt.

    ja, wenn jemand c++ kann, genug praxiserfahrung hat, die grundlagen von spieleentwicklung versteht, was die ganzen zusammenhaenge betrifft, algorithmen usw. der kann mit einer Engine in die produktion von spielen gehen, wenn er die passende gefunden hat und er selber keine besser hinbekommt bzw hinbekommen moechte.

    Es ist effizienter, auf vorhandenen Systemen aufzubauen, als diese ständig fragmentarisch neu zu entwickeln (Man nennt dies allgemein "das Rad nicht ständig neu entwickeln").

    das ist manchmal der fall, oft aber auch nicht. 'das rad nicht neu erfinden' fuehrte in manchen gegenden dazu dass alle den selben wagen fuhren: trabi. und das zeigt, dass es nicht DIE engine gibt, sondern jeder fuer sich entscheiden sollte. manche sind schon mit kleinen opensource engines gluecklich, andere wollen auf beste qualitaet setzen und andere wiederrum schreiben ihre engines selber weil sie dann ein perfekt angepasstes packet haben (und das impliziert nicht, dass man alles from scratch schreibt, es gibt viele die sich fertige scriptsprachen, collisionlibs, soundlibs etc etc. nehmen, aber trotzdem ihr system bauen.)

    deine sicht der dinge muss nicht strict die einzig richtige sein. effiziens beim start der produktion ist nur ein kleiner faktor.



  • "Echte" Spiele brauchen eine "Engine" ?

    Ja, alles andere ist ineffizient und daher Vergeudung von Kraft und Zeit.

    Das ist eine Frage der Betrachtung.
    Wenn das ausschliessliche Ziel die Fertigstellung eines Spiels mit moeglichst geringem Aufwand ist, hast Du sicherlich Recht.
    Man sollte hier aber auch beachten, dass es das allgemeine Verstaendnis und die persoenlichen Faehigkeiten erheblich steigern kann, Dinge einfach mal selbst zu machen - auch wenn das dann laenger dauert.
    Aber das scheint offenbar nicht in Deinem Interesse zu liegen.

    Persoenlich halte ich gerade (einfache) Grafikprogrammierung fuer ideal um mit dem Programmieren zu beginnen weil man Erfolge sofort sehen (und zeigen) kann.
    Sicher sehr viel motivierender als Zahlen in der Konsole ein- und auszugeben...



  • Ich denke wenn man nur ein Hobby-Programmierer ist bzw. nur privat an Spielen herumprogrammiert ist es doch egal ob man jetzt ne fertige Engine verwendet oder nicht.
    Allerdings würde ich keine fertige verwenden - vorallem weil ICH lernen will wie es gemacht wird und zwar in allen Bereichen (gut...auf die untersten ebenen genau muss ich es auch nicht wissen) - aber auf jeden Fall wie man was umsetzt usw.
    Wenn jmd "nur" ein Spiel basteln will soll er ne fertige Engine verwenden - aber letzten Endes ist es nichts anderes als sich in FremdCode einzulesen und diesen zu verstehen.


Anmelden zum Antworten