Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 20 von 50

Thema: Was wäre euch wichtig an dem "perfekten" Maker?

  1. #1

    Was wäre euch wichtig an dem "perfekten" Maker?

    Hallo zusammen.

    Ich war vor kurzem dabei mit dem Gedanken zu spielen, wie es wohl wäre, eine eigene Maker-Engine zu programmieren.
    Ich hatte so ein wenig nachgedacht und geplant; aber letzten Endes ist das doch eine recht komplizierte Angelegenheit es jedem recht zu machen.

    Daher wollte ich einmal sehen was der Rest der Community wohl dazu zu sagen hat.
    Also: Was wäre euch wichtig an dem "perfekten" Maker? Was für Arten von Features müssen unbedingt vorhanden sein? Was wäre Nice-To-Have?

    Ich hoffe auf zahlreiche Beteiligung.

  2. #2
    Unbedingt:
    - eine höhere Programmiersprache hinter dem Klick-Editor, damit man nicht auf den Event-Code angewiesen ist (also so wie auf den neuen Makern)
    - Unterstützung gängiger Musikformate wie MP3 und OGG
    - 24-bit Farben + Alphatransparenz
    - ein Map-Editor, der mindestens so viele Layer hat wie auf dem XP

    Wäre schön:
    - die Charsets bewegen sich Pixel für Pixel, anstelle von Tile für Tile
    - der Maker sollte nicht zu stark auf die alten SNES-RPGs ausgerichtet sein, es sollte auch möglich sein, Action-Adventures und -Rollenspiele zu entwickeln
    - unterschiedliche Auflösungen, Wahl zwischen 16x16 und 32x32 Tiles
    - beliebig große Charsets mit angepasster Kollisionsbox
    - Pathfinding bei "Step toward hero"-Kommando
    - das Standardsystem (also Menü, Charakter-Management und KS) sollte variabler sein

  3. #3
    Objektorientierung. Furchtbar ist es, Charsets zu kopieren und für Posen den Grafik wechseln zu müssen und mit Eventseiten und dann jedes mal das Event wieder aus der Liste suchen.
    Geil wären "Charakter X"-Objekte und enen gibt man dann die Möglichkeit Posen anzunehmen, Animationen abzuspielen, sie hinlaufen zu lassen etc.

  4. #4
    Zitat Zitat von Kelven Beitrag anzeigen
    Unbedingt:
    - eine höhere Programmiersprache hinter dem Klick-Editor, damit man nicht auf den Event-Code angewiesen ist (also so wie auf den neuen Makern)
    - Unterstützung gängiger Musikformate wie MP3 und OGG
    - 24-bit Farben + Alphatransparenz
    - ein Map-Editor, der mindestens so viele Layer hat wie auf dem XP

    Wäre schön:
    - die Charsets bewegen sich Pixel für Pixel, anstelle von Tile für Tile
    - der Maker sollte nicht zu stark auf die alten SNES-RPGs ausgerichtet sein, es sollte auch möglich sein, Action-Adventures und -Rollenspiele zu entwickeln
    - unterschiedliche Auflösungen, Wahl zwischen 16x16 und 32x32 Tiles
    - beliebig große Charsets mit angepasster Kollisionsbox
    - Pathfinding bei "Step toward hero"-Kommando
    - das Standardsystem (also Menü, Charakter-Management und KS) sollte variabler sein
    Davon ist fast alles doch auf dem VX/Ace möglich.. ob Pixelgenau oder Kollisionsbox, almost everything. Hört sich für mich nur danach an, als ob du nen 2k Ace haben möchtest.

  5. #5
    Genauso auf dem XP, aber Cornix hat ja auch nicht gefragt, ob wir mit den Makern unzufrieden sind.

  6. #6
    Danke soweit für die Beteiligung, ich versuche einmal auf die genannten Punkte einzugehen so gut ich kann:

    Zitat Zitat von Kelven Beitrag anzeigen
    Unbedingt:
    - eine höhere Programmiersprache hinter dem Klick-Editor, damit man nicht auf den Event-Code angewiesen ist (also so wie auf den neuen Makern)
    Soetwas würde ich persönlich nicht gut finden.
    Der Grund dafür klingt vielleicht ein wenig esoterisch, aber meiner Meinung nach spaltet soetwas nur die Community.
    Die einen bleiben beim GUI-Code und wollen keine Programmiersprache lernen um das Programm zu verwenden; die anderen stürzen sich nur auf die Programmiersprache, da der GUI-Code unnötig wird sobald man eine Sprache im Hintergrund bedienen kann.
    Dadurch entstehen zwei Lager, und beide bringen Resourcen und Systeme raus, welche zueinander nur bedingt, oder garnicht kompatibel sind.

    Anstatt dessen würde ich persönlich eher versuchen den GUI-Code so ausgiebig und mächtig zu machen wie möglich, und dennoch leicht damit zu arbeiten.
    Falls jemand wirklich bereit ist eine höhere Programmiersprache zu lernen, dann braucht er auch keinen Maker mehr, das ist für solch eine Person nur eine Zeitverschwendung.


    Zitat Zitat von Kelven Beitrag anzeigen
    - Unterstützung gängiger Musikformate wie MP3 und OGG
    MP3 ist ein Problem wegen den Lizenzen. In den letzten Jahren hat sich die Situation in diesem Bereich deutlich zugespitzt:
    http://de.wikipedia.org/wiki/MP3#Pat...streitigkeiten

    OGG ist jedoch ein super Format; perfekt geeignet für soetwas wie Videospiele.
    Auch Wave und Midi sind leicht umzusetzen.

    Zitat Zitat von Kelven Beitrag anzeigen
    - 24-bit Farben + Alphatransparenz
    Das ist vollkommen außer Frage. Das wäre das mindeste auf das ich mich einlassen würde.

    Zitat Zitat von Kelven Beitrag anzeigen
    - ein Map-Editor, der mindestens so viele Layer hat wie auf dem XP
    Es ist absolut kein Problem beliebig viele Layer zu erlauben. Es ist nur so, dass man die Performance des ganzen opimieren kann, wenn man eine feste Obergrenze an Layern hat.
    Ich würde aber schon sagen, dass 3 - 5 Layer für so ziemlich jedes Spiel mehr als ausreichend sein sollten.

    Zitat Zitat von Kelven Beitrag anzeigen
    - die Charsets bewegen sich Pixel für Pixel, anstelle von Tile für Tile
    Das ist auch kein Problem, benötigt jedoch ein Kollisionssystem, welches für den Entwickler leicht zu verwenden und zu bearbeiten ist. Eine Pixel genaue Bewegung mit dem Tile-basierten Kollisionssystem ist nicht sehr schön anzusehen.

    Zitat Zitat von Kelven Beitrag anzeigen
    - der Maker sollte nicht zu stark auf die alten SNES-RPGs ausgerichtet sein, es sollte auch möglich sein, Action-Adventures und -Rollenspiele zu entwickeln
    Ich dachte auch daran 2D Spiele allgemein damit erstellen zu können, nicht nur RPG's.
    Also ganz besonders auch Strategiespiele, Dungeon-Crawler, Tower Defense Games, Jump-n-Runs, etc.

    Zitat Zitat von Kelven Beitrag anzeigen
    - unterschiedliche Auflösungen, Wahl zwischen 16x16 und 32x32 Tiles
    Ich denke ich würde absolut beliebige Tilegrößen erlauben. Auch 13 x 17 oder dergleichen. Technisch gesehen macht das überhaupt keinen Unterschied.

    Zitat Zitat von Kelven Beitrag anzeigen
    - Pathfinding bei "Step toward hero"-Kommando
    Das ist eine recht komplizierte Sache. Bei einfacher Tile-basierter Bewegung und Kollision ist Pathfinding sehr simpel und schnell implementiert.
    Wenn nun aber kompliziertere Bewegungssysteme und Kollisionsabfragen dazu kommen wird das Pathfinding entsprechend auch schwieriger.
    Wenn nun alle Charaktere beliebige Kollisionsboxen haben können, und sich Pixel genau bewegen, wird dieses relativ simple Problem sehr schnell zu einem schwierigen Problem.

    Zitat Zitat von Kelven Beitrag anzeigen
    - das Standardsystem (also Menü, Charakter-Management und KS) sollte variabler sein
    Dafür bin ich auch; es ist nur nicht so einfach sich ein gutes System zu überlegen, welches erstens flexibel genug ist, aber zweitens simpel genug, damit man sich schnell und einfach einarbeiten kann.

    Zitat Zitat von Corti Beitrag anzeigen
    Objektorientierung. Furchtbar ist es, Charsets zu kopieren und für Posen den Grafik wechseln zu müssen und mit Eventseiten und dann jedes mal das Event wieder aus der Liste suchen.
    Geil wären "Charakter X"-Objekte und enen gibt man dann die Möglichkeit Posen anzunehmen, Animationen abzuspielen, sie hinlaufen zu lassen etc.
    Ja, es war auch meine Idee alles sehr "objektorientiert" zu halten.
    Vor allem was Animationen angeht, so würde ich wahrscheinlich versuchen das 3D Modell Prinzip zu verwenden. Also, dass der Entwickler beliebig viele Animationen in ein Set zusammenpacken kann; dann einem Sprite solch ein Set zuweist, und diesen Sprite dann Animationen aus dem Set abspielen lassen kann.
    Wie kompliziert oder simpel man soetwas dann implementiert ist noch etwas schwammig, von der groben Idee her finde ich dies aber simpel genug um es schnell verstehen zu können, und flexibel genug um auch kompliziertere Spiele einfach erstellen zu können.

    Danke soweit für die Beteiligung, ich hoffe es finden sich noch einige weitere Meinungen.

  7. #7
    Generell alles nice to have, aber vmtl is das meiste schwer nachträglich einzubauen, da es doch recht tief ins System geht.

    Hauptproblem ist, dassder Maker leider kaum Dynamikeinstellungen zulässt, welche jedoch für jedes Spiel fürs Gefühl von äußerster Wichtigkeit sind (wie man das Spiel steuert und sich die Figur bewegt sind das A und O für jedes Spiel und würden auch dementsprechende Einstellungen in jeder Art von 2D-Engine vertragen).
    Ich versuch das ganze so gut wie möglich auf den Punkt zu bringen. Wie mans letztendlich dann alles zusammenbaut und obs machbar ist, weiß ich nicht (Hoff es ist zumindest verständlich).

    Bzgl. Grafik und Animation kann ich dir mit Sicherheit ziemlich viele Fragen beantworten, da ich dort auch meist imme rauf die selben Probleme stoße


    Generelle Grafische Darstellung

    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)

    Z-Sortierung von sprites anhand grundfläche/unterkante (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)

    Zoom (um bei gewissen Events näher ins Geschehen zu Zoomen)
    Screenshake (Um bei gewissen Events den Screen schütteln zu lassen)






    Hauptcharakterbewegung:

    Einstellung für die Zentrierung des Hauptcharakters (um bei größeren Figuren/Missbrauch des Programms bezüglich Genre mehr Kontrolle zu geben)

    Feinabstimmung für Geh/Laufgeschwindigkeiten (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)

    Animationseditor 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)

    Bewegung losgelöst vom Tilegrid
    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


    Mapping:

    Kollisionsmaps:
    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)

    Beliebig große Tilesets
    bzw. Falls eine standardgröße per tileset, beliebig viele tilesets verwendbar

    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.

    Einzeltiles/Meta Tiles
    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

    Advanced Auto Tile System:
    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

    Riesenvorteil für das System wäre auch eigene Autotile Einstellungen für Klippen, da Klippen immer sehr Zeitintensiv zum Mappen sind

    Ebenfalls nice wäre es, wenn man größere Ecken für gewisse Texturen setzen könnte

    Hat alles sehr viel mit know-how wie man organische Tilesets baut zum tun und relativ wenig mit Maker Standards.
    Makerautotiles würden mit dem System vmtl noch funktionieren, wenn mans gut programmiert.
    Dass Makermaps generell "scheiße" und "blockig" aussehen, hat halt mal mit der Tilestruktur und der inflexibilität des Makers diesbezüglich zum tun


    Mehrere Layer
    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

    Steuerung:

    Frei einstellbare Tasten

    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.

    Sonstiges:


    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

  8. #8
    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.

  9. #9
    Einfach und mächtig ist immer gut, ja.
    Ich kann z.B. nicht programmieren, ich hab nur ne theoretische Idee davon wies geht und was machbar ist.
    Einfach und mächtig heißt fürn Programmierer meist enormer Designaufwand und extremes Know-How übers Subjekt vonnöten =)

    Aber auch n paar zusätzliche Features die man einstellen kann, aber nicht muss, um das ganze dann noch interessanter für Bastler zu gestalten ist denk ich mal nicht verkehrt wenn alles soweit steht.

    Zu den Autotiles...

    ja der Maker macht viel richtig, wenns drum geht ne platte textur auf den Boden zu setzen.

    Würd gern wissen wie du bei autotiles auf 256 Variationen kommst.
    soweit ich weiß hast du ohne komplettes texturteil 4 innere Ecken, 4 äußere Ecken und 4 gerade, macht 12 tiles (14 mit positiv und negativ textur).

    Aber die Anzahl tut eh nichts zur Sache.

    Ich dacht mehr dran dass man für eine Tileart mehrere Varianten hinterlegen kann.

    Heißt quasi, wenn man ne Bodentextur hat und von dieser 5 Varianten und man wählt dieses Tile aus und setzt es auf die Map dann wird einfach per Zufallsfaktor eines der hinterlegten Tiles gesetzt.
    Perfekt wäre wenn man den Zufallsfaktor dann selber mit ner Prozentangabe einstellen könnte (und diese Einstellungen auch speichern und laden könnte)

    Zum Beispiel mappen wir Gras, wir haben 5 16x16 Variationen, einige Texturen, einige Texturdetails
    Gras V1, Gras V2, kleine Blumen V1, kleine Blumen V2, große Blumen
    dann setzen wir hier % wie das Tile gesetzt wird
    30%,30%, 15%, 15%, 10%

    Und dann ziehen wir über n 10x10 Feld diese Textur, dann sollten wir eigentlich jedes Mal mit ner sehr detaillierten Textur ändern, die jedes mal anders aussieht, da der Zufallsfaktor viel Arbeit abnimmt.
    Heißt in 10 Sekunden mappen wir etwas schönes und detailliertes für das wir sonst an die 5-10 Minuten sitzen.

    Durch Einstellungen der Variationen können wir auch ne Wiese mit wenig Blumen und ne Wiese mit vielen Blumen relativ flott darstellen, da wir lediglich eine Einstellungändern müssen.
    (Wird dann vmtl Einstellungsdateien oder sowas brauche, wo die Werte gespeichert werden)

    Wir setzen noch einen drauf und arbeiten mit n paar zusätzlichen Metatiles (32x32 texturstücke, die nur in dieser Anordnung vorkommen - größere wie 48x48 gehen natürlich auch noch, aber man kann alles ausreizen...)
    Heißt erstmal müssen wir bei einer Textur rausfinden wie viel Platz für Metatiles ist, und dann, sofern Platz ist und nach einer Eingabe für Häufigkeit werden random Metas gesetzt

    sieht dann so aus:
    Klicke auf die Grafik für eine größere Ansicht 

Name:	tilesheme_metauvqe3.png 
Hits:	155 
Größe:	1,2 KB 
ID:	19358

    Die dunkelgrauen sind dann Metas, sowohl für die normalen, als auch für die Metas sind Variationen vorgesehen.

    Heißt wir kriegen noch mehr Variation rein gleichbleibendem Mappingaufwand,
    Plus metas sind noch für ne andre sache wichtig (heißt das system bräuchten wir noch) - gleich mehr dazu


    (Mach dir hie rden Anhang auf um mitzukommen)
    Nun gehen wir nen Schritt weiter und arbeiten mit ner klassischen Autotile Textur (G1)
    Für dieses Set gibt es wieder beliebig viele Variationen (G2)

    Mappingschema ist das selbe wie beim Maker
    Der Zufallsfaktor haut nur wieder zufällige Variationen rein
    (Beispiel G3)

    Nun packen wir wieder das meta Prinzip an - in diesem Falle große Ecken (G4)
    Große Ecken für Texturen haben nebst Kantenvariation und Eckenvariation den Vorteil, dass sie das Raster komplett aufbrechen
    heißt, dass der Zufallsgenerator random große Ecken verpflanzt, falls möglich und falls nicht zu viele andre große Ecken in der Nähe sind.

    Mappingaufwand wär immer noch gleich wie mit nem normalen Maker.
    Ein paar Adjustierungen in nem normalen Tilecode
    Mit der Methode brauchen wir nur mehr Grafik, aber die macht man einmal und edits sind verhältnismäßig leicht anzufertigen.
    Das Resultat sieht allerdings eher wie n großes Bild aus und nicht wie ne ständig kopierte Tileansammlung
    Je mehr Variationen man hat, desto besser wird natürlich das Ergebnis.
    Ha tman keine Variation, kann mans einstellen oder ne idente Textur einfach 5x abspeichern und iwann mal Variationen nachliefern

    Anhang 19357

    Wesentlich komplizierter wirds bei Klippen.
    Wenn man ne Standardgrafik hat wie G5, sieht man schon dass die Höhe ausschlaggebend für die Anzahl der Ecken ist (G6, G7)
    Ganz zu Schweigen von allen Verschnittvarianten von Tiles und Höhen

    Heißt für ein Klippenautotile müssten wir nem Tile unbedingt ne Z-information mitgeben (trotz 2D Map)

    Programmiert man allerdings 1x ne routine für alle Fälle für eine Höhe und geht davon aus, dass sich die dunkelgrauen Fronttiles bei ner höheren z-Höhe lediglich vermehren (Einstellung von Z) müsste das auch funktionieren.

    Heißt man müsste eigentlich mit ner einzelnen Höhe schon gut mappen können

    Als Zuckerguss:
    Wenn wir nen schritt weiter und uns die Höheninformationen (z-werte) anschauen, dann müsste man eigenlich mit der Tileinformation (Ecke, Gerade, ...) und der Differenz genau errechnen können was für eine Art von Tile auf dem Raster gezeigt werden muss.

    Heißt man könnte mit so einer Art von System in sekundenschnelle perspektivisch korrekte Klippen mappen, wenn man erst einmal ein tileset ausgearbeitet hat, dass alle Tilevarianten abdeckt.

    Und ums zu perfektionieren:
    (natürlich kann man dann auch nochmal nen Schritt weitergehen und große Klippenkanten bauen um ne perfekte Vielfalt zu haben =)

    Und wenn man Texturen und Klippen schnell mappen kann, brauchts eig. eh nur noch Details

    Die sind meist eh relativ schnell gesetzt
    Dann baut man ma richtig geile Maps in 10 minuten, für die man sonst 2-3 Stunden sitzt.v


    Wenn interessiert bist sowas für die Allgemeinheit oder grad mal testweise umzusetzen, würd ich mir vmtl sogar die Zeit nehmen und dafür Tiles fürn Testtileset bauen (oder von nem etablierten Stil z.B. Mack&Blue alle Varianten für ne Textur und ne Klippe zu editieren)


    Kommen wir nochmal zurück aufs setzen von Objekten:
    Objekte als quasi bild setzen funktioniert auch.
    Wenn man allerdings Häuser mit Türen setzt usw. (Die pixelgenau am Teleport/Tileraster ausgerichtet sein sollten) sollte man zumindest nen Button für ne Rasterfunktion haben, die diese Grafiken am Tileset ausrichtet.

    Geändert von Cyangmou (31.12.2013 um 03:00 Uhr)

  10. #10
    @Cornix
    Wenn der GUI-Code mächtig genug ist, dann ist eine höhere Programmiersprache wohl wirklich nicht nötig, aber wie würdest du den Code denn gestalten, um diese Mächtigkeit zu erreichen?

    Zitat Zitat
    Falls jemand wirklich bereit ist eine höhere Programmiersprache zu lernen, dann braucht er auch keinen Maker mehr, das ist für solch eine Person nur eine Zeitverschwendung.
    Das finde ich nicht, denn dieser jemand müsste ja Engine und Editor selbst schreiben. Dort fließt eine Menge Zeit rein, die mancher Entwickler lieber in das Spiel stecken möchte. Außerdem braucht man die Programmiersprache nicht komplett lernen. Eine "unsaubere" Lösung, bei der man die Sprache nur als Hilfsmittel benutzt, sieht für den Spieler von außen genauso wie eine "saubere" aus.

    Von den Lizenzprobleme mit MP3s hab ich auch schon gehört. OGG ist ja eigentlich bei gleicher Qualität sowieso kleiner, meine ich, nur war das nicht so, dass die Datei erst komplett in den Speicher geladen werden muss? Ich meine, dass es beim XP Lags gibt, wenn eine OGG-Datei das erste Mal gespielt wird.

  11. #11
    Mal abseits von Tilegrößen etc. ~ ich mag die Idee keine Scriptsprache zu geben, dafür umfangreichere Klickwerkzeuge.

    ich hatte in meinem 2k3 - Spiel schon vor DynRPG viele Kampfmechaniken eingebaut, die ich vorher noch in keinem Makerspiel gesehen hatte. Das ging auch, war aber umständlich, dabei gibt es zwei Konzepte.

    - DynRPG: Die Callbacks passieren oft, meine Lieblingscallbacks in jedem Frame, bzw. mehrere in jedem Frame, weil ich z.B. Helden- und Monsterfähigkeiten in ihrem Zeichenzyklus erledige, da dies der Callback ist, der genau zu ihnen gehört.
    - MakerEventcode: Die EventPages im Kampf sind sehr grobschlächtig.Zuerst einmal muss man sich eine Art Framework basteln, um überhaupt Custommechaniken einbauen zu können. Dazu gehört eine Eventseitenstruktur in jeder Monstergroup und dann entsprechender Code, um aus "Welches Ziel wurde ausgewählt?" und "Wieviel Mana wurde verbraucht?" zu schlussfolgern, was im Kampf passiert ist. Schlussfolgern, ich will nicht schätzen müssen, was die Helden in meinem Spiel gemacht haben!

    Hier mein Ansatz:
    Events wenn Dinge passieren.
    • Betrete die Map -> OnMapEntered
    • Verlasse die Map -> OnMapLeft
    • Held greift an -> OnHeroAction
    • Held ist damit fertig -> OnHeroActionDone
    • Held plötzlich tot -> OnHeroDead

    Und dann als Parameter, lokale Variable, sowas in der Art, Informationen was genau passiert ist. Wer hat angegriffen, wer wurde angegriffen und womit und hat es kritisch getroffen, hat es verfehlt?
    Auf vielen Makermaps ist das Konstrukt ParallelProcess->tu was ->erase. Was der Entwickler will ist etwas beim Betreten der Map zu tun. Die Struktur wird jedes mal neu gebaut. Event an die Map anhängen, tatarataaa.

  12. #12
    Zitat Zitat von Kelven Beitrag anzeigen
    @Cornix
    Wenn der GUI-Code mächtig genug ist, dann ist eine höhere Programmiersprache wohl wirklich nicht nötig, aber wie würdest du den Code denn gestalten, um diese Mächtigkeit zu erreichen?
    Das steht noch in Frage ob >ich< dazu in der Lage wäre.
    Ganz allgemein würde es bereits ausreichen alle Arten von Attributen mit Get- und Set-Methoden zur Verfügung zu stellen. Dazu einen Variablen-Manager mit dem man alle Arten von Objekten in Spiel referenzieren kann und dann einfache Datenstrukturen wie Arrays und Collections, vielleicht auch noch Sortierbare Listen und definitiv Hashtables die von dem Benutzer verwendet werden können.
    Das ganze in einen freundlichen und dokumentierten GUI-Code eingebaut, welcher sich darum kümmert alle illegalen Eingaben von vornherein abzufangen.


    Zitat Zitat von Kelven Beitrag anzeigen
    Das finde ich nicht, denn dieser jemand müsste ja Engine und Editor selbst schreiben. Dort fließt eine Menge Zeit rein, die mancher Entwickler lieber in das Spiel stecken möchte. Außerdem braucht man die Programmiersprache nicht komplett lernen. Eine "unsaubere" Lösung, bei der man die Sprache nur als Hilfsmittel benutzt, sieht für den Spieler von außen genauso wie eine "saubere" aus.
    Niemand ist heutzutage dazu gezwungen eine Engine zu bauen. Soetwas bekommt man inzwischen überall im Internet als Template.
    Man kann auch immer die eigentliche Spielengine hinter dem Maker direkt als Bibliothek mit ausführlicher API veröffentlichen. Dann brauch sich niemand der wirklich programmieren kann mit etwas so klumpen wie dem Maker beschäftigen.

    Zitat Zitat von Kelven Beitrag anzeigen
    Von den Lizenzprobleme mit MP3s hab ich auch schon gehört. OGG ist ja eigentlich bei gleicher Qualität sowieso kleiner, meine ich, nur war das nicht so, dass die Datei erst komplett in den Speicher geladen werden muss? Ich meine, dass es beim XP Lags gibt, wenn eine OGG-Datei das erste Mal gespielt wird.
    Wer sagt, dass man die Dateien erst laden sollte wenn man sie abspielen will? Wenn kommerzielle Spiele das tun würden wäre der Spielspaß gegen null.

  13. #13
    Meine Welt wäre alleine durch eine "Suchen" und "Ersetzen"-Funktion schon ein ganzes Stück heller.
    Aber Gerüchte besagen da ist was Großartiges in der Mache...! *Richtung Grufty schiel*

  14. #14
    Zitat Zitat von Cornix Beitrag anzeigen
    Der Grund dafür klingt vielleicht ein wenig esoterisch, aber meiner Meinung nach spaltet soetwas nur die Community.
    Die einen bleiben beim GUI-Code und wollen keine Programmiersprache lernen um das Programm zu verwenden; die anderen stürzen sich nur auf die Programmiersprache, da der GUI-Code unnötig wird sobald man eine Sprache im Hintergrund bedienen kann.
    Dadurch entstehen zwei Lager, und beide bringen Resourcen und Systeme raus, welche zueinander nur bedingt, oder garnicht kompatibel sind.
    Sowas haben wir doch jetzt schon mit den verschiedenen Makerversionen und den Leuten die gegeneinander arbeiten. Ist eher ein Problem der Community. Glaube kaum, dass es in der englischsprachigen Community Probleme geben würde - da sind einfach viel mehr Leute, die englisch sprechen. Demnach auch mehr Resourcen.

    Und Kelven hat ja als Grund auch noch genannt:
    Zitat Zitat von Kelven Beitrag anzeigen
    Das finde ich nicht, denn dieser jemand müsste ja Engine und Editor selbst schreiben. Dort fließt eine Menge Zeit rein, die mancher Entwickler lieber in das Spiel stecken möchte. Außerdem braucht man die Programmiersprache nicht komplett lernen. Eine "unsaubere" Lösung, bei der man die Sprache nur als Hilfsmittel benutzt, sieht für den Spieler von außen genauso wie eine "saubere" aus.
    Es kann sicher auch vorkommen, dass es zwischen den zwei Extremen("komplett nur mit Programmiersprache, aber Maker, damit keine Engin und Editor selber geschrieben werden muss" vs. "komplett ohne Programmiersprache") auch Leute gibt, die sich vielleicht nur bestimmte Sachen verfeinern möchten und dazu sich ein Skript ziehen oder selber was schreiben(oder Skript ziehen + selber etwas verfeinern).

    Denen würden natürlich Einschränkungen dann nicht helfen(gar keine Programmiersprache vs. sie sollen komplett alles in Programmiersprache machen).

  15. #15
    @Cornix
    Zitat Zitat
    Niemand ist heutzutage dazu gezwungen eine Engine zu bauen. Soetwas bekommt man inzwischen überall im Internet als Template.
    Aber auch auf die speziellen Bedürfnisse eines typischen Makerspiels zugeschnitten? Weißt du, ich sehe das immer aus der Perspektive eines Entwicklers, der mehr Interesse an der Entwicklung als der Programmierung hat, aber trotzdem ein möglichst mächtiges Werkzeug haben möchte, bei dem ich nicht zu viele Umwege gehen muss, um ans Ziel zu kommen. Ein typisches Problem der alten Maker ist z. B. dass es keine richtigen Arrays gibt und dass man Pictures außer mit Cherrys Patch nicht direkt über eine Variable referenzieren kann. Beim XP kann man auch ohne tiefere Ruby-Kenntnisse die Methode show von Game_Pictures aufrufen und als ID eine Variable nehmen.

    Zitat Zitat
    Wer sagt, dass man die Dateien erst laden sollte wenn man sie abspielen will? Wenn kommerzielle Spiele das tun würden wäre der Spielspaß gegen null.
    Das kann ich dir nicht sagen. Ich hab nur mal gehört, dass es beim XP Lags geben soll, wenn man eine OGG als Hintergrundmusik wählt. Was auch stimmt, hab es mal eben getestet. Ich weiß natürlich nicht, ob das am XP oder der OGG liegt.

  16. #16
    Zitat Zitat von Cyangmou Beitrag anzeigen
    Würd gern wissen wie du bei autotiles auf 256 Variationen kommst.
    soweit ich weiß hast du ohne komplettes texturteil 4 innere Ecken, 4 äußere Ecken und 4 gerade, macht 12 tiles (14 mit positiv und negativ textur).
    Wenn man ein Tile platziert wird dessen Grafik ermittelt anhand der 8 Tiles, welche es umgeben.
    Je nachdem welche von den 8 Tiles drum herum den gleichen Tile-Typen hat haben wir eine andere Situation.
    Ein benachbartes Tile kann entweder von dem gleichen Typen sein, oder von einem anderen.

    Das bedeutet, dass wir für jedes Tile einen von zwei Zuständen haben (Gleich / Ungleich). Und außerdem 8 benachbarte Tiles.
    Jede Kombination von Zuständen dieser acht Tiles ist eine andere Situation für unser zu bestimmendes Tile.
    Dementsprechend berechnet sich die Anzahl der Situation als 2 ^ 8 == 256.
    Es werden im Maker zwar keine 256 verschiedene Varianten benutzt (sondern nur 48) aber das Potential dafür ist da.

    Zitat Zitat von Daen vom Clan Beitrag anzeigen
    Meine Welt wäre alleine durch eine "Suchen" und "Ersetzen"-Funktion schon ein ganzes Stück heller. :)
    Aber Gerüchte besagen da ist was Großartiges in der Mache...! *Richtung Grufty schiel*
    Tut mir leid, aber ich verstehe nicht ganz worauf du hinaus willst.
    Was genau würdest du gerne im Maker suchen und ersetzen? Textzeilen?

    Zitat Zitat von Kelven Beitrag anzeigen
    @Cornix

    Aber auch auf die speziellen Bedürfnisse eines typischen Makerspiels zugeschnitten? Weißt du, ich sehe das immer aus der Perspektive eines Entwicklers, der mehr Interesse an der Entwicklung als der Programmierung hat, aber trotzdem ein möglichst mächtiges Werkzeug haben möchte, bei dem ich nicht zu viele Umwege gehen muss, um ans Ziel zu kommen. Ein typisches Problem der alten Maker ist z. B. dass es keine richtigen Arrays gibt und dass man Pictures außer mit Cherrys Patch nicht direkt über eine Variable referenzieren kann. Beim XP kann man auch ohne tiefere Ruby-Kenntnisse die Methode show von Game_Pictures aufrufen und als ID eine Variable nehmen.
    Das ist alles eine Abwägung von: Flexibilität + Macht gegen Einfache Bedienung + Schnell zu lernen.
    Ein Nutzer, welcher programmieren kann, braucht nicht solch eine kindische Software zu nutzen. Diese Personen sind garnicht Teil der Zielgruppe.
    Sie können sich eine beliebige fertige Engine schnappen, ihre Resourcen dort einfügen, und dann an dem Code rumwerkeln bis das gewünschte Ergebnis erzielt wurde.

    Der einfache Nutzer, welcher nicht programmieren kann, hat diese Möglichkeit nicht. Für ihn bedeuten die meisten Fachwörter auch nicht viel, oder nichts konkretes. Er möchte eine Software, welche leicht zu lernen und zu verstehen ist, aber ihm trotzdem viele Möglichkeiten bietet.
    Sobald man als Entwickler erlaubt eine Programmiersprache in dem Maker zu verwenden verlässt man sich zu schnell darauf. Man verliert seine Zielgruppe aus den Augen. Features werden nichtmehr unterstützt, mit der Begründung, dass die Nutzer doch einfach ein Script selbst schreiben können. Soll sich die Community doch darum kümmern.
    Das Ergebnis ist aber oftmals von minderer Qualität. Oder inkompatibel mit anderen Scripten. Außerdem für einige Mitglieder der Community schnell Teufelswerk.

    Ich will dem Ganzen wenn möglich ausweichen. Die Zielgruppe der Software wäre klar definiert und für diese Menschen wird dann auch das Produkt zugeschnitten.


    Zitat Zitat von Kelven Beitrag anzeigen
    Das kann ich dir nicht sagen. Ich hab nur mal gehört, dass es beim XP Lags geben soll, wenn man eine OGG als Hintergrundmusik wählt. Was auch stimmt, hab es mal eben getestet. Ich weiß natürlich nicht, ob das am XP oder der OGG liegt.
    Ich kann es dir sagen, denn genau so wird es im XP getan.
    Erst sobald versucht wird die Musik ab zu spielen wird sie von der Festplatte geladen. Sofern man also vorher noch nicht versucht hat die Musik zu spielen wurde sie auch vorher noch nicht geladen.
    Wenn du bedenkst, dass diese Ladezeit nur eine oder zwei Sekunden beträgt, oder vielleicht noch weniger, ist es hoffentlich ersichtlich, dass es kein großes Problem ausmachen würde die Musik einfach bereits im Vorfeld zu laden. Dann gäbe es auch keine Probleme während des Abspielens mehr.

    Geändert von Cornix (31.12.2013 um 14:49 Uhr)

  17. #17
    Zitat Zitat von Cornix Beitrag anzeigen
    Tut mir leid, aber ich verstehe nicht ganz worauf du hinaus willst.
    Was genau würdest du gerne im Maker suchen und ersetzen? Textzeilen?
    "Alles!"
    Also in markierten Scriptzeilen bestimmte Inhalte suchen und ersetzen, beispielsweise Variablen und auch Textzeilen.

  18. #18
    @Cornix
    Ich denke auch, dass sich der RPG Maker und ähnliche Werkzeuge vor allem an die Entwickler richten, die nicht programmieren wollen - unabhängig davon, ob sie es können oder nicht. Aber umgehen die Maker-Entwickler das Programmieren wirklich? Der Eventcode des Makers ist im Prinzip auch eine Programmiersprache und wenn man ein komplexeres Script schreibt, dann stecken dahinter ähnliche Überlegungen wie bei einer Funktion/Methode einer höheren Programmiersprache. Natürlich ist die Gruppe, die Custom-Menüs und -Kampfsysteme baut, nur eine von mehreren und viele aus ihr machen das nur, weil sie das Standardsystem für zu eingeschränkt oder zu langweilig halten. Trotzdem solltest du nicht vergessen, dass es diese Gruppe gibt - Entwickler, die zwar nicht richtig programmieren können/wollen, aber dennoch die höchstmögliche Flexibilität bevorzugen.

  19. #19
    Zitat Zitat von Kelven Beitrag anzeigen
    @Cornix
    Ich denke auch, dass sich der RPG Maker und ähnliche Werkzeuge vor allem an die Entwickler richten, die nicht programmieren wollen - unabhängig davon, ob sie es können oder nicht. Aber umgehen die Maker-Entwickler das Programmieren wirklich? Der Eventcode des Makers ist im Prinzip auch eine Programmiersprache und wenn man ein komplexeres Script schreibt, dann stecken dahinter ähnliche Überlegungen wie bei einer Funktion/Methode einer höheren Programmiersprache. Natürlich ist die Gruppe, die Custom-Menüs und -Kampfsysteme baut, nur eine von mehreren und viele aus ihr machen das nur, weil sie das Standardsystem für zu eingeschränkt oder zu langweilig halten. Trotzdem solltest du nicht vergessen, dass es diese Gruppe gibt - Entwickler, die zwar nicht richtig programmieren können/wollen, aber dennoch die höchstmögliche Flexibilität bevorzugen.
    Der GUI-Code ist selbstverständlich Turing-Vollständig und damit einer Programmiersprache ebenbürtig. Das stelle ich auch keinesfalls außer Frage.
    Ich habe ja vor dem GUI-Code enorme Macht zu geben und ihn noch sehr viel weiter aus zu bauen als er im Maker vorkommt. Er würde einer richtigen Programmiersprache schon sehr ähnlich werden, mit globalen und lokalen Variablen, Datenstrukturen und einer objektorientierten Datenbank im Hintergrund.

    Aber ich will dennoch keine richtige Programmiersprache zur freien Verfügung stellen. Alleine schon aus technischer Sicht wäre es mir persönlich ein zu großer Aufwand, vor allem auch die Sicherheits bedenkenfalls jemand die Möglichkeiten missbraucht.

  20. #20
    Zitat Zitat von Cornix Beitrag anzeigen
    Der einfache Nutzer, welcher nicht programmieren kann, hat diese Möglichkeit nicht. Für ihn bedeuten die meisten Fachwörter auch nicht viel, oder nichts konkretes. Er möchte eine Software, welche leicht zu lernen und zu verstehen ist, aber ihm trotzdem viele Möglichkeiten bietet.
    Je mehr Möglichkeiten du dem Anwender gibst desto komplizierter wird das Programm. Der RPG Maker geht da schon einen guten Mittelweg.

    Der Witz ist eigentlich das der Click-Code im Prinzip eine makereigene Programmiersprache darstellt. Das Ding hat Bedingungen, Schleifen, Variablen und diverse Befehle mit denen sich wer weiß was anstellen lässt. Der große Knackpunkt ist dass der Click-Code dem Anwender die Syntax abnimmt und ihm eine grafische Ansicht und Auswahl von Funktionsparametern ermöglicht.

    Das Grundproblem, die Logik des Programmierens zu erlernen, bleibt aber bestehen. Je komplexer du die GUI also gestaltest, desto mehr komplizierte logische Abläufe erden möglich und desto schwieriger wird das ganze zu bedienen.

    Daher ist die Lösung des XP und VX(Ace) sehr gut. Die einfache Bedienung des 2k/2k3 bleibt erhalten, aber dank Ruby hat man die Möglichkeit das Backend "dahinter" zu verändern, falls nötig.

    Zitat Zitat
    Features werden nichtmehr unterstützt, mit der Begründung, dass die Nutzer doch einfach ein Script selbst schreiben können. Soll sich die Community doch darum kümmern.
    Das Ergebnis ist aber oftmals von minderer Qualität. Oder inkompatibel mit anderen Scripten. Außerdem für einige Mitglieder der Community schnell Teufelswerk.
    Schon mal versucht im RM2k ein fremdes Menüscript einzubinden und anzupassen welches z.B. unendlich viele Itemslots bietet? Da kriegst du bedeutend mehr Inkompatiblitätsprobleme als mit einem Ruby-Script, vorallem wenn du mehrere Fremdscripte kombinieren möchtest. Das Argument zieht also eher schlecht.

    Und eben da kann die Community helfen. Alleine schon wenn es darum geht zwei inkompatible Scripte zueinander kompatibel zu machen, was im RM2k per Definition, ohne das Zielprojekt selbst zu besitzen, nicht möglich ist.

    Zitat Zitat
    Ein Nutzer, welcher programmieren kann, braucht nicht solch eine kindische Software zu nutzen. Diese Personen sind garnicht Teil der Zielgruppe.
    Sie können sich eine beliebige fertige Engine schnappen, ihre Resourcen dort einfügen, und dann an dem Code rumwerkeln bis das gewünschte Ergebnis erzielt wurde.
    Das was du beschreibst, Grafiken reinkloppen und am Code rumwerkeln ist genau dass was XP und VX(Ace) einem Entwickler in der einfachen Form erst ermöglichen. Eine Grafikengine bietet da deutlich weniger, nämlich nur grundlegende Funktionen welche auf beispielsweiße OpenGL oder DirectDraw(Direct3D) aufsetzen welche dir die Möglichkeit geben "zeichne Würfel an Position X und rotiere mit Geschwindigkeit S um Achse Y mit Textur C", sodass du nicht mehr 6 einzelne Quadrate selber zeichnen, positionieren und rotieren musst oder gar 12 Dreiecke, sondern in einem Aufrund deinen ganzen Würfel hast. Da ist nichts mit "Ressourcen reinkloppen" weil die Engine nicht einmal weiß was "Ressourcen" wären und dies gar nicht wissen kann.

    Der RPG Maker geht da deutlich weiter. Vom komplett vorhandenem Editor, welchen dir auch keine Grafikengine (Unreal-Engine mal außen vor gelassen) bietet, will ich gar nicht anfangen.

    @Topic
    - Variable Auflösung (entweder mit Highres-Grafiken oder eben einer Skalierung über den sichtbaren Bildschirmbereich)
    - "Echtes" Pixelmovement mit allem was dazu gehört (Pixelgenaue Kollision z.B.).
    - Erweiterung der Maker-GUI, z.B. um eigene Event-Befehle für selbstgeschriebene Scripte (Plugin-System?)

    Halt die Dinge welche selbst mit RGSS3 nahezu unmöglich zu realisieren sind, da man die halbe Engine umschreiben müsste.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •