Sunday, 7 September 2014

To infinity and beyond!

I got a little distracted about posting this update, but we recently added Update 8 to our Steam Early Access, it's primary additions being voice acting for the androids and the last of our three main game modes - Infinity Drive.

Infinity Drive is our take on an endless mode where you fight waves of enemies until you fall. Sessions easily stretch to half an hour or more so it's pretty great if you just want to play a whole lot of Cactus and set in a new stage capable of rearranging itself.

"Oh great, who spilt the blue everywhere?"

Initially we released it with functional whitebox art, and I intended to leave it that way while I worked on other areas of the game but we had such a good reaction that I thought it was important to dress it up sooner rather than later! Since we had all the gameplay worked out from the whitebox, that meant I could start modelling straight over the top.

step 1 : take an egg slicer to the walls

The level is built out of four pieces - the non moving parts, the middle (which is capable of being raised, lowered or forming an island for turrets to sit on) and two wedge shaped pieces that are duplicated to form the main ring.

The visual motif is that the stage should look like it's built out of these metal hoops, like you're inside a stainless steel chamber. After fleshing out the walls, I started cutting into the space below the chamber - the goal was to add some geometry that'd only be visible when enough of the floor pieces retracted, that'd give the appearance of gears or machinery that could be animated and add visual interest.

step 2 : add ambiguous JRPG style architecture

I was switching between texturing and modelling at this stage, I wanted to keep the checker board pattern, but also give the whole thing a clean brushed metal look. From the other levels with changing configurations, I knew it was important that when a floor piece rises to become a wall, the top of it switches over to match the "border" material - this way the space you can walk on reads clearer - and while Influx used flipping plates, I decided Infinity Drive would use sections that slid up and down.

The sliding kept the rig relatively simple, there were a lot of moving parts but they only had to move on one axis so after setting that up I skin-weighted everything and prepared for animation.

step 3 : Green boxes. Lots of green boxes.

Something I learnt from Influx was having a lot of animated meshes on screen (that don't move) is surprisingly expensive, it's much better to have static meshes of their final states and switch them on to replace the skinned mesh renderer when the animation finishes. An added benefit is the static states can be stripped of any geometry that won't be seen once the animation finishes, which means the stage you're actually fighting across contains a pretty efficient amount of mesh.

With the animation set already defined from the prototype/whitebox, I was able to just go ahead and animate everything as one big set. Note the middle piece has more animations as it also has to handle Island state. I animate everything to the same timing, in game we have a small delay between one block and the next block animating to generate a ripple effect (just like Influx although far less noticeable in Infinity Drive) and keeping timings consistent gives me more control when it comes to adding procedural variance.

I could watch this all day - serious danger to my productivity

I have been exporting things to Unity as I go to test, but this is the point where I clean up the last few things and export everything as FBX, then create prefabs and generally set everything up properly inside of Unity, including creating and setting up materials. Fun minor detail! To maintain the checker board pattern on the main ring I had to make alternate versions of the two wedge shapes with altered UV's.

Once everything's in place, the level looks a bit like this!

it'd take practically an army of robot workers to keep this thing polished!

Certainly an improvement, but not particularly colourful! Which was intentional and brings me to the finishing touch. The plan was always to treat Infinity Drive like a space that adapts dramatically - it springs to life as you enter and is full of vivid colour. A much smaller game we worked on in the past called Antibody changed colours as you advanced through score brackets and it worked really well to convey progression.

To pull off a colour change effect, I used a Unity feature I'd only recently heard about, setting global shader properties. When the stage transitions, I set the colour, vector position (the characters current position) and then animate a 0-1 value over time to control the sweep. Inside the shader I use the vector to calculate the distance, modulate it by sine/cosine as well as the alpha value of the texture to make the edge more interesting, and away we go! Setting global properties was a way of reaching every material using a particular shader at once, without having to keep track of renderers/material instances. I wrote a simple script that assigns colours to each of the level configurations and handles the transitions.

The neat thing about handling this effect inside the shader is the versatility - I'm just changing the colour, but it could easily be blending diffuse textures, or normal maps or specular calculations. Anyway, that's the state of Infinity Drive! It's also a bunch of fun to play!


  1. This comment has been removed by the author.

  2. This comment has been removed by the author.

  3. Awesome Blog. Keep it up I love to read your blog. Now a Day Is it quite simple to resolve the HP Envy Printer Offline through the certified Expert instantly our team is always available 24 x 7 for your Printer. For more detail call our Toll-Free Number:- +1-844-802-7535.

  4. Is There Cash App Customer Service Available For Helping You Out?
    Yes, there is 24 hours help and support desk available for cash App users to sort out their problems. Whenever you need Cash App Customer Service, don’t hesitate to approach them! All your enquiries and problems are appreciated and treated effectively here.
    ●Install and download app.
    ●How to send and receive money?
    ●Sign up and login issues and the lists go on.


  5. Wandering For The Help? Get Cash App Support Service
    Are you trying to search for the real time backing from the right troubleshooting professionals? If you are one of those who are looking for the same, you should quickly avail Cash App Support and share your problems with the experts. Besides, you will get the hand to hand solutions at the home like comfort.

  6. Grabbing Cash App Help Service Is Very Easy Nowadays
    Do you know what would be the right time to grab Cash App Help service? There is nothing to worry about the timing as it is available 24 hours a day at your closest disposal. To quash all your cash app related issues and hurdles from the root, you should quickly opt for the same from thee reliable source.

  7. Amazon Change Password-Get quick and instant help

    While using a seller or buyer account, if you find somewhere stuck then a better suggestion is to go for online help. In case you lost of amazon password, then the most common thing you can do is search for Amazon Change Password in google. If searching there you can’t find a relevant answer, then you can connect with our online customer service platform. Our team has in-depth knowledge and extensive experience will guide you with the effective steps.


  8. Want to know more on Facebook Marketplace dial our number

    Facebook is a social networking site that is not only to engage with each other but one can think of doing business on the Facebook Marketplace . If you are initiating in it and don’t know from where to start or stuck at some point then take our customer service support whenever you want as we are available all round the clock for our priceless customers.

  9. Contact Cash App Phone Number For Swift Aid In No Time

    Aid can be needed for the purpose of downloading, installing, making payment and many more. If you have come across complications while making payments or something else make use of Cash App Phone Number. This will direct you to immensely trained cash app squad who is there to support you further.

  10. Enable Automatic Cash Feature Via Cash App Phone Number

    Do you want to make automatic cash payment? You can acquire expert instruction and guidance for using any features of the cash App via Cash App Phone Number. They will provide step-by-step procedure to acme the most of cash App. Whenever you are in need of quick help; you should also resolve such troubles by approaching the professionals.

  11. Use Yahoo For Business Purposes By Taking Yahoo Help Service
    Yahoo provides a platform to cater to your business needs without having to face different kind of problems pertaining to your Yahoo mail account. A team of professional is here to provide you with the Yahoo Help. Here, you will be able to get the optimum level of ease and comfort when it comes to repairing your Yahoo account.

  12. Quick Fix For Issues At Cash App Phone Number
    Protect your Account data? Looking for help to change your cash app account settings? Want to remove credit/debit card linked to cash app account? Manage different payments.Contact certified cash app executives through Cash App Phone Number and they have come up with the most suitable solutions related to cash app problems.

  13. Can’t Access Your Old Account? Grab Cash App Support
    Login failed through your new Android phone? Is cash App not working properly on your iPad/iPhone? Cash App Support is there to cater your requirements. Interact with them to come out of hitches that are blocking your urgent work. Reliable solution is provided for every glitch in the shortest time. So, why wander anywhere when aid is easily available!

  14. Access Yahoo Phone Number For Fixing Your Password Recovery Solution

    Yahoo users can access Yahoo Phone Number from any corner of the world and at anytime. It will connect you to a team of tech maestros who can easily overcome the whole host of your password related problems from the root. So, you should make use of the troubleshooting assistance at anytime from anywhere.

  15. Guaranteed And 100% Solution To Your Problems At Yahoo Phone Number

    For the purpose of getting the reliable and optimized technical backing directly from world class tech experts, the Yahoo users can make use of Yahoo Phone Number and interact with the professionals. Afterwards, they will provide you with the outstanding solutions to your problems in no time.

  16. Get Yahoo Help From Certified Executives To Fix Reset Password Problems

    To get instant Yahoo Help directly from the world class executives, you can get the proper the right solution regarding the password related problems. Afterwards, you can get the exact technical remedy along with the proper tips to safeguard to your account in a couple of seconds.

  17. With The Help Of Gmail Help Service, Have A Excellent Emailing Experience
    If you are not able to get rid of the problems pertaining to your Gmail account, it is advised to approach us as we are here to help you out with every possible time frame. What you need to do is just connect with us with the aid of Gmail Help number at anytime.

  18. With Gmail Help You Can Reset Your Password Immediately
    Password update is not that complex if you follow the procedure properly unless a technical fault is there. For every technical issue, we are familiar with all the fundamentals. We need expert advice for which you can take Gmail Help. Gmail Help in resetting your password instantly so feel free to make a call on our Gmail customer service.