Empfohlene 2D-Game-Engine für das Prototyping [geschlossen]


76

Welche High-Level-Game-Engine würden Sie empfehlen, um einen 2D-Game-Prototyp unter Windows zu entwickeln? (oder Mac / Linux, wenn Sie es wünschen)

Die Art von Dingen, die ich mit "High-Level" meine, beinhaltet (ist aber definitiv nicht darauf beschränkt):

  • Es ist nicht erforderlich, Dinge auf niedriger Ebene wie Bildschirmpuffer oder Grafikkontexte zu verwalten
  • mit einer API zum Zeichnen von geometrischen Formen
  • Nun, ich wollte es weglassen, aber ich denke, dass es von Vorteil ist, auf einer tatsächlichen "Hochsprache" zu basieren (automatisches Ressourcenmanagement und die Existenz einer angemessenen Menge von Datenstrukturen in der Standardbibliothek fallen mir ein).

Es scheint mir, dass Flash der sprichwörtliche Elefant im Raum für diese Abfrage ist, aber ich würde sehr gerne unterschiedliche Antworten auf alle Arten von Sprachen oder SDKs sehen.

Antworten:


31

Ich habe Pygame ausgiebig benutzt und es hat viele positive Aspekte :

  • Es ist eine Bibliothek für Python, eine Hochsprache
  • Es ist gut und klar dokumentiert
  • Es hat eine aktive Community

Pygame ist ein Wrapper um SDL, eine plattformübergreifende 2D-Grafikbibliothek. Pygame bietet auch Wrapper für Sound, Musik usw. Beachten Sie, dass Pygame (größtenteils) eine relativ einfache Grafikbibliothek ist, obwohl Python eine Programmiersprache auf hohem Niveau ist.


3
Vielleicht möchten Sie erwähnen, dass es zwar eine Hochsprache ist, aber als Spiel-Framework immer noch ziemlich niedrig.
Henk

5
Ja, Sie können leicht ein paar Wochen damit verbringen, langsam eine Spiel-Engine in PyGame aufzubauen, ohne dass viel tatsächliches Spiel dafür gezeigt wird. Es ist eine großartige Bibliothek, aber meiner Erfahrung nach müssen Sie im Laufe der Zeit einen Framework-Code aufbauen, bevor Sie schnell Prototypen für komplexere Ideen erstellen können.
James

35

Wenn Sie sich andere Dinge ansehen möchten. Sie können Löve (die Lua verwendet) überprüfen


4
Whoa, das sieht nach einer super lustigen Art aus, lua zu lernen!
GloryFish

9
Nur zur Erinnerung, ich schrieb den obigen Kommentar am 22. September 2010. 7 Tage später setzte ich mich hin und schuf in einer Nacht mein erstes Löve-Spiel , das noch nie zuvor eine Lua geschrieben hatte. Seitdem habe ich mehrere Spiele mit Lua und Löve erstellt und portiere derzeit ein Löve-Spiel auf iOS. Es war eine großartige Prototypensprache und eine großartige Möglichkeit, Lua zu lernen.
GloryFish

2
Das ist großartig zu hören: D
Ólafur Waage

20

Ich finde, dass XNA eine sehr nette Sprache ist, in der man Prototypen erstellen kann. Es ist einfach, schnelle Ideen zusammenzustellen, um zu sehen, wie das Gameplay / die Spielmechanik funktionieren würden, und stark genug, um den Job wirklich zu erledigen. Es gibt auch eine großartige Community in den Foren, die um Hilfe bittet, und verschiedene Tools von Drittanbietern (Physik-Engines / Hilfsbibliotheken / usw.).


Da Microsoft XNA DOA ist, ist Monogame (Open-Source-Implementierung von XNA) das zweitbeste.
Asche999

2
Sie werden es weiterhin unterstützen, und Sie können weiterhin Prototyp-Spiele damit erstellen. Sie liefern einfach keine neuen Funktionen aus. Ich würde es nicht tot nennen, sondern im Ruhestand :)

18

GameMaker sieht aus wie ein gutes Einführungs-, Prototyping- oder Build-Tool. Es basiert auf Drag-and-Drop, "ohne dass eine einzige Codezeile geschrieben werden muss", wendet sich also an Anfänger. (Ich habe es noch nie benutzt, es ist einfach passiert - aber ihre Website sieht auf jeden Fall gut aus. :)



14

Erwähnenswert ist auch Adam Atoms Flixel . Eine einfache, moderne, nackte Game-Engine, die in Flash geschrieben ist. Sie können es in Minuten lernen, nicht in Tagen. Die Verwendung von Flash (oder Processing / Java) verhindert eine der gefährlichsten Gefahren beim Prototyping: Sie können den Code des Prototyps auf keiner seriösen Plattform verwenden. Es ist das Spiel, das Sie prototypisieren möchten, nicht der Code.


1
+1 für Flixel. Großartiger Motor. Wir haben es beim Global Game Jam benutzt (und gewonnen :). Halbpolierte Prototypen können nicht viel schneller als 48 Stunden herausgebracht werden!
michael.bartnett

Wirklich, wirklich toll. Ich hatte heute Morgen ein Theaterstück und es hat mir ActionScript von Grund auf beigebracht.
mcintyre321

@ michael.bartnett, kannst du auf dein Gewinnspiel verlinken? Einfach nur neugierig :)
James McMahon

@JamesMcMahon Ich schätze Ihre Neugier :) Könnten Sie mich im Chat darüber anrufen? Außerdem möchte ich für zukünftige Kommentatoren erwähnen, dass ich heutzutage zwischen den beiden Flashpunk gegenüber Flixel favorisieren würde.
michael.bartnett

8

Es handelt sich nicht speziell um eine Spiel-Engine, sondern um Processing . Einige der guten Punkte sind:

  • Minimales Setup erforderlich. Sie können in 30 Sekunden etwas auf dem Bildschirm haben.
  • Kann jederzeit in Java eintauchen, zum Beispiel für Sammlungen, aber ein Großteil der Zeichnungs-, Animations- und Interaktionssyntax ist weniger ausführlich als reines Java.
  • Alles, was Sie schreiben, ist mit Processing.js kompatibel , sodass Sie damit überall dort arbeiten können, wo Sie einen modernen Browser haben.

8

Ich benutze Novashell.

Ich habe Game Maker als Hauptwerkzeug verwendet, aber ich hatte ein Problem mit YoYo Games (ich werde es hier jetzt nicht erklären), dann habe ich Novashell gefunden.

Novashell ist WIRKLICH ein Prototyping-Tool, es wurde von der Person erstellt, die auch "LORD" (Legende des roten Drachen) und "Dink Smallwood" erstellt hat, damit er Spiele für Ludumdare schnell machen kann (ein 48-Stunden-Gamejam-Wettbewerb). Es hat einen Karteneditor , unterstützt LUA-Scripting, ist in C ++ erstellt, verfügt über eine ZLIB-Lizenz (dh, Sie können mit der Quelle alles tun, was Sie wollen, nur behaupten, Sie hätten Sachen erfunden, die Sie nicht erfunden haben) und hat ein Partikelsystem mit Physik-Engine (Box2D) (Linear Particle for ClanLIB), unterstützt MikMod und Fmod, funktioniert unter Linux, Mac und Windows, ist kinderleicht zu bedienen und Sie können Seth Fragen stellen!

EDIT: Seth ist der Name des Programmierers (der auch LORD gemacht hat)


Vielen Dank! Ich habe noch nie davon gehört, aber die Featureliste ist interessant genug, um es auszuprobieren. auch Open Source
Nek

Ja! Meine eigene Version von Novashell ist im Vergleich zur offiziellen Version ein wenig verbessert, aber es wird LOOONG dauern, bis ich sie veröffentlichen kann :( (es ist nicht einmal in einem Computer in meiner Nähe)
Speeder

Trotzdem habe ich an diesem Wochenende keine Zeit, es vor dem Ludum Dare zu lernen. Hoffe, Sie werden es vor der nächsten LD veröffentlichen.
Nek

Auch die Keynote dieser LD stammt von Seth selbst!
Nek

Ja :) Seth ist fantastisch ... Ich halte nicht mit LDs Schritt :( Also ich habe keine Ahnung, auch wenn die nächste LD sein wird.
Speeder

7

Game Maker ist sehr cool, es macht im Grunde alles, was Sie beschrieben haben. Es verfügt über Drag & Drop-Symbole für Anfänger und Code für fortgeschrittene Benutzer. Nachdem ich C ++ über ein Jahr lang exklusiv verwendet hatte, war es jedoch ... schmerzhaft, wieder zu Game Maker zurückzukehren.

Nachteile:

  • Keine benutzerdefinierten Datenstrukturen (nichts wie C-Strukturen oder C ++ - Klassen, nur "Objekte")
  • Dynamisch getippt (Typ "varAwesome = 0" und oh mein Gott, es ist gerade erschienen)
  • YoYo Games ist böse

Vorteile:

  • Einfach zu bedienen, schwer zu meistern
  • Tut eine Menge Low-Level-Sachen für dich
  • Lebendige und aktive Gemeinschaft

Ich habe 2002 angefangen, Spiele mit Game Maker zu machen. :)


6
lol bei dynamisch getippt - Nachteil ...
RCIX

Ja, das und das schwache Tippen. Ich bekam einige wirklich seltsame Fehler, bevor mir klar wurde, dass der Modul-Operator Antworten in Gleitkommazahlen zurückgab.
James

Keine benutzerdefinierten Datenstrukturen sind ein Schmerz. Wenn Sie mehr als einen Wert von einer Funktion zurückgeben müssen, müssen Sie ein Objekt dafür erstellen, aber alle Objekte sind vollständige Spielakteure mit einer Position, Ereignissen usw. Sie können keine Arrays weitergeben (wenn Sie nichts angeben) ein Index, wird es davon ausgehen, [0])
Bart van Heukelom

Ich empfehle GameMaker auch, wenn Sie Ihr Game-Design schnell prototypisieren möchten. GameMaker ist sehr mächtig und ich habe einige erstaunliche Dinge gesehen, die damit gemacht wurden. Sie könnten sich möglicherweise viel Zeit und Kummer ersparen, wenn Sie Ihr Game-Design zuerst in GameMaker prototypisieren, bevor Sie mit der Entwicklung einer Game-Engine in C ++ oder XNA fortfahren.
Cooper

Ich habe tatsächlich eine dynamische Speicherzuweisungsskriptbibliothek, um das Problem fehlender Datenstrukturen zu umgehen. Ich werde sagen, dass es sehr einfach ist, mit solchen Bibliotheken zu arbeiten, und dies in der Lite-Version zu tun.
The Great Duck

5

Ich benutze DarkBASIC Professional seit 2 Jahren und genieße es wirklich. Wenn Sie es sich nicht leisten können, die Vollversion zu kaufen, können Sie einfach die kostenlose werbefinanzierte Version herunterladen. Die Game Creators, Hersteller von DBPro, veröffentlichen auch einen regelmäßigen Newsletter, der ziemlich gut liest, und sie haben eine ziemlich große aktive Community. Alle oben genannten finden Sie hier:

https://www.thegamecreators.com/

Probieren Sie es aus, hoffentlich finden Sie dort etwas.

Prost, BFM


5

cocos2d verwendet Pyglet . Ich benutze diese beiden Python-Bibliotheken ausgiebig für das Prototyping.

Es ist viel einfacher, damit zu arbeiten als mit Pygame.

Ich bin überrascht, dass es noch nicht erwähnt wurde!


5

Ich würde Scirra Construct für Anfänger und schnelles Prototyping empfehlen .

Die Game Engine selbst ist abstrahiert, sodass Sie sich ganz auf Ihr Spiel konzentrieren können. Plugins ermöglichen zusätzliche Funktionen, der "Code" besteht aus ziehbaren Ereignis-, Bedingungs- und Aktionsblöcken usw.

Construct befindet sich in aktiver Entwicklung und hat auch eine aktive Community.


3

Das Scrolling Game Development Kit, Version 2, ist die zweite wichtige Iteration (Neufassung) einer Spieleentwicklungs-IDE und eines Frameworks für genau diese Art von Prototyping und einfacher 2-D-Spieleentwicklung. In der zweiten Iteration werden moderne Sprachen (C #) und Technologien (Reflektion über benutzerdefinierten Code) genutzt und einige grundlegende Konstruktionsfehler behoben (jetzt können Sie Sprites direkt im Karteneditor platzieren anstatt nur ein Pfad, der extern mit einem Sprite verbunden sein muss, und es wird nicht versucht, ein derartiger Wysywig-Editor zu sein, da einige Dinge nur zur Laufzeit und andere nur zur Entwurfszeit ausgeführt werden sollen.

Einige der Features von Interesse:

  1. Der überwiegende Teil des Framework-Codes ist in der IDE verfügbar und kann dort bearbeitet werden. Wenn Ihnen das Verhalten der integrierten Funktion "PushTowardSprite" nicht gefällt, können Sie den Editor aufrufen und ändern oder einen eigenen Editor hinzufügen, der zusammen mit allen integrierten Befehlen in der Liste angezeigt wird.
  2. Sie erwähnten die Fähigkeit, Polygone zu zeichnen. Dieses Framework basiert auf OpenTK, einem .NET-Wrapper für OpenGL. So haben Sie die ganze Kraft von OpenGL zur Hand. Es gibt eine einzelne Klasse "Display.cs" im Framework-Code, die Sie in der IDE bearbeiten können, um die gewünschten Zeichenfunktionen hinzuzufügen.
  3. Ein Großteil des Frameworks zielt auf Side-Scroller-Physik ab (Gehen auf Hängen, Reiten auf Plattformen usw.), daher ist ein Großteil dieses Codes bereits für Sie erledigt. Natürlich können Sie es für andere 2-D-Spieltypen anpassen oder ignorieren. Ein Tetris-Spiel wurde damit geschrieben.
  4. Parallaxe scrollen
  5. Alpha-Transluzenz kann in die Grafik eingebettet oder auf die Zeichnung einer Grafik angewendet werden.
  6. Alle Projektdaten werden in einer einzigen XML-Datei (einem .NET-Datensatz) gespeichert. Externe Editoren können auf die Datei zugreifen und so bei Bedarf die in der IDE verfügbaren Funktionen erweitern.
  7. Projekte werden zuerst in C # -Projekte (kompatibel mit Visual Studio) und dann in EXE-Dateien (mit allen eingebetteten Ressourcen) kompiliert. Bei Bedarf können Sie das Projekt in Visual Studio laden, um das Debugging oder die Code-Entwicklungsoberfläche zu verbessern.

3

Bei PreviewLabs, einem auf Rapid Prototyping spezialisierten Unternehmen , verwenden wir Unity3D häufig zum Prototypen von 2D-Spielen.

Obwohl es sich um eine 3D-Engine handelt, gibt es verschiedene Möglichkeiten, sie für das 2D-Prototyping zu verwenden. Das sind die Hauptvorteile:

  • Es ist kostenlos für die PC- und Mac-Plattformen
  • Die kostenpflichtigen Versionen funktionieren auch für iOS und Android, sodass Sie sehen können, wie Ihr Konzept auf einer anderen Plattform funktioniert.
  • Es kommt mit einer Physik-Engine, die Sie auch beim Prototypen von 2D-Spielen verwenden können.

Ich schreibe eine Reihe von Blog-Posts darüber, wie Unity3D für das Prototyping von 2D-Spielen verwendet werden kann. Dies ist das erste: Prototyping von 2D-Spielen in Unity3D


3

Das in Java geschriebene Slick Framework ist eine gute Wahl. Es ist das, was ich zum ersten Mal gelernt habe, zu programmieren. Die Vorteile sind die plattformübergreifende Ausführung, die Erstellung von Applets für das Web und die fantastische Unterstützung von Tools / Bibliotheken über Eclipse oder die Java-Umgebung. Das heißt, ich bin irgendwann auf Flash umgestiegen, weil es nichts Einfacheres und Effektiveres gibt, wenn Sie Ihre Spiele verteilen möchten.


2

Ich habe angefangen, FlashPunk für mein erstes Spielentwicklungsprojekt zu verwenden, und bisher war es wirklich clever. Es ist eine Flash-Bibliothek, die für das Game-Design entwickelt wurde. Es ist eine Bare-Bones-Game-Engine ähnlich wie Flixel, ähnelt jedoch eher GameMaker und ist für Anfänger benutzerfreundlicher als Flixel. Mit FlashPunk und dem Ogmo-Editor ist es sehr effizient, direkt zum Level-Design zu gelangen, ohne viel Zeit für das Codieren aufwenden zu müssen. Weitere Informationen zu allen drei finden Sie im Flash Game Dojo .


1

Ich werde die Erwähnung von Game Maker unterstützen. Ich würde sagen, wenn jede Spiel-Engine auf ein Kontinuum von "einfach zu bedienen / zu lernen, aber begrenzt in dem, was man tun kann" bis "wirklich mächtig, aber es dauert lange, bis man sie beherrscht" fällt ... Game Maker ist so ziemlich die Definition vom bedienungsfreundlichen Extrem. Wie Cyclops sagt, sind die meisten grundlegenden Funktionen (Sprites, Erstellen von Spielobjekten, Bewegung, Kollisionserkennung, Scorekeeping usw.) Drag-and-Drop-Symbole. Es enthält tatsächlich eine ziemlich robuste Skriptsprache, die Sie auch verwenden können, sobald Sie anfangen, gut zu werden. Wenn Sie jedoch anfangen, Ihr gesamtes Spiel in der eingebetteten Skriptsprache zu schreiben, ist es vielleicht an der Zeit, auf eine Skriptsprache wie Flash oder zu "wechseln" PyGame.

Trotzdem hatte ich mit Game Maker einen großen Erfolg als Anfänger, da ich kein Programmier-Tool für Game-Design-Studenten benötige. Ich kann es nicht genug empfehlen.


1

Ich bin ein Anfänger im Spielemachen und ich war beeindruckt, dass ich es geschafft habe, so schnell und einfach etwas aus Pygame zu machen. Python + SDL = Leichtigkeit garantiert.


1

Nun, wenn es sich um Prototyping handelt, brauchen Sie kein ausgeklügeltes Back-End mit Ressourcenmanagement und Ähnlichem. Solange Sie Grafiken laden und anzeigen können, sind Sie meistens festgelegt. Ich gehe gegen den Strich und schlage vor, 'schreibe deine eigenen'. Sie werden keine Zeit verlieren, wenn Sie herausfinden, wie Sie die API von jemandem verwenden können. Wenn es nicht möglich ist, selbst zu schreiben, wird DirectX mit einem Beispielframework geliefert, das die meisten grundlegenden Dienste bereitstellt. Nicht an ein Framework gebunden zu sein bedeutet, keine Zeit nach dessen Regeln zu verlieren und nicht durch dessen Geltungsbereich eingeschränkt zu sein. Ich habe Prototyping als Job gemacht und meine schnellsten Ergebnisse waren, als ich einfach Code einbauen konnte, ohne mich um ein Framework sorgen zu müssen oder durch dieses behindert zu werden. Ein 2D-Wrapper braucht wirklich nur Bilder zu laden und sie bei x, y anzeigen zu können - möglicherweise mit Skalierung, Rotation und wenn Sie trippy sein wollen, Shader. Den Rest können Sie nach Bedarf programmieren. Für einen Prototyp ist der Code also nicht schön.


1

Torque-2d von GarageGames ist eine großartige Spiele-Engine mit einer großartigen Community, einigen wirklich beeindruckenden Add-Ons und integrierter Unterstützung für Windows, Mac und Wii sowie für iOS (mit separater Lizenz). Es kostet 99 $.

Unity3d (auf dem Sie 2D-Spiele entwickeln können) ist eine weitere sehr gute Spiel-Engine mit einer relativ niedrigen Eintrittsbarriere. Wieder eine großartige Community und wirklich coole Unterstützung für mehrere Plattformen, einschließlich iOS und Android, zusätzlich zu Win / Mac, Wii, Xbox, Playstation und dem Web.

Eine großartige, auf das iPhone ausgerichtete Spiele-Engine ist cocos2d für iOS.


1

Bei Ihrer Frage geht es darum, wie man einen 2D-Spiel-Prototyp erstellt, aber ich denke, es gibt noch etwas zu beachten: Der größte Vorteil von Flash besteht darin, dass Sie diesen Prototyp mit anderen teilen können. Fast jeder hat bereits Flash installiert. Ich kann eine SWF-Datei hochladen und die URL per Chat oder E-Mail an jemanden weiterleiten. Kein Download, keine Installation, kein Entpacken, keine Exe, kein plattformübergreifendes Problem. Am Ende habe ich mich für Flash entschieden, weil es so einfach war, Inhalte zu teilen und Feedback zu erhalten. Die Iteration umfasst das erneute Hochladen und das Anfordern des erneuten Ladens. Ich wollte eine schnelle Iteration für das Prototyping. (Javascript + Canvas / SVG ist eine weitere nützliche Option, und ich bin sicher, wir werden bald Bibliotheken wie Flixel / Flashpunk für JS sehen).


1

HGE scheint großartig zu sein. Es verfügt über einen Partikel-Editor, einen GUI-Editor und wird von professionellen Programmierern verwendet.


1

Es gibt immer GLBasic .

Es ist eine ziemlich gute Sprache und hat kürzlich die mobile Unterstützung erweitert.

  • Es ist sowohl 2D als auch 3D
  • Kostenlos für nichtkommerzielle Zwecke
  • Grundlegende Sprite-Befehle mit Pixel- oder Blockkollision
  • Einmal schreiben und auf vielen Geräten und Plattformen bereitstellen (meistens)
  • Hat Box2D-Unterstützung über Wrapper (Suchforen)
  • Benutzerdefinierte Datentypen mit Funktionen (in der Nähe einer Klasse, aber ohne große OOP-Funktionalität)
  • Kann mit wenigen Codezeilen in kurzer Zeit ein Sprite auf dem Bildschirm bewegen

1

PixieEngine ist eine webbasierte IDE- und Spieleentwicklungsumgebung. Es verwendet CoffeeScript für die Skripterstellung und bietet integrierte Editoren für Pixelkunst und Soundeffekte.

PixieEngine IDE


1

Ich war auf einer ähnlichen Suche und bin auf ein paar andere Tools gestoßen, die hier nicht erwähnt wurden:

  • Stencylworks ist eine IDE / Dev-Umgebung für das schnelle und einfache Erstellen von Flash-Spielen und eine visuelle Schnittstelle für vorhandene Module. Es scheint zu 100% kostenlos und nicht Open Source zu sein. Zu den wichtigsten Vorteilen gehört eine raffinierte, codelose Codierung (es ist nicht wie bei Gamemakers schitzoidem Skript / visueller Oberfläche). Ich mache mir Sorgen um die Grenzen der visuellen Oberfläche - unklar, wie richtig objektorientiert sie wirklich ist; es hat sicherlich einfache Sachen; Vermutlich ist irgendwo ein Javascript-Skript-Editor vorhanden, aber ich habe ihn noch nicht gesehen. Es scheint im Kern für die kollaborative Entwicklung gedacht zu sein (in IDE integrierter Chat; alle Ressourcen und Verhaltensweisen, die auf einem Server gehostet werden, von Benutzern beigesteuert). Das könnte für die Prototypenentwicklung GROSSARTIG sein. Ich habe noch nicht viel damit gemacht, aber das Tutorial war denkbar einfach.

Ich habe auch ein paar andere seltsamere ausprobiert.

Alice ist eine 3D-Spiel- / Entwicklungsumgebung, die Open Source ist - sie sieht irgendwie klobig aus.

Mit Kodu, das sich nicht nur an Gamemaker, sondern auch an Kinder richtet, können Sie Spiele mit einem Xbox-Controller erstellen. frei von Microsoft Research

Scratch von MIT Labs ist ein kostenloses und grundlegendes 2D-Programm, mit dem Kinder in die Programmierung einbezogen werden sollen. Optisch klobig. Trotzdem flexibel.

Microworlds JR geht zurück zu Paperts LOGO und lässt Sie angeblich in das Logo schreiben. Benötigt ein Update, um nützlich zu sein, IMO.

Bisher geht es für mich darum, Construct 2 gegen Stencylworks zu spielen. Ich werde jedoch herausfinden, wie einfach es ist, ein anständiges 2D-Spiel in Unity zu erstellen, wie ich Unity kenne und mag.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.