Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 33

Thema: Simple-2D-Engine

  1. #1

    Simple-2D-Engine


    Hallo und Willkommen zu meiner kleinen Projekteinführung zu Simple-2D-Engine.


    Um was für ein Projekt handelt es sich?:
    Grob gesagt ist es ein 2D Game Maker. Es gibt einen eigenen GameEditor (MapEditor, DatabaseEditor), sowie einen Game Launcher, der aus verschiedenen Gründen nun bald zum 3. mal komplett neu Aufgesetzt wird. Hierbei setze ich voll und ganz auf Qt, welches das Framework sowohl für den Editor, als auch für den Game Launcher, ist. Alle Game relevanten Daten werden als XML Dateien gespeichert, und zu beginn des Spiels komplett in den Speicher geladen. Bisher unterstütze ich noch kein Streaming (auch nicht bei Maps), was aber auch den Grund hat, das es bisher noch nicht nötig ist.

    Sprache, Framework und Sonstiges:
    Das komplette Projekt ist in C++ geschrieben und nutzt QT 5.1.0, sowie boost 1.53.0. Zum Programmieren wird VisualStudio 2012 Professional genutzt.

    Was ich erreichen möchte:
    An erster Stelle ist das Ganze ein Lernprojekt, allerdings möchte ich hier auch etwas mit erreichen. Ich möchte den Leuten, die meine Engine als Grundlage für ihre Spiele nutzen, ein möglichst mächtiges und verständliches Tool mit an die Hand geben. Das oberste Ziel im Moment ist die Fertigstellung des Game Editors, bzw die Fertigstellung der ersten Version. Das hier im späteren Verlauf noch weitere Änderungen und Erweiterungen auftauchen ist sicher!

    Unterschiede zum Maker:
    Es wird kein RPG Maker Klon! Mein Ziel ist es eine eigenständige OpenSource Plattform zu erstellen. In den ersten Versionen wird es auch keine ScriptEngine geben, da diese:
    1. sehr viel Zeit benötigt
    2. vom logischen Ablauf eher ganz nach hinten gehört
    3. keine Priorität besitzt.

    Vor allem gibt es in meiner Engine kein "Event" Denken. Der Maker sieht alles, was erstellt wird, als Events. D.h. sind diese auf der Map platziert, werden sie auch dort näher beschrieben (mit Event Code; Call Befehle lasse ich hier mal außen vor). Hier sind Dinge, die auf der Map platziert werden, bereits fertig definiert, und lediglich eine Kopie ihrer Schablone. Die Schablone wird über die Database angepasst. Änderungen betreffen JEDE dieser Kopien. Wer schon einmal Object Orientiert programmiert hat, wird sich etwas darunter vorstellen können, und es auch zu schätzen wissen!
    Es muss nicht für jedes Event die Variabeln angepasst werden, nein, das Object besitzt seine eigenen Variabeln!
    Das ist z.B. einer der Gründe, warum es anfangs keine ScriptEngine geben wird, da es noch nicht komplett absehbar ist, welche Änderungen mir bis dahin noch einfallen

    Der 2. große Unterschied ist das Mapping allgemein. Es gibt keine Chipsets, sodass man zu jeder Zeit die komplette Auswahl aus seinen bereits importierten Tiles hat.

    Bisher erreichtes:
    Ich erreiche bald mit dem Game Editor meine erste Alpha und kann folgende Features nennen:

    MapEditor:
    Das Mappen
    Gemappt wird mit der Maus. Hierbei gibt es 2 verschiedene Methoden Tiles zu platzieren. Einmal den normalen Stift (mapt 1 Tile) oder den Filler. Der Filler ist das äquivalent zum Paint Farbeimer. Man hat ebenso die Möglichkeit sich auf beide Maustasten unterschiedliche Tiles zu legen. Gemappt wird auf bis zu 100 Ebenen (wobei ich das ganze nicht empfehlen würde, so viele Ebenen zu verwenden ), sodass man mit transparenten Tiles mehr als genug Möglichkeiten hat.
    Zusätzlich gibt es AutoTiles. Hierbei zitiere ich mich mal selbst aus meinem Wiki:
    Zitat Zitat
    Auto Tiles sind spezielle Tiles, die sich selbst anpassen und das Mappen von Terrain erheblich erleichtern. Möchte man einen verwinkelten Weg (mit vielen Kurven, Kreuzungen, Verzweigungen, etc) mappen, benötigt man dafür 46 unterschiedliche Tiles, um jede Eventualität zu berücksichtigen. AutoTiles bieten die Möglichkeit das ganze mit 10 zu machen. Aus diesen 10 Tiles werden die restlichen 36 generiert und passend zusammen gebaut. Beim Mappen wird dann automatisch das richtige Tile gesetzt.


    Platzieren von Objecten
    Der 2. Mapping Modus sind die Objecte, die man auf der Map platziert. Hierbei lässt sich natürlich die Richtung und Position bestimmen. Ob ich dem Ganzen noch einen Collision Detector spendiere (sodass keine 2 BoundingRects von Objecten sich überschneiden können) oder ob ich es sein lasse, dazu mache ich mir im späteren Verlauf noch Gedanken. Ich tendiere allerdings dazu, den User nicht allzu sehr zu beschneiden, und das solche Überlappungen durchaus möglich sein sollten.

    ScriptPoints (noch nicht implementiert)
    ScriptPoints sind Bereiche auf der Map, die bei Kollision ausgelöst werden. Dabei wird sich bestimmen lassen, ob nur durch einen Spieler oder NPC. ScriptPoints werden vor allem für Teleports zwischen den einzelnen Maps genutzt. Allerdings wird es auch die Möglichkeit geben, den ScriptPoints eigene Scripts zu geben, die dann ausgeführt werden.

    DatabaseEditor:
    TileDatabase
    Über die TileDatabase lassen sich die Tiles, welche man zum Mappen verwendet bearbeiten. Man hat die Möglichkeit eine transparente Farbe und die Passierbarkeit festzulegen. Passierbarkeit kann man in 4 Richtungen bestimmen.

    AutoTileDatabase
    Mit der AutoTileDatabase lassen sich, aus bereits erstellten Tiles, AutoTile-Sets zusammen klicken, welche man ebenso zum Mappen verwenden kann, und die sich beim Mappen selbst anpassen.

    SpriteDatabase
    Die SpriteDatabase ist nicht sonderlich spektakulär. Man importiert, wie bei den Tiles auch, seine Grafiken und vergibt eine transparente Farbe. Sprites werden für Animationen benötigt.

    AnimationDatabase
    Jedes WorldObject benötigt mindestens 4 Animationen, eine für jede Richtung. Hierbei ist es egal, ob die Animation aus einem Frame oder 100 besteht. In Animationen kann man Sprites verschieben, rotieren und vergrößern/verkleinern. Dabei hat man bei jedem Frame die Kontrolle darüber, wie lange er dauert. Für die Interessierten, hier mal ein kleines Video, das im Grunde das zeigt, was man machen kann (natürlich nicht alles ).
    Animation Video

    WorldObjectDatabase
    WorldObjects sind praktisch statische Objecte, die auf der Map herum stehen. Sie werden von jeglichen Move- und Scriptupdates ausgeschlossen, haben also keine Möglichkeit selbst etwas zu tun. Ein typisches WorldObject ist eine Truhe, die erst etwas tut, wenn jemand mit ihr interagiert. Jedoch wird ein WorldObject durchaus sein eigenes Script besitzen können.

    DynamicObjectDatabase (noch in Arbeit)
    Das sind praktisch NPCs und alles was auf der Map von selbst etwas machen soll. Typisches Beispiel sind hier Gegner, die sich dem Helden in den Weg stellen.

    Schlusswort:
    Wer sich den Code mal anschauen möchte, den findet ihr hier. Ansonsten gibt es einen, in unregelmäßigen Abständen aktualisierten, Blog, und seit neustem auch ein kleines Wiki, welches ich fleißig am Befüllen bin



    mfg

    edit:
    hier mal noch 2 screenshots, wie der MapEditor momentan aussieht




    PS: Sollte sich jemand dazu berufen fühlen, an dem Projekt mitarbeiten zu wollen, so möge er sich mit mir in Verbindung setzen

    Geändert von DNKpp (25.11.2013 um 14:43 Uhr)

  2. #2
    Ich habe jetzt mal eine kleine Preview-Map erstellt, um mal zu zeigen, was man so alles machen kann.


    Die einzeln stehenden und die umgefallenen Bäume sind hierbei Objecte (pixelgenaue platzierung).
    Die Boden Tiles (Gras, hohes Gras (AutoTile, und hat einen transparenten Rand), Steine und die Waldtextur) wurden im "background" platziert, der wiederum in 3 Unterlayer unterteilt ist.
    Die "Baumkronen" sind ein AutoTile und wurden im "foreground" platziert, welcher hier ebenso aus 3 Unterlayern besteht.

    Wie im 1. Post bereits beschrieben, können die beiden Hauptlayer (background und foreground) aus bis zu 100 Layern bestehen. Die Anzahl ist von Map zu Map variabel einstellbar.

    Die Map wurde über die Programm eigene "Map Screenshot" Funktion erstellt (natürlich kann man das Gitter der Map auch ausblenden)

    Geändert von DNKpp (14.06.2013 um 09:05 Uhr)

  3. #3
    Sieht schonmal interessant aus. Vorallem, dass es mit 100 Layern je Ebene eine hinreichende Menge an Layern gibt dieses Mal, was ja beim VX/Ace vernachlässigt wurde.
    Wie sieht es mit dem Eventing aus und was für ein KS wird es geben?

  4. #4
    Wie im 1. Post beschrieben, wird es kein "Eventing" in diesem Sinne geben. Man kann Scriptnamen vergeben (an Maps und Objecte). Die Scripte werden per C++ geschrieben, und ähnlich dem DynSDK per .dll geladen. Damit hat man das Maximum an Möglichkeiten, ohne den eigentlichen Launcher verändern zu müssen. Ähnlich wird es auch mit dem KS laufen. Das KS wird ebenso aus einer DLL geladen, und über bestimmte Callbacks angesprochen (combat start, combat end, etc).
    Wie es später mit einer Point&Click Script Engine aussieht, kann ich jetzt noch nicht genau sagen, geplant ist es aber.

    EDIT: Die 100 Layer sind das Maximum, das ich zulassen möchte, ich denke aber, das niemand so viele Layer benötigt. Außerdem benötigt das ganze noch ein paar Benchmark Tests, damit ich das einordnen kann, wie das mit der Performance aussieht. Ich denke, dem Großteil werden 3 Layer reichen.

  5. #5
    Ich finde es schade das sich kaum jemand für dieses Projekt zu interessieren scheint. Ich gebe zu, ich habe allein auf der ersten Seite, in diesem Unterforum, 2 solcher Projekte gesehen, deswegen kann ich in gewisser Weise die Zurückhaltung verstehen. Trotzdem fände ich ein paar Meinungen/Kommentare nett (nicht weil ich hören will, wie toll ich doch bin, sondern weil ich ganz gerne ein paar Meinungen hätte, mit denen ich arbeiten kann )

    Zum Thema "Alpha Release des Editors" muss ich leider noch ein wenig vertrößten, da ich vorhabe "Tilesets" zu implementieren, um das Mapping ein bisschen zu erleichtern. Hier mal eine kurze Beschreibung:
    Tilesets sind keine festen Bilder, wie man vielleicht vermuten mag, sind sind dynamische Rechtecke, die aus Tiles bestehen. Diese Tilesets kann man, wie die AutoTiles, zusammen basteln. Sie sollen beim Mapping helfen. Wie man bei der Map 3 Posts höher ganz gut sehen kann, gibt es bestimmte Texturen, die immer zusammen gehören (in diesem Fall die Bäume, also nicht die Freistehenden (das sind Objecte), sondern die "Umrandung" des Waldes). Diese Bäume bestehen aus 2 Tiles, eins für oben und eins unten. Es ist natürlich immer mühselig, beide Tiles nach einander zu setzen. Hier kommen dann die Tilesets ins Spiel. Hier kann man sich solche Gebilde (Rechteckig) zusammen basteln, und kann mit einem Klick direkt alle platzieren. Das hat Ähnlichkeiten mit dem Rubber Band des Makers (mit dem man mehrere Tiles auswählen kann), ist aber deutlich flexiebler einsetzbar (ist ja nicht immer garantiert, das die Tiles in der Auswahl direkt passend angeordnet sind).

    Irgendwelche Anregungen dazu?

    mfg

    Geändert von DNKpp (21.06.2013 um 01:53 Uhr)

  6. #6
    Ich finde das Projekt ziemlich interessant, mich würde aber interessieren, in welche Richtung das später gehen soll, dh. wie viel du vorschreibst und wie viel du dem Ersteller überlässt. Diese Frage bezieht sich in erster Linie auf den bereich Scripting und was du dafür so geplant hast. Wird das so eine mühselige Zusammenklicksprache wie beim RPG-Maker, oder hast du vor, das ganze etwas freier zu gestalten, indem du dem Ersteller einen Zugriff auf "tiefere Programmebenen" gewährst?

    Ich hätte bspw. die Idee, die Möglichkeit einzubauen, dynamische Datenbanken aufzuziehen und diese per Script anzusteuern. So könnte man dann sehr frei über Dinge wie ein Kampfsystem entscheiden.

  7. #7
    OK, ich plauder mal ein wenig aus dem Nähkästchen, wie ich mir das später vorstelle.

    Es wird verschiedene Schnittstellen geben, über die die Entwickler ihre eigenen C++ Scripte einladen können. Ähnlich wie beim DynRPG. Für alle anderen wird es wohl eine Point&Click Engine geben (es ist geplant, ob ich das allerdings umsetzen möchte, steht in den Sternen, weil das doch ein extremer Haufen Arbeit ist), mit der man sich in guter alter Maker Manier seine Scripte zusammen klicken kann.
    Jetzt kommen wir zu einer Besonderheit. Wie ich bereits vorher schon erwähnt habe, arbeite ich mit "Objecten". Diesen Objecten kann man auch Variabeln geben, die sie fest besitzen. Diese Variabeln lassen sich auch über die C++ Schnittstellen ansprechen und auch ändern. Hierbei gibt es auch Objecte, die von anderen erben können. Diese erhalten dann alle Variabeln, die das Parent Object besitzt.
    Schreibt man sich nun also ein grundlegendes Script für z.B. ein KS, und nutz darin die Variabeln der Objecte, kann man diese innerhalb der Database schon ändern. Das heißt, die Startwerte lassen sich anpassen, ohne das Script ändern zu müssen. Das wiederum bietet natürlich viel Freiraum für den Entwickler.
    Wenn der Entwickler des Scripts viele Variabeln aus der Database ließt, hat der spätere Nutzer des Scripts mehr Möglichkeiten, selbst Einstellungen vor zu nehmen.

    Ich hoffe ich habe das ausgiebig und verständlich genug beschrieben

  8. #8
    Habs mir gerade mal durchgelesen, und muss sagen: Hut ab! Hoffentlich ziehst du das auch durch! Falls ja, wäre es mir eine Freude, zu gegebener Zeit einmal ein kleines Projektchen mit deinem Programm zu versuchen :-D
    Da fällt mir noch eine Sache ein, zu der du vielleicht schon eine Antwort hast:

    Wie sieht es mit Audio aus? Also, welche Formate werden unterstützt werden? Würde man vielleicht sogar auf einer Map (Beispiel Weltkarte) verschiedene Soundzonen anlegen können? (also regionale Musik (düster im Sumpf, freundlich auf einer offenen Wiese)


    Bis dahin noch viel Erfolg! Lass dich nicht entmutigen!

    Greetz

  9. #9
    Zu meiner Schande muss ich gestehen, das ich bisher den Sound komplett außen vor gelassen habe
    Aber da ich QT nutze, und QT eigentlich alles gängige unterstützt, wird das auch kein großes Problem da stellen.
    Soundzonen ließen sich durchaus umsetzen, merke ich mir mal für die Zukunft (wird es in die 1. Version nicht schaffen).

    mfg

  10. #10
    Es ist nun soweit!
    Hiermit veröffentliche ich die erste Alpha meines GameEditors (v0.0.1).
    Ich bitte Interessierte sich das ganze einmal anzusehen, und ein bisschen damit herumzuspielen. In dem Paket sind 2 Testprojekte enthalten, das erleichtert den Einstieg erheblich (wählt dazu am Besten "untitled" aus, da das das Komplexere der beiden ist). Für weitere Erklärungen besucht bitte mein Wiki (hier werde ich in den nächsten Tagen noch einige Updates online bringen, mit entsprechenden Tutorials). Ich habe versucht, das Programm so verständlich wie möglich zu halten, um den Einstieg zu erleichtern. Ich weiß, das es dennoch recht komplex erscheinen kann, wenn man sich das erste mal in der Database umsieht. Nehmt euch ein paar Minuten, lest die vorhanden Artikel, und versucht ein wenig damit herumzuspielen.

    Ich bin froh über jedes Feedback, das ich bekommen kann, aber auch Fragen beantworte ich weiterhin gerne.

    Zum Schluss sei noch einmal erwähnt, das sich mit diesem Editor bisher nichts spielbares erstellen lässt, und er im Prinzip nur Maps bearbeiten kann (mit ein paar Extras).

    DOWNLOAD

    Um den Editor starten zu können, benötigt ihr zusätzlich dieses Paket (von Microsoft).

    mfg

    Geändert von DNKpp (28.06.2013 um 22:25 Uhr)

  11. #11
    Hu, also damit du nicht ganz ohne Feedback bleibst, werd ich dir mal einige Punkte aufzählen, die mir gefallen und die mir nicht gefallen!
    Ich hoffe ich hab nichts vergessen und auch alles soweit getestet. :S

    Positiv
    • Vorschaufunktion spezieller Objekte
    • Reinziehen der "Weltobjekte" und das Bewegen dieser im Editor selbst
    • So wie es aussieht, die Möglichkeit zu jedem Text in der Datenbank, eine Übersetzung anzugeben
    • Bounding Box
    • Anlegen eigener Tilesets (Diese könnten meiner Meinung nach ebenfalls eine Vorschau im TileSets-Baum erhalten)
    • Autotiles können Transparenz erhalten, sodass man im "Foreground-Layer" diese normal verwenden kann
    • Massenimports
    • Anlegen mehrerer Layers für eine Map (damit lassen sich Karten schön mappen )

    Verbesserungswürdig
    • Die "Rückgängig-Funktion" : Folgendes Szenario: Ich zeichne mit der Maus, ohne den Button loszulassen, viel Gras, merke dass ich doch nicht alles benötige und drücke STRG-Z. Leider muss ich das so oft drücken, wie Gras gezeichnet wurde. Besser wäre es, wenn sofort die letzte Aktion verschwindet, also mein komplett gezeichnetes Gras. (Ist wahrscheinlich Geschmackssache)
    • Ah jetzt hab ich herausgefunden, dass der Button "<-" der Zurück-Knopf ist ohne Short-Cut ... müsste man sich vielleicht auch noch überlegen, wie man das Designtechnisch besser lösen mag.
    • Der Cursor im Editor selbst. Ich find das Fadenkreuz ist dafür eine schlechte Wahl...ich wollte am Anfang mehrere Felder selektieren, hab jedoch gezeichnet.
    • Im Database-Editor funktioniert bei mir der Cancel-Button nicht (Verhalten für mich: Drücke auf "Cancel" und das Fenster schließt sich)
    • Ist wahrscheinlich eher etwas für mich, aber ich würde noch eine oder zwei weitere Zoomstufen begrüßen und zwar näher dran (150% und vllt. 200%) Gerade für Detailarbeiten für mich extrem wichtig.
    • TileSet fallen-tree.png hat ein etwas komisches Verhalten. (es wiederholt sich immer in y-Richtung und wird nicht komplett gezeichnet) ::::: Ich seh grad, beim Fill hat das Tile die richtige Grafik
    • Was mir dabei auffällt..man importiert viele kleine Tiles, jedoch kann das später unübersichtlich werden. Eine Gruppierung wäre dabei hilfreich. (Ähnlich einem Chipset-System im Maker, nur mit DropDown-Box oder so)
    • Klick ich im Menü auf "File" und "move" dann mit meiner Maus über die anderen Reiter und komme auf "Database", öffnet sich diese sofort -> Sollte am Besten nur auf ein Klick reagiern
    • Bei den Weltobjekten gibt es ja die Animationsvorschau....die find ich irgendwie etwas unübersichtlich. Auch wenn ich das Fenster vergrößer, bleibt das leider so...da könnte man vielleicht noch einen Button einzubauen mit "Show Animation" oder sowas, der dann die ganze Verwaltung in einem neuen Fenster öffnet.

    nochmal nen Fazit
    Joa ansonsten sehen die Funktionen soweit gut aus, jedoch sind mir die Objekt-Anmiationstypen noch unklar...da kann man auch wenig dran schrauben. Ebenso wie bei den Texten....da hätt ich zu gerne mal ein weiteres Textfeld erzeugt...
    Es sind echt schöne Sachen dabei und dein Projekt geht in eine gute Richtung, wie ich finde.
    Die bisherigen Funktionen zur Kartendarstellung mit den Tiles, Autotiles und Weltobjekten find ich gut gelungen und damit würden sich schon schöne Karten darstellen lassen.
    Ich bin auf jeden Fall gespannt, wie die weitere Entwicklung vorangeht.

  12. #12
    Zitat Zitat von Javis Beitrag anzeigen
    Hu, also damit du nicht ganz ohne Feedback bleibst, werd ich dir mal einige Punkte aufzählen, die mir gefallen und die mir nicht gefallen!
    Ich hoffe ich hab nichts vergessen und auch alles soweit getestet. :S
    Hallo, danke für deine Mühen. Bin froh, das sich jemand die Mühe macht, und sich das ganze einmal ansieht.
    Dennoch sind mir ein paar Punkte nicht ganz klar, bitte hilf mir dabei auf die Sprünge :P

    Zitat Zitat von Javis Beitrag anzeigen
    Positiv
    • Anlegen eigener Tilesets (Diese könnten meiner Meinung nach ebenfalls eine Vorschau im TileSets-Baum erhalten)
    Was meinst du mit "Vorschau im TileSets-Baum"? Im MapEditor wird dir beim drüber fahren eine Vorschau gezeigt.

    Zitat Zitat von Javis Beitrag anzeigen
    Verbesserungswürdig
    • Die "Rückgängig-Funktion" : Folgendes Szenario: Ich zeichne mit der Maus, ohne den Button loszulassen, viel Gras, merke dass ich doch nicht alles benötige und drücke STRG-Z. Leider muss ich das so oft drücken, wie Gras gezeichnet wurde. Besser wäre es, wenn sofort die letzte Aktion verschwindet, also mein komplett gezeichnetes Gras. (Ist wahrscheinlich Geschmackssache)
    Ist mir tatsächlich auch schon aufgefallen. Ich überlege mir auch schon eine Lösung, wie ich das anders machen könnte. Liegt ein wenig an der Implementierung. -> werde ich überarbeiten

    Zitat Zitat von Javis Beitrag anzeigen
    • Ah jetzt hab ich herausgefunden, dass der Button "<-" der Zurück-Knopf ist ohne Short-Cut ... müsste man sich vielleicht auch noch überlegen, wie man das Designtechnisch besser lösen mag.
    Hier werde ich wohl ein Icon einsetzen, welches in etwa so aussieht wie das "Zurück" aus dem Maker. Sonst irgendwelche Vorschläge?

    Zitat Zitat von Javis Beitrag anzeigen
    • Der Cursor im Editor selbst. Ich find das Fadenkreuz ist dafür eine schlechte Wahl...ich wollte am Anfang mehrere Felder selektieren, hab jedoch gezeichnet.
    Kann ich verstehen, dass das ein wenig Eingewöhnungszeit benötigt. Dennoch denke ich, das wenn man öfter mit dem Editor arbeitet, auch damit zurecht kommen kann.

    Zitat Zitat von Javis Beitrag anzeigen
    • Im Database-Editor funktioniert bei mir der Cancel-Button nicht (Verhalten für mich: Drücke auf "Cancel" und das Fenster schließt sich)
    Ist ein Bug, und wird behoben

    Zitat Zitat von Javis Beitrag anzeigen
    • Ist wahrscheinlich eher etwas für mich, aber ich würde noch eine oder zwei weitere Zoomstufen begrüßen und zwar näher dran (150% und vllt. 200%) Gerade für Detailarbeiten für mich extrem wichtig.
    Hatte ich auch schon drüber nach gedacht. Werde ich auch umsetzen.

    Zitat Zitat von Javis Beitrag anzeigen
    • TileSet fallen-tree.png hat ein etwas komisches Verhalten. (es wiederholt sich immer in y-Richtung und wird nicht komplett gezeichnet) ::::: Ich seh grad, beim Fill hat das Tile die richtige Grafik
    TileSet "fallen-tree.png"? Das klingt für mich eher nach einem normalen Tile. Ich sehe aber was du meinst (wenn du denn das Tile meinst), und weiß auch woher das kommt. Werde ich beheben

    Zitat Zitat von Javis Beitrag anzeigen
    • Was mir dabei auffällt..man importiert viele kleine Tiles, jedoch kann das später unübersichtlich werden. Eine Gruppierung wäre dabei hilfreich. (Ähnlich einem Chipset-System im Maker, nur mit DropDown-Box oder so)
    Auch das hatte ich mir schon überlegt, ist aber ein wenig knifflig umzusetzen, deswegen erst einmal nach hinten geschoben. Ich werde mir dafür aber eine Lösung überlegen!

    Zitat Zitat von Javis Beitrag anzeigen
    • Klick ich im Menü auf "File" und "move" dann mit meiner Maus über die anderen Reiter und komme auf "Database", öffnet sich diese sofort -> Sollte am Besten nur auf ein Klick reagiern
    Stimmt, ist ein seltsames Verhalten. Werde ich überarbeiten.

    Zitat Zitat von Javis Beitrag anzeigen
    • Bei den Weltobjekten gibt es ja die Animationsvorschau....die find ich irgendwie etwas unübersichtlich. Auch wenn ich das Fenster vergrößer, bleibt das leider so...da könnte man vielleicht noch einen Button einzubauen mit "Show Animation" oder sowas, der dann die ganze Verwaltung in einem neuen Fenster öffnet.
    Dabei kann ich dir leider nicht ganz folgen. Wenn du das Fenster größer machst, vergrößert sich doch auch der Bereich, in denen die Animationen sind.

    Zitat Zitat von Javis Beitrag anzeigen
    nochmal nen Fazit
    Joa ansonsten sehen die Funktionen soweit gut aus, jedoch sind mir die Objekt-Anmiationstypen noch unklar...da kann man auch wenig dran schrauben. Ebenso wie bei den Texten....da hätt ich zu gerne mal ein weiteres Textfeld erzeugt...
    Es sind echt schöne Sachen dabei und dein Projekt geht in eine gute Richtung, wie ich finde.
    Die bisherigen Funktionen zur Kartendarstellung mit den Tiles, Autotiles und Weltobjekten find ich gut gelungen und damit würden sich schon schöne Karten darstellen lassen.
    Ich bin auf jeden Fall gespannt, wie die weitere Entwicklung vorangeht.
    Vielen Dank für deine Zeit. Ich werde mich bemühen deine Kritikpunkte auszumerzen
    mfg

  13. #13
    Ich pushe das ganze hier mal. Vielleicht verspürt ja noch jemand Lust, sich das mal etwas genauer anzusehen

    Habe mich jetzt auch einmal an den Launcher gewagt, und bin soweit, das ich Maps rendern lassen kann (noch ein wenig hacky, aber das ändert sich mit der Zeit). Im Moment wird die Map, welche man in Post #2 sehen kann, mit rund 170-200 FPS gerendert. Es passiert zwar noch nicht wirklich viel (kein Update der Objecte), aber ich denke ich bin auf einem guten Weg.
    Im Moment läuft das ganze ja auch nur auf einem Kern, ich habe also noch ganz gut Luft nach oben.

    mfg

    Geändert von DNKpp (05.07.2013 um 11:13 Uhr)

  14. #14
    Ich habe mir das ganze auch mal angeschaut und ein bisschen angetestet.
    Die Funktionen sehen ganz gut aus, dennoch ist es erstmal schwierig sich in das Programm einzuarbeiten.

    Das Plazieren von größeren Objekte (z.B. Bäume) ist schonmal eine wirklich praktische Angelegenheit (vor allem, das sich die Dinge automatisch vor- oder hintereinander versetzen, was sehr arbeitssparend ist!).

    Wie man neue "Objecte" hinzufügt, oder generell das Spiel testet, hat sich mir jetzt noch nicht erschlossen.

    Verbesserungsvorschläge:
    -In den Tiles auch mehrere Dinge anwählen können, und dann auf der Map platzieren (Alles immer einzeln nehmen zu müssen ist sehr aufwendig, denn man will ja nicht für alles ein "Object" erstellen müssen)
    -Animationsframes sollten auch per "Entf" löschbar sein, da man sonst jedesmal die Zahl ändern muss und dann auf "remove Animation" gehen muss.
    -Übersicht der Animationsframes und der Anzahl sollte besser gelöst werden (z.B. Ansichtstyp ändern: [Liste]; [Animationen]; [Liste und Animationen] oder so ähnlich)

    So weit erstmal dazu.

    (Ein bisschen "Fütterung zurück" von mir, denn Essen braucht man bekanntlich.)

  15. #15
    Hallo Oktorok3,
    vielen Dank für deine Zeit.

    Zitat Zitat von Oktorok3 Beitrag anzeigen
    Wie man neue "Objecte" hinzufügt, oder generell das Spiel testet, hat sich mir jetzt noch nicht erschlossen.
    Meinst du damit Objecte zu Database hinzufügen, oder auf der Map platzieren? Das Spiel teste geht, wie oben bereits erwähnt, noch nicht, da ich gerade mitten in der Entwicklung des GameLaunchers stecke. Hier bitte ich noch um ein wenig Geduld

    Zitat Zitat von Oktorok3 Beitrag anzeigen
    Verbesserungsvorschläge:
    -In den Tiles auch mehrere Dinge anwählen können, und dann auf der Map platzieren (Alles immer einzeln nehmen zu müssen ist sehr aufwendig, denn man will ja nicht für alles ein "Object" erstellen müssen)
    Dafür habe ich die "TileSets" entwickelt. Mit diesen ist es in kurzer Zeit möglich (wenn man weiß, wie alles zusammen spielt, unter einer Minute) sich sein benötigtes Set zusammen zu klicken. Dieses wird wiederverwertbar gespeichert, sodass man in Zukunft schnell darauf zu greifen kann.

    Zitat Zitat von Oktorok3 Beitrag anzeigen
    -Animationsframes sollten auch per "Entf" löschbar sein, da man sonst jedesmal die Zahl ändern muss und dann auf "remove Animation" gehen muss.
    Stimmt, da hast du recht. Sollte nicht allzu aufwändig sein. Allerdings sind für den AnimationsEditor noch ein paar mehr Improvements geplant. Wird es sicherlich in der nächsten Version geben

    Zitat Zitat von Oktorok3 Beitrag anzeigen
    -Übersicht der Animationsframes und der Anzahl sollte besser gelöst werden (z.B. Ansichtstyp ändern: [Liste]; [Animationen]; [Liste und Animationen] oder so ähnlich)
    Hierbei verstehe ich nicht ganz, was du mir sagen möchtest.

    Zitat Zitat von Oktorok3 Beitrag anzeigen
    (Ein bisschen "Fütterung zurück" von mir, denn Essen braucht man bekanntlich.)
    Stimmt, ohne ein wenig Feedback und Kritik kann die Motivation auch schnell dahin sein Deswegen bin ich über jede Stimme froh die sich zu Wort meldet!

    mfg

  16. #16
    Zitat Zitat
    Meinst du damit Objecte zu Database hinzufügen
    Yes! genau das.

    Zitat Zitat
    Dieses wird wiederverwertbar gespeichert, sodass man in Zukunft schnell darauf zu greifen kann.
    Not bad at all!

    Zitat Zitat
    Zitat Zitat von Oktorok
    -Übersicht der Animationsframes und der Anzahl sollte besser gelöst werden (z.B. Ansichtstyp ändern: [Liste]; [Animationen]; [Liste und Animationen] oder so ähnlich)
    Hierbei verstehe ich nicht ganz, was du mir sagen möchtest.
    Sorry, fehlende Infos: Database/Objects/WorldObjects->Animationsframes
    Hier finde ich fehlt eine gute Übersicht. Das ganze könnte Bspw. ähnlch wie im Maker angezeigt werden (Liste)
    http://s14.directupload.net/file/d/3...yzhzwj_png.htm
    (Beispiel der guten Übersicht)

    Wäre schade, wenn du die Motivation verlierst, denn das ganze ist ein schönes Projekt und die Mühe und die Zeit sollte keine Verschwendung sein!

  17. #17
    Hallo,
    die Motivation verliere ich schon nicht, keine Angst Dazu arbeite ich schon viel zu lange an dem Projekt, und es ist schon viel zu weit fortgeschritten.

    Das du noch nicht ganz klar kommst mit dem Programm, ist mir verständlich. Deswegen wollte ich eigentlich ein paar HowTo´s veröffentlichen, habe aber noch keine Zeit gefunden, diese zu schreiben. Werde ich dann wohl mit der nächsten Version nachreichen, wenn es dann auch die 1. Version des GameLaunchers gibt.

    Stimmt, das sieht ein wenig besser aus, von der Struktur. Werde ich mal gucken, was sich da machen lässt. Wird auf jeden Fall als ToDo vorgemerkt

    mfg

  18. #18
    So, heute hab ich mal wieder an dem Launcher weiter gearbeitet. Mittlerweile werden die MapObjecte mitgeladen, und haben ein rudimentäres update Verhalten, was sich in Zukunft natürlich noch stark erweitert.
    Erste Benchmark Tests mit 1700 Objekten auf der Map (wovon gut 2/3 sichtbar waren) haben immerhin noch eine FPS zwischen 70-100 ergeben und eine Nutzung des Arbeitsspeichers von ~20MB. Hier gilt es jedoch zu beachten, dass
    1. viele Objekt Grafiken mehrfach verwendet wurden
    2. die Map nicht sonderlich groß ist
    3. keine Ausgefeilten AIs verwendet werden

    Dennoch kann man sagen, das die Draw Routienen damit weitestgehend vollendet sind, was auch das Hardwarelastigste sein dürfte. Es bleibt also abzuwarten, was man am Ende für Werte erreichen kann

    mfg

  19. #19
    Tagchen. :3
    Ich würde mal gerne einen Blick in die Alpha werfen, aber es heisst dann immer, dass "MSVCP110.dll" nicht gefunden wurde, und startet dann nicht.

    Ansonsten zum Screenshot vom Post #2:
    Kann man zwischen 16x16 und 32x32 etwa jederzeit wechseln? Dort ist ja letzteres aktiv, was man auch am Mapping merkt.

  20. #20
    Hallo,

    Ich hatte es ja oben geschrieben, das dieses Microsoft Paket benötigt wird.

    Die Tile Auflösung ist fix auf 32x32.

Berechtigungen

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