Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

The Very First One

Sign in to follow this  


Welcome to the very first entry in my development journal of Milkshake. Perhaps some introductions are in order ...

Hands up which of you remember a truly beautiful little game called Head Over Heels? In case you've not had the pleasure of playing it, this game put you in charge of two intergalactic spies called Head and Heels who have been captured and imprisoned by the evil Blacktooth Empire. Through 300 charming flip screen isometric rooms, you drive the pair around, taking advantage of their unique abilities to firstly escape your confinement, and if you're brave, try and liberate five planets living under the iron rule of the Emperor. It oozed character, challenged you with diabolical puzzles, and the second I saw the first room, there was something just magical to me about having a little interactive world laid out in front of you, controlling your little fellow as he ran, jumped and pushed his way through his adventure.

Head over Heels

And if that wasn't enough to sell me on the idea, doing a game like this has the rather splendid side-effect of ensuring all my objects keep a healthy distance from the camera so they won't look as bad.

So that's the kind of thing I'm working on: Head over Heels, plus some Fairlight, mixed in with some Darkmere and Relentless. I've got a few different ideas for the exact setting and story: a fantasy world filled with obligatory hulking barbarians and impractically lithe elves, a steampunk world set in an old London full of smoke filled pubs (I just finished the book Homunculus - brilliant), a 50s space B-movie, ... and the list goes on. How do I tackle such a huge list of half-thoughtout and entirely un-implemented game ideas? Why, I write a game engine of course!

I know, I know - writing a game engine is big and scary and a sure fire way to never make progress on your first game, let alone any others. But for me at least, this has worked out really well so far. It's allowed me to focus on one game idea to start with, safe in the knowledge that all I need to do is fire up Maya and start modelling my hefty barbarian, and my dungeon epic will spring to life inside the same engine that was only minutes ago powering a small smokey 1800s London pub.

Luckily for us, this whole engine dilemma happened a long time ago - and now that a few key pieces are complete, I can forget about XML, object models, animation curves, editors and console windows and start working toward something you can actually play. The final piece fell into place last night when I put in support for taking screenshots - so without further ado, let the screengrabs commence!

Here's a simple room in my test level showing my prototype tileset and a very long-in-the-tooth cow character I modelled in max years and years ago:


Here's the console (and if you look closely you can see the line of script code which is reaching in and changing the tint of the materials to red):


And here's a quick shot of the in-game editor that's used to assemble everything (you can see some tools down the left hand side, and the zoomy object palette along the bottom - the currently selected object spins around but it looks pretty crappy in the screenshot):


My focus is really on designing an engine and a content pipeline that's super easy to build a 3rd person adventure game in, so that myself (and anyone else) can just fire up their modeller and start cranking out objects that can then be dropped straight into the world through a super easy to use editor. To date I've only implemented Maya integration - but I might go back and dust off my old 3DS Max plugin at some point. I've also invested a huge amount in a pretty decent object model that should make it pretty easy to add new controllers and behaviours either in C++ or script.

Because I'm doing everything myself, there should be a bit of everything in here at different times: some low level architecture stuff, rendering, file format/streaming, level editing, scripting, character design, etc. We're starting off in the middle somewhere (or at least, not at the start), so there are lots of interesting things that are mostly or somewhat done. I'm happy to go back and write up a journal entry on some of these things if they're of interest to folk, but we'll probably bump into many of them as we go anyway.

Finally, there are two things I should warn you about:

1) I'm a complete donkey when it comes to the artistic and game design aspects - so check your expectations at the door

2) I'm slow. I'm doing this for fun in my spare time, and I enjoy taking my time to design things well rather than hacking things in as quickly as I can. This seems to provide a near infinite source of frustration for my wife, who has great trouble seeing any difference in things from one month to the next, but if you're familiar with the legendary "black triangle", you'll hopefully be able to bear with me.

With all the background out of the way, I'll hopefully start getting into some more current development items in upcoming entries. Thanks for reading!


Sign in to follow this  


Recommended Comments

Oldschool for the win, baby.

Just to mix things up even worse, chuck some elements from The Lost Vikings in there - that remains my single favorite puzzle game ever.

Share this comment

Link to comment
So the "black triangle" is a war story from the very early days of playstation 2. The devkits had just been shipped out and the developers at one studio had slaved away for weeks coding away on the thing. They'd been fighting away with the VUs and the rendering setup, and then finally they had it - a lone black triangle popped up on the monitor.

Some passing manager types saw all the commotion and stopped in to see what it was about. Needless to say, they were suitably unimpressed by this.

But to the developers, they knew everything that was happening under the hood to make this happen: the mesh setup was in place, their texturing was working, they had the lighting calculation, and all the rendering/view transformations were flowing through properly - all that was missing was "real" data. And they knew that with this done, everything else was going to fall into place really quickly.

So a "black triangle" is something that looks pretty "basic", but represents a real technological achievement.

Share this comment

Link to comment
I'm with you on the Lost Vikings - awesome game. It's probably the best example of having several characters with unique abilities and using them creatively to solve cool puzzles. They also had personality to burn - I especially loved the little rock concert you got when you finished it =)

Share this comment

Link to comment
That looks totally awesome -- especially the "dock" at the bottom of your editor and the cow avatar.

The problem is that now I have that Kelis song stuck in my head now. [crying] ...all the boys to the yaDAMMIT

So the "black triangle" is a war story from the very early days of playstation 2. The devkits had just been shipped out and the developers at one studio had slaved away for weeks coding away on the thing. They'd been fighting away with the VUs and the rendering setup, and then finally they had it - a lone black triangle popped up on the monitor.

PlayStation 1, actually. The story was originally told by GDnet's own Jay Barnson.

Share this comment

Link to comment
Absolutely cool stuff there and, I have the need to say....Welcome to Journal land! here be some + treasure.

Share this comment

Link to comment
I couldn't remember whether it was the first playstation or the second - I think that story must grow in the telling, and I can't remember which GDC I first heard it at. Thanks for keeping me honest Ravuya =)

And yes - it's almost exactly the genie effect from the OSX dock ... I don't know how practical it really is as I've only got a few tiles docked down there right now, but every time I use it (or the real OSX dock) I just think "cool". Small things eh?

Thanks for all the encouraging comments - I've been staring at it for so long, you never really know what other people will think of it. As long as it appeals to a few people (particularly people who appreciate something a little retro) I'll be happy.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!