Sometimes a game is responsible for the creation of a new genre. The most often reference example of this is the MOBA genre, one that was spawned out of the DOTA mod for Warcraft III, but there have been numerous other examples before and after it. One often less talked about example is Limbo as it spurred on so many titles in a similar vein that I think they bear classification under the same banner. Feist is one such game, using the same silhouetted aesthetic and platform mechanics to produce a short but eminently sweet title that’s been a long time coming.
You are a small little ball of fuzz in a giant forest, one that’s filled with many other fuzzy creatures. Many of these creatures are much bigger than you and, unfortunately, this has led to you and your mate’s capture. You are left to rot in a cage hanging from a tree, the big fuzzies wandering off into the distance with your mate in tow. They’ve underestimated you however as you quickly manage to escape from your prison and begin your pursuit, hunting the big fuzzies down one by one. It’s not going to be easy though as this forest is riddled with traps and creatures that are out to make a meal of you…or worse.
Drawing the comparison to Limbo is easy because, well, compared side by side you’d be forgiven for thinking they were made by the same developer (or at least, the same artist). The minimalistic visuals, mostly done in silhouettes, with the white pinpoints for eyes piercing through the darkness are a trademark of these kinds of atmospheric platformers. Since platformers live and die by you being able to distinguish what you can and can’t jump on this visual style can be a little frustrating however after a while you get good at figuring out what you will and won’t collide with. This visual style is accompanied by some quite incredible music, something which I’ve really come to appreciate in titles like this.
Feist is a 2D platformer with the main gameplay mechanic being your never ending quest to get from the left of the screen to the right. Whilst there’s only a few minor hints to guide you along at the start the controls will likely be familiar to you, allowing you to run, jump and interact with various objects that are scattered around. Unlike previous titles however Feist relies more on emergent gameplay than scripted events, meaning that it’s quite likely that your solution to the problem isn’t the only one available.Indeed many of the achievements encourage you to engage in behaviour that’s born out of this style of gameplay, something which you don’t usually see in games of this type. Overall whilst it’s not revolutionary in terms of mechanics or style Feist does manage to carve out its own little niche, one that it’s quite comfortable in.
One of the more interesting things Feist does that others don’t is combat. Much of the emergent gameplay comes from you doing battle with the various enemies that you’ll come across and how they interact with each other. Many of the enemies can’t be fought head on instead you have to lure them into traps, use the environment to crush them or, and this is great, use other enemies to fight them for you.This leads to all sorts of interesting behaviours with enemies sometimes running amok amongst each other whilst you just quietly go about your business. Other times it’s a fierce battle between you and a single enemy, testing your rock throwing prowess and stick weilding skills.
As with any physics based game though there are quirks that make themselves known from time to time, usually in the form of your character dying or getting flung off screen because of some strange interaction. Most of the time this comes in the form of getting crushed by something even though you weren’t fully under it, like when you’re next to a boulder and you get crushed even though you weren’t fully under it. For the most part this seems like a design decision, erring more towards the unforgiving side, however it can be frustrating when you get crushed by a log that only one of your little spines seemed to be touching. Apart from that Feist, which uses the Unity engine, runs absolutely brilliantly without nary a hiccup or crash to be seen.
Feist’s story comes without a hint of dialogue, told entirely through small cutscenes that happen between levels. As such there’s really not a whole lot of depth to it, in fact unless you read the achievements you wouldn’t really know what your ultimate goal was. Still since this is a game that is priding itself more on the atmosphere and physics based gameplay it’s hard to fault it for a lack of story development. This is also why its short play time, on the order of 2 hours or so, isn’t so much of a negative either as the story really didn’t need much more time to develop.
Feist may take inspiration from from other games in its genre but it manages to define it’s own space; one that’s filled with emergent gameplay, gorgeous visuals and a superb soundtrack. The combat mechanics and platforming combine together to make for a game that’s challenging enough for gamers like me but approachable enough that a wider audience won’t be turned away. It’s short timeframe and rudimentary story might be a turn off for some but it helps to make Feist a short and succinct experience that doesn’t overstay its welcome. Whilst Feist might not spawn a genre of its own like its predecessors did it does manage to create a great experience none the less.
Feist is available on PC right now for $14.99. Total play time was approximately 2 hours with 30% of the achievements unlocked.
PC ports of mobile games have mostly been of low quality. Whilst many of the games make use of a base engine that’s portable between platforms often those who are doing the porting are the ones who developed the original game and the paradigms they learnt developing for a mobile platform don’t translate across. There are exceptions to this, of course, however it’s been the main reason why I’ve steered clear of many ported titles. The Silent Age however has received wide and varied praise, even after it recently made the transition to the PC and so my interest was piqued. Whilst the game might not be winning any awards in the graphics or game play department it did manage to provide one of the better story experiences I’ve had with games of this nature.
You’re Joe, the lowly janitor of the giant research and development corporation Archon. For the most part your life is pretty mundane except for the wild and wonderful things that your partner in crime, fellow janitor Frank, tells you about. One day however you’re called up to management and, lucky for you, it’s good news! You’re getting promoted, taking over all of Frank’s responsibilities because you’ve shown such dedication to your job (with no pay increase, of course, you understand). When you go down to inspect the place where you’ll be doing your new duties however you notice something strange, a trail of blood leading into one of the restricted areas. Following that trail starts you on a long journey that will eventually end with you saving the world.
The Silent Age comes to us care of the Unity platform however you’d be forgiven for thinking that it was an old school flash game that had been revamped for the mobile and PC platforms. It shares a similar aesthetic to many of the games from the era when Flash reigned supreme with simple colours, soft gradients and very simple animations. On a mobile screen I’m sure it looks plenty good although on my 24″ monitors the simple style does lose a little bit of its lustre. Still it’s not a bad looking game by any stretch of the imagination but you can tell which platform it was designed for primarily.
Mechanically The Silent Age plays just like any other indie adventure game with your usual cavalcade of puzzles that consist of wildly clicking on everything and trying every item in your inventory to see if something works. The puzzles are really just short breaks between the longer dialogue sections which, interestingly enough, are all fully voiced. There’s a small extra dimension added by the time travel device, allowing you to travel to the past or future at will, but it’s nothing like the mind bending time manipulation made famous by some other indie titles. Other than that there’s really not much more to The Silent Age something which I ended up appreciating as it meant there wasn’t a bunch of other mechanics thrown in needlessly. It’s pretty much the most basic form of an adventure game I’ve played in a while and that simplicity was incredibly refreshing.
The puzzles are pretty logical with all of them having pretty obvious solutions. There’s no real difficulty curve to speak of as pretty much all of them felt about on par with each other, although there were a few puzzles that managed to stump me completely. Usually this was a result of me missing something or not recognizing a particular visual clue (a good example being the pile of wood in the tunnel under the hospital, it just looked like background to me) so that’s not something I’d fault the developer for. Some of the puzzles were a little ludicrous, requiring a little knowledge about how some things could potentially interact, but at least most of them wouldn’t take more than ten minutes or so of blind clicking to get past. Overall it wasn’t exactly a challenging experience which I felt was by design.
The PC port was a smooth one as pretty much everything in the game worked as expected. The 2D nature helps a lot in this regard as there’s a pretty good translation between tapping on the screen and using a mouse cursor but I’ve seen lesser developers even manage to ruin that. There was one particular problem which caught me out several times however which was that my mouse, if it strayed outside the bounds of the main window, would not be captured. So every so often I’d end up clicking on my web browser or whatever else I had open on my second monitor at the time, closing the game down. A minor complaint, to be sure, but one that’s easily fixed.
The story of The Silent Age is one of the better examples I’ve come across recently, especially for a mobile title. Whilst it’s not exactly the most gripping or emotionally charged story I’ve played of late it does a good job of setting everything up and staying true to itself internally. Of course whenever you introduce time travel into a story things start to get a little weird depending on what model of causality and paradox resolution you ascribe to and The Silent Age is no exception to this. However they manage to stay true to the rules they set up which is more than most high budget films are capable of. Overall I’d say it was satisfying even if it wasn’t the most engaging story.
The Silent Age is a succinct story told through the medium of video games, one that manages to avoid many of the pitfalls that have befallen its fellow mobile to PC port brethren. The art style is simple and clean, reminiscent of Flash games of ages gone by. The puzzle mechanics are straightforward, ensuring that no one will be stuck for hours trying every single item in their inventory to progress to the next level. The story, whilst above average for its peers, lacks a few key elements that would elevate it to a gripping, must-play tale. Overall The Silent Age was a solid experience, even if it wasn’t ground breaking.
The Silent Age is available on PC, Android and iOS right now for $9.99, $6.50 and $6.50 respectively. Game was played on the PC with approximately 2 hours of total play time and 71% of the achievements unlocked.
You might not guess it from the usual content that I put up on this blog but I’m something of a gearhead, owing to my rural roots where I was set free with all sorts of cars and motorbikes to terrorize my ample backyard. This also meant that any damage or broken parts were my responsibility so I developed something of an affinity and appreciation for the world’s most popular form of transport. Whilst this didn’t translate into a love for racing games (although I did lose a lot of time to the original Grand Turismo when it came out) I do fondly remember playing Street Rod, a game that allowed you to do up cars and race for pink slips. Car Mechanic Simulator 2015 looked to capture some of the essence of what made that game great and whilst it’s not the exact same thing it does live up to its namesake.
You’re a budding car mechanic who’s just set up shop, having all the tools you’d come to expect from a modern car servicing center. People call you up with their car troubles and then leave their vehicles in your care. It’s then up to you to diagnose the issue, find the faulty parts and then repair them to the customer’s satisfaction. The money and experience you get from each job helps you to improve your workshop and, in turn, allow you to start working on your own cars. If you’d ever wondered what working on car would be like Car Mechanic Simulator 2015 is a pretty good simulacrum for it, minus all the downsides of getting covered in oil or cutting yourself on old car parts.
Car Mechanic Simulator 2015 does a pretty good job of prettying up the Unity engine, giving the usual 100 coats of wax to the car models that is typical of most modern car-related games. The main area you’ll be working in is a bright workshop that’s honestly far too clean to have been used as a garage for any length of time but it emulates that kind of sims-esque feeling that many of these simulator games seem to strive for. There’s a surprising amount of detail put into what’s under the hood as well with most of the cars having almost fully fleshed out engines, exhausts and suspension systems, many of them being unique to that particular car. It might not be Crysis levels of graphics but it’s more than enough to get the job done, so to speak.
In terms of core gameplay Car Mechanic Simulator 2015 plays pretty much how you’d expect it to: you get jobs to fix cars and then you do said jobs and get paid upon completion. Taking a car apart can require you to do several different things like putting it up on the lifts to get to the underside of the car or removing certain parts before you can get to others. Everything works on a condition system whereby parts deteriorate as their condition worsens which is how you’re able to pick them out. Later on you’ll have to diagnose which parts need repairing by using various tools in your shop or by driving the car around a test track. Doing jobs earns you experience as well which gives you an upgrade point every 1000 XP to spend on things in your workshop. After a while you’ll unlock new modes so you can work on your own cars and even sell them at auction.
As a simulator for car repair Car Mechanic Simulator 2015 does pretty much what it says on the box, giving you the experience of what it’s like to repair cars day in and day out. Whilst I’d say it’s somewhat welcoming to beginners, given the fact it does things like highlight parts you need to remove and provides full part lists for the early jobs, you’ll definitely benefit from having a modicum of understanding of what various parts of the car do and where they’re typically located. This can lead you astray sometimes as I spent a rather long time looking for the fuel filter in the fuel tank (it’s in the front for most cars in this game) however I don’t even someone trying to figure out where the crankshaft is if they’ve never worked on an engine before.
Probably the biggest flaw with Car Mechanic Simulator 2015 is the levelling system which, to be frank, takes far too to get anywhere. You see no matter how big or small the job is you’ll always get the same amount of XP, requiring you to do about 10 jobs per level. Sure you also get 1 XP for every part removed and mounted but that accounts for maybe 10% of your total XP meaning you’ll still need to do about 10 jobs per level. Considering that the thing that really attracted me to this game unlocks at 9000 XP this means I’d need to play for about 9 hours before I got to the point where I wanted to be and, honestly, with the lack of variety in jobs early on I just couldn’t stomach that much grind to get to the point I wanted to get to. It’s a shame since reading through the forums there does seem to be a lot of variety there it just takes far too long, in my opinion, for that variety to be available to you.
I probably went into this thinking it’d be a lot more like Street Rod than it actually would be as whilst you can drive your cars around a test track it’s extremely limited, both in terms of where you can go and how the different cars feel in relation to each other. Indeed when I’ve said this to friends the general reaction is “what did you expect” as the name is pretty much spot on for the experience you’ll be getting. For some this will be enough however for me I felt like the payoff was just too far away and I just couldn’t sustain my interest long enough through the grind.
Car Mechanic Simulator 2015 does exactly what it says on the box, giving you the experience of being a car mechanic. As a simulator it’s exceptionally well done, capturing many of the aspects of car repair whilst not being as unforgiving as its real world counterpart is. However some of the more interesting parts of the game are hidden behind the levelling system which is too basic and takes far too long to get anywhere meaningful making it very easy to put the game down and forget about it. I enjoyed my time with Car Mechanic Simulator 2015 however if you don’t have an interest in cars or simulator type games then you probably wouldn’t find much more to love in it.
Car Mechanic Simulator 2015 is available on PC right now for $19.99. Total play time was approximately 2 hours.
I remember when I was a doe eyed teenager thinking that it would be great to make games (I know better now, of course) if I could only afford the fees to get a good engine. You see back then commercial engines were licensed for inordinate sums of money and the technical hurdle of building your own engine was fraught with danger. Over time though that has changed with old engines being open sourced, new products entering the fray and licensing models shifting to be more palatable to those who might not be able to afford huge upfront costs. Today it seems that free is now the way to go as 3 major platforms have just announced that their engines are free for all who want them, opening up a wealth of possibilities to indies and big development houses alike.
Unity has been the mainstay of many indie games for quite a while now, enabling many to create games that would’ve otherwise been impossible. They’ve also long been sympathetic to the cause, offering free (but often cut down) versions of their engine to anyone who’d ask for them. The difference between the free and paid tier has been eroded completely with both versions containing all the same features and editor. This is a big step for Unity as there was a definite rift between the paid and free versions, something that was abundantly clear to me when I was tinkering around with it. Now the difference between the tiers comes in the form of additional services and can be had for a measly $1500 (which includes a team license) or $75/month if that’s too rich for your blood. Suffice to say that I think Unity is likely to remain the king of indie engines for a long time now as even the pro tier is well within the grasp of aspiring devs.
Not to be outdone by Unity Unreal announced on the same day that their new Unreal 4 engine, which has had some incredibly impressive demos, is now free to any and all comers.The barrier to entry wasn’t particularly high before, they only charged $19 to get access to the engine and all its source, however that’s enough to stop some people from considering it in the first place. Now you’ll be able to get it everything that program gave you for free and you won’t have to pay a dime until you’re able. The limit on revenue isn’t particularly high though, only $3000 per product per quarter, before you have to shell out 5% of gross revenue something which could be a killer for some devs. Still it’s hard to deny what the engine is capable of producing so it might be an easier sell for more established dev houses.
Lastly Valve has swaggered into the picture debuting their new Source 2 engine and announcing that it will also be free to anyone who wants it. It’s been not-so-secretly released as part of the DOTA 2 development tools for the better part of a year now and by all accounts seems like a really capable next-gen engine. Source 2 appears to be the most “free” of the free engines that have debuted in the past couple days with Valve wanting no money up front for the engine nor any backend revenue should you make it big. However there is the caveat that the resulting game be released on Steam which means all sales on there give Valve their 30% cut although you’d incur this same cost regardless of which engine you used if you sold on Steam. Source 2 is then something of a loss-leader for future sales, a clever move by Valve to bring more developers onto their platform (as if there wasn’t enough already).
With this many options available now developers are now spoiled for choice when it comes to selecting an engine for a game, something you really couldn’t say even a few years ago. Whilst I think Unreal will probably be the least likely one to be used out of the current 3 I think there’s going to be some stiff competition between Unity and Source 2 as time goes on. Unity has the head start in this regard as their tools really are top notch for both novice and advanced developers alike but Source 2 has the potential to turn into something amazing based on the community that Valve seems to develop around every one of its products. The real winner in all of this is us, the gaming public, as it means more games will get made and more concepts will be explored.
I can remember 8 years ago when Dreamfall first came out and my collective group of friends all talking about playing it. This was just when my love of cinematic styled games was starting to bloom with titles like Fahrenheit only just having graced the shelves. However I was told with no uncertainty that if I was going to play Dreamfall I had to play its predecessor, The Longest Journey, before I could dive into it. Considering that game is some 40 hours long (or more, depending on how long you got stuck on the rubber duck puzzle) it would be no small investment but suffice to say I’m glad I did. After a wildly successful Kickstarter campaign Red Thread Games is finally continuing the story of Zoe Castillo and her journey to save two worlds from the impending darkness.
Betrayed by a mother she only just found out was still alive Zoe has been trapped in the story time, a place which exists between the twin worlds of Stark and Arcadia. Her body lies motionless in the real world, hooked up to a machine that ensures she stays alive but makes no attempt to bring her back. She has found purpose in this world however, saving those who’ve become trapped in their dreams by the Dream Machines by guiding them back to the light and warning them of their danger. This is not what was intended for her however as the darkness that threatens to engulf both worlds still spreads even in her absence. It is time for Zoe to make a return to the real world and to return to her journey.
Dreamfall Chapters looks decidedly previous gen in terms of graphics as it lacks much of the graphical fidelity of its current gen brethren. Primarily this is a function of its use of Unity and cross-platform ambitions which limit the amount of eye candy you can use. However that being said it’s far from an ugly game, with lovely expansive environments that are just brimming with details. It’s definitely best played with an expansive view (both figuratively and literally) as the bigger picture is so much more than the sum of its constituent parts.
Dreamfall Chapters takes inspiration from the Telltale style of story based games, stripping away all but the essential mechanics and instead placing a heavy focus on the story and player agency. You’ll be following the stories of 2 individuals, the first being Zoe Castillo, the main protagonist from the first Dreamfall game and Kian Alvane, another one of the main characters from the previous title. Dreamfall Chapters retains its adventure game roots, giving you all manner of puzzles to solve in order to progress the story, however it now also includes choices, both major and minor, that will affect the outcome of story. It’s a formula that’s worked well for Telltale for the past and to their credit Red Thread Games have managed to take the essence of it and make it their own.
In terms of game play this first instalment (Dreamfall Chapters is now an episodic game) feels a lot like an extended tutorial coupled with a reintroduction to all the characters, worlds and stories that exist within them. A lot of the mechanics you’ll encounter, like shining a light on things to reveal something that can’t be seen otherwise, are mostly things you’ll only encounter once in the game but are obviously being set up for use again later down the track. You’ll be able to pick up the vast majority of them without too much hassle especially if you’re a long time adventure game player. There are a few puzzles which feel like they’re an homage to the ridiculous puzzles of yore (the pillow on a broom is one example of this) however for the most part you likely won’t find yourself stuck at one point for an inordinate amount of time.
The dialogue choice system is probably Dreamfall Chapter’s stand out feature as it’s leaps and bounds above what’s in most other story-first games. Instead of being given a bunch of options to choose from with just a small blurb to go on you’re instead treated to the inner monologue of the character as if they’re making that decision. This has two benefits, the first being that you’ll always be sure that the decision you make is in line with what you choose. Secondly you can get a feel for how Zoe thinks her decision will pan out which can sometimes change your mind on how you want a particular situation to play out. On the flip side however this does require you to go through the options fully before making a decision as the dialogue that follows is usually brief and provides no further insight that what can be gleaned from listening to their musings prior.
Mechanically the game is pretty much bang on with performance being great and not a crash to be seen throughout my playtime. However the look to select system feels a little wonky, often requiring you to shift your character and camera around multiple times in order to be able to interact with something. This can be rather frustrating when you notice something pop up (a little eye indicates you can interact with something) only to have it disappear the second you stop to try and click on it. It’s not something that will prevent you from progressing within Dreamfall Chapters, but it does feel like it happens more than it should.
Dreamfall Chapters does a good job of setting up the world that the rest of the game will take place in, reintroducing many of the characters from the previous games and filling in their stories of the past year that Zoe’s been out of action. Whilst the majority of the story is exposed to you directly there’s a fair amount of detail crammed into Zoe’s journal which can be a little bit of a chore to read through. Given the time between the previous game and this one though it almost feels like it’d be worthwhile playing through it again as some of the larger story elements rely heavily on the back story that was built back then. Indeed Dreamfall Chapters isn’t designed for those who are just becoming familiar with the franchise as it leans heavily on what came before it.
In terms of the story of this instalment it’s clear that the primary focus was on setting up the initial world that the following chapters will build upon. Considering the wealth of background that’s available in 2 other games they can somewhat get a free pass for not developing the characters much however if you’re looking for the story of Dreamfall Chapters to go places quickly you’ll unfortunately be disappointed. Don’t get me wrong though, there’s a lot to love in here, you’re just not going to be cemented to your seat from the second you click play.
Dreamfall Chapters fills a hole that’s long been in many gamer’s hearts, continuing the story of Zoe Castillo that felt like it was cut abruptly short at the end of the previous game. It might not have next generation graphics or play as smoothly as some other adventurers other there however it makes up for it with one of the best dialogue systems I have seen in recent times. It will be interesting to see how the player choices pan out in the greater story as they’re making a big deal about player agency and I hopeful that they will be able to deliver on it. Dreamfall Chapters really is only for fans of the series but should your interest be piqued I would heartily recommend making the investment to play through its predecessors.
Dreamfall Chapters is available on PC right now for $29.99. Total play time was 3 hours with 86% of the achievements unlocked. The writer was a backer of the Dreamfall Chapters Kickstarter at the $500 level.
I’m no stranger to game development, having dabbled in it when I was at University. It was by far my favourite course as whilst I had a decent amount of programming knowledge translating that into creating something playable seemed like a monumental step that required a whole lot of knowledge I simply did not have. This was long before the time when tools like Unity or GameMaker were considered viable and our lecturer made everything easy for us by providing a simple framework on top of DirectX, allowing us to create simple 2D games without having to learn the notoriously complicated API. Since then I’ve tried my hand at Unity several times over and whilst it seems like a programmer’s dream there’s always one place I come unstuck on: the art.
This isn’t exactly an unknown issue to me, all my university projects used sprites that were pilfered from various free game resource sites and anything extra was little more than primitive 3D objects whipped up in 3D Studio Max. For my current project however I had the bright idea to try and generate some terrain using one of those fancy bits of software that seem to make good looking landscapes without too much hassle. After wandering through a sea of options I found Bryce seemed to be the one to go for and, better yet, it had the ability to export all the mesh so I could import it directly into Unity without too many hassles. For the $20 asking price I figured it’d be worth it to get me going and hey, should I want to go full procedural down the line it’d be a good introduction into the things I’d need to consider.
Oh how naive I was back then…
Whilst Bryce is everything it claims to be (and the tutorials on using it are really quite good) I just couldn’t seem to get it to create the type of scenery I had in my head. This is entirely a user based problem, one that I’ve suffered with for a long time where the interconnects between my brain and the tools I’m using to create just don’t seem to be able to gel well enough to produce the results I’m looking for. Whilst I was able to generate a decent looking mesh and import it into Unity it was nothing like I wanted it to be and, after sinking a couple hours into it, I decided that it was best left to one side lest I uninstall everything in frustration.
Realistically though the problem was one of expectations where the disjoint between my abilities with a program I had never used before and my expectations of what I’d produce were completely out of alignment. After mulling it over for the past couple days I’ve come to realise that I had set the bar way too high for what I wanted to create and indeed creating such things at this stage of development is actually a distraction from the larger goals I’m trying to achieve. I’ve since settled on just making do with a flat plane for now (as that’s all I’ll really need for the foreseeable future) or, should I really want to put something pretty in there, I’ll just lift a 3D model from a game that’s close enough so I’ve got something to work with.
You’d think after churning through project after project I would’ve become adept at recognising when I was pursuing something that was antithetical to making actual progress but it seems even after so many years I still find myself making things far more difficult than they need to be. What I really need to do is focus on the parts where I can make good progress and, should I make enough in those areas, then look towards doing the parts that are outside my area of expertise. Of course the best solution would be to partner with a 3D artist, but I’d rather wait until I’ve got something substantial working before I try and sell someone else on my idea.
That is unless you’re one and you’ve got nothing better to do with your time 😉
Cross platform development is one of those things that I’ve seen done dozens of times before but rarely do I see anyone get it right. I understand the allure of doing so, heck my most creative forms of procrastination came from experimenting with these ideas, but the fact remains that more often than not they’re going to be a total waste of your time. I do have one exception to this rule however and that comes in the form of the cross-platform game engine Unity. Where other libraries promise compatibility and a wide range of functions Unity actually delivers on these with little compromise. Couple that with their ridiculously good pricing model and awesome dev environment and it’s hard to fault the product. Indeed all the shortcomings I found were, as far as I could tell, limitations of my programming expertise.
For games developers Unity offers the chance to have one code base for all platforms with only minor tweaking required once you want to deploy the project to your chosen platform. This is great because initially you can focus on one platform and then once you’ve verified your product there it doesn’t take much to port it to the new platform. It’s no surprise then that you’ll find many Unity based games in both the Apple and Android app stores. Figuring that Unity was going for all round platform domination I thought it was only a matter of time before I saw that the library would support Windows Phone 7, even though it’s still in its nascent stages.
As it turns out however that won’t be happening:
The Unity engine does not support Windows Phone 7 because of restrictions placed on Microsoft’s mobile, the CEO of Unity Technologies has said.
“But we’re looking at Windows Phone 8 and hopefully it will be easier to work on that system,” he said.
In an interview with Develop, to be published soon, Helgason explained Windows Phone 7 “is a relatively closed system so you can’t run native content, which means we can’t really support it”.
The “closed” nature that David Helgason (CEO of Unity) is referring to is the fact that if you want to put a game on the Windows Phone 7 platform you need to have coded it in either Silverlight or Microsoft’s XNA framework. Unity then approached Microsoft to see if they could get an exemption from this rule (as well as access to some private APIs which would be required for their libraries to work) however Microsoft turned them down. This means that Unity and all the games built on top of it are banned from being released on this platform, save for a full rewrite of the code. In response Unity has turned their sites towards Windows 8 which will be a lot more friendly for them thanks to the WinRT framework.
This feels like a pretty big misstep from Microsoft. Windows Phone 7 hasn’t been gaining any momentum and it’s overall smart phone market share (that includes Windows Mobile devices) has been taking quite the battering dropping to a low of 1.6%. Whilst I won’t go as far to say that Unity would be its saving grace it definitely wouldn’t hurt to have that available as an option for games developers looking to develop for the Windows Phone 7 platform. Indeed since Unity supports coding in C# I’d hazard a guess that there would be quite a few who’d be willing to give it a shot just because it would be easy for them to learn. Heck I know I did.
In reality Windows Phone 7 has a lot of other hurdle to overcome before it can be considered a serious competitor in the market but Microsoft can’t afford to throw away any potential advantage it can get. Not working with Unity only serves to damage the Windows Phone 7 platform as it has demonstrated success on every platform it’s available on. Unity developers then may have to wait for Windows 8 and the corresponding Windows Phone release before they can think about coming across onto Microsoft’s platform but I feel that may be too far off, and the damage has already been done.
I can remember sitting in one of my university lectures a long time ago being taught about development philosophies. It was all pretty standard stuff, we were walked through the “traditional” methods of development (basically the once through, waterfall technique) and then brought up to speed on the more modern iterative approaches. However one little soundbite always stuck out in my head and that was when the lecturer asked us who pays for rework when a product doesn’t fit a customer’s expectations? The simple answer was you, the one who developed it and it’s something that always plays over in my head when I’m working on a project, especially those ones I do at home.
I’ve been paying extensively for rework with my latest forays into the world of game development. My regular readers and Twitter followers would’ve noticed that I cheerfully announced my success in cracking the stable orbit problem. Indeed in a round about way I had, basically my Unity scripts would push the planet around until it hit a stable orbit and afterwards would calculate the required velocity before turning off completely, letting the heavenly body orbit in a near perfect circle around its star. This worked for the 2 planets I had in there but unfortunately the equations I had developed didn’t generalize very well and adding in planets at random locations with random weights led to all sorts of wobbly orbits with planets meeting both fiery deaths and cold extinctions at the cruel hand of my orbit stabilizer. I was back to square one and I spent most of the weekend trying to figure out a fix.
Eventually I came back around to the idea that my smart-ass subconscious came up with a while ago. I had tried to implement it before but I gave up in frustration when the results I got were no different than from my far more complicated “find the angle between the sun and body, increment it a bit, find the new position, create a vector to it then apply force in that direction” when in reality the fault lied in the orbit stabilization code. All that pushing and pulling that made the orbit look stable was in fact imparting all sorts of wild forces on the poor little planet, when in fact the best way is just to simply let gravity do the work for you. With this in mind I re-implemented my perpendicular force calculations and then devised a rudimentary equation that combined the mass, radius and a fudge factor that let me hand stabilize the orbit. In the past attempting to do this stuff manually took me an hour or so per planet, with this revised code I was able to do one in minutes and have developed a new equation that is able to accurately send a planet into a stable orbit no matter where I place it in the game.
This solution was far more simple and elegant than what I had been trying to do previously but the cost in terms of rework was tremendously high. I’m lucky in this respect in that the client for this is just myself and my friend at the moment but had this been for someone else with whom I had a contractual relationship with that kind of rework would’ve been extremely costly. Of course I could try to make the client pay for it but ask anyone who’s gone back to a client asking for more money after saying they could do it for a certain price and you’ll usually be laughed out of the office, if not walked out of there by security.
Working around this isn’t easy as clients will usually want to have a strict set of deliverables and time frames which seems to rule out any iterative or agile development methodology. It also pushes a team dangerously towards suffering from analysis paralysis as you agonize over every requirement to make sure it’s covered off in the final product. A healthy amount of analysis is good for any project, especially if it makes the product easy to maintain or modify, but it’s also incredibly easy to fall into a never ending spiral of pointlessness. Thankfully however I’ve noticed that clients are far more receptive to the idea of milestones these days which lines up well with any iterative process, skirting around these problems easily.
Going after the most simple and elegant solution might seem like the best idea at the time but in my experience it’s those kinds of solutions that take the longest to achieve. It’s almost always worth it, especially if all you’re spending is your own time, but when you’re working for someone else they might not be so keen for you to spend inordinate amounts of time chasing your white whale solution. This probably explains why a lot of software contains incomprehensible code riddled with bugs, but that’s a whole ‘nother ball game and a blog post for another day.
So I’ve decided to try my hand at being a game developer after spending way too many hours thinking about it and wanting to do something more exciting than developing yet another web application. This isn’t the first time I’ve tried my hand at developing games either, I did a semester long course in games development back when I was in university. That course still rates as one of the most fun and interesting semesters I ever spent there, especially when your games were put up against the harshest critics I’ve ever met: the lecturer’s two kids. After finishing that course however I never really continued to try and make games until a mate of mine introduced me to Unity.
For a straight up programmer like myself Unity is a bit of an odd beast. The Unity editor reminded me of the brief foray I had with 3D Studio Max back in college, as it sported many of the same features like the split screen viewport and right hand column with all object’s properties in it. It’s very easy to navigate around and it didn’t take me long to whip up a simple littlesolar system simulator, albeit one that lacks any form of gameplay or semblance of realism. Still being able to go from never having used the product before to making something that would’ve taken me weeks in the space of a single weekend was pretty exciting, so I started about working on my game idea.
So of course the first game I want to make is based in space and the demo I’ve linked to before was the first steps to realizing the idea. It was however very unrealistic as the motion of the planet is governed by simply tracing out a circle, with no hint of gravity to influence things. Additionally the relative sizes and distances were completely ludicrous so I first set about making things a little more realistic to satisfy the scientist in me. Doing some rough calculations and devising my own in game scale (1 unit = 1,000KM) I made everything realistic and the result was pretty tragic.
The sun took up the vast majority of the screen until you zoomed out to crazy levels, at which point I couldn’t find where the hell my little planet had gotten off to. After panning around for a bit I saw it hiding about 4 meters above the top of my monitor, indistinguishable from the grey background it sat on. Considering this game will hopefully be played on mobile phones and tablets the thought of having to scroll like a madman constantly didn’t seem like a fantastic idea, and I relegated myself to ditching realism in favor of better gameplay. My artistic friend said we should go for something like “stylized physics”, which seems quite apt for the idea we’re going after.
It might seem obvious but the idea of suspending parts of reality for the sake of game play is what makes so many games we play today fun. The Call of Duty series of games would be no where near as fun if you got shot once in the arm and then proceeded to spend the next hour screaming for a medic, only to not be able to go back into the mission for another couple weeks while your avatar recuperated. The onus is on the developer however to find that right balance of realism and fantasy so that the unrealistic parts flow naturally into the realistic, creating a game experience that’s both fun and doesn’t make the player think that it’s an unrealistic (or unfathomable) mess.
I’m sure my walk down the game developer road will be littered with many obvious-yet-unrealized revelations like these and even my last two weeks with Unity have been a bit of an eye opener for me. Like with any of my endeavors I’ll be posting up our progress for everyone to have a fiddle with over in The Lab and I’ll routinely be pestering everyone for feedback. Since I’m not going at this solo anymore hopefully progress will be a little bit more speedy than with my previous projects and I’ll spend a lot less time talking about it