Fencing and Grass Edge Improvements
On the last post I had 6 Levels, and since the dog was introduced in Level 5, I knew my priority was to get more levels so people could have a proper go with the mechanics. Since the levels are quite small, it doesn’t take me long to create each one, but a couple of things I found a bit tedious was placing each individual fence and grassy edge into the world. To speed things up, I created an actor which I can drag in, and then tell it how many fences I want; this takes saves a few minutes when building each level. I also added an actor for the grassy edges, I can now stretch it as far as I want, and it calculates how to scale the material so no texture stretching occurs. I can also tell the actor to include a start or end corner, and which corner to use. These improvements, again, save a few minutes on each level, but saves faffing around and makes it more pleasant to create levels.
I replaced the white blocks in some of the levels with gates. Where the blocks would disappear and reappear when their trigger was activated/deactivated, the gates open and close smoothly.
The game will introduce more types of obstacles as the player progresses through the levels. In one of the new levels I’ve introduced a bridge. It started as a drawbridge with a big frame, and after opening the dog could progress to wherever the bridge leads. I felt like the huge frame would get in the way, visually, and it meant I was limited with how far the bridge could extend to, by the size of the drawbridge door. I instead opted for more of a rope-bridge, with two blocks running underneath and 3 planks on top. I then recycled some of the code from the fences, so I can put a bridge actor in place and specify how far I want it to go. The issue I faced then was how to make it activate on the screen. I didn’t want it to suddenly appear on the screen out of nowhere, I wanted some sort of fade. Unfortunately, when working on mobile, I was limited in terms of how to get opacity to work. As soon as I set the material to translucent, no matter what % it applied to it, it was 50/50 and wouldn’t change. After trying different ways to mask it (Masked, rather than Translucency), and not being pleased with the result, I discovered how to make things fade using what looks like noise. This worked so well, I decided to change the way all of the interactables appear in the game. Instead of coming out of the ground, they now all fade in and out, as if by magic.
Something I had to think about, was what happens to the characters if the bridge fades away while they are standing on it. I don’t want the dog or human to ever die and have the level restart. I don’t want death to appear in the gameplay whatsoever, so I’ve added a trigger to the bridge to make the dog run to whichever side is closer when the bridge is being deactivated. If the bridge is short enough, the dog will make it. I haven’t done this on the human yet, but I will in future. As a fallback I have a trigger box underneath the world which restarts the level if the player or the dog touch it.
Something I’ve always wanted for players to experience in Good Boy, is an emotional connection to the dog. It’s so important that people feel like the dog is a real, living being, and not just a game mechanic. There are many factors to making people get that connection:
- Cute Dog
- Cute Animations
- Realistic Behaviour
- Player Character speaking to and interacting with him
These are all things I want for Good Boy. But the first step to building an emotional connection with something is to name it. For example:
That’s why, once the human meets the dog up close for the first time, I give the player the option to name the dog. By default, the dog’s name is Rufus. This is a name I heard in the street, someone calling their dog by the name Rufus, and I instantly fell in love with the name. The biggest hurdle I crossed when naming the dog was how to filter the text to change a phrase to the name. I’ve opted to using the word DOG and when the text is about to appear, the game looks for DOG, all in caps, grabs the text before, and after it and inserts it in between them. This happens repeatedly until it can’t find DOG anymore, and then shows the text on screen.
On the day of Game Bridge I was testing Good Boy on my Android Tablet. Everything looked… weird. As if everything had been dipped in petrol. Weird colours all over the place and it didn’t look anything like it should have, and I’d been testing it on my iPhone for the last few weeks of preparation. I’m not actually sure what the problem was, but it took me a few hours of research and testing to discover that I could fix the problem by setting the materials to Fully Rough. This took away valuable time to add more levels into the game, I only had 9.
I was quite worried about how unprepared I was to show Good Boy off to a large crowd of people (approx 300). The level immediately after naming the dog I added a puzzle-less level with nothing but the dog, human and ball basket. I thought it would let people have a chilled game of fetch, and have a go of the newly unlocked “come here” mechanic as well.
When I turned up at Game Bridge I set up my laptop and two android tablets to play Good Boy on, and also had my iPhone to hand, just in case I had a rush of people wanting to play the game.
I didn’t. It was pretty quiet at first, a lot of people chatting to each other and others at the bar. I felt a bit hidden away in the corner, I turned up later than I’d hope to, so it was the only place available. I felt like Good Boy wasn’t going to get seen by many people, which was a bit disheartening. However, when we were all called over to the front to hear the speeches from organisers Olly (Cardboard Sword) and Bruce (Radical Forge), I got the opportunity to make an announcement. I don’t usually opt to go up in front of large crowds to speak, but I felt like it was the only way people would know what I was doing there. After falling over trying to get onto the stage (it was a perfectly executed commando roll), I said something along the lines of “I’m Matt, from Games By Matt. I’m over there showing off a game about a dog. If you like dogs, it’s the perfect game for you, and if you don’t like dogs, I don’t like you.” – This is why I usually avoid speaking in public. Never-the-less as soon as we were sent off to continue networking, I had a large increase of traffic wanting to play Good Boy. That’s when I was glad I’d been so prepared with the amount of devices I brought.
The feedback I got was overwhelming. Most of the people loved it, and only a few didn’t get to the last level. Most of the criticism was about the art and animations, which is totally understandable when I’m working with a lot of placeholders. Something I expected was the amount of text explaining how to play the game. This was pointed out by a few people, and I totally understand, reading a screen of text doesn’t make for a fun game, but I was given ideas on how to make instructions more visual. I also had a couple of switches in awkward places which made it difficult to see them, and they have since been moved.
I’m really happy with the result. A lot of people were really enthusiastic about Good Boy. It’s confirmed that I’m on the right track. Success!