The Short Road to Dream Build Play

Posted: March 3rd, 2010 | Author: andy | Filed under: Gaming, Qoobz | No Comments »

If you’ve been reading this blog, you will know that I have had what was called P9 in development since May 2009. The reality is that I’ve hardly had any time on it since conception, life and paid work got in the way.

Roll forward nine months and I decide to enter the Dream Build Play competition. The only problem was it had to be in for the 3rd March – I had my work cut out.

So from the end of Feb until yesterday (2nd March) I worked like a man possessed and took my prototype to a full working game. The only resources I had were my time (lots of late nights) and coffee.

I crunched hard, coding, drawing, making sounds, writing scores and game started to fall into place:

This screen grab was taken on the 24th Feb and had a lot of the underlying elements in place and the very beginnings of a menu system.

I worked day and night from this point to polish and ready my submission. The coding went very smoothly although XACT is a strange beast and the documentation for XNA is a tad woolly in some places. This aside, being able to create a quality console game with C# and the XNA platform still astounds me.

By the weekend I had pretty much finished the core game play and was in dire need of some sound. My brilliant Blue Snowflake microphone did a tremendous job although I nearly destroyed it trying to record me lighting fifty matches at once.

Its amazing what great sounds you can make around the house, I might even cut it as a Foley Artist after all this. Sunday was spent placing all these audio cues in the game which is a time consuming task. Getting the balance just right is fiddly work.

Monday was special effects day. I created a fairly flexible particle system and placed a series of subtle elements from backgrounds to explosions. It all really tied the game together and by the evening I was ready for levels.

I knew I wouldn’t have the game 100% complete for the competition, but I wanted to submit it with at least five levels. So myself and my good lady sat in front of the box and sketched out a series of levels and ideas. Beavering into the night I turned these drawings into reality. I will definitely need a level editor as manually creating them in code is a pain.

Tuesday, the final day. Mostly spent tweaking the code and levels and adding the system stuff no one sees, but is essential. We play all the levels over and over until just right. At just after midnight I decided I couldn’t do any more and submitted my entry.

This is the video I created for the submission, hope you enjoy it:

Its now time to finish off the game, create all the levels, polish, test and get it out on to XBLIG. What a mad time its been and all my doing. Nothing like a bit of pressure to get things done.


Making backups a joy

Posted: February 24th, 2010 | Author: andy | Filed under: Business, Productivity | No Comments »

We’ve all heard it a thousand times and I’ve been guilty of saying it as well:

“Do you have a recent backup?”

These words are usually uttered about five minutes after a fatal system crash from a colleague or that buddy who knows computer stuff better than you. The silence in the room is only broken by the sound of the read head clicking faintly from the obliterated hard drive sitting in your laptop.

Like virus protection the majority of computer users simply don’t have the time or understanding to put preventative measures in place to deal with these situations. They buy a shiny new system and convince themselves it simply won’t break and hey they only use it for email and surfing nothing important….. oh, hang on you mean my CV I just updated is gone, all my photos of me eating a family bargain bucket on my own are erased.

Enough with the scene setting, we all know it. As a one-man business the buck stops with me when it comes to backing up my entire business assets as they are all electronic and this is the reason behind this post. I would like to share with you how I do my backups.

The Setup

I have a fairly simple hardware setup. My MacBook laptop for all my communications, documents, music, graphics.

Next to this is my Windows 2008 Server, this is a custom PC which covers a multitude of functions. Primarily its my central file storage, it has a modest 500GB raid which I store everything on. All my projects, source code, websites, movies, emulators, fonts, icons, logos, software installs, 3D models etc… I also log into this machine to do my actual development work, either via RDP on the Mac (when remote) or directly on the machine if I’m at home.

Last, but not least my web server. This is a dedicated and hosted windows 2003 server with 1 & 1 internet. All my websites including this one are housed on this machine.

DropBox

Everybody is raving about it recently and so they should. I’ve been an avid user for over a year now as its just an excellent file sharing tool. All my systems including my web server have it installed and syncing. The side effect of this is my second use, it works equally as good, if not better than FTP. I simply make a change to a file on my development system and bingo the web server updates. No log in and file upload rubbish, instant syncing. DropBox also plays a vital role in my backup solution as I will explain for each system.

Web Server

The system runs IIS for hosting all my sites and most of them run off of either SQL Server or MySQL. Now I have the actual site source files covered already as they are all on my development server in the office and on DropBox via the syncing. The trouble I faced was the databases as these contained all the dynamic and user generated content. My first step was to make automated database backups. SQL Server and MySQL both have facilities for scheduled backups, which I do daily to the local web server drive at about 3AM. Now the nifty thing I introduced was making this backup location a folder in my DropBox and viola, my database backups are synced with my MacBook and development server.

MacBook

Thankfully Apple have had the insight to include simple, but elegant backups directly into the OS. Yes, its Time Machine. I’ve been using it ever since it first launched and I love it. I have a small 320GB external WD Passport hard drive (USB powered) and I let OS X do all the backing up for me. It’s reasonably unobtrusive and reliable. I have already used it on more than one occasion to retrieve lost files and more importantly I’ve restored two MacBook’s directly from it to bring me back to a complete replica setup in less than an hour – awesome! As mentioned earlier I have DropBox on this machine so all web server and database backups are also on here as well.

Development Server

The most critical of all my backups are on here – many years of development work, plus all my movies and general file storage. I also have a large amount of databases on SQL Server and like my web server I use the facility provided to do daily database backups to the local disk. Attached to this server is an external enclosure with a 500GB drive which leads me to my secret weapon – Second Copy.

This wicked little bit of software allows me to setup a series of profiles for syncing or copying files and folders on a scheduled basis. I have six profiles that synchronise all the various folders of my file storage to the external hard drive. This is all scheduled to run in the early hours of every day and works flawlessly.

Now as with with Mac I have DropBox on this machine which makes the process of updating the webserver incredibly easy without the need for FTP, but I wanted to take it a little further with my most critical files.

As a developer the source code to me is the most important part of my work. If I lost this I would be utterly screwed. Its already on the external drive, but what it that fails. So I have another profile in Second Copy that makes a temporary copy of just the source files of all my projects. Then it lets me call a batch file I’ve written that zips them up into a single file and copies it to my DropBox. This means all my most critical source code is also on all my systems.

Conclusion

This may all seem a bit long winded, but its really not and its all automatic, everyday. The only manual step I take is to make a copy of the external drive (both development server and MacBook) to another drive which I store in a safe. I do this once a month.


Another freebie from me

Posted: February 22nd, 2010 | Author: andy | Filed under: Gaming, Geoplex | No Comments »

As I am working on my latest game I’ve decided as I do to release my previous game as a freebie now. So as of today Geoplex is now completely free. Go get it.


Guitar Hero Drums as a real drum kit

Posted: December 4th, 2009 | Author: andy | Filed under: Hardware, Music, Tutorials | Tags: , , , , , | 50 Comments »

I’ve always wanted to have my own drum kit in the house, but like many folks a real kit is expensive, large and extremely noisy. I noticed on the web that many a rock enthusiast wanted the same and turned to the likes of Guitar Hero and Rock Band. Using these plastic virtual instruments for more than their original intention is testament to the hacking communities we have today. So my adventure began…

YouTube was my first port of call. Its great to see some videos of what is possible with these “toys” as instruments and boy did it not disappoint. Some truly awesome drummers have used multiple Rock Band drums to make a fairly substantially sized drum kit.

rock-band-drumsRock Band 1 kits are reasonable and cheap to pick up, but with only the four non-velocity sensitive pads and kick pedal they are somewhat limiting. So I delved further and read about the newer Rock Band 2 and Guitar Hero World Tour drums. These are both velocity sensitive, with GHWT including two cymbal pads and the Rock Band 2 set capable of taking three cymbals at an additional cost.

Guitar-hero-world-tour-wiiWith the velocity sensitive pads you can achieve a much more realistic drum as the force with which you hit it can be used to adjust the sound being played. So lightly tapping a cymbal will give a nice ting and whacking it with all your might will give a satisfying crash.

So I decided the GHWT drums were the ones for me. I also had the dilemma of what hardware variant to use as the drums are available for XBOX, PS3 and Wii. I ultimately decided on the Wii as it was wireless via Bluetooth which was ideal for the Mac.

The hardware

So, after a swift order and delivery from Amazon, my shiny new drum kit had arrived:

GuitarHero-Drums

Very easy to assemble and with the donor Wiimote in place I was ready to ROCK! (pun intended). I’m a big guy (6″ 5′) and still the kit seemed reasonably sized. The supplied real drum sticks are great, made even better with the pop-up sticks holder.

The software

As I am going to use the MacBook to drive all this I wanted to build a system based around GarageBand. I’d tinkered with it in the past and its MIDI capabilities seemed suitably fitting for my needs. What I didn’t have was the coupling software to convert the drum kit signals into MIDI that GarageBand could understand.

What followed was a long hard googling session and the trialling of many pieces of freeware, shareware and commercial software. Now, as I was doing this as a hobby I didn’t want to spent a great deal of money as I’d already spent £80+ on the kit.

Eventually I found OSCulator, a truly awesome piece of software for turning a wide variety of devices into MIDI triggers essentially. I’ve got to say a big thank you to Camille for making this superb tool.

GarageBand

The set-up for GarageBand is very easy. Open it up and it should be defaulted to New project with Piano selected. Leave it as this and click Choose, followed by Create on the New project from template dialog.

Once the main window appears you will see one track in the top left called Grand Piano with a green background. This denotes it is a software instrument track.GarageBand-GrandPiano

GarageBand-TrackInfoNow at the bottom right of the window there are three buttons. Click the “i” to show the track info panel on the right. It can take a few seconds to appear sometimes, not sure why.

From the browse tab choose Drum Kits and then select the kit you wish to use. I use the Headbanger Kit, but this is only available with the Jam Packs add-on. If you just have vanilla GarageBand use the Rock Kit for an alternative.

As you change the instrument you should see the track change from Grand Piano to Headbanger Kit / Rock Kit. That’s it, GarageBand is setup for live jamming.

OSCulator

Once opened for the first time you will see a blank screen and a message at the bottom saying “Press buttons 1&2 to connect to your Wiimote” So do just that. Hopefully your Wiimote should be identified and a list of inputs will appear on screen.

OSCulator-FirstPairing

To configure your first drum pad, pedal or cymbal, I found the easiest way is to trigger the item. So for this tutorial we will focus on the left red pad. So, strike that pad. In OSCulator you will see the input /wii/1/drums/pad/R/trig flash along with a new item appearing in the list called /wii/1/drums/pad/R/velo

Now highlight the /wii/1/drums/pad/R/trig row and set the Event Type to MIDI Note, then set the Value to 40 E1. This value I know to be a snare drum on the Headbanger Kit. As you will find out you can play with these values to try all the different sounds available on that particular kit. Finally set a Channel – one in this instance. The channel gives you a unique handle for this drum pad.

Now with any luck if you strike the red drum you will hear a snare. GarageBand must be open and set-up as discussed above for this to work. As you’ll notice though it might be quiet and only make the one distinct sound regardless how you hit the pad.

So now we need to set-up the velocity. This time highlight the /wii/1/drums/pad/R/velo row and set the Event Type to MIDI Note again, but this time set the Value to Channel Velocity. Finally make sure the Channel number matches the trig row. What all this does is send a MIDI note of 40 E1 and a velocity setting based on how hard you hit the pad.. simple!

Now all you need to do is configure all the other pads, cymbals and pedals. Make sure each one has its own unique channel to stop any cross velocity contamination.

Extending the kit

This is great, the kits working, but its still a little restrictive. With only 2 cymbals, 3 pads and a pedal – I’m pretty limited. Thankfully OSCulator allows further extension of the MIDI triggers through Meta events. On the GHWT kit there are a handful of buttons just above the Wiimote holder, which can also be configured.

With these buttons I’m going to trigger the Presets switching event. Now a preset is a set of events and triggers, so as described above we’ve already set-up the default preset for the kit. Clicking on the Presets drop-down at the top allows us to add another one.

OSCulator - New PresetAs you can see here, I have two presets called Rock Kit – Normal and Rock Kit – Ride. Their set-up is identical except on the Ride preset I have changed the right cymbal to a ride cymbal and the left cymbal to a crash.

Now all that’s left to do is configure the two events to switch presets. I have chosen to use the drum kits plus and minus buttons to toggle between them, but you could use any input.

So like before you find the row for the given input, this time setting the event to Presets followed by the value of the Preset to switch to – like so:

OSCulator - Preset triggers

You will notice in the video below that I attempt to make a rapid switch of presets whilst playing. I manage it just about the first time, but not so hot the second. So I would like to use a pedal or balance board to do this.

To save some time with all these configurations I have already created a working kit for OSCulator which you can downloaded here.

Next steps

In the future I intend to get another pedal as the kit seems to support it and hopefully use this as a hi-hat mechanism or second kick drum. OSCulator also supports the balance board (another pedal??) and the iPhone / iPod Touch.

And finally, what sort of tutorial would this be without a video of me playing my kit like a pro novice ;)


LEGO Flip Light

Posted: November 13th, 2009 | Author: andy | Filed under: Hardware | Tags: , , , , | 6 Comments »

I thought I’d share one of my little lego creations today. I wanted a simple night light to use in the bedroom, especially for when the baby wakes for a feed and being a Lego junky I had to do it with a little style.

My main objective was for an elegant look, that had no buttons or obvious moving parts. What I ended up with was this:

How its made

I wanted a fairly small shell for this light so its a 4×4 column that is 11 bricks high. Working from the top is a 2 brick solid layer. Below that a 4 brick high hollow column of the translucent yellow blocks. This is the really simple part of the design.

The next 1 brick layer is solid again, but making sure a 2×4 brick runs through the middle. In the centre of this brick make a hole big enough to fit the terminals of the LED through. The great thing is the bell-bottom of the LED is tight enough to fit snug within the four surrounding brick dimples – holding it tight.

Lego Flip Light - LED exposed

On the underside place the tilt switch head inside the brick. The ones I used again fit nice and snug without any glue. Now, join a terminal from the led and tilt switch. I used a little bit of solder, then covered with insulating tape like so:

Lego Flip Light - Tilt switch

You now have two terminals left, that simple require a battery. I’ve used a CR2032 for space restrictions, fitting between the terminals with more insulation tape, ending up with this beast:

Lego Flip Light - Battery in place

That’s all the electrical parts complete with the final 4 brick layer constructed as a hollow sleeve to fit over the battery and switch, with the very bottom row being a solid layer:

Lego Flip Light - Base

There you have it a Lego Flip Light.

Parts used


Xbox Wireless Headset Hack

Posted: October 12th, 2009 | Author: andy | Filed under: Gaming, Hardware | Tags: , , , | 3 Comments »

I love nothing more than a good on-line game on the Xbox, but I’ve always found the available headsets inadequate in one way or another.

Lets start with the wired one, issued with the system. The overhead fitting is great and comfortable, but wired?? I don’t think so. So as with many of you I purchased the official wireless headset. Good charge, decent mic, but damn the over ear rubber torture ring was a killer. I’ll admit my ears are fairly big and after 30 mins or so the pain was unbearable.

My solution – fuse the two together and this is what I came up with:

Xbox 360 wireless overhead headset

What do you need:

  • Xbox Wireless Headset
  • Xbox Wired Headset (you probably got one with your xbox)
  • Sharp utility knife
  • Strong glue (I used loctite)

I started by removing the rubber ear hook from the wireless headset. They just pull off easily enough, exposing two little nubs that the rubber latches on to. These are held on by tiny little security screws. I managed to undo them with the smallest flat head I had, although I wrecked the head once I’d finished.

Now we take the knife to the wired headset and cut off the speaker and mic part. This can be roughly cut to start with, finishing with as level a cut you can make at the red line shown in this image:

xbox-360-cut-postion

This gives you a nice flat surface that can then be easily glued to the top side of the wireless headset as seen in the main picture. You may end up with a slight overlap which can be trimmed off once the glue has dried.

That’s it. A nice, comfortable, wireless headset for your Xbox 360. Enjoy!


Make accounting work for you, not against you

Posted: October 7th, 2009 | Author: andy | Filed under: Business, Productivity | Tags: , , | 3 Comments »

Inspired by this post from John O’Nolan (@johnonolan) I wanted to have my say on how I think FreeAgent has revolutionised the one-man/small business accounting world. Bare in mind this is just my experience with in the UK.

In my opinion accounting still seems to be locked in the 50’s. Having only started my own company Tizma Ltd back in December of 2007 I’ve already seen my share of lunacy and mysticism.

This post is not focusing on the issues, but rather the positives and this is where FreeAgent came in for me. As I’m sure with most of their users I was recommended it by a freelancing colleague.

Well, I think it took me just a few hours that evening to decide I had to have it. So, I signed up there and then, only needing a few details from my accountants and the odd upload of previous transactions to put me bang up to date. They even give kick-backs for recommending users. The more you recommend the cheaper your subscription is…. Genius!

Accounting has gone from a dreadful chore to a simple task and as my confidence over the various aspects grows the more I’m taking back from my accountants. Its liberating.

The icing on the cake

Now, the best for last. FreeAgent also has a full blown API, I couldn’t believe it when I saw it. Admittedly they are a ruby shop and me being a .NET dude it took a little bit of twiddling the bits until I figured it out, but wow is it powerful.

As a one man business selling software direct over the web I strived for automation in the sales/fullfillment process. Since the launch of our first product CSV Easy I’ve had PayPal fully integrated using their IPN system. This allows immediate authorisation and license key generation to take place, arriving in the form of a nice “thank you” email to the customer in minutes. No involvement from me.

The missing piece has always been my accounts. So with the FreeAgent API I’ve created an extension to my fullfillment process that now adds the new contact and invoice automatically. Next time I login to FreeAgent there it is. Awesome!

Conclusion

If you’re a freelancer or a small business FreeAgent is a perfect fit. Thanks guys for an excellent application and service.


It lives!

Posted: October 4th, 2009 | Author: andy | Filed under: Gaming, Qoobz | Tags: , | 3 Comments »

Wow, has it really been over four months since the last post. Well, life just loves to get in the way. Working hard on my business Tizma and preparing for fatherhood takes a lot of my time.

Anyhow, in the last week or so I’ve finally got stuck back into this project and hope to be more dedicated and regular with it. I’ve progressed far enough along now to start showing the game in action. So enjoy this early game-play video:

So, what’s going on? Tiles are randomly arriving from all edges of the screen. They will slide past each other and collide, stopping were they oppose one another.

You control the spinning target, this video shows the red one which is attached to player one. The left thumb-stick moves the target about and the right-thumb stick places directors.

Directors influence the direction a tile is moving. Pushing the relevant direction on the right thumb-stick places an arrow as seen in the demo. As the tile passes over the director is shifts to that direction. Eventually there will also be a stopper to make a tile completely stop.

This simple mechanic allows a hole host of tricks and techniques to build, bunch and move tiles around. The idea will be to break open areas of the screen to release trapped creatures by building  up multiple tiles of the same type.

The intention is to allow four player co-op play. You can see another green target present, hooked up to player two.

Still experimental at this stage and I will endevour to be more prolific with these updates / diaries.

Comments are always welcome, and keep an eye on twitter for little tit-bits.


Early days

Posted: May 21st, 2009 | Author: andy | Filed under: Gaming, Qoobz | Tags: , | No Comments »

As you can see from the last shot P9 started life as a well known collect three or more type puzzle, with an interesting control mechanism. The pieces you play and interact with are coming in from all sides of the screen.

This shot shows a small progression from this. Slight experimentation with style and the introduction of characters.

early-sketch

The thinking is that there will be a set of characters representing possibly a family – Mum, Dad, Kids, Dog etc… This lead me to think that you had to rescue them by cracking open the surrounding blocks.

Score mechanic?

If you can make disparate characters merge together before rescuing them then multipliers abound. Food for thought.


Birth of a game

Posted: May 20th, 2009 | Author: andy | Filed under: Gaming, Qoobz | Tags: , | No Comments »

And so finally the next game begins… P9. The entire development of this game is to be chronicled. I urge you to go read the full plan here

So to kick things off, here is the first sketch I created a few months back.

first-idea

You can hopefully see from this the germ of an idea behind the game.

More to follow!