Progression

Posted by Haizen on April 17, 2013, 9:27 a.m.

In the past few days I have made some pretty big accomplishments with the editor that I have been working on.

Namely the consistency in the graphical design, but as well as the core features.

The graphical design is reminiscent of the Elder Scrolls Construction set, because I believe that they executed their design well and effectively, and I took whatever pointers I could from their design and applied them to my own.

Shown in the picture below are the main components of the map editor. The world canvas, which has drag and drop capabilities from the Resource Palette, drags various resources onto it to allow for easy world switching and resource placement.

My editor, while named Faust Editor, was made more to be able to build and generate resources and maps for any game that I ever wish to create.

Saving and loading, and modifying resources across any user given archived resources are possible through "plugin Id's", which simply provide a link to my delegate for resources (Named ResourceDelegate.class) as to allow the location of the package and its manifest file (which contains all the editor Id's and file names for all of its contents, It is like a ship's manifest, but in xml and saved to a file inside the archive automatically). I decided against using Java's Jar, and opted for my own interpretation.

With regards to the manifest, I do not force the user to provide editor id's and display name's for each resource inside the archive, rather I automatically produce one from the file name, with the extension removed. I would not want someone to have to provide an id for 1000 images, or sounds.

New additions to this version of the thingamajig would be the Body Editor and Marker. Which allows you to paint a body onto various actors or tiles quickly without having to open and close dialogs setting them separately if you were already going to use the same body.

Another small easy new addition was the preview of the map as a button inside of a scroll pane (I got the idea from Power Point). It does this very efficiently (by my standards) by registering a small Event Listener with the map. If the map changes, it throws a small makeshift notifier to all implementing classes that it changed and the button can update as soon as the notification is received. Easy as pie :).

Onto the resource editors. My editors are not anywhere as cool and featured as Game Makers image editor, rather my editors take already created images and split them up into any of Graphic Sets, Animations, or instead of splitting, multiplying to create a tiled background.

The final thing that I want to touch on is the Data Importing and how ultimately essential it is. You actually cannot do a thing until you import external data, besides create an empty Data Package, or write the files out to a temp folder.

The point of this was to speed up startup time by not unpacking resources on startup, and giving the user the option to choose what resources that they want to load. The loose files option really just means files that do not belong to a data package or are just lying around in the temporary folder.

I did this because I realized that startup could be severely halted by loading, when the user may not have wanted to load a thing, and was instead ready to create temporary resources that would later be added to a plugin. So I came up with this.

Thanks for Reading and hopefully I can bring you guys some more consistent updates and such. Wolf out (I'm lame).

Comments

Haizen 11 years, 8 months ago

Of course

Toast 11 years, 8 months ago

Cool stuff. What made you decide not to go with a generic editor like Tiled?