Category Archives: GameDev cross posts

Getting things moving

As I mentioned in a previous post, I’m beginning a new game project that I’m pretty excited about. Me and the artist I always work with have been mulling a new project for some months, and have been waiting for other things in our lives to clear a way for it to begin.

About a month ago we started to put things together. Setting up internal servers and services for tracking and coordinating the project. As well as putting together a slightly larger team. We’ve brought on a programmer that I’ve worked with before, and a new artist/game-designer who we’ve known for a few years. Effectively doubling our bandwidth in both assets and engineering.

After discovering that Unity 3D had changed their pricing model, offering a much cheaper non-pro version for Android and iOS, I began doing some research and have since selected it as the technology to base our project on.

This is exciting, because in all our previous projects, we had been starting from scratch, technology wise. Developing the engine tech and tool chain (if you could even call them that) as we developed the game. For even our simple games, this involved a huge time investment.

Now with our doubled bandwidth, and a proven technology base, we’re all pretty excited about the possibilities.

Lots of stuff is still up in the air, we’re still heavily in discussion about game ideas, and names for our team, and so on. Though some points are beginning to gel. We’re settling on a few “Guiding Principles” that we can use to evaluate each game idea as they come up, but I’ll talk more about those in a later post. Just as a little sneak peak, our game will likely focus on AI driven game-play. Having autonomous actors in the world that the player works with to accomplish game-play objectives.

That’s all for now!

Prototype: Deformable Terrain

We’re in the early planning and prototyping stages for our next project. So I worked up a little prototype of the core tech we will need.
The core mechanic is based around one important assumption: That it’s fun to kick over someone’s sand castle 😛

To this end we need good free-form terrain destruction! So here is my first effort:

This is about 4 hours of work.

The is tech is inspired by two main games. One should be somewhat obvious. The Worms series.

But the other was a lesser known game that I played YEARS ago called Pocket Tanks (or P. Tanks)

It was an artillery game with a few twists, the most interesting of which (in my opinion anyway) was the terrain destruction!

So after playing quite a few rounds of it, and then a few more rounds (for research I swear!) I went ahead and implemented it in C++ using SFML

Next I’m looking to implement this on Android in libGDX. Some discussions with the libGDX team leads me to believe I’ll have to implement the actual pixel pushing using the Android NDK in order to get the unfettered access to the pixel buffer that I need. I’ve never worked with the NDK so this should be a fun learning experience to get my hands dirty with it!

Oceans Unleaded!

[ A bit late on this post, but as the guy in Ghost Busters 2 said when the Titanic arrived in New York… Better late than never. (What? too obscure?) ]

So my friend and I have released our first Android game!

[Android Market Link] Oceans Unleaded
[Android Market Link] Oceans Unleaded Lite

It is small in all respects. We intentionally picked a very simple game so we could focus on refining our process of working together, and the tech and idioms specific to Android, and how the release & advertising process works.

However, while small, we still wanted it to be a quality and polished effort.

And I’m happy to report that I think we succeeded gloriously in all areas 😀

It’s a fast paced “whack-a-mole”-esque game set under the surface of the ocean. There’s a circuitous mess of oil pipes which… low and behold… begin springing leaks! You must rush around and fix the leaks as fast as possible. As the oil content of the water rises, the poor fishes who are swimming around die and float to the surface 🙁 Poor fish.

And no matter what you do, you always lose. (It’s sorta like the helicopter game, you always lose, but you’re trying to beat your previous high score for how long you stayed alive).

There are a few extras thrown into the mix, like a supply plane that drops power ups randomly. And a rescue boat you must find when you run out of bandages for fixing pipes. But like I said, it’s a small game in all respects.

There are a few interesting things (at least I think so) technically that bear mentioning. The game is written entirely in Java, based on a great library called libGDX. GDX abstracts away the platform specific stuff (Think SDL, or SFML) and provides back ends for PC & Android. The great thing is that you can develop right on your computer, run and debug right on your computer (much nicer than debugging over the USB link) which makes iterations MMUUCCHH quicker.

As GDX develops it’s starting to provide a robust set of base classes for game development. Which is even nicer than it sounds because the GDX author is a performance Nazi! (You know… the good kinda Nazi) Always benchmarking and improving. So if you go that route you really will get the best performance possible out of Java. And the heaviest lifting is done in native Android back ends.

For this project, the team was just me (programmer) and my friend Mike (artist/anything creative). We have already started pre-production (doing a much more robust planning stage this time around) and have brought in a long time friend of ours who works in the AAA industry to do art and game design. We’re learning a ton from his experience and adapting some of the process he has seen that work well. (Still keeping the process pretty light weight as this is just a 3 man side project.)

With both of these artists though we officially have WAY more asset bandwidth than technical bandwidth. And our next project is a fair bit more ambitious which worries me. So I’m mulling over the idea of a 2nd programmer. For side projects I’ve found it exceedingly difficult to find competent programmers who have both the desire, and time to devote. Which is to say I’ve never found a programmer with those 3 elements 😛 Also if there is going to be money involved (which we sure hope there will be lol) then it gets more difficult bringing in someone you don’t know. There can be some sticky legal issues down the road.

Well anyway, I’m really rambling now, so go give our game a try if you have an Android phone!

The Call of the Dark Side

So I’ve been working on a little Android game for a while now. Mainly as a first effort, small scope, learn the technology sorta deal. So it’s pretty simple in concept.

Anyway it’s getting to the end of development now, mainly just polishing and tweaking, so I decided to take a crack at making an ad supported version. Generally Ad Mob is meant to integrate with standard Android UI elements, and not just an all encompassing OpenGL ES canvas, so it look a little shoe horning to get it in there, but it’s in now.

I had been loading it up and trying it out, clicking the ads and testing how well my app resumed and such. And then I looked at my Ad Mob account… I had made $0.02!!! That’s real money! I mean not a lot obviously, but man! I was expecting like $0.00000001 or something! I mean after all it had only been me messing around for a few hours testing my app!

Now up until this point I had been taking care to only show ads in non-intrusive places, like on the menus, or only after you died in the game. But man! For a moment I had a flash of “holy cr@p! I could make real money off of this! Lets put ads EVERYWHERE!!!!”

I started rationalizing to myself how I could display ads during the actual game play, and I could use Ad Mob’s feature for interstitial ads ( for those of you that don’t know, an interstitial ad is one that takes up the whole screen and is usually placed in the middle of a flow between screens and must be manually skipped to continue on to the next screen, they are terribly terribly annoying ) to get even more ads in there!

I began tweaking some things and then stopped myself. I know how I feel about ad supported software to begin with. And especially software that’s just crammed with intrusive ads all over the place. Usually doesn’t stay installed on my phone too long.

I want this to be software that I would want to use. I want it to be a quality (if small) game that can still make at least some money. I plan on releasing the ad supported version along with a $1 ad free version. I feel like that’s the best compromise. And one that I would be happy with as a consumer & gamer.

But man… wouldn’t it be awesome to see that # in Ad Mob go way up 😉