🛠️ March 2023
2 minute read
Jump to heading Laying the base
This month I continued to work on art-style related tooling for my game project. I hope that with a good and intuitive toolkit, it will be easier in the long run to make scenes, art and levels. I also started working on a first game mechanic for the project.
Jump to heading Section Painter
I made a few improvements to the section painter which practically allows me to paint outlines right inside of the editor. With the current setup, I paint a high-resolution texture in the editor (4096x4096) which gets converted to a signed distance field texture which is a much lower resolution (128x128) and is used in-game. In the video below you can see me using the painting tool to generate a section texture which gets displayed in the overlay UI in the bottom right. This section texture is then turned into an SDF texture (not shown here) which gets sampled in the shader to display the outlines.
I also added the option to paint with a square brush in addition to a spherical brush.
I did some work to rewrite the compute shader that generates this SDF texture and while it looks okay, I am still not completely happy and will have to do a rewrite in the future.
For now, I am done with the section painter but there are definitely some future improvements on the horizon such as:
- Improved debug view when painting
- Option to paint stamps
- Performance improvements
Jump to heading Base shader
In the first devlog back in May 2022 I wrote about my base stylized shader. While recreating my project, some of this progress got lost so I had to do a little rework for it.
I added the UI for the shader again and also added a new section to display the used Sectioning Texture created by the Section Painter tool. I will be adding more features to the base shader in the future.
Jump to heading Snapshot Camera system
This month I worked on a first game mechanic for the project: a snapshot camera system. In the game, I want the player to be able to take pictures of the surroundings and so I started adding the required functionality for that.
The current system is pretty basic, the player can just open the camera, zoom in/out and then snap a picture. When rendering the viewfinder, I apply several post-processing effects to alter the look within the viewfinder.