For those of you wondering what we’ve been up to as of late, I’ve got a lot of interesting news. We finished up a couple big projects for clients in the beginning of the year, and with that behind us, are dedicating all of our hours to the development of our own ideas.
We’ve been deep in R&D mode for weeks now. But more about that later.
Meanwhile, our long-standing and ever-popular strategy game Conqueror was given a HTML5 (Javascript/CSS/Node.js) port by our friend in Germany (in-game known as “Xuul”), and it’s now live. (Read more about it on the forum or just play it.)
The old Shockwave version of Conqueror that I started developing around 2000 or 2001 and then more-or-less finished in its present state around 2005 (with minor updates until a few years ago) is now officially end-of-lined. The player base for Conqueror multiplayer games has moved over completely to the new version, and we’ll be removing the server for the old game soon. (The single-player version isn’t dependent on the server and can stay up indefinitely, though for those that like to play offline; the new web version of the game is dependent on remote server code for game logic and as of the moment, you still have to log in to the lobby to start a single player game.)
Some notes about tools and such: Conqueror was the last full game I developed in Adobe Director/Shockwave, and although I did use Adobe Flash to create some games (mostly kids’ games for clients), I was anxious to move away from Adobe platforms in general. When the Apple iPhone came out, I knew that’s where I wanted to be, but learning Objective-C and C when you come from a long history of using GUI-rich scripting multimedia/web tools (that “real” programmers scoff at, and not without reason* ) was not easy.
* I’d never had to learn to use a compiler before, much less allocate and deallocate memory explicitly for each and every variable. Where I could just type something like “player = new playerObject();” before, I found myself having to explicitly define the variable 3 times (assuming it’s a synthesized @property) in Xcode, plus allocate the memory. Arggh, what is this, the verbose Elizabethan age? Needless to say it was a steep learning curve and many years later, it’s all second nature to me. And Apple has recently made it much easier with ARC (automatic reference counting) and other additions to Xcode for Objective C.
I couldn’t wait to start making games for the iPhone, but when the iPad came out, Conqueror seemed like a natural fit. I didn’t want to tackle a new version of Conqueror until I felt like I had sharpened my skills in Objective C to the point they are at now. Working on less complex apps (such as Juggleware has now in the store), quite a few iOS apps for clients, as well as some unpublished experiments of my own, I finally arrived at the point where I can make this game properly in Objective C.
But now I am realizing that making the game in Objective C would limit our audience to just the iOS world, and there are several options for delivering this game to multiple platforms including Mac, PC, and Android as well as those with iPhones and iPads. In particular, Unity 3D.
Unity 3D? You ask. But surely Conqueror is a 2D game.
Yes, don’t worry, we are not going to ruin the game by making it all about 3D animations and making you move your armies from a first-person point of view. (Although the Total War series did do an interesting mix of the two.) There are several ways to do 2D games in Unity. In fact, there are quite a few 2D games (mostly side-scrolling platformers, it seems) published on the Unity platform. The only problem is, again, that of learning and R&D:
1) Figuring out which 2D system to use (I could write a whole blog post on just this!),
2) learning C# (which I am told is quite elegant and something like Java, which I have some familiarity with), and
3) learning the Unity IDE in general.
Hmm, that’s quite a lot! And that’s only IF I decide to use Unity. I’ll be doing some tests soon to see if this is the avenue we want to pursue. I’m also considering using Cocos2D, which is an Objective C framework for games, but has variants for other platforms (such as Cocos2D-x) that could presumably aid in porting the game.
We also have several games in various modes of development: there’s a really awesome idea we’ve done most of the design work on already for a social/mobile GPS photo game that we are just waiting for the right folks to work with (anyone know how to pitch an idea?), and we have a retro vector-style space game (think Asteroids mixed with a game like Faster than Light) that I’ve got a basic prototype happening for — but thinking of redoing in Unity or Cocos2D so I can take advantage of faster OpenGL frame rates.
Finally…. a new version of our iOS app Sol: Sun Clock is almost ready as well! We’ve addressed many user suggestions with new features. We hope to be submitting this to the App Store in the next couple of weeks.
So that’s where we’re at these days: the beginning of a new era. It’s kind of thrilling and intimidating. A lot of information to wade through, while trying to keep your head above water. There are so many cool new tools out there though, many of them (like Unity) very affordable for the indie game developer, and some of them are even open source or free.
If you’re a game developer, mobile dev, or just a gamer, let me know what you think! I’d love to hear tips about platforms or war stories from the front, or what platforms you’d like to see the games on. (I will be posting a poll on the Conqueror site soon that will ask our loyal gamers some more specific questions.)