FAIL (the browser should render some flash content, not this).

Search the site

FAIL (the browser should render some flash content, not this).

Main Menu

A new year, a new game, and maybe a new approach... PDF Print E-mail
Written by DrMistry   
Wednesday, 12 January 2011 02:18

2010 will live very long in my memory.  We got 4 games to release, none of which exactly set the sales charts ablaze, but our average daily income is now at the highest level it's been since we started out in 2009 with Carrum.  We're not talking retirement levels of income to be sure, but with the 3 titles I plan to get to release in the first 6 or 7 months of the year I think we could at lest be paying for groceries and beer by the height of summer.   I'm going to talk a bit about the game that I'm now 100% confident will be the next MStar Games title, which is to be called YoYoYo! and is a cross-breed between a platformer and RPG (although with more platform-style play than RPG, at least for the moment).

Firstly, here's a lighting test I released last week on twitter.  It shows the basic level engine (which is tile-based with some additional flexible layering), a placeholder 2D character (which could walk and jump at the time of the test) and an initial incarnation of a weather engine.
YoYoYoLightingTest
I was kind of surprised at how easy it was to set up the basic platform engine and got to a point where I was happy to move on to the shaders a few days before I had expected.  Right now the lighting engine supports up to 30 point lights and 10 directional lights onscreen at a time.  That might sound like a lot, and in fact is is quite a few, but the engine renders lights which are IN RANGE of the current screen, so that the light cones for the directionals and any illuminated areas from off-screen lights are shown, so you don't have lights suddenly "coming on" as soon as the source is onscreen.  The shader does all the lighting in one pass, and includes a bloom processor but no blur - I'm still to write a blur shader with the right trade-off of speed and quality.  In Xenocide I cheated initially, re-rendering the drawn scene at smaller scales then enlarging them again to full screen size.  This produces a kind of chunky distortion, but not a smooth blur, so I dropped it eventually and went with no blur at all.  I'm not so bothered about blur in this title anyway, but it sure would be nice to have a blur shader that runs fast and clean.  Maybe I'll return to it later in the dev cycle.

I've also done a lot of work on character animation (although there's a lot more of this to come!) and the "I Guy" can now throw and catch his yoyo.  That's a very nice start, and one which has really fired up my imagination!

One of the big lessons I learned this year is that very few elements of a game should be regarded as sacred cows.  In Space Pirates for example, I stuck hard and fast to MY ideas of how the ship and onboard computer should be controlled, and those ideas turned out to be very wrong.  I should have swallowed my pride and realised that playability is king, and if a feature isn't playable or enjoyable then there's no point in it being in the game.  I've gone in to YoYoYo with a different mindset than with other games, and I'm taking the development of the ideas behind the game quite slowly and allowing gameplay ideas to emerge as I work.  As the various parts of the game engine have started to come together, I've had a few ideas that either wouldn't have occurred to me during an initial "design brief", or would have struck me later in the cycle and been discarded. 

A good example of this is the cast of characters who'll be appearing in the game - initially, it was going to be a pretty run-of-the-mill urban environment, with lots of lovely human cartoon characters of various hues and origins just like a real, modern, cosmopolitan Western city.  But while doing research for background artwork I came across some really fun character art, including a hiphop penguin.  I had a talk with MrsMistry and decided that penguins would be great animals to have as police - waddling along, and screeching at miscreants and ne'er-do-wells.  Having a fun character like that rattling around in my mind brought other ideas - if they're going to be wandering around the levels, trying to keep the peace, why not use them in interesting or unexpected ways?  Such as, if the player disarms an enemy character using their yoyo why not allow the player to get a rewrd for handing that weapon in to a penguin? The player could use that reward to catch a cab across town, buy yoyo upgrades, or food to boost their health, or pay another characters debt to get them to join your clan.

Getting other characters to join you in *whatever your ultimate quest is* will form an important part of the game.  This could involve various "missions" and one which I've had rattling about in the back of my mind of a couple of weeks is kind of fun, a little cheeky, and somewhat different.  A "buddy" character asks you to take a picture what he calls his girlfriend - but in order to secure the snap he wants, you have to scale a building overlooking the girl's bathroom and sneak a peak of her in the shower.  This initially sounds risky in the context of the Indie Games channel, but the saving grace is that your buddy is a squirrel and so is the girl (that and the fact that the girls blushes will be spared by the strategic draping of a towel).  Also the photo-taking mechanic means you might end up snapping a picture through the wrong window - leading to a furious chase back to your home base to evade an irate janitor.  There are others I'm thinking about too - protecting the little brother of a friend from a pack of bullying cats for example - which need to be completed to get your gang up to full strength.  But it's not as simple as just gaining friends, maxing out their abilities, and going for all-out attack.  NONE of your gang is able to use conventional weapons.  Instead, each has a particular skill which they use to defeat foes - for the main character it's a yoyo, another can become partially invisible (literally a chameleon on 2 legs), and yet another is a skunk, who can...well I guess you know what they're reknowned for...You have to use these buddies as well as your own skills to overcome some enemies, directing your companions around the levels where required to retrive objects, take pictures, and cause all manner of disruptive mayhem.  But the exclusion of guns, grenades, flame-throwers (except maybe a dragon or two) is an important point - it means you have to think laterally rather than just blast your way through a level as in Xenocide. 

Another important feature is that gone are the days of dying when you collide with an enemy.  You could take a health hit, be dumped on the outskirts of the city, or spend a night in the cells.  The same holds true for your buddies - and you'll have to find them, with the help of phones or email or a friendly bird.  This is also coupled with the idea that you can send buddies away to other areas of the game to complete objectives while you're off doing something else, and you'll need to keep track of them and help them out if they need it.

These are all ideas which have stemmed from the initial engine build and a few hours thinking about character design and what gae mechanics can be used with those characters.  Right now I have no idea how the game will end and that's fine with me - in fact I'd really like to find a way to let the player decide that.  I'm not sure I can, and I might come up with a blockbuster of an ending which fits the gae perfectly.  That's the way I'm thinking differently on this title - let the ideas develop and emerge naturally, rather than having a fixed idea of every aspect of the game before I get started.  It gives you flexibility in design and allows you to throw away ideas if and when either they don't work or a better idea shows up.  The core idea - that people usually do what they know they can do and are good at - lends it's self to a lot of gameplay situations.  Ofcourse you have to maintain overall control of the game vision and code accordingly, but finding a way to let natural, comprehensible stories and features seems important to me at this stage.  This approach might work or might not - I may have to lock down the featureset at some point to keep the code manageable, but I'm going to give it a go.  And you'll be amongst the first to find out how it works out!



Add this page to your favorite Social Bookmarking websites