I’ve spent the last couple of days changing the art style for what seems like the hundredth time, but I can say with certainty that I’m getting closer to my desired look for Good Boy. I mentioned in the previous post that some of the art looked as if it was taking itself too seriously; I want a simple, cute look. The environment looked like it was made from Minecraft blocks; there were sharp edges everywhere and I wanted to smooth them out.
I started by creating modular edges to stick out from the ground, I made edges (both flat and rounded for variation) and corners (internal and external for joining the edges together). My idea was to be able to stretch an edge over any size floor without much hassle, so I created one at 100cm long, and then in UE4 I created one material with an X Scale parameter, with a few material instances for each size I would need. When a texture stretches too far with the mesh, I can apply one of the larger X Scale instances to put it right. I later thought of a way to change the material dynamically by using a blueprint actor applying the correct scale material depending on its own scale, but I haven’t decided whether I should do it that method yet.
After completing the level blocks I was asking around my game-dev friends for suggestions on how to improve look of the level; it seemed a bit bare and I wanted something simplistic but interesting. I was given the idea to add flowers and a fence around the edge. Every level will look like a front garden, a great place to play fetch with a dog.
For the flowers I made two masks, one with two flowers and one with 5, and made a parameter for the flower to randomly pick which of the masks to use. I also made a parameters for the petal and pollen (flower centre) colour. When the flower actor is created it picks a random flower type and colour to be. This means I can just drag 4 or 5 flowers into the level and they’ll do all the work for me, so I don’t have to change the style and colour for each individual one. Interestingly, they’ll also change every time you play the level.
I did a similar thing for the picket fence. I didn’t want the fence to be perfect, so I made a perfect fence, and a few duplicates with broken or wonky pieces. I then used the same technique as the flowers, randomly choosing which piece of fence to use. I didn’t want the fence to be too destroyed though, so I made it a 25% chance of picking a broken piece, and then select from them.
One of the issues I faced with the fences was the doors for the Portal Gateway. They swing 180 degrees when open, and this was causing them to go through the fences. I had a few options to fix this.
- Change the animations to only open 90 degrees – the doors might then get in the way
- Not have fences near the doors – this might look strange if the fences didn’t go completely around the play area
- Detect the widest possible door swing angle on a per-door basis – the doors would then not be consistent.
- Remove the doors all-together and feature an empty archway until the portal is activated – very simple looking, but potentially more interesting; if I could get a nice animation for the portal appearing it could make it look even nicer.
I went with the archway without doors. I remade the archway and made it rounder than the previous one; I feel like it compliments the shape of the portal more than it did previously.
The following video is the first 6 levels of Good Boy with the new art-style. I feel like it’s a huge improvement, but I still have some work to do before it’s perfect.