Archive for November, 2011

Phil keeps telling me I need to document what I do. After all, I’ve worked on a ridiculous number of platforms, and with many SDK’s.

So alright, I’m going to record and share my notes here. I’m going to assume you have your own build system figured out, and cover the highlights and key things you need to know and do to get native code up and running on the PlayBook.

BlackBerry packages are BAR files, which are actually JAR files, which are actually ZIP files

Was on sale for just $199 during the weeks surrounding “Black Friday”.

Step 1. Request Signing Keys

This is step 1 because how long it takes is entirely outside your control.

Go to http://developer.blackberry.com/native/signingkey (ALT) and make your request. Typically within a few hours you will get a series of e-mails containing .csj files, so if you’ve previously downloaded the SDK, you’ll be waiting a while before you can test on device. More details here.

IMPORTANT: REMEMBER YOUR PIN AND COMPANY NAME! YOU WILL NEED IT!

For times like these, I like to create a text file containing the signing code, and put it alongside the signing keys. Yes, technically that partially defeats the security purpose of the keys, but keys and signing is usually such-a-pain.

Step 1b. Apply for a Blackberry AppWorld Vendor account

You will eventually get an email asking for a scan of government issued ID such as a drivers license, or business related documents (to prove you are real). If you have these ready, you can respond to the request quickly.

Payments are via Paypal, so you will need a valid Paypal account to be paid.

Step 2. Get the NDK

Notably, the downloader tries to install some Akamai service thingy. I couldn’t get this working, but that’s okay. There’s an option to say “this did not work” in the popup box, and after the popup closes there’s an option to download directly without Akamai. Use it.

Wait Mike, you could have done that in a day using Unity? It would be faster!

So? What’s your point?

I’m a fairly capable (and technical) coder, and something I’ve wanted to do was code the 3D tech for a game. What I have after a month is nowhere near as cool as Unity or UE3, but it is comfortable and capable for me. So yes, I’m working in C++ writing OpenGL rendering code and shaders. Why? Because that’s what I’m comfortable in.

There really isn’t any significance to this above device, aside from the cost, or perhaps its own insignificance. Like what Smiles became, I’m testing my code across a plethora of modern devices as I go along.

I am not particularly targeting this for Moblie. If anything, PC is my primary target. In working on the tech though, I’ve found that by changing the target platform regularly, I find issues with code that I would not have discovered until much later.

Notably absent are iOS devices and a device featuring a Tegra 2, but as you can see the goal here was to cover every serious GPU vendor today. I’m currently only interested in shader capable GPUs that benchmark equal or faster than an iPhone 3GS (PowerVR SGX 535). At the present time, there are no plans to support fixed function rendering (Intel GMA 945, PowerVR MBX, Wii, PSP).

The thought is by having a device on hand featuring every major GPU, I’ll be able to find the most ideal and cross platform friendly way to render things. I would still like to get my hands on an NVidia Tegra based Tablet, a PlayBook, an Xperia Play, and something with a parallax barrier display. But unless I can find one stupid cheap ($100), I wont be buying them any time soon.

Though I have all these devices and am regularly testing against them, I’m not optimizing for mobile yet. Yes, I will eventually do tablet and mobile versions, but I am starting with the PC. The variety of devices are here as a sanity test for my code. If it runs everywhere, unplayable framerates aside, then it works.

That’s cool Mike, I see you’re still a porting nerd.

What are you actually making though?

I’ll tell you when you’re older.

Oh come on!

Alright, here’s a mockup I made back in 2009.

Apparently I've been designing and redesigning this game since before I started Smiles

That but better.

What does the post title mean?

Reinventing? Apparently a few things.

The main one is how I typically work. I was going to sit on this, wait and keep working until it was just right, then do a big push. That sucks. It takes forever and I build no buzz/interest prior to the launch of the game. So fine, lets not repeat Smiles’ mistakes.

The other is that I’m building a story driven game. I have a story I want to tell inside a game world, and I still plan to do this. However, it’s going to take me a while to get that far. According to my latest math, the soonest I’d be able to release was going to be early 2013. Yuck.

So let’s change that.

Now this doesn’t mean I’ll be releasing something tomorrow, but the plan is to make something available publicly far sooner. My goal is still to make this story driven game, but I’m going to make another game too, using much of the same content. In a sense, an expanded testsuite for the game I want to create. Less focus on the continuity, but a definite focus on how it plays, how it looks, and in time entertaining in its own right.

This here is the first step. Hello, yes, I am working on something. And over the next few months, it’ll start becoming something.

About tooNormal

tooNormal is the digital notebook of Mike Kasprzak. Some may call it a blog, but it's more a collection of notes and thoughts, when Twitter just isn't verbose enough.

Mike is a long time veteran game developer, having done time at various game studios plus "the indie thing" for well over a decade. He owns and operates SYKRONICS. He also organizes and runs Ludum Dare with some awesome people.