DEV Community

Dustin Runnells
Dustin Runnells

Posted on • Edited on

Unseen Progress

Two weeks since my last update on this project. While I have been very busy outside of this side-project, I have made some notable progress! BUT, it isn't cool and flashy to look at.

I've been working hard on a web based level designer that I will use to (hopefully) create many unique levels in the game. Using Godot's interface and gdscript to manually build each level would be very time consuming. My solution was to come up with a simple JSON document that I could generate from an external tool that describes how each level will work. Over the last couple of weeks, I've built a functioning version of that tool. It isn't pretty, but since I'm the only one who will ever need to use it, it doesn't need to be.

The Room Editor lets me set the size and name of each room and upload images for the the 5 visible walls. It then generates a single PNG file as the UV map that I use as the texture for Albedo and I can modify and provide the Normal and Emission maps as well. Rooms are not going to always be distinct. There may be several rooms per level that have the same appearance.

Image description

The building editor lets me create new buildings by just dragging and dropping the rooms that I created in the room editor into whatever position I like. I can also add 3d props (like stairs) and set the number of students that will start in the room.

Image description

From there I can have the designer generate a zip file that contains that JSON file that describes each level along with the textures that were generated in the room editor and import it into my game to be parsed:

Image description

Now that the level designer is out of the way, maybe I can spend some time making a more visually pleasing level to demo. I also need to figure out how I want to handle the student sprites. I'm still thinking that I'll need to add an editor to the level designer just to put together some students or at least their parts and then have them randomly generated. I also had a crazy idea to pull the spritesheet from an NFT. Then I could trade/sell the NFTs and their new owners can modify them however they want. The modified spritesheets will get pulled from whatever blockchain I use and get imported into the game with the modifications that the new owner has made. I think that sounds unique and cool.. but it would make it hard to keep this a family-friendly game if there is user generated content. More to come on that!

Top comments (0)