Just do it
As much as I didn’t really plan on or want to do any work on the game this evening, I ended up doing so and it turned out to be productive.
- Added Onion’s double jump (anim todo)
- Added some distance to Sausage’s punch, which involved fixing a bug in the animation system that wasn’t getting the points right if facing left
- Added a completion callback to animations, e.g. to call another animation
- Make Onion only able to burrow under enemies while moving (stopping under an enemy is a hit)
Next up I’ll probably work on picking up and throwing items for Sausage, and maybe pushing items too. Oh, and breaking things with melee. Got to revisit climbable things (ropes, ladders etc) as well.
I’ve also got to keep balancing the two characters in mind with everything I design. They’re quite different, but the player needs to be able to get through the game with either character.
At every peak there’s another mountain to climb :)
Burrowed Time
I got a rough burrow animation playing by tweaking my animation system to allow specified animations to play to completion, without being replaced with idle or run etc. Can’t believe it took me this long to run into the need for it.
I’ve also got a punch animation in there for the Sausage, so he can melee the baddies now. I couldn’t be bothered to use the wacom for that one and did with my laptop trackpad…
Doing this is making me wish I’d kept up animation since studying it over 10 years ago… Better late than never!
Technically with the way he flips the eyes should be at the back… it’s a magic onion.
On a roll
I seem to be making good progress, as you can see in the gif below.
As I mentioned a couple of posts back, the Onion is defence focused, so his special move is a burrow. Unlike Mario, DK etc, he can’t jump on enemies to take them out, so he must avoid them. He can do this by burrowing into most surfaces, and from any angle. Onion’s also got a double jump.
Sausage, on the other hand, is the tough one of the team and can melee and jump on enemies as well as pick up things to throw.
I did an animation for burrowing, but I haven’t got it playing yet, and the fall animation is the same as the idle animation, which itself isn’t quite right - too front on. Not to mention Onion being a bit squashed. Sausage also doesn’t know what animation to play when Onion is moving while burrowed (edit: fixed). Lots of things to fix!
Animation
In the last post I said I wanted to get some basic animations in the game. My usual tool of choice is Photoshop, which I’ve been using almost daily for over 10 years. However, I haven’t been using the Timeline for animation much, and my plans for creating some quick and easy animations kind of didn’t work out.
So I went off to find an alternative, hopefully something very simple, and ideally free. I ended up getting Sketchbook Pro, as it has a “Flipbook” feature that does exactly what I need!
I tried it out and managed to knock up some really rough animations, which you can see below. They’re a bit janky, and final colours and details are yet to be decided, but it’s fun to see my creations in the game.
Yes, one of the characters is a sausage.
The other is an onion, of course.
There’s a phenomenal amount of work ahead…
Below is my first attempt, but it wasn’t quite the style I was looking for.
Oh, and I’ve just been checking out some amazing artists on Twitter and now have a theory that cat ownership is correlated with artistic talent.
I have a dog.
Significant Progress!
The story was a huge obstacle for me. I struggled to settle on something I liked, which made it hard to develop the player character(s), mechanics, enemies and their behaviours, levels and so on.
Well, I’ve got my story figured out, I’ve got my main characters figured out and it’s finally all coming together!
As I’ve mentioned before, DKC2 is a big inspiration for this game. I’d almost given up on having two playable characters with distinct advantages, like Diddy and Dixie, but just the other day I had a flash of inspiration! I’ve now got two very different main characters that will be great fun to design levels for and play with.
One of them is offense focused, and the other defence. This will make more sense as I show more of the game’s progress.
However, coming up with this stuff on paper is easy. Actually making it work in the game is another story. Well, I managed to implement it over an hour or so tonight, with the player now being able to pick up the equivalent of a DK barrel to enable you to switch forms (with their own animations and abilities), switching forms when hit, losing additional forms when dying and so on.
I’m amazed and excited with how quickly it’s coming together.
My next task will be to do some simple keyframe animations for the two characters, so I can start to build out the look and feel of the game. With the final art being claymation/stop motion, the rough drawn animations can double as storyboards/concepts which will greatly speed up the process later.
I love look of the game that these guys are creating, and I’ve seen how they utilised placeholder animations in their devlog videos and I think it helps a lot. (example)
Can’t wait.
Latest News
Another several months have gone by…
This isn’t shaping up to be an “Arid” game now, so I’m changing the name of the blog from aridgame.com to mudzoo.com. Mudzoo seems like a fun word. Could be mud zoo, or just a made up word mudzoo. I can also use it as the name of the associated studio/company.
Mud is a reference to clay, which is the visual style/medium that the game(s) are created in, and zoo because it sounds good and offers plenty of ideas for branding.
As far as game development goes, what a journey… A large amount of work has gone into getting the collision detection just right for a platformer. It’s such a critical part, and I don’t feel bad about working on it, testing it and tweaking it for so long.
Basic bounding box collision was a good starting point, but really limited.
I scrapped rectangular bounding boxes and went for bounding shapes defined by points. A flat platform may be two points, i.e. a flat or sloped line, or several points to define shapes or curves.
For animated assets, like the player, the points are set for each animation frame, meaning that the bounding shape can correspond accurately to the sprite.
A good example for how effective this is can be seen when standing at the edge of a platform. Usually you’d check the bottom corners or mid point of the players bounding rectangle to see if it’s off the edge. With the points I know exactly where the feet are, and the player can visually and literally walk right up to the edge without falling off.
Collision between the player and enemies will also be sprite-accurate, so there’ll be no surprises.
The player sprite is from Skullmonkeys, one of the inspirations for the game. (It’s hard to get a nice looking gif at a manageable file size)
There are a couple of draw order issues in the gif above, which I spent some time last night implementing a solution for. It’s a tricky one, as each platform has a background and foreground component, with the assets on the platform needing to be drawn between the background and foreground.
I also went with data driven design for defining the various assets in the game. All the different enemies, platforms etc are defined in JSON, making it easy to tweak their parameters and build development tools. I had a bit of a hybrid approach before, but it wasn’t going to scale well.
Still so much to do, but I’m excited about where it’s at. Can’t wait to get my hands on the clay!
(Also, I think the story’s changed yet again from what it was back in July :)