"Model Driven" Game Prototyping


8

Gibt es bekannte Bibliotheken / Frameworks / Systeme, die es ermöglichen, ein Spiel basierend auf einem definierten "Modell" der Spielmechanik zu prototypisieren?

Denken Sie, all diese Match-3-Spiele, ich suche nach "etwas", das es ermöglicht, neue Regelsätze in schnellen Prototypen auszuprobieren, bei denen der Umgang mit dem Grafix / die Aktualisierung des Bildschirms basierend auf dem Status und der Eingabe / Ausgabe nur zweitrangig ist und etwas läuft und läuft Interaktiv ist am wichtigsten, um eine Idee zu validieren ...

Gibt es solche Tools? Was würden Sie davon halten, wenn Sie aufgefordert werden, so viel Codierung wie möglich zu überspringen?

Zur Verdeutlichung: Nein, ich suche KEINE Magie. Was ich suche, sind Tools, die es ermöglichen, sich mehr auf die "Logik" eines Spiels zu konzentrieren (zumindest für einfache Spiele wie Match 3) und nicht alle Bildschirm- / Eingabe- / UI-Inhalte codieren zu müssen, daher die "modellgetriebene" Benennung. ..


1
Wenn Sie formelle Spielregeln schreiben, codieren Sie. Sie codieren möglicherweise in einer höheren Sprache, aber Sie codieren. Wenn Sie ein gewisses Maß an Flexibilität wünschen, wird dieser Code "schwer" zu schreiben sein, in dem Sinne, dass Sie schwierige - und wahrscheinlich oft falsche - Entscheidungen zum Architekturdesign und zum Spieldesign treffen müssen. Das Durchdenken eines Designs ist eine grundlegende Herausforderung, und das lässt sich nicht vermeiden. Es gibt keine Silberkugel.

(-1 und zum Schließen abstimmen, da dies eine weitere Anfrage für den magischen "Make my Game" -Button ist.)

Zur Verdeutlichung: Nein, ich suche KEINE Magie. Was ich suche, sind Werkzeuge, die es ermöglichen, sich mehr auf die "Logik" eines Spiels zu konzentrieren und nicht alle Bildschirm- / Eingabe- /
UI-Inhalte

@Joe: Bitte beachten Sie die Beschränkung auf einige einfache Regelsätze für Match-3-Spiele ... Die Kodierung der Regeln dort ist mit Sicherheit von mehreren Komplexitätsstufen niedriger als nötig, vielleicht in anderen Spieltypen ...
pointernil

1
Wie würde diese API aussehen? Kann es etwas anderes als Bejeweled machen? Etwas anderes als Bejeweled mit einer variablen Anzahl von Farben? Oh, du willst dort auch eine zeitliche Modellierung? Plötzlich ist es eine Programmiersprache. Es gibt keinen Teil einer Hochsprache wie Python oder Lua, den Sie entfernen und die Entwicklung erleichtern könnten. Was Sie verlangen, ist nicht "nicht codieren", sondern jemand, der bereits eine API erstellt hat, die den gesamten Designbereich für Sie abstrahiert - und das verlangt nach Magie.

Antworten:


10

Die kurze Antwort lautet: Ich glaube nicht, dass so etwas existiert.

Die lange Antwort lautet: Sie sind auf dem richtigen Weg, um die Spielregeln von der Spielanzeige zu abstrahieren. Für einige Ideen sollten Sie sogar in der Lage sein, ein textbasiertes Spiel zu erstellen, bei dem das Spiel anstelle von ausgefallenen Grafik-Renderings einfach Text verwendet, um zu beschreiben, was vor sich geht. Mit diesem Ansatz können Sie sich auf die Spielregeln konzentrieren. Sobald Ihnen die Spielregeln gefallen haben, können Sie entscheiden, was mit der Anzeige geschehen soll.


1
Mehrmals habe ich genau das getan, was Sie mit Prototyping im Text vorschlagen. Wenn das Spiel rundenbasiert ist, ist es nur sinnvoll, die Logik des Spiels mit Konsolenausgabe zu erstellen, anstatt sich mit "Programmierkunst" zu beschäftigen.
Jhocking

3

Dies ist wahrscheinlich nicht die Antwort, nach der Sie suchen, aber ich würde empfehlen, etwas wie Paper Prototyping auszuprobieren, um diese Art von Regeln zu testen. Für ein Match-3 sollte es nicht allzu schwierig sein, die verschiedenen Spielelemente aus Papier herzustellen und die Dinge von Hand zu spielen.


1

Das, was Sie so etwas am nächsten finden, ist eine der Standard-Game-Engines. Game Salad ist gut für diejenigen, die es nicht codieren möchten. Es gibt niedrige Codierungsoptionen wie Game Maker. Von dort aus wird so etwas wie Unity UDK oder Panda3d die beste Wahl sein, aber sie erfordern ein gutes Stück Arbeit, um zu dem Punkt zu gelangen, über den Sie sprechen.


irgendwelche ähnlichen Nicht-Apfel-Optionen?
Pointernil

@pointernil Als Programmierer folge ich dem Bereich der nicht programmierbaren Tools nicht wirklich. Ich kenne meistens Wildsalat, weil ein Freund von mir dahinter steckt. Da das Spiel, das Sie erstellen möchten, ziemlich einfach ist, sollten Sie sich den App-Erfinder von Google ansehen. Nicht streng spielbezogen, aber eines ihrer ersten Beispiele ist das Schlagen eines Maulwurfs. Geben Sie dem Spielehersteller auch einen Blick darauf, dass er auch eine Drag & Drop-Option hat.
Steinmetz

0

Grundsätzlich - Sie stellen die Frage, wie die Benutzeroberfläche aus der Spielelogik zerlegt werden kann.

Um das zu tun - müssen Sie Dinge abstrahieren. Dabei hilft die objektorientierte Programmierung . Genauer gesagt - MVC- Muster ist das, wonach Sie suchen. In Kombination mit einem Rich- Domain-Modell (Ihrer Spielmechanik), das so genanntes DSL interpretieren kann, können Sie Ihr Ziel erreichen.


0

Ich würde mir ein Framework wie GeekGameBoard ansehen . Sobald Sie herausgefunden haben, wie Sie Ihren Code schreiben, können Sie schnell ein neues Brettspiel implementieren. Die Bibliothek abstrahiert einen Großteil der Mechanik und ermöglicht es Ihnen, einfach die Regeln zu schreiben, für welche Teile sich wohin bewegt, erfasst usw. Ich konnte ein brandneues Brettspiel von Anfang bis Ende in etwa einer Stunde prototypisieren (das Spiel war nicht) macht nicht so viel spaß ...).

Für andere Arten von Spielen müssten Sie ähnliche Vorarbeiten ausführen.


0

Für das No-Code-Prototyping empfehle ich GameMaker auf dem PC und GameSalad auf dem Mac. Lassen Sie sich nicht davon täuschen, dass Sie das Endergebnis erzielen. Das einzige veröffentlichte Spiel, das mit diesen Tools gemacht wurde, die mir gefallen haben, war Spelunky.

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.