The last few weeks have been crazy busy. I really need to get better at posting in the devlog more frequently.
I’m taking this weekend to write an update on everything: tools, game design, related projects, etc. It’s going to be quite extensive, so I will break it up into parts.
Let’s get started.
David Laskey came on board to the project earlier this year, initially with the goal of working on optimization and PlayStation 4 port. Pretty soon after, David started working on a bunch of custom tools to help streamline the design process.
I didn’t quite realize it at the time, but the project was basically going from pre-production to production. As in, the prototyping stage was more or less over, and it was time to refine the development process and trim inefficiencies.
I also started learning to write Unity3D editor extensions as a result of working with David, and it really has been such a huge help to production. There were so many processes that used to be super tedious and time consuming to do, which now have been refined.
The thing with tedious processes is also not just the time it takes up (although that is definitely a big factor). It also makes you mentally dread working on it, because it’s just not fun. I’d be really in the zone making a level, iterating on areas, moving stuff around, and then all of a sudden, I have to make a window, which would just be tedium for an hour, and it would really kill the mood for me.
Also, it meant I was reluctant to iterate. If a window was good enough, but not great, I would just leave it at good enough, because the time it would take to get up to great just didn’t feel worth it.
The window making process is just one example. There were a lot of similar task that were incredibly tedious for me to perform, and the last several months, we’ve put a lot of time into trimming these inefficiencies.
I’m going to start talking about all these tools in detail in these next few updates.
We’ll start with the window generator.
Here’s a quick video showing a timelapse comparing the old and the new ways of making windows in Unity for Manifold Garden:
The old way:
Here’s how I built windows the old way (everything is done with ProBuilder here, just FYI):
1. Make a “backboard” that is the dimension of the window I want. This gives me a reference for the size
2. Start putting in frame pieces. Almost every straight segment is a separate piece.
3. Horizontal and vertical pieces are colored differently so I can tell them apart.
4. Place the window pieces. These are also colored differently than the frame pieces.
5. Color the outside faces of the window to be the glass material
6. Merge the frame pieces and the glass pieces (but first need to save the version with the separate pieces in case I want to come back and make changes).
For a complicated design, this can easily take an hour or more. In the gif, I was just randomly putting pieces in place without actually thinking of the design, and that still took 10 minutes.
Also, if I wanted to make changes to a design, it was a lot like having to rebuild the entire window again. Even a small change involved moving a bunch of pieces out of the way and readjusting their sizes. It was not fun.
The new way:
One of the first tools that David worked on when he joined was the window generator. I showed him the old process and we both agreed that it needed to go.
It felt like the most natural way of designing the windows, since they were basically 2D designs, was to design in photoshop, and then extrude that into a 2D shape.
For the process now, I basically have a grid in photoshop, each pixel is 0.25 units, make the design there, and then open up the window generator tool from Unity, which automatically makes a 3D version of the window and has it automatically prefabbed and aligned to the grid.
For the image, grey means frame, white means glass, and black means cutout.
Using photoshop means that I can take advantage of all the photoshop features (layers, invert, etc) when doing the actual design.
An entire window, even complicated one, instead of taking hours, can now take just minutes.
It’s easily my favorite tool in the engine.
If you’re interested in how the window tool works, David actually came on the stream a few weeks ago to talk about the tech behind it. It was storming in Chicago that day, so there were some internet issues, and the stream got cut up into 2 parts.
Here’s part 1:
Here’s part 2: