Long time since my last post. I've been very busy.
I kept working on this though. So, let me first post an update on the first phase roadmap:
Editors UI redesign NPC editor Character editor Item editor Map editor Actions editor
This is finish, almost entirely. The only thing that I didn't redesign was the map editor. It was good as it is, but it is still in Unity UI.
The problem is that the map editor contains so many things that are hard to implement in HTML, that I thought of making it a phase itself.
Config.json file Visual editor Interactive tile
All of this done. The config file was easy, the visual editor had a little more complexity.
All tiles can contain actions, so every tile can be an interactive tile. One thing pending is adding parameter to those tiles, because, for example, you maybe want to create a chest tile, but you want that a chest placed in X location had specific loot, and a chest in Y had a different loot. That is something that requires edits in the map editor, so I'll make it after that.
Resource packs would include also sounds, and special effects, but they can be triggered by the actions "PlayStandaloneAnimation" and "PlaySoundEffect", so I took them out from resource packs
Things not in the roadmap yet
There are still things to define in the roadmap for next phases. I will list them here:
- HUD editor -> The HUD components are already there, but someone that has CSS knowledge is needed. I want to create a complete HUD editor to prevent that.
- Map events system -> There are actions fo a specific map, so, when you enter in that map, things happen, but no for exact X and Y points in that map. That is something that requires, mostly, map editor improvements
- Map editor improvements -> Add a bunch of stuff to the map editor, AND redesign it
Sandbox system-> I went ahead on this one and I've already finished it. I even posted about it Simple addons-> Same for this one. I didn't posted about it, but I will
- Procedural and random systems -> This is the next thing I'm going to work on
So, the next phase would be procedural and random systems
Second phase roadmap: Procedural and Random systems
So, when you want to play a map, you will have the option to play a procedural/random one, or the already created ones.
This type of map will be generated as you play. You can enter the map editor and see the already created maps from the map generator, and edit it as you want, but, when you reach the limits of a map, the map generator will generate MORE grids from that map.
A procedural/random map generator (map generator from now on), is a generator that will create a map based on a lua script. This is something more advanced, and is not for someone "casual" about modding.
Yes, I know that procedural, and random, are not the same thing, but is the one that is coding the python script, that decided how his script will interact.
This will be a basic map, with a basic character, that will act as a main menu, so, from there, you can start a map, enter the editor, etc. This need to be done before anything, as we need to create a way to select which map, character, and configuration before we can start a game. Right now it is preselected.
- Map depends on resource packs -> I need to create an attribute on the config.json of the maps, so a map loads always the same resource pack.
- Design in paper the lobby system
- Create the tiles for it -> We need an "official" tileset for the game, and is going to be the one that I'm going to use on this
- Create the resource pack -> Create the resource pack content from the tiles that I've created
- Create the basic character to move through the lobby -> We need also an official character
- Create the needed actions -> This map will be like any other map, (You will be able to even edit in the map editor, like the rest of the maps!), so, special actions need to be made, like, one for entering the editor, another for selecting the characters, another to choose the number of players, etc...
- Create the map itself
This is where the map generators comes in
- Special content folder for map generators
- It should include the resource pack that is going to be used for the generation of the map, and basic attirbutes like author, name, parameters...
- Include in the map loader class, the option to generate new maps if the map is based on a map generator