Looking More Like An Editor
Alright! I’ve just wrapped up development on Day 13’s build. Today, like most days, was filled to the brim with changes. I spent a good portion of the day with the code not even compiling due to how much I’ve ripped out and replaced. It’s finally looking and functioning more like a legitimate content creation tool than just a tech demo, which is the ultimate goal. Let’s dive in and have a look at what’s new.
What Did I Do Today?
The bulk of today was spent working Project Files. These are user-defined XML files which will modify aspects of the editor to suit your specific use case. The file format is based heavily on Ogmo Editor, which is a 2D tile-based editor that I’ve used for nearly every platformer I’ve made to date. I wanted this voxel editor to serve a similar purpose, albeit for 3D games, so I’ve borrowed its setup as a starting point.
With Project Files, you can set up custom tilesets, colors, objects, and even give special rules to individual blocks. For example, for grass blocks to render properly, I’ve overridden the side and bottom textures. To make the leaves look more dense, I’ve set them as transparent so that neighboring faces are rendered. There’s a lot you can do with this system, and more will be added as development progresses.
New Rendering Features
Since we now support 255 different block ids, each with 256 possible tint colors, I’ve had to move around a lot of the rendering code. As of right now, I don’t think the pattern overlays work anymore, but in exchange, you’re able to define textures per block and color them as you see fit. I also added the ability to render certain voxels as billboards, which is useful for things like grass and flowers.
I started adding an Object Tool in today’s update as well. Right now you’re only able to add “pictures” that you can define in the Project File. There’s a new tool on the toolbar for manipulating these objects, but I think I forgot to add a way to remove them. That’ll have to be in tomorrow’s build. Eventually you’ll be able to use this Object Tool in conjunction with the Project Files to add your own objects to the scene, as well as give them customized properties via an in-editor inspector. This will be very important for the editor’s usability as part of a content creation pipeline.
New UI Elements
I moved the color palette and the shape block drawer to the top right in this update. Here you can also find the tile palette and the drawer for the custom objects you’ve defined. The UI will likely continue to undergo many changes as time goes on, but let me know what you think of it so far. There’s still a lot of polish and organizing left to be done.
Tomorrow will likely be the last day that I keep adding new features to this editor. I need to start cleaning things up and optimizing everything so that we can get this up on our itch.io page for people to play around with. Since I’ll be just cleaning and optimizing things, there’s really no sense in trying to force out a new dev log each day. I may start trying to use this editor to continue development on the Roguelike Platformer I started reviving the other day, or I may start fiddling with something else. Who knows? I’ll keep you guys updated with whatever I decide, but for now we’ve still got tomorrow to tackle. Take care!