This year I wanted to have the game playable earlier. Last year we spent too much time on the art up front, so Dan got a little bored towards the end of the holidays, not being able to play his game. In the end, we ran out of steam, and didn’t finish until Spring. This year, with the move to 3D, we’re working in Unity, so I could get a playable version of the code working in an evening. That means Dan can actually see and play the changes as he makes them, which is much better.
As a consequence, progress is slow, because Dan has to thoroughly play-test each change!
In the screenshot above (click to see it larger) you can see the bare bones of Dan’s design. The ball is resting on a platform. The red floating sphere is a ‘door gem’ and the white rectangle is the door – if you collect the gem, the door opens. The yellow disk is a coin, the green cube is a boost power-up. The purple thing is a ‘buffer’ which knocks you back. The black rectangle is the exit. We will work on refining the look of these later: at the moment they are just the basic shapes that we could add with one click. The scoring system Dan designed works nicely: with the score counting down and being increased by coins.
Dan spent yesterday refining the sizes of things: learning to use Unity to make the door taller (so it can’t be jumped over) and to add lights to the pickups (you can see the green cube is casting a green glow on the ground). There’s also a second platform not visible in this shot, which he positioned and changed the angle of, so it has a slope. Dan took to Unity like a pro, and quickly understood the idea of adding components to alter an object.
Today, Dan worked on sound effects. Like last year, we used the excellent Cxfr to create brand new sound effects for the three types of pickup, for touching the buffer, for falling, for jumping, and for finishing the level. This year Dan is much more proficient at reading, so was able to play with the sound effects: altering their frequency, their slide and their envelope.
He was also able to read enough to manipulate Unity’s rather complex interface to get the sound effects playing on the correct object. My aim for this summer is to get Dan using Unity quite fluidly. I’ll still be writing the code, but I’m sure he’ll be able to create objects, add components, tweak important settings, lay out the level and test his game.
After play-testing, he decided a couple of the sounds didn’t sound good, so he reworked them. Finally the ‘finish the level’ sound still wasn’t right, so we went online and searched for a more triumphant sound.
Dan is enjoying playing the bare bones of his game, and I’m enjoying the fact that using Unity means the code is basically written already!
We’ll probably work on a logo next, and add that to the screen, and then he wants to work on making a full level with more coins, buffers and platforms in it.
Its hard to believe its been a year since we started Cave Saver! It is the first day of the summer holidays for Dan, and we’ve started our game project for 2013.
We’ve been talking through ideas for a while. Dan liked the idea of rolling a ball, which he enjoyed from levels of Super Mario Galaxy and the two Super Monkey Ball games he’s got. Also a big priority for him this year was to do a 3D game.
We had a big conversation about the amount of work it takes to make 3D graphics and the fact that we’d have to pick a simpler game idea to make it work in time. So no cute jumping frogs this year, I’m afraid. Expect more plain geometric shapes! It will be a good excuse to get him using 3D software though.
The idea is based on Super Monkey Ball: you have to roll a ball across platforms to an exit door. There are obstacles in your way such as buffers (pinball style), holes and locked doors. You collect coins for points, and gems to open doors (for some reason – I figure the game is pretty abstract, so let’s roll with it). Power-ups give you extra speed, and you can jump the ball up a little.
We also have a long b-list of features that would be nice to have, if we get time (which I suspect we won’t, but still!)
Dan devised a neat scoring system: you’ll start with some points, but lose a point every couple of seconds. You get extra points by collecting coins, but if you fall off and have to go back to the start, the coins don’t reappear. It is neat because it balances a kind of time limit and score attack in one go. We had a great conversation about whether it would be good to make the level harder if the player was too slow, and how punishing weaker players isn’t a good idea.
So here’s the game design wall. Simpler than last year, but still some neat ideas.
Today was time to start putting things together. I put all the elements we’d made so far into the Tiled map editor so that D could place them where he wanted.
We talked about some of the rules that would be important, things like:
- Waterfall and lava falls couldn’t start or stop in mid-air.
- Water must go out to each side until it hits a wall.
- The cave should not have any gaps in its sides or bottom where you can fall out.
- You can’t jump very far, so places to walk have to be near each other.
And I showed D how to use the tool (it is frighteningly simple, it took him 30 seconds to master it). Then he just went for it.
So, here’s the structure of D’s first level (no enemies or collectables in yet).
You can see this is the ‘designers’ view, rather than the way the player will see it. BG stands for background, anything with C is the cave wall, W is water, WF is a waterfall, and LF is a lava fall. The player starts at the green button, and the person you’re rescuing is at the red cross.
So we’ll add the enemies tomorrow, and then see about doing level two.
So today’s job was to find sound effects for all the things on our list.
I remembered having downloaded a cute little tool for the mac to make random sound effects in an 8-bit retro game style. The program was cfxr, and it proved to be a huge boon.
D sat and played with it for half-an-hour. As you play, it keeps track of all your attempts so far, so it was easy for him to show me the effects he loved, and we soon had all the list crossed off.
It isn’t so easy to upload sound effects here, so you’ll have to wait for the final reveal (I know, I know). But they are quite fun. Though some of them, I confess, I wouldn’t have guessed if I hadn’t been told!
So sprites, done, sound, done. Onto level design!
Today we did the first half of our sound effects job. We went through the game and decided when there might be a sound to play. And then we’d have a list of sound effects we’d need to find or make.
The list was:
- When picking up a fossil or gold
- When a frog jumps
- When the bat flaps
- When the fish bites
- When flies are near
- When you fall into water
- When you pick up the flies
- When you feed the fish or a frog
- When you lose a life
- When you jump
- When you reach the person you are rescuing
- When you fall a long way
Rather more than I hoped we’d need, but still, D was insistent.
So now we just to find or create them.
Today we went hunting for music. Making game music is a bit of an art, and while we could have used the tools we have to do it, I felt it might be a summer project of its own (maybe a Christmas project, to make music?), so instead we hit up Kevin MacLeod’s site of royalty free game music, and D went through to pick one.
Originally he decided rock was the way to go, the heavier the better. But none of the pieces seemed to suggest caves. So we had a talk about what the caves should be like “Spooky” was the consensus. From there it was relatively simple to find the perfect piece.
It is called Aftermath (second song at that page).
Very spooky, very cool. Next stop sound effects.