Recently work has starting drawing to a close on another decent sized addition to the Innkeep! play-space: a real-deal, fully functioning cellar. Today I’m going to take you through the design process from start to finish. What fun!
In my last post I introduced some new barrels, and showed them in use with my cellar GUI. Here it is again:
Not bad! I designed and coded this thing at the beginning of 2016. At that time, I still hadn’t undertaken my major revamp of the play-space graphics, which occurred later that year, and I still hadn’t had a final epiphany as to what the core game mechanics would revolve around. (If you are curious you can read more about that here.)
The Innkeep! play-space now has bedrooms which you can enter, with the main walls fading like this.
Alongside the overall graphical improvement of the play-space, the implementation of rooms you can actually go-inside was a revelation. Alongside the existing vanishing-point perspective, having walls fade to reveal more locations helped add to the doll-house like style of the game. It wasn’t long before I had the idea that I could do something similar with the floor, and have an actual cellar that you could enter. The barrels would be dragged around in just the same manner, but from underneath.
However that seemed like a big job. So I put it off for the time being. Until I ended up working on the ground floor textures once again, as you saw in my previous post.
Then I started doodling some ideas…
And one thing led to another from there…
It was clear from early on that one of the trickiest things to do would be the stairs. I was going to need to use geometry and measure the steps out.
For the floor I wanted to try something a little different. Square flagstones with diamond shaped center pieces. A bit too elaborate for a dingy cellar, really, but what the heck.
First a bit of layering of dark with light for depth.
Then the inside pieces. Here everything still looks quite flat.
But with just a bit of highlighting, suddenly the eye decides that there is depth. Such a strange phenomenon.
More highlighting, with some cracks here and there, a little brushing for texture, and voila!
For the ceiling, I went with an arch. In reality this would probably have to be vaulted, so the curves would come towards the screen on an angle. That would be quite hard for me to draw though! This was a nice compromise.
A close up, alongside the stairs. You can see the brickwork is quite simple up close. Light on top, dark on the bottom, with a bright edge. But from a distance it looks pretty nice.
Time to put this thing in the game!
Incorporating the cellar actually wasn’t very difficult. I was able to use a lot of the techniques I had already developed for the bedrooms and second floor. The purple lines you see there are the lines which block movement. When the player crosses the white object, the lines are removed, and other created. Nice and seamless.
Up to, another little blocking object only lets you access from one direction.
And this is what it looks like, behind the scenes (I have a little key active in debug mode to toggle these things to be visible).
I took a break from the cellar at one point and tried my hand at some slightly better pixel art for the player sprite.
Of course, I would also need a rack to hold all the barrels. Here we see it with and without barrels.
Here we are with the cellar actually in the game, along with the rack.
Next I jumped into the old code for the barrel GUI, and re-designed it to work in the cellar. This took quite a while to expand (the old system only had room for 6 barrels in the cellar part, and this was a 12 barrel rack), but was pretty straight forward. In the above gif you can see I’ve also gone and added some shadow overlays which are drawn over the barrels.
As a nice improvement, I added a half-transparent barrel which would be drawn when you moved your mouse around, showing where the barrel you are holding would be placed when letting go of the mouse button.
The final big challenge was the trapdoor. I needed something which I could walk around on top of when shut, and which would generate the entrance to the cellar when open. Not too complicated per se, but very fiddly. Getting it basically working took 20% of the total time I worked on it. Fixing all the weird bugs and edge cases took the remaining 80%. I’ve found that a lot of stuff is like this in game development.
And here we have the system in action!
As a final touch, I made some shadows to be drawn over the player.
I also had part of the flagstone floor overlay remain when in the cellar. Later, I might do a few more cool things.
- When the cellar is revealed, I could make individual flagstone pieces fade out at different speeds. That could look pretty neat.
- The player could grab a candle from the bartop to take down into the cellar and lighten things up. During the evening it might be pretty dark down there, so some artificial light would be necessary.
Neither are a priority just yet however.
Like what you see? How about buying me an ale?