You can now download Ironfell for Mac or Windows:
There are installers and its just like a real grown up application!
Its built with Adobe Air and Flash, and works just like the browser version you’ve been using until now – except it can go full screen.
Half the people reading this are inhaling in preparation to rant about how much Flash and Adobe Air suck. Well stop it, I’ve used Flash for the last 14 years. I still have a copy of FutureSplash in storage somewhere. I know exactly how much and in what ways Flash sucks.
But I didn’t for one very simple reason. Testing.
I use Litmus for first round testing and I have virtual machines with 5 operating systems 22 browsers plus an iPhone and an Android tablet. To test just the Ironfell website takes 2 or 3 hours – not including time to fix any bugs. Could you imagine the time it would take to test something as complex as Ironfell in 22 browsers? Firefox and Chrome are release new versions every couple of weeks – I would spend the rest of my life testing.
What about Java?
Browser support for Java is too messy. Have you tried to play Minecraft in a browser? argh.
What about haXe or something like it?
Simplicity. I have to admit haXe is tempting and I really should have a play with it. But going from haXe > as3 > swf is one more layer of abstraction than as3 > swf. Each layer of abstraction makes finding bugs and optimizing code that much more difficult.
What about C?
Time. I just can’t afford the time to use a low level language. In the early builds of Ironfell it was quite a different game. I’ve tried and discarded a LOT of code. Rapid prototyping is the trendy phrase to describe how I work and Flash is the perfect tool for trying out ideas – fast.
Well Flash AS3 isn’t real programming!
I kind of agree with that – Flash AS3 is more like scripting. Its lightweight and fast to use.
Why not build for iOS only?
Lots of people use iPads and iPhones, and most importantly those people don’t mind spending money on games for them. I really want to make an proper native iOS version. There’s a few extra features I think will work in a native iOS version – like pinch zooming. Its not going to be worth investing the time to build this version until Ironfell has proven itself and is earning more than its costing to keep the servers running.
So why are you making an Android version?
The Android version was not part of the plan. Someone was using Photon on their iPhone to play the Flash version of Ironfell. It works by playing the Flash file on a remote server, and recording screen captures, and sends them to the iPhone. Its a daft way to play, and they were actually making it work.
About the same time I had access to a Galaxy SIII for a weekend – and on a whim I exported Ironfell as an Adobe Air for Android app. And it worked!
On Android it’s slower, more laggy and probably uses up the devices battery really fast. But being able to tap away on a touchscreen makes up for it. I lost half a day to sailing 3 Carracks around an ocean killing Gawadroit’s soldiers on my Nexus7.
I can’t spend the time it would take to make a native Android versions because Android apps are too easily pirated. By re-using the Flash AS3 code I can quickly make an Adobe Air Android version. And that means I can give it away for free.
How about Adobe Air for iOS?
Adobe Air for iOS does work, but the performance is not of the standard that Apple users expect. For iPhones and iPads I need to make a proper native version.
What I would do if I won the lottery…
I’ld pay someone to build the whole thing in 3D… and make it look like a cross between Civilization 5’s hexagaon landscape… and Planetary Annihilation’s characters. But that sort of thing costs millions and huge teams of people. I’m just one dude with two dogs.
So… Flash gets lets me target all browsers consistently. I can test in one browser and be 99.9% sure it’ll work the same way in all other browsers. And I can use the same Flash code to make Mac, PC and Android apps. So that’s why its made in Flash so far.