Welche Engine ist heute "in"?

LL0rd

Erfahrenes Mitglied
Hallo Leute,

ich habe demnächst vor, ein Game zu programmieren, es soll ein 2D Jump'n'run game werden, so wie die lustigen Games von vor 10 Jahren. Aber ich weiß momentan nicht, welche Game Engine ich verwenden sollte. Die Engine kann auch ruhig kommerziell sein, da habe ich kein Problem mit.

Kann mir da jemand etwas empfehlen? Das Game sollte anschließend auf dem PC und evtl. Macs laufen.
 
Hi,

einfach so ein Spiel entwickeln mit ner Engine ...

so ungefähr hab ich mich angehört als ich mein erstes Buch über Spieleprogrammierung durchhatte. Sagen wirs mal so: Mein Spiel wurde absolut garnichts.

Aber zurück zu deiner Frage:

Wenn du das Spiel auf mehreren Plattformen zum laufen bringen willst, fällt mir als erstes OpenGL ein.

Die Irrlicht-Engine unterstützt glaube ich OpenGL?, ich bin mri aber nicht sicher ob diese für 2D-Grafik geeignet ist.

Ansonsten würde ich mir BlitzBasic anschauen.
Das Spiel würd in einer Skript-Sprache geschrieben (Basic ?).
BlitzBasic ist auf 2D-Grafik ausgelegt.
Kostet leider auch was, aber nicht sehr viel.

Ich weiß zwar nicht wie viel Erfahrung du mit dem Thema hast aber bevor du für eine Engine geld ausgibst würde ich mir das ganze erst nocheinmal genau Überlegen.

Gruß
Anfänger
 
Zuerst würde ich dir raten alles selber zu schreiben bei kleinen Games. Die grundlegenden Sachen selber programmieren. Das ermöglicht der später eine gute und effektive Benutzung einer Engine.
OpenGL würde ich dir auch empfehlen.

http://archive.zfx.info/Tutorials.php
Hier den Anfang durchlesen sehr gutes Tutorial und DirectX speziefische Sachen einfach nicht beachten.
http://archive.zfx.info/Tutorials.php?ID=1
MFG Nik
 
Zuletzt bearbeitet:
Hi,

ja ich weiß, dass ich mich hier jetzt in einer etwas schwirigen Situation befinde. Ich habe natürlich selbst schon gegoogelt und bin auf viele Foren gestoßen. Aber viele Fragen laufen in etwa so in die Richtung "Ich bin Anfänger, habe keine Ahnung und möchte ein Spiel programmieren".

Bei mir sieht es da etwas anders aus. Seit 12 Jahren programmiere ich. Bei mir hat es damit angefangen, dass ich die Spiele meines Atari 2600 in QBasic nachprogrammiert habe. Habe dann vor 9 Jahren ein Spiel in ASM geschrieben, ein paar kleine Games dann mit der SCUMM engine und zuletzt Tetris in Delphi.

Ich meine ja, es ist kein Problem Engines im Netz zu finden:
http://de.wikipedia.org/wiki/Spiel-Engine#Bekannte_Engines

Aber ich muss ganz ehrlich sagen, ich habe keine Ahnung, was die unterscheidet. Ich kenne die Unterschiede nur als "Konsument".

Das Problem an OpenGL ist, dass es nur die Grafik steuert => den ganzen anderen Rest drum herum muss man selbst schreiben. Dazu fehlt mir momentan aber leider die Zeit. Ich suche da deshalb eher etwas in richtung kompletter Game-Engine. Und XNA ist in meinen Augen der größte ****** den es überhaupt gibt.

Ich will die Engine auch nicht für etwas bestimmtes verwenden, sondern einfach mal damit rumspielen. Sie sollte aber schon aktuell sein, sodass man mit einer Weiterentwicklung rechnen kann. Am besten so eine Art "Baukasten", indem man fertige Module für alles mögliche findet, die man benutzen kann, um schnell Ergebnisse zu sehen. Man sollte aber auch eigene Sachen statt dem fertigen allgemeinem Zeugs verwenden können.

Ja, ich weiß, ich habe recht viele Ansprüche, aber vielleicht kennt ja jemand so etwas...
 
Hi,

Ok wenn du schon wirklich Ahnung hast sieht das ganze wirklich anders aus ;)
BTW: Das mit XNA seh ich genau so :D

Also:
Da das ganze ja 2D sein soll, fällt mir zu Engines nicht wirklich viel ein.
Zu 3D-Engines könnte ich dir mehr sagen.
Ich bin mir aber auch garnicht so sicher ob es so viele 2D-Engines gibt.

Am einfachsten für dich ist denke ich mal
a) wie schon gesagt eine Skript-Sprache zu benutzen die auf sowas ausgelegt ist (BlitzBasic), oder
b) du kannst dir natürlich ne Render-Engine suchen, aber eine die alles für dich übernimmt wirst du nicht (so leicht) finden. Es gibt eine Auf DirectX-Basierende, kostenlose von David Scherfgen glaube ich. .

Zu OpenGL:
Ja OpenGL ist erstmal nur für die Grafik, aber es gibt ja zusatz Bibliotheken für alles andere (Eingabe, Sound, Musik).

Ich denke wenn du dir eine Render-Engine nimmst und den rest selbst schreibst könnte was draus werden.

Oder was stellst du dir unter einer Engine vor, die du nutzen willst?
Was soll sie alles können?

Ich gehe mal davon aus das dir klar ist das es nicht so geht:
EngineLoadLevel("level1.lvl")
EngineStartGame()

Gruß
Anfänger
 
das mit dem 3D oder 2D hat ja erstmal nicht "so viel mit der engine zu tun". Ich meine das ist ja jein Problem das es einfach 2D ist und ich würde dir auch die Irrlicht Engine empfeheln.
 
Also ich habe mir jetzt mal ein Paar Screenshots der Irrlicht Engine angesehen und war nicht wirklich begeistert davon.

Es kann jetzt daran liegen, dass die Texturen schlecht waren oder die Leute sich nicht all zu viel Mühe dabei gegeben haben.

Aber ich bin dabei auf die ORGE 3D Engine gestoßen:
http://www.ogre3d.org

Habe mir da auch ein paar Demos gezogen und war richtig begeistert. Bei der Demo war auch ein Quake 3 Level Loader bei. Ich muss sagen, dass dort alles recht schnell lief.

Ich hatte rund 700-1400FPS @1680x1050 mit Anti Aliasing mit Direct3D
Aber mir 170-400FPS mit OpenGL

Da frage ich mich nun, wieso OpenGL doch ein Stück langsamer ist.
Und eine andere Frage ist, die 3D Engine wirklich so einfach für 2D Darstellungen benutzen kann.
 
Hi,

Also ich glaube was allgemein gesagt wird ist:
OpenGL und Direct3D sind gleichschnell.
Es liegt immer daran wie gut der Programmierer ist.

Ich bin da etwas anderer Meinung aber ok^^.

Zu 2D-Grafik mit 3D-Engines:
Ich bin nicht wirklich sicher ob das mit einer 3D-Engine so einfach ist.

Wenn du direkt mit OpenGL und DirectX arbeitest allerdings schon.
Durch die verwendung von OpenGL und Direct3D bekommt man sogar (liege ich da richtig?) bessere Ergebnisse als wenn man ohne Arbeitet.

Du kanst mit Direct3D und OpenGL einfach die Transformationsmatrix ändern, bzw. einen Shader benutzen um das ganze 2D zu machen und hast so auch noch Kontrolle über die Features der Grafikkarte, wie z.B. Alpha-Blending.

Ich weiß ja nicht genau wie Programme für 2D-Grafik arbeiten, aber ich glaube bei vielen wird alles mit der CPU und nicht mit der GPU berechnet, was bei "komplexen Welten" schonmal zu sehr niedrigen Geschwindikkeiten führen kann.

MFG
Anfänger
 
Hi,
Ich kann mir vorstellen, dass du beim eifrigem Googlen auch drauf gestossen bist, würde dir aber auch nochmal Lite-C vorschlagen.
http://www.conitec.com/german/gstudio/litec.htm
Es ist speziell auf 2D und 3D Spieleprogrammierung ausgelegt und liefert in enorm kurzer Zeit bereits recht gute Ergebnisse. Zu dem ist es mit dem bereitgestellten Workshop-Tutorials rasch zu erlernen.

mfg Apfelkuchen
 
Ich kann mir vorstellen, dass du beim eifrigem Googlen auch drauf gestossen bist, würde dir aber auch nochmal Lite-C vorschlagen.

Nun, als Coder ist GameStudio natürlich auch für mich ein Begriff, über den ich in der Vergangenheit schön öffters mal gestolpert bin. Habe mich deshalb nicht besonders viel damit beschäftigt. GameStudio war / ist für mich mehr oder weniger ein etwas besseres Kinderspielzeug, wo man sich eben Spiele zusammenscripten kann.

Ich habe mir jetzt auch mal die Referenzliste angesehen:
http://www.coniserver.net/wiki/index.php/Projects

In der Liste habe ich leider kein einziges Spiel gefunden, das ich kenne, bzw. überhaupt spielen würde. Aber auf der anderen Seite sieht man da auch solche Screenshots.

Klar, GamesStudio hat sich in der Version 7 deutlich verbessert, ich bin mir jedoch nicht so ganz sicher, ob es denn wirklich das Richtige ist. Denn wie gesagt: Ich kenne kein einziges Spiel, das diese Engine nutzt.
 
Zurück