Okay, da ist eine Menge dabei, aber ich versuche einmal zu allem was zu sagen.

Zitat Zitat von Cyangmou Beitrag anzeigen
Einstellung für Auflösung/Pixel-Zoom/Tilegrößen
Auflösung (nativ) heißt dass man ne Auswahl hat um die gängisten Auflösungen auszuwählen
Zoom (ob man die grafiken mit 100%, 200%, 300% usw. scharf darstellen lässt)
Tilegrößen, würde 8x8, 16x16, 32x32, 48x48 und 64x64 als grundeinstellung vorgeben... kaum wer verwendet andere Tilegrößen, es sei denn für iso Grafiken.

(z.B. 640x360 300% 32x32 Tile Einstellung und man kommt auf ne State-of-the-art HD Aufösung, bzw. mit 200% kommt man auf 720p)
Ich persönlich würde es dem Entwickler erlauben jede beliebige Fenstergröße zu verwenden. Man kann auch gerne 777x123 benutzen wenn man es wirklich mag.
Allerdings muss eine gängige Fenstergröße benutzt werden wenn das Spiel im Fullscreen gespielt werden soll, andernfalls macht die Grafikkarte das nicht mit.

Zoomen soll sowieso generell möglich sein. Ich denke im Moment an eine Art von Viewports, welche der Entwickler definieren kann. Zum Beispiel 1 Viewport für die Karte mit den Kartenobjekten (Held, NPC's, Bäume, etc), ein Viewport für das Interface, vielleicht ein weiterer Viewport für Dialogfenster oder ähnliches.
Jeder von diesen Viewports könnte separat gezoomt, gescrollt, rotiert oder andersweitig beeinflusst werden.

Zitat Zitat von Cyangmou Beitrag anzeigen
Z-Sortierung von sprites anhand grundfläche/unterkante
Zitat Zitat von Cyangmou Beitrag anzeigen
(wenn man sprites hat die größer als ein tile sind, bzw. höher stehen, unter tiefer stehenden sprites angezeigt werden - eliminirt ziemlich viel clipping)
Das verwende ich in meiner RPG-Engine derzeit sowieso.
Allerdings würde ich dem Entwickler wohl auch die Möglichkeit geben auf die Sortierung Einfluss zu nehmen. Auch wenn ich derzeit noch keine genaue Vorstellung habe, wie es im Detail aussehen könnte.

Zitat Zitat von Cyangmou Beitrag anzeigen
Zoom (um bei gewissen Events näher ins Geschehen zu Zoomen)
Screenshake (Um bei gewissen Events den Screen schütteln zu lassen)
Lässt sich leicht machen, wie ich schon vorher angesprochen habe. Einen Screenshake-Effekt man durch schnelles scrollen eines Viewports nach Links und Rechts.

Zitat Zitat von Cyangmou Beitrag anzeigen
Einstellung für die Zentrierung des Hauptcharakters (um bei größeren Figuren/Missbrauch des Programms bezüglich Genre mehr Kontrolle zu geben)
Ich glaube mal eine Programmierbare Kamera wäre sowieso ganz förderlich.
Immerhin sollten auch andere Genres als nur RPG's möglich sein.

Zitat Zitat von Cyangmou Beitrag anzeigen
Feinabstimmung für Geh/Laufgeschwindigkeiten
Zitat Zitat von Cyangmou Beitrag anzeigen
(Frameanzahl & Schrittgeschwindigkeit)

Standardmäßige 8-Richtungsunterstützung für Chars oder zumindest für den Hauptcharakter, für NPCs macht mans meistens aufwandtechnisch eh nicht (für gehen/laufen, 4 richtungen sind für ne Basis OK, fürn Hauptchar isses vor allem bei Action RPGs hakelig, falls nur 4 Richtungen vorhanden sind)
Derzeit tendiere ich zu freier 360° Bewegung von Objekten mit Geschwindigkeitsangabe als Gleitkommazahl. Sprich: Die Bewegung setzt sich aus einem Winkel und einer Geschwindigkeit zusammen.
Dieses Bewegungssystem funktioniert allerdings nur bedingt, je nachdem wie das Kollisionssystem aufgebaut.

Zitat Zitat von Cyangmou Beitrag anzeigen
Animationseditor
Zitat Zitat von Cyangmou Beitrag anzeigen
für jegliche Spritesheets (mit Angabe der ms/frame):
bestenfalls zum selber einstellen welche Frames für welche Animationen verwendet werden können - quasi dass man jede Animation für jede RIchtung programmieren kann und dann darauf zugreifen

Gut wäre hierbei jede Animation mit nem Sound verknüpfen zu können, für den man auch nen Offset einstellen kann, wann er abgespielt wird (würd ne gewisse Standard-Sounddynamik bringen)
Ich kann einmal ansprechen wie ich Animationen derzeit in meiner RPG-Engine löse (in Java programmiert).
Eine Animation ist eine Hintereinanderreihung von Kommandos. Zwischen jedem Kommando kann eine Wartezeit definiert werden bis das nächste Kommando ausgeführt wird. Mögliche Kommandos sind das setzen des Ausschnitts von der Textur, das setzen eines Ankerpunktes für den Ausschnitt (eine Bewegung des Sprites relativ zur Position des Objektes); das Skalieren, Rotieren und Färben des Sprites; das Abspielen von Sounds, das Wechseln der verwendeten Textur / dem verwendeten Shader; horizontale und vertikale Spiegelung des Bildausschnitts aktivieren / deaktivieren, und noch einige weitere kleine Spielereien.
Soetwas ermöglicht sehr flexible und mächtige Animationen; bedeutet allerdings auch ein klein wenig Aufwand für den Entwickler beim Erstellen von Animationen.

Um ein Beispiel zu nennen, in Pseudo-Code könnte eine Animation wie folgt aussehen:
Code:
// Setze die zu verwendende Textur (Bilddatei) für den Sprite
setzeTextur ( "Graphics/Charsets/MeinHeld.png" )
// Setze den Ausschnitt, welcher aus der Textur von diesem Sprite angezeigt werden soll. Werte sind x, y, breite und höhe in pixeln
setzeAusschnitt ( 16, 16, 32, 48 ) 
// Die Breite des Sprites wird um diesen Faktor gestreckt
setzeSkalierungX( 2.5 )
setzeSkalierungY( 2.5 )
// Warte diese Anzahl von Frames bis zur Ausführung des nächsten Kommandos
wait ( 5 )
setzeAusschnitt ( 16, 64, 32, 48 )
wait ( 5 )
setzeAusschnitt ( 16, 112, 32, 48 )
wait ( 5 )
setzeAusschnitt ( 16, 160, 32, 48 )
wait ( 5 )
Das könnte zum Beispiel eine simple Laufanimation mit 4 Einzelbildern sein. Es wird jeweils 5 Frames zwischen jedem Einzelbild gewartet, bis das nächste angezeigt wird.

Aber das ist natürlich nur das System, welches ich derzeit in meinem eigenen Hauptprojekt verwende. (Es ist sogar noch ein wenig komplexer als das, aber lassen wir es ersteinmal dabei)
Für einen Maker wäre dies vielleicht sogar schon ein wenig zu kompliziert. Man muss dabei bedenken, dass die Zielgruppe nicht ausgebildete Programmierer oder studierte Informatiker sind, es soll von jedem einfachen Ottonormalverbraucher verstanden und benutzt werden können.
Es muss simpel, und dennoch mächtig sein.

Was ich dachte, war vielleicht gewisse, oft vorkommende, Animationstypen schon als Templates bereit zu stellen, aber auf der anderen Seite zu erlauben eigene Animationen zu definieren.
Aber darüber müsste ich mir noch viele weitere Gedanken machen, bis ich das konkretisieren könnte.


Zitat Zitat von Cyangmou Beitrag anzeigen
Bewegung losgelöst vom Tilegrid
Zitat Zitat von Cyangmou Beitrag anzeigen
Pixelmovement ist nett, im Normalfall ist es für ein RPG allerdings genug 1/2 oder 1/4 Tile Größen für Bewegungen zu haben.
Heißt ne einstellung für schrittweiten wär optimal
Für gehen/Rennen braucht man vmtl verschiedene Schrittweiten (Rennschritte sind weiter und das muss auch in der Engine so vorgesehen werden um die Geschwindigkeit rüberzubringen)
Vor allem wenn man die Frameanzahl fürs und die Relativbewegung des Charakters abstimmt, würden schrittweiten helfen.

Beispiele aus der Praxis:
tilegröße 16x16
ich hab ne schrittweit von 8 pixel und 8 frames für den char, heißt jeden pixel wird n eigener frame angezeigt -> superflüssige Animation, gute kontrolle
beim rennen: selbe schrittweite 16 pixel, 8 frames (4 frames linker fuß, 4 frames rechter fuß) char nimmt immer 2 schritte, falls nur ein schritt möglich ist, wird nur die erste hälfte der frames angezeigt)

ich hab ne schrittweit von 16 pixel und 3 frames für den char -> superhakelige Animation, wenig kontrolle
ich hab ne schrittweite von 8 pixel und 3 frames für den char -> hakelige animation, jedoch noch verschmerzbar, gute kontrolle
Vor allem bei anderen Genres wie einem Jump-n-Run würde ich eine Pixel genaue Bewegung schon befürworten.
Vielleicht kann man alternative "Modi" für die Bewegung einstellen.

Mapping:

Zitat Zitat von Cyangmou Beitrag anzeigen
Kollisionsmaps:
Zitat Zitat von Cyangmou Beitrag anzeigen
Passierbarkeit einstellbar via mapbarer Kollisionsmaps, statt Kolisionsabfrage im Tileset
Warum?
Man kann erstmal ne map bauen, ohne sich über Kollision Gedanken zu machen
die Kollision kann nachträglich über die Map gezeichnet werden
Sämtliche Begehbarkeitsfehler gehören der Vergangenheit an

(Für plattformen und dergleichen muss die kollisionsmap natürlich irgendwie ansteuerbar sein, damit man kollisionsblöcke sozusagen ändern kann)

Müsste natürlich verschiedene Kollisionstiles geben von welcher seite man gewisse tiles betreten kann und von welcher seite nicht (ganz praktisch, wenn man eher 3D angehauchte levels bauen will)
Ich persönlich würde eher einen Hybrid anstreben.
Natürlich ist es gut, wenn man Kollisionen per Hand eintragen kann um vollkommene Kontrolle zu besitzen. Bei einer gigantischen Karte mit 300 x 300 Tiles wäre das aber eine fürchterliche Arbeit.
Daher würde ich schon ein System vorschlagen, welches es erlaubt Kollisionen nach gewissen Regeln zu setzen.
Dann kann der Benutzer nocheinmal im Nachhinein von Hand dran gehen um Feinheit auszuarbeiten.


Zitat Zitat von Cyangmou Beitrag anzeigen
Beliebig große Tilesets
Zitat Zitat von Cyangmou Beitrag anzeigen
bzw. Falls eine standardgröße per tileset, beliebig viele tilesets verwendbar
Das ist so eine Sache. Grafikkarten vertragen nur Texturen bis zu einer gewissen Größe. Alles darüber hinaus wird schlichtweg nichtmehr unterstützt.
Und jede Generation von Grafikkarte verträgt eine andere maximalgröße.
Ein kleines Asus Netbook, ein Lenovo Gaming Laptop und ein selbst zusammen gestellter 2500€ Heimcomputer vertragen alle völlig unterschiedliche Maxima, dennoch würde man hoffen ein simples kleines 2D Spiel auf jedem dieser Geräte spielen zu können.

Daher würde ich eher dazu tendieren beliebig viele Tilesets gleichzeitig verwenden zu können anstatt beliebig große Sets.


Zitat Zitat von Cyangmou Beitrag anzeigen
Animationstiles mit beliebig vielen Frames (losgelöst vom standardtileset) und mit globaler Ansteuerung vom timing
Quasi, dass man Tileanimationen vorher zusammenbauen kann und dann setzt man so ein Animationstileobjekt. Alle laufen exakt gleich, wobei man selbe rnen Zeit/Frameoffset einstellen kann.
Könnte man wohl machen.

Zitat Zitat von Cyangmou Beitrag anzeigen
Einzeltiles/Meta Tiles
Zitat Zitat von Cyangmou Beitrag anzeigen
Mappingmäßig wäre es gut wenn man ein tileset auf einzeltiles und Meta-Objekte einstellen könnte.
Meta objekte sind einfach aus mehreren tiles zusammengesetzt.
Wenn ich jetzt nen Baum oder ein Teil Klippe im Tileset habe, will ich meistens alles hinsetzen, mit ner Einstellung diesbezüglich im Vorfeld kann man die Mappingeffizienz stark erhöhen (da ich im Tileset nur irgendwo af nen baum klicken muss und ein klick setzt alles hin, ist vor allem bei nicht Maker-Standardisierten Tilesets (sprich solche die den Grid verstecken und viele unterschiedliche tileansammlungen verwenden) von enomen Vorteil
Könnte man so machen, alternativ könnte man auch einfach zusammengehörige Gebilde nicht als Tileset, sondern als spezielle Kartenobjekte definieren.
Also ist ein Baum tatsächlich ein Baum. Nicht eine Ansammlung kleiner Einzeltiles.
Man könnte dann im Editor nach freiem Belieben, und ohne Bindung an das Tileraster Kartenobjekte verteilen.

Zitat Zitat von Cyangmou Beitrag anzeigen
Advanced Auto Tile System:
Zitat Zitat von Cyangmou Beitrag anzeigen
Automatisierte Texturtiles fürn Boden wie sie der Maker hat sind ja ganz nice, ist aber sehr basic
z.B. Fehlt die Möglichkeit Variationen für Ecken und gerade Tiles vom Programm automatisch stezen zu lassen.
Stell dir mal vor du hast fürn Autotile verschiedene Stücke für gerade tiles und Ecken und das Programm setzt diese Automatisch per Zufall - Mappingeffizienz und Mappinggeschwindigkeit sowie Mapstruktur werden mit ner kleinen Änderung am programm besser
Autotiles sind eine komplizierte Angelegenheit. Die Autotiles wie sie im Maker sind sind schon ein ganzes Stückchen Leistung. Immerhin besitzt jedes einzelne von ihnen 256 verschiedene Variationen.
Wenn du allerdings nur zufällig ausgewählte Versionen willst, so ist das kein Problem.
Wenn du aber kompliziertere Formen von Autotiles möchtest, zum Beispiel, welche die mehr als nur die 8 direkt umliegenden Tiles betrachten, dann wird das schon sehr aufwendig.


Zitat Zitat von Cyangmou Beitrag anzeigen
Riesenvorteil für das System wäre auch eigene Autotile Einstellungen für Klippen, da Klippen immer sehr Zeitintensiv zum Mappen sind
Ich weis nicht wie gut das aussehen würde.
Natürlich, bei Klippen wie im RPG-Maker RTP wäre das sehr simpel. Bei komplizierteren Grafikstilen könnte das aber möglicherweise nicht funktionieren.

Zitat Zitat von Cyangmou Beitrag anzeigen
Ebenfalls nice wäre es, wenn man größere Ecken für gewisse Texturen setzen könnte
Ich weis leider nicht ganz was du damit meinst.

Zitat Zitat von Cyangmou Beitrag anzeigen
Mehrere Layer
Zitat Zitat von Cyangmou Beitrag anzeigen
Optimal wären:
Layer unter sprites (x2)
Layer über sprites (x2)
Layer mit ner z-sortierung (teilweise überlappung, hohes Gras z.B.)

Mit ner durchdachten Kollisionsmap und so ner Layer-einstellung kommt man grafisch recht weit
Das würde dem Viewport-Konzept entsprechen was ich vorher angesprochen habe.
Mit beliebig vielen Viewports könnte man soetwas relativ leicht lösen.


Zitat Zitat von Cyangmou Beitrag anzeigen
Frei einstellbare Tasten
Zitat Zitat von Cyangmou Beitrag anzeigen

Standardeinstellungen um gewisse Aktionen/Menüs anzusteuern
Kommt drauf an was man hat, mit nem Maker ist es allerdings derzeit recht schwer mit shift in nen Rennmodus zu wechseln und mit nem Druck auf I das Inventar zu öffnen.
Die Sachen sind Gamedesgintechnisch so ziemlich 0815, aber essentiell um ne gute Kontrolle zu ermöglichen
Natürlich muss es ne Möglichkeit geben das abzuschalten bzw. DInge gut ansteuerbar zu machen.
Ich würde generell alle Tasten der Tastatur, die Maus und alle Arten von Joysticks und anderen Peripheriegeräten erlauben.


Zitat Zitat von Cyangmou Beitrag anzeigen
Zufallsgenerator für Items:
KA ob umsetzbar, hängt. vmtl stark von der Datenbankstruktur ab, aber das Feature wär (wenn man ne gute idee hat wie mans umsetzbar macht) für jegliches RPG echt nice
Wäre auch ziemlich simpel.

Danke soweit für die Beteiligung. Sehr hilfreich.