Game development is, for me, much akin to a seafaring adventure. There’s no two ways about it -when you set out to make a game, you become the captain of a ship. Your game design document is your map, your mouse the sextant and your keyboard the ship’s wheel. You often have but the vaguest idea of where you might be headed – promises of gold on a shore on the other side of the world, mayhap – but the ocean is vast and deep. You can’t do it alone. Who’s going to rig the mainsail when the winds pick up? Who will help batten down the hatches in the eye of the storm?
Alright, alright … enough of the nautical references, my monitor has filled up with brine! The point here is, like any great adventure – you need friends to help you on your journey. Game development can be a lonely endeavour, many late night sessions of coding, recoding, debugging, wringing your hands together and wondering if you’ll ever see shore (just one more reference!) again.
The solution to all of this is this: Enlist help. Do you have an artist friend? Get him or her on board – their unique art style will change how you see your game. Don’t just pick a random free music track from a website, get in touch with an indie musician online and ask him if he’d like to contribute to your game. Chances are, all of these people are very good at what they do but can’t do what you do – no doubt they’d love to see their artwork living and breathing in a game, their music soaring in the background as the hero defeats the final boss. You want a team around you – everyone brings something different.
There’s a second benefit to working with other people on your project – you gain motivation. You’re not just doing it for you anymore, you’re doing it for everyone involved. You’ve become a team – if you fall, the others will help pick you up. You’re all invested in it and because of that, the journey gets easier.
The caveat to all of this is, almost nobody truly works for free. Time costs money – whether through opportunity cost ( the time you’re spending on your game, you could be working for someone else earning money) , or through the actual cost of hiring artists, musicians and so on. However, if you don’t have any money but really believe your game will be a hit, you can set up a profit share with your team. Discuss it with everyone involved and split it how you see fit, but do it fairly and don’t short change yourself – remember you’re leading the charge, you’ll likely spend many more hours than anyone else on this because, well , that’s just the nature of programming and game development.
So, the reason I’m talking about teams today is twofold. Firstly, I’m proud to announce Adrian Galassi has come on board as the official composer of the game music. I’ve worked with him on a few projects before. He did the soundtrack to Captain Fishblock and another, as yet unreleased project, You Are A Knight ( hopefully this game will see the light of the day – it’s got a very interesting story behind it, this tale is for another day) . I love his work, he’s so creative and it inspires me to make the game more exciting to match the tempo of his music. Secondly I’m pleased to announce I’m also working with Tony Lowe, a long term friend and former colleague who will provide the amazing art for the game. I hand him crude sketches of a wizard, like this:
And Tony turns it into something like this ( still in concept sketch phase too! ) . That to me , is the definition of inspiration and motivation right there.
The second reason I mention teams is because teamwork is central to Everyone Gets Treasure. Your party won’t get far if it doesn’t work together. You will need to balance out your party just right – are 4 wizards and a barbarian to protect them a good combination? Would you regret it if you brought an extra cleric instead of a proud knight to protect the party? These are the little conundrums that are going to pop up throughout the course of the game.
This week I’ve been working on the character party system a lot. I’ve designed a way to make character/monster skills interchangable, so I can program a template ‘hero’ , and assign it a few skills such as ‘cast fireball’ … the monsters can then also use skills like this , all from the one code template. It just means I can set up characters and monsters a lot smarter. All characters and monsters take damage right? Why not make them share the same code for this. And so on. It’s basic object oriented coding but it really saves you a lot of time in a game as complex as an RPG , where there are so many systems and rules to keep track of.
At the beginning of each level, you will get the opportunity to switch the tactical layout of your character party. This little animated GIF shows you an example of how that works – you simply drag your finger from one character to another , and they’ll switch positions. I want to use this ‘touch and drag’ for the combat too because I think it’s quite fun and intuitive.
I’ve also begun work on the combat engine – setting up grid positions for enemies, scaling them depending on the distance from the central camera they are and so on. There’ll be up to 20 enemies per level but these will often come in phases – for example, you might start off fighting three skeletons on the East Platform, then if you don’t kill them quickly, four Sagan Blobs turn up to attack you from the West Platform. Here’s a screengrab of a battle with 20 enemies ( placeholder artwork of course!) .
Right now, I’m working on phasing the combat – adding little ‘health bars’ above selected enemies, creating basic rules for causing damage, hitting and missing and so on – this is the real meat and potatoes of an RPG and is something I’ll probably go into more detail with in the next dev diary.
As always, cheers to you all and happy journeys.