• .
  • .
  • .
  • .
  • .
  • .
  • .
  • .
  • .

Come Home

Posted on by Quick Fingers in Unity | Leave a comment

A NEW IDEA

I’ve been contemplating posting this for over 6 weeks now. It was a project I started on December the 1st and finished on December the 14th of 2011. A new type of project for me, and something I believe to be fairly unique in the gaming world. It’s a pretty personal subject matter and the story is right there for everyone to see. No names or anything were used but the people involved are fully aware and have given the all clear for showcasing this online.

Come Home is an interactive true story based on moments in my life. It’s a PC/Mac Standalone game. It’s a fairly weighty download (around 75mb) and has some fairly heavy image effects so a fairly good GPU is recommended. If this isn’t enough to scare you off then go right ahead to the game page here

Boom Bugs Released!

Posted on by Quick Fingers in Boom Bugs, iPad, iPhone, Unity | 1 Comment

Title says it all :) Boom Bugs my physics based destruction game has officially been released on iPhone and Android, and the iPad HD edition is under review as we speak.

After working solo on the project for a little while I collaborated with the guys at Playerthree and between us we finished it from an early alpha to the polished game that it is now!

If you aren’t familiar with the game, please take a look at the trailer below (courtesy of unity3d.com)

All you have to do is head on over to www.playboombugs.com for more information, get it on your smartphones and start killing some spiders!

Designing for iOS

Posted on by Quick Fingers in General, iPad, iPhone | 5 Comments

I’ve been quiet recently, a lot of this is due to me focussing on a couple of key titles for me for iOS. One you already know about and one is totally unannounced. With all this work on little screens I was doing all sorts of UI and HUD design and one of the things that bothered me was previewing the work I was doing in Photoshop on a device at native resolution. (especially with retina display when the native resolutions screen area is tiny compared to most computer monitors displaying the same resolution). I’ve researched some solutions but inevitably came up with my own that suits me best.

There’s an app for that.

Currently there’s a couple of apps out there suited to this. First up is LiveView from Nicolas Zambetti. This is a free screencast type affair that broadcasts a select area of your screen to your device. Setup is super simple, you do need a host app installed on your computer and it is only available for Mac, once installed the device connects over wifi and everything works. You need to specify an area of your screen just for the screencast, this means if you move your photoshop windows about a lot it’ll break the illusion and you might spend time re aligning to the capture area.

The second app i tested is called Review by Kevin Kalle and Pieter Omvlee. This is a more bespoke tool for the task, specifically targeting photoshop users. It is a file sync solution that again requires a host application and again is Mac only. (I use both a mac and pc throughout development so I prefer cross platform solutions)

Once you’ve got both the iOS app and the mac app running syncing them was easy enough and to use it, there’s a system wide shortcut for syncing any images selected in the finder or any active window open in photoshop as a png. Very nice. The only negative thing i found was the process to update an image currently being displayed was slightly convoluted. It requires you to go back to the start of the app, hit the refresh button, wait for the update and the click on the image again to show the updated version. The iOS app of Review is also not free. It’s currently being sold for £1.99.

So one app (LiveView) provides instant updates as you make them via screen casting techniques but requires you to have a reserved area of your monitor specifically for this so didn’t really allow for folks like me who chuck photoshop windows around reckless abandon. On the flip side Review was more suited to me, just a keyboard shortcut and a file is ready to be viewed on the device, however the price and process to view a file I may of only changed a couple of things in meant it wasn’t right for me. The other problem I had with both these apps was having to install another helper app on the mac side was something I’d like to avoid if possible (and ideally, get a cross platform solution) and with liveview, broadcasting a screencast does have an impact on your processor.

My solution (Dropbox / custom website)

Photoshop Action (bound to SHIFT-F1)

So what was the end result? Well I chose to use neither. Instead I utilised what I already had available to me… Namely a Dropbox account and a tiny little web site on my domain. How this works is as follows… I’m messing around with a mockup in photoshop, I hit a keyboard shortcut, an action runs to save a copy to my Dropbox public folder with a specific name (in my case iospreview.png) and I just tap my iPhone screen and the image magically appears.

(One added bonus of using Dropbox is the nice little icon that tells me when the image is done. And if the changes are minor it only uploads the delta so it’s pretty darned fast)

That magical bit is where the interesting part lies, I’m using a free app on my iPhone called Full Screen Browser (this app is also a private browser, whatever that means, but the full screen bit was perfect for my needs. I have a website that just shows that drop boxed image, and nothing else. With some metadata and javascript I’ve made it fit the iPhone screen pixel perfect and make the image a link to refresh the page. Simple! Now I can design on my Mac or my PC, with no extra applications running and update my iOS view with a simple shortcut and a tap of the screen. It also works without the iPhone being on the same network as my computer (Useful if your workplace has network restrictions or no public wireless) and its totally free.

Before and After some HUD Changes. 1 key press & 1 tap to see the update on device.

As an added bonus I included a swipe control on the website that toggles a “screen-door” effect. This basically emulates a non retina screen on a retina display device. So when viewing images on my iphone4. I can see how they would look on an iphone 3gs and lower just by swiping across the image. For information on how this works (and why it is different to just viewing a half resolution image on your retina screen) visit Louie Mantia’s blog here

If you want the source code for the html page to do this click the big blue button

 

Download Source

 

Ludum Dare, Me and The Future

Posted on by Quick Fingers in General | 4 Comments

Last weekend I participated in the 21st Ludum Dare. The ultimate 48 hour game jam. The  competition phase is now underway and voting is taking place. My entry was called AWOL and information and play links are available on the project page.

As far as how I felt it went. It was really smooth, even smoother than the last LD I participated in, finishing earlier, having a better  game at the end and enjoying slightly more  break time than before. I put this partially down to luck and also just down to my initial motivation being more directed to begin with. I will write a Post mortem of AWOL as my next blog and explain some of the tricks and interesting things I did in that.

Current Projects

So as you might be aware if you’ve been following my stuff for a while I have a few projects that are still in development. Some I’ve talked about a fair bit, others not so much. But these are the projects currently in development and their status:

Boom Bugs : My iOS title that was announced months ago. Development of this has been continuing and I have been working on this a lot over the last few weeks. It’s getting close. This is likely to be the next release from me. But I’m afraid I cannot really offer more details on this title any more, I’m sure you can work out what that means ;)

Island Strike : Momentarily halted… Keep reading.

The Core : Hehe yeah yeah… when its done!

Me and Now

So Quick Fingers has been running for just 6 months now although it feels like a lot longer. For those that don’t know, my background is about 6 years as a Flash Developer, as soon as I discovered Unity a couple of years ago I knew that was where I wanted to be. So I spent a little time playing about, but ever since last year I’ve been learning intensively and for the last 6 months (as Quick Fingers) actively developing projects and hopefully becoming a part of the Unity community.  Based on my work over the last 6 months I’ve been offered a full time position doing purely Unity development and I have taken it :) Further more, the company that I now work at is happy for me to continue Quick Fingers work in my own time so for you guys enjoying my games and updates, nothing should really change. I’m letting you guys know because it’s a pretty good moral. I was unhappy making Flash games for a living, I had a lot of love for Unity and I wanted to use it professionally, but without a portfolio or any ‘proof’ of what I could do with it, I took 6 months to really put myself out there and develop like crazy and now I have that job. So there! It’s never a bad thing to shake things up in your career and change tech, and possibly… even your discipline…

The Near Future

Which leads me neatly onto my final point. In the past I’ve always considered myself more a “Developer” than an artist or designer in the gaming world. I’m happiest knee deep in my comfortingly syntax coloured C# scripts, tweaking and hacking away at things I don’t fully understand. Design has always been a part of me and music of course. But as for raw artistic ability… that’s my weak area.

At the moment I’m firmly in the Pink area of this neat little diagram I made. I want to be in the middle. So for the next few weeks, outside of my work at my new Unity job, I will be doing drawing lessons, doing a course on Maya and trying to get into creating some awesome environments and architecture in 3D. So that’s why Island Strike is currently on hold, only temporarily mind you whilst I get this urge to do artisty type things out of my system :) Anyway, wish me luck! And I apologise in advance if I’m distant or neglect the updates while I go on my little journey to environment artist!

iPhone 4 Gyro Control in Unity

Posted on by Quick Fingers in iPhone, Unity | 10 Comments

The Write Up.

This idea spawned from seeing an iPhone app called Cameraman for Maya by Wes Mcdermott (www.the3dninja.com). The basic principle is you can use the gyro inside an iPhone 4 to record motion capture data. Really useful if you want to get an authentic shaky cam effect. I’ve been planning some larger projects in my head and figured something like this would be really useful for getting some animation clips for the camera in cutscenes.

Initially I thought this would be really easy in Unity. It has a remote iPhone app and I can just use that. I had a friendly peer-imposed deadline of 24 hours from Prime_31 so I figured why not :).

Unfortunately gyroscope support has only been added to Unity in the very latest version (3.4) and the remote hasn’t been updated to send Gyroscope data to Unity when using it as a remote. So that was out, (although that would also have limited me to having a usable system only on Mac). So I tried something else.

(If your not interested in the background and just want to get it going on your own projects, goto the bottom of the post to get the download links and how-to)

OSC?

For the uninitiated OSC stands for open sound control and is a messaging format optimized to be super fast over current networks. It’s primary use is in audio, controlling synthesizers and synchronising hardware with software. However due to its light weightness its really good for real time stuff, I did a quick search for iPhone apps that support OSC and found a BEAUTY. This is part 1 of the puzzle to get this thing running.

Control

The app is called control. It’s a single dev’s work by the name of Charlie Roberts (www.charlie-roberts.com/Control/). If it wasn’t for this I wouldn’t have made my 24 hour deadline. It’s basically a customizable interface allowing access to all sensor and touch events and send the raw data with OSC. The great thing about it is the interfaces are in JSON format so writing your own is a piece of cake. Oh yeah, and it’s free! Here’s an example interface for Control:

loadedInterfaceName = "template";
interfaceOrientation = "portrait";
 
pages = [[
{
    "name": "refresh",
    "type": "Button",
    "bounds": [.6, .9, .2, .1],
    "startingValue": 0,
    "isLocal": true,
    "mode": "contact",
    "ontouchstart": "interfaceManager.refreshInterface()",
    "stroke": "#aaa",
    "label": "refrsh",
},
]
];

So I made an interface that sends the gyroscope information 100 times a second and also has 4 triggerable buttons on the screens (used for movement in Unity). Once you’ve got all this sending data, it has to be received by something. So another app was required here. (Sending the gyro at 100hz was absolutely fine as long as my wireless signal was strong. Any sort of interference or low signal caused a few drops here and there)

Osculator

Another wonderful application that I utilised is Osculator (Mac only unfortunately. I didn’t search for a Windows alternative but OSC is an open format so should be plenty of software out there!). It is available as a demo which functions fully apart from a pause every 10 minutes or so for 20 seconds. This application receives all the OSC data you can throw at it then does whatever you want with it. You can see in the screenshots it provides these great live views for any parameters you send it so I get a nice graph showing me exactly whats happening with the gyroscope. On my osculator setup shown in the screenshot you can see I mapped each gyro output (pitch, roll and yaw) to a different joystick axis and then assigned the 4 on screen buttons to joystick buttons. Now just have to hook them up in the Unity editor and half the puzzle is solved.

Osculator Setup

Unity

Once we are in Unity we just set up the 3 axes in the Input Manager and write some script to handle it. The scripting is pretty straight forward. Just adding a little code to convert the axes into the transform data and everything starts moving around as it should. Initially when I did this I had the animation creation as a 2 step process where you would make your data whilst playing, then create the animation file and edit it after the game has ended and your back in editor. Now I’ve streamlined it thanks to Unitys AssetDatabase API I can create the animation asset whilst your playing and store it in your Assets folder. (This will obviously only work in the editor still, it wont work if you export. That was never my intention). Anyway that was the final hurdle so now, we are done :) It took me 20 hours in total to reasearch and complete the prototype.

 

Trying it Yourself!

If you’d like to give this a go yourself… Well, cool. But there’s a few prerequisites.

  • Control Application for iOS (iTunes Link)
  • Osculator for Mac. (Demo)
  • iOS with Gyro (iPhone 4 or iPad 2)
  • Your computer and iOS device on the same network.

Okay I have all that, I still wanna do this!

  • Start Osculator and grab my patch file from here. Load it and leave it running.
  • Start Control on your device: In the app, goto ‘Interfaces‘ click the plus (+). Point it at the URL http://www.quickfingers.net/unitygyro/layout.js (This will download the interface to your phone so it’ll always be there from now on) You should see it in the list as “Unity Controller“. Now goto ‘Destinations‘ and your computer’s IP address should be there, tap it. Then back to ‘Interfaces‘ and tap Unity Controller.
  • Inside Osculator you should see things starting to flash.
  • Now open a new or existing Unity Project
  • Download the GyroRecorder.cs file and attach it to the camera. (Or anything you want to record animation for)
  • Download the InputManager.asset file and overwrite the one in your projects /Library folder. (Be aware this will destroy your Input Managers settings so don’t do this on some pre existing project with complex button mapping setup).
  • Restart Unity.
  • With Control and Osculator running, hit play in Unity and everything should just work!
  • Hit ‘Zero‘ on the device to reset the current gyroscope position as 0,0,0.
  • If your getting weird behaviour and flipping make sure to lock your devices orientation. This uses Core Motion so the accelerometer does come into play. I had weird effects when the orientation was detected. It’s better to just lock it

The rest should be pretty straight forward! Hit the record button to start tracking input. If you stop the engine or press stop it’ll output to a .anim file in the Assets root directory. Okay enjoy!

Kongregate : My Experiences

Posted on by Quick Fingers in General | 4 Comments

For the last 6 months I’ve been pushing my games through Kongregate exclusively and as I recently won the Project Eden contest (with Drop.) I thought now would be a good time to share my experiences.

So… if you’re unaware, Kongregate pays developers with a share of the advertising revenue earned on your games page. The standard cut to you is 25%, the percentage can vary based on a few things, most importantly exclusivity. Your share goes from 25% to 40% if you don’t put your game anywhere else. How they police this, I’m not exactly sure but I’ve done that for any games that I could.

The other ways to earn money are the monthly and weekly contests. For more information on this you can check the Kongregate page on it here.

Figures

Here are the figures for advertising revenue for my games…

I’ve got 6 Unity games on Kongregate and so far my cut of the ad earnings has been around $827 with a total playcount of around 440,000 . That’s with varying revenue cuts. (Not quite sure how they are worked out…) Some games have the full 50% and other (like step seq) are strangely at around 46%.

I’ve had 1 monthly contest win at $1,000 and a weekly contest win at $150 bringing the total up to just shy of $2,000.

As you can see here my Game Jam titles (Stratosfear and The Last of the Nyoms) prove a point that quality really is king on Kongregate and the audience is certainly fussy. I love the community there and the site is VERY active (more on this later) but as you can see, if your game is unfinished/unpolished gamers move on and don’t give it a vote, and to be honest with such a busy site, the only way you can pull your game up from the massive amounts of submitted content is to hope you get a few 4 and 5 star reviews early on, possibly get on the list of game eligible for the weekly and monthly contest and then your on the front page and should see a surge of hits.

Project Eden

So far $2,000 may not seem enough considering the amount of work and time that goes into creating Unity games. I would be inclined to agree that on it’s own, a small amount of ad revenue isn’t going to get your bills paid. Until I won the sponsored contest for Ubisofts Child of Eden game.

The grand prize was $10,000! A much needed boost to my all but drained bank account.

So now my total is a much more respectable $12,000. For half a years work, that puts my annual salary at $24,000 which is quite low for a game developer, but hey, I got to do it all in my underwear.

These sponsored contests are good fun with their themed content, have big prizes, but sadly don’t come around too often. If I dropped everything else I did from Kongregate I think I’d always make time to enter at least one entry to all the sponsored competitions.

The pays not great, but the people. . .

Where Kongregates strength lies is in its visibility, activity and ease of use for a dev. You can potentially throw a game on Kongregate and get 90,000 hits in 48 hours (Step Seq.) without doing any advertising, marketing or well, anything at all. When I think of the Kongregate community the visual image in my head is a herd of religious army ants desperate to eat your game alive, so as soon as you drop one in the pit they all go nuts and either demolish it or worship it almost immediately and swiftly becoming a rabble once more and demanding fresh content.

Pointless analogies aside, they are also an incredibly useful lot, filtering through the comments see’s them coming up with some fantastic ideas for Step-seq and drop. If you implement there suggestions, they love you for it, but effectively they have just play-tested your games for free and provided essential feedback.
Do not underestimate the usefulness of this
.

I think with this level of activity its impossible to ignore Kongregate not for its Ad-revenue (chump change), maybe not even for contests (too luck based), but as a potential driver to some other method of monetising your game it is absolutely great. See the revenue as a bonus and decide if you would put it on the site without it. I bet you still would purely for the visibility, so that’s what its about for me.

Conclusions

So can you make money on Kongregate.. you know, like properly?

I would say, exclusively, no. If it wasn’t for the Project Eden contest I’d actually be homeless. So there’s a lot of risk in putting all your eggs in one basket. I’ve noticed good games that sometimes just go unnoticed or under appreciated. Whilst some weird meta games start getting really high scores so there is an element of luck. (Don’t get me wrong, if your game is seriously great, it’ll get noticed and you’ll get SOME money) But to make enough to make it worthwhile you need to be winning monthly and weekly contests and you just can’t predict what awesome games are going to be released the same month as yours and throw you off the top spot.

It’s a fickle place, it’s a hyper-active community of people not afraid to speak their mind, it’s a proving ground. But if your not utilising the community in some way I think you’d be missing out.

New Web Design!

Posted on by Quick Fingers in General | 2 Comments

I’ve just launched the new site design! Take a look around and see what you think. I really liked the old design but there were a few reasons that forced me to change it.

Most importantly the site is wordpress powered, and the initial design was a very hacky implementation of a wordpress theme, nothing “worked” properly and was a real issue every time I wanted to add a new page or game. With the new design I’ve properly integrated everything, it’s 100% wordpress now with no hax!

Secondly the strong red colouring was causing my eyes (as a color blind person) to go funny after a while. So the new design is a much easier to see (for me) blue and uses more neutral greys so project banners and screenies don’t clash no matter what the game content. I’m still keeping my light on dark text throughout the blog, that’s just a personal preference :)

Finally, I’m putting more emphasis still on the blog content. There is no longer a home splash type page the home page is the blog

Hope you like the new style

Doing it alone

Posted on by Quick Fingers in General | 4 Comments

One of the questions I regularly get e-mails about is my general work ethic. The one man army approach to game development is seen as I guess the holy grail of “indie”. No boss, no rules, only working to self imposed deadlines, ability to work naked. So, the question usually takes the form “How do you do that?”, “Where do you find the time?” or as smart ass Prime_31 (responsible for the best selection of Unity plugins for mobile devices) elequently put it here.

So instead of answering the e-mails individually (which I’ve done to this point) I thought I’d copy/paste out some of the bits I’ve said to others and hope this resonates true to some or helps you out:

Multi disciplinarian

My University studies and first couple of jobs were in graphic design so I learnt a lot from there, but not actually having much skill in real drawing left me wanting to do more technical jobs, so I went into development. Musics always been a hobby of mine since birth, playing the piano from age 4 along with guitar and drums at certain points in life, and I’ve been producing ambient Electronica under the name Freshcut for a few years now.

However! Doing art, music, programming, game design all take time, a lot of time, but I think the point I’m making by seemingly bragging about my talents is that although in every project I don’t necessarily focus my energy on everything equally (For example, in Surrender, I bought the music track royalty free and bought some stock 3d models aswell) the important thing is that I have an understanding in all the disciplines which helps me make educated decisions, i.e. I knew exactly the track I wanted when I was buying it. I have a good idea of the style I want the art to be like if I don’t have the time to make it all myself , I will buy things as long as my designer eye is in when I’m shopping I know I’ll make a decent choice when selecting assets that will ‘fit’.

So if you’re not a great artist, it doesn’t matter, as long as you have an understanding of style and continuity then you can make good choices when sourcing art, same for music, if you have an appreciation for soundtracks and the mood they set you can find a piece of music that will seem like it was made for your game. But it can sometimes take just as long a time to find the piece of music/artwork that you are exactly looking for, and it becomes a bit of a skill in itself in finding stuff that you know you can use or finding something that is close enough that you feel confident you’ll be able to manipulate yourself into what you want. But with practise and always thinking about the immersion factor of your game you will hopefully make decent choices in terms of where to spend your time vs. where to shortcut and purchase assets.

Getting TEH SKILLZ

Play A LOT of games. Even ones you don’t think your going to like but they are getting great reviews, play them objectively, look at what makes these games ace. Just because I’m making a 2d puzzle game doesn’t mean you can’t learn something from the production values of a halo or half life. You might find FIFA has an awesome transition between menu to game or Fallout has some real nice way of illustrating you’ve started a new mission, doesn’t matter that your making “Generic match 3 game : The lost levels” you can still learn a lot from games of all genres.

Little things such as the way the music fades out when someone gives you an important piece of information, or an important visual clue activates only when your actually facing the correct way may seem really obvious and actually totally transparent to someone just playing a game (that’s a good thing) but you need to see these things, learn from them and you’ll be all the better equipped for making good games yourself. I’m not saying if you see a really great idea done by someone else you should just copy it, I’m just saying you need to be aware of what makes games “good” and the only way to do that, is, play more games :)

Limit yourself

Knowing your limitations and working within them can often lead you to being more creative than treating everything with a no holds barred approach. For example my latest release Drop. Features very little in the way of graphics. A pretty rudimentary understanding of graphic design is all that you really need to create the graphics for that game, simple font selection and a few transparency and blur effects is all the skill that was required for the art. But because there is nothing jarringly out of place, it still works as a consistent and (hopefully!) visually appealing piece. It’s very easy to slip up and create something that doesn’t fit if you’re not thinking about it, if some element of the game had an outline on it, or the droplets had realistic shading, it would of looked weird but a pure programmer might not notice whereas a designer would never let such things happen.

So you need training in each discipline just so you know you’re going to make appropriate choices.

But I want to make a fantasy mmo

Yeah, I’m guessing your new to this? Despite what people may say to you, knocking you down and saying you have no idea, no realism, it is my belief that this is okay! Fuck what the nay-sayers say hey! we all have to dream.

When I was 15 I wanted to make a quake mod which would turn this medieval fps into a skateboarding game. How utterly stupid I think now, but that didn’t matter at the time. All I could actually do was make a skate park in a map editor. I was convinced I would make an awesome skateboarding game. (A little while later Tony Hawks Pro Skater was released and I gave up) but, I honestly believe this is a process we all go through, the C.U-N.T. phase (Completely Unrealistic – No Thought). So go for it, get it out of your system!

As I said in the previous paragraph, working within your limits is liberating and often very creative, but firstly you need to learn your limits, so go on! Attempt that MMO, get shot down, ridiculed, whatever… What seperates the men from the boys is that you’ll fail, pick yourself up and go right I didn’t want to make a shitty mmo anyway, I’m gonna make a horror FPS. Rinse and repeat each time lowering your goals, and eventually you’ll finish a game. Then you’re a game developer! Woo well done you. Remember you can’t actually FAIL at this gig, because every project will teach you something, and there is a hell of a lot to learn. So all projects are experience, even the ones that don’t make it, and all experience is neccesary.

I believe this stereotypical process is a staple of any creative industry. I bet all the budding James Camerons out there are dying to make the next Aliens or Avatar. But they’ll get shot down until there expectations are in line with their abilities, and once they line up, they’ll build up from there.

To me it seems that it’s a sign of great motivation to do amazing things. Someone saying I want to create an MMO! (knowing nothing of development) is a much more heart warming message than seeing new people saying “I know I’m rubbish so I’ll make a naughts and crosses game”. Yes its more realistic and they’ll probably finish, but hey where’s the completely outrageous self belief :)

Photo by D’arcy Norman