Friday, November 15, 2013

Game #2 Begins

After a bit of a hibernation from developing after releasing Bouncing Bombs! I've gotten the development bug again. With Unity 3D 4.3 having just been released, I have the perfect opportunity to 'kick its tires' and take it for a test drive with this new adventure.


Tools:
  • Unity 3D 4.3 - Multiplatform support. Easy to use. Fantastic community. And, of course, free.
  • Subversion (version control) - Lesson learned from Bouncing Bombs!: Always use a version control system. In my real line of work, I use such a system every day. But, in my 'fun time' programming last go around, I was simply too lazy to setup such a system. Dang, that was a stupid idea!  That'll be rectified this time
  • Scoreoid (high scores) - I succeeded in using this free service on Bouncing Bombs! As it's completely REST based, it should meet my multiplatform needs just fine. There's no reason not to consider using it again, but...
  • Google Play Game Services - These came out after Bouncing Bombs! was released. They offer leaderboards, cloud saves, etc, etc. I plan on at least looking into this service
  • Paint.NET and Gimp - A guy's gotta create some game art, right? Free and easy to use for a non-artist like me. I'll hopefully make some stuff that doesn't look completely butt-ugly
  • Audacity - You need audio to go with the visuals. Audacity gives me the ability to capture/create/edit those sounds. And, again, it's free
  • More to come...

Game Concept:

Hmmm... good question. The new 2D tool kit in Unity 3D sounds interesting. Perhaps I ought to delve into that. One less dimension to worry about.


Initial Tech Demo:

 2D physics tech demo time! From some previous prototypes from a year or so ago, I knew I ran into some issues pushing 100+ simple physics objects on an Android phone. I'm sure there were multiple reasons for the poor framerates I would occasionally get, but, I was curious to see if the Box2D Physics that now comes packaged with Unity would provide better performance over their 3D physics offering.

In an attempt to keep the API familiar to Unity vets, the Unity folks have built the 2D interface to mimic much of the 3D interface. Instead of Physics components, you have Physics2D components. Most functions and such follow the naming scheme of just tacking on 2D to the end of it. It made my journey into the 2D world much easier to understand.

I quickly coded up an object manager that would simply drop 2D physics squares onto my screen at a quick clip. The goal was to allow the squares to accumulate and interact with each other. I also added some basic touch controls that would let a finger interact with said squares.  The demo was pushed to a few phones for testing (Galaxy S3 and S4, Droid 4, Nexus 7 2012 and 2013). As one might expect, newer hardware produced better results, but, even the Droid 4, the oldest of the bunch, still showed respectable framerates with 80-100 objects interacting on the screen.

So, the tech demo looked kind of promising. Now I just need to come up with an idea...

No comments:

Post a Comment