Blog Articles

Wrapping up the tech

Since a few days back, most of our tech is now up and running. We can now run The Journey Down on most platforms without any manual conversions required as our tools, for the most part, does this for us. The latest addition to our now fairly large pile of tech is the iOS version which we’ve successfully deployed on iPhones and we can now run the game on Windows, Mac, Linux, iPhone and iPad. Android will follow shortly.

On the desktop side, we took a short detour a while back and threw out our OpenGL based renderer on Windows systems and instead wrote a DirectX 9 renderer. It’s irritating that we had to do this since our OpenGL renderer should work on all targeted desktop systems without any platform dependent modifications, but as it turned out, graphics card drivers for OpenGL are way to buggy on way too many computers for us to be able to rely on any basic functionality at all. The problem is most notable on laptops which often bundle an old driver which can’t be upgraded. When BETA testing The Journey Down, we found that there are, even surprisingly new (most notably with graphics hardware from Intel), laptops on which the OpenGL drivers were completely unusable and on which they weren’t possible to upgrade to a usable state. Shame… In any case, DirectX 9 is probably the most widely supported graphics API there is (on Windows at least) and is fairly well documented and easy to use. Porting the rendererer on Windows to DirectX 9 turned out to be surprisingly simple. In general, I’d say that DirectX 9 is an OK api and that DirectX 10 and 11 are excellent api’s, so while I would have preferred to use DirectX 10, locking out Windows XP users just to make the code a little bit more pretty seemed unnecessary. In any case, the new DirectX 9 renderer works like a charm.

Porting to iOS turned out to be surprisingly similar to porting to Mac OS X in general. Being a Linux user myself, I’m usually a bit skeptic to the choices Apple make for their developers and for the life of me, I can’t figure out why anyone would prefer Objective C to C or C++, but I must admit that the iOS development pipeline is pretty darn smooth. The iOS code is surprisingly similar to the Mac code and debugging on the device is both fast and easy to use (connect the device, click on the big button and it runs). Neat!

The Journey Down is really starting to come along nicely on all fronts. We’re very much looking forward to letting you play the game. It won’t be long!

Implementing emotion

This has been a crazy TJD scripting week for our entire team. Nearly all focus has been placed on actually implementing those gigantic piles of assets and features we’ve been working on for so long, and finally getting it all in place feels wonderful. The first chapter is currently fully playable from start to finish, with pretty much all interactions in place. What we’re still missing though is a gigantic layer of scripting polish, as well as a rather huge chunk of our cinematics. This, and a big load of testing is what we likely will be working on the coming weeks.

I personally have had the honor of implementing Lina’s animation, both close-ups and normal views, and am constantly blown away at how much emotion we’ve somehow managed to cram into these wooden characters of ours. Obviously much of the emotion emanating from Lina now comes from her brilliant voice actress, Cassie Ewulu, who really compliments the character flawlessly, but much of it comes from Henrik’s awesome facial animation skills that bring these otherwise petrified wooden masks magically to life. These two efforts combined, create a character with SO much more life than her no-speech counterpart in the original low-res version. Working with these assets and talents is truly a pleasure.

I wish I was this cool.

The original idea of using African masks to portray our characters, comes from a thought I had before even starting the project at all, I was asking myself how come I bonded so successfully with the characters of Grim Fandango. I realized one of the key things they did right in that production (apart from the brilliant voice cast) was to completely tear down the character faces to the extreme bare-bones (pun intended) minimum of the core features that were actually needed to portray emotions. Instead of wasting time on making the characters look “real” or life like, they put all their effort into actual emotion. This decision breathed more life and drama into the game than any fancy facial mo-cap production you might think of, and in my opinion still hasn’t yet been beaten by anyone.

In realizing that this is what made Manny Calavera, the player character in GF so easy to bond with, I pretty much decided to chose a similar path. Combining that with my earlier fascination with African masks, was a very natural thing to do, and now that we are finally implementing it all, I’m happy to see it’s all working out exactly the way I was hoping it would.

Major milestone passed

I can proudly announce that we now finally have all lines of dialog recorded and cut in place for Bwana, our main character in The Journey Down. Voice actor Anthony Sardinha has been working tirelessly the entire Christmas and New year’s holiday in order to get the last batch in place, an effort we can’t be thankful enough for. Bwana currently has roughly 1350 lines of dialog – a staggering amount if you ask me.

Apart from a couple of smaller additional cast lines, the GIGANTIC project of wrapping up the voice work on the first chapter of TJD is finally starting to draw to a close. Jah be praised.

In other news, if you’re curious about some of my thoughts on moving from 2d to 3d, be sure to check out my write-up on this over here.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a justo quam, eu mattis velit. Cras ac dolor ac mi placerat vulputate. Proin bibendum tristique sagittis. Aliquam diam leo, tempus sed aliquet vel, tincidunt vel ligula. Phasellus magna enim, feugiat non condimentum quis, interdum vitae nisi. Vivamus eros nisl, dignissim vel scelerisque nec, laoreet eu mauris.