Monday, 7 May 2012

Power Up - Some History

A few people are finding their way to my blog now and I've had a few questions about myself and the game I'm making. With that in mind, I thought it might be nice to do a quick piece on the history of my first xblig game... because it has some you know.

Power Up - Version 01:

Power Up started life as a programming excercise back in oooh, somewhere around 1999-2000. I was a student on a media course (there were pretty much zero courses in making games back then so you had to teach yourself everything you could get your head around). Part of the media course was in Multimedia. You know, the wonderful future that is CD roms, and the actually wonderful Macromedia Director was the tool for that.

Director later became more synonymous with online Shockwave games (the lesser known cousin of Flash games), and soon Macromedia was bought by Adobe. While You can still get Director, it's all but been phased out, which is a real shame because I stand by Director's almost-English programming language "Lingo" as the best way for a beginner to get their head around making game mechanics work without having to figure out all the horrible syntax that comes with venturing into programming for your first time...

Aaaanyway! all that asside, Director quickly became my tool of choice for tinkering with my own little interactive creations and was quite pivotal in shaping my decision to turn my artistic tendencies to a focus on games.

At this time I was also taking my first tentative steps into 3D art and animation, and to this end, had made a little spaceship out of primitive shapes, which I was zooming around in a series of rather rough test animations. I decided to have a go at putting this together with my fledgeling programming skills...

Power Up - Version 01 - Circa 1999-2000: Not my finest hour, but a good excercise nonetheless.

I was feeling ambitious and so I decided to try for an over-the-shoulder, Isometric approach. This was clearly not the best idea for a new programmer, especially one whos' talents are not particularly in the more mathematical side of things. Still, I pushed on for a while and eventually hammered together two scenes of a game that was horrible to play and had the most confusing collision detection I've ever coded. Not to mention my massive sprites making for barely any looking room at all. Looking room is precisely that. Room to look ahead and see what's coming! Kind of an essential in a scrolling shooter. Oh well, we live and learn.

All of that, along with my complete non-understanding of image compression produced a piece of work that I'm not particulary proud of. That said, it wasn't the first and I'm sure it won't be the last. A lecturer at the time told me "I love ambitious failures" and I'd have to agree. Nothing levels up your skills like an ambitious failure! ...Embrace the ambitious failure! (Then move on).

Power Up - Version 02:

Fast forward a few years to somewhere around 2003-2004. I was helping a friend to get his games company started and was blasting out a few demos for games he could do on the mobile phones of that era. Screens had just gone colour but the devices had yet to be recognised for the potential they had in gaming. In short, the resolutions were tiny and the controls were rubbish!!

Having found my own game controls were at about the same level of responsiveness as those of the devices I was aiming these game designs at, I was able to get rather good representations of the game designs over to him as little Windows .exes. He would then pick out what he wanted and get real programmers to make the games in Java.

For one of the little game demos I blasted out, I decided to revisit Power Up. This time I took account of my programming limitations when it game to controls and kept it strictly 4-directional and side-scrolling. No frills! ...Oh alright. Maybe just one.

This time I actually got to adding some power ups. Having now graduated, I'd been working in pixel art for a couple of years (Pro-Motion was the industry standard at the time and probably still is for retro-style Pixel Popping, which is as it should be. Pro Motion is brilliant!), I had a handle on the quality of the art and generally keeping things a little more consistent in style. I redesigned the spaceship as a little long thing with a bend at the front and decided that as it upgraded, bits would attach themselves to the ship to evolve it's general shape.

Power Up - Version 02 - Circa 2003-2004: A more stylish move to small and pixel-popped with the development of my basic coding skills.

This worked really well and while the baddies were badly designed and there was generally little garnish in the controls or art, there was a definite feeling of progression after the innitial grind of getting your first few power-ups. Soon you were blasting around the screen, leaving explosions in your wake in a rather limited, but fun little game. This version of Power Up never made it to a final version either but gave me the opportunity I needed to get my head around a little more of the mechanics that such a game would require.

...and that was that. For the next seven years or so I remembered the little spaceship game fondly but never really looked back.

Power Up - Version 03:

Last year, a programmer friend of mine played a few of my old Shockwave games and asked me if I'd ever thought of using xna to make indie games for Xbox Live Arcade. I explained that outside of Director Lingo I'd really have no idea how to program a game, but he was adamant that once I'd got through the language barrier I'd be in with a chance of making stuff that people would like, especially considering my background in art and music production.

One day I was doing the monthly xblig rounds. You know, just been paid, checking out what's on offer, when I put down my pad and decided I'd have a crack at it. I resolved to look for some basic tutorials and just try to make something. One of the very first tutorials I came across was for the very basics of a side scrolling shooter. I downloaded Visual Studio and dug deep. Two four-hour sessions later and I'd pretty much reproduced the content of the tutorial...... In a fateful moment of curiosity I changed the baddie sprite to a spinning bit of space debris.

It worked!

I changed the background to a starlit purple-blue gradient. That worked too.

The paralaxing layers became stars, planets, spacedust and black holes! As the momentum built, something from my distant game-creation memory came surging back to me and I felt the overwhelming urge to change the player ship to a little long thing with a bend in the front...

Power Up - Version 03 - Circa Feb 2012: This is a close up of the player ship done in 2D, from an earlier draft of the game.

And now?

Well, I'm  a few months into production on the game. As you know from previous blogs, I've updated my art style from drawn 2D to rendered 3D. I've updated the player ship in the same way. Now it's a 3D render with little animated effects and flourishes.

I'm almost finished populating the first level with baddies, though there's plenty of fixes to do before I move onto populating further levels. I've done a series of tests for paralax leyers in levels 2 and 3 and got them all in place for attack waves too.

The game has got a HUD, a rough front end and a storyline with little cutscenes. There's plenty of content there for more blog posts and YouTube movies for quite some time to come, but I'll be selective and pick some good features.

Power Up - Version 03 - Circa Apr 2012: A close up of the 3D ship in the current version of the game.

I'm finding the balance between work life, family life, chill time and my favourite hobby (that's this). Thanks for taking the time to read my blog. I'll try to write about the stuff I think might be interesting to you but if there's any bits of my production process you'd particularly like to hear about, get in touch and let me know. Other than that, stick with me I'll endeavour to keep you all updated every step of the way.

The best place to follow me is probably Twitter: @psypsoft
But you can also find me on YouTube, Facebook and er, here.


  1. Very cool like the way you have developed the game into its present form looking great


    1. Thanks very much. I suppose there was a fair bit of time between the versions. It was quite an eye opener for me when I looked through my archives at how far my code and art had actually come.

      Thanks for the feedback. I'm glad you enjoyed the blog post and I'll keep the progress reports coming.

  2. This comment has been removed by the author.

  3. [stupid blogger won't let me edit]

    Hey from Iris Studios. Great work man. If you ever need help or in need of a javascript game engine let me know. Us indies should stick together and pool resources when possible. Alone we're weak but together we're strong.

    1. Hey. Seem to have lost my original reply. Take two: Having never really discovered Java, chances are that I'll need a little help if I ever go that way. ;)

  4. This was such a nice read. Reminded me of how I started game programming in highschool with a very basic snake clone made in ActionScript.Several years later I'm flirting with Android and Unity 3D. It's all so addictive and consuming. But I'd never go without it :). Good luck with developing your game. I'm confident the final product will be great! And I'll be watching your blog for more sneak peeks in the development process.

    1. Thanks! It's nice to know that I'm not the only person who feels passionate about making their own stuff. Glad to see that there's a community out there. Wouuld love to see anything you're making. Unity has got me a little intrigued...

  5. I like how you've stuck with one game and just developed it all the way. Talk about commitment! I've just started developing games myself, but with so many places to start, so many platforms to choose from it can get rather distracting.

    Good luck with your game, I'm looking forward to its progression too!

    1. I did lots of other Shockwave games in between the various versions of this one. Had them out on various portals for a while but had no idea how to get peoples' attention so took them down in the end. I'm sure you'll see new revised versions of them too soon enough though. ;)

      This one was just an easy one to start a new language with. It is hard work to stick with it for one game, but there are mechanisms I put in place to get things done. A rough schedule can work wonders, as can allotting certain nights of the week to do it. I'm hopeful that the payoff will be worth all the hard work.

      Thanks for following my progress. I'll keep you updated.

  6. What is your first and last name?

  7. Hey Troy. I'm Mike Hanson. When I was doing this particular piece, I was just going under the Psychotic Psoftware banner and it was just a hobby and I had a job, but now I've been made redundant, there's nothing left to lose, lol.

    I'm cureently trying to make something more of PowerUp. If you'd like to check out the Kickstarter for the project, at the time of writing there's a couple of days to go. Here's the link...