BatteryTech has been an interesting experiment so far. In case you don't know what it is, it's a software library I developed last year for Battery Powered Games that makes it way easier to write cross-platform games, assuming they are targeted at PC, Mac, Android and iOS. BatteryTech is not free, but instead goes for a one-time purchase with lifetime upgrades. This model is nearly opposite from most of the competing products which opt for a subscription model, getting you in the door cheap and taking that chunk of change from you each year to keep using their product. It's difficult to figure out what the best marketing strategy is for a product like this, so today I set up the $99 experiment, which I'll explain further.
A few weeks ago I began prototyping a new game, tentatively titled "Project 7." It's called that because it's my 7th game, but that's just a working title. This will be a featured BatteryTech game and will utilize Bullet Physics, Lua, OpenGL ES 2.0 and will run on Android and iPhone. The game idea was conceived by Ryan Foss who did the art, level design and much of the overall game design on Deadly Chambers. The idea is to have a game world where you, the player, control a race of characters that are in danger of being swarmed and killed by another, much meaner race. Originally we were going to go for Humans and Zombies but right now the art team is working on a cuter alien race vs some scary indigenous monsters. I love the art concepts they are coming up and will post some of them below. Keep reading for those and then some videos of the prototype running on Windows and Android.
I've always been super interested in point-of-sale systems and e-commerce, particularly the bits around inventory management, shopping carts and really slick sales integration pieces. I've never had a really good functional reason to mess around with any of this, though, outside of when I worked at IBM on an order management system for a client, until I wanted to start selling BatteryTech licenses online. The site, www.batterypoweredgames.com runs Drupal and I had some special needs so with just a little bit of module coding, I was able to piece together a fully automated sales and checkout system that requires a webform to be completed (EULA in my case), handles payment via paypal and provides the customer with access to everything once the payment is completed. This article will outline how I did it.
I was recently asked how to have objects that animate themselves (change frames) in a stable way that isn't dependent on the FPS or lag of the device. There are many ways to do this but I have a simple one which uses the difference between the last tick and the current tick to count down. My example is in Java and is suitable for most games. The first step is to use a main loop which gives the updates that info. The best way to do this is to give every thing that is updating the exact same time information and have them all use that.
Almost anyone can write little scripts to do simple tasks or write little code snippets that print hello world endlessly but to actually develop a really useful application requires a little more time and knowledge. I've put together a step-by-step guide for aspiring programmers to follow that should help fill in the gaps with their new programming venture.
Many people, in their quest for a new vocation, have asked me how I've managed to land a successful software development career without proper academic background or training. While I feel like I've known how to write software my whole life, there are some key steps I took to overcoming obstacles, learning new languages, understanding new concepts and building a portfolio capable of landing you in a new career.