Apr 272013
 

Textures are heavy. Bloat-y. They weigh down your apps, and consume memory. Sometimes you just want to efficiently animate something procedurally. One useful technique to have in your bag of tricks is that of basic skeletal animation. In this article series, I’ll run you though the basics of 2-d skeletal animation. I’ll be implementing this as part of a variant of the popular ‘run as far as you can’ games on the Android platform using AndEngine/OpenGL as the rendering back-end. Those more interested in reading code can follow along at the 5 Seconds GitHub commit history. At the end of this series, you’ll be able to implement basic skeletal animation in the language of your choice. I’ll be using Android/Java/*OpenGL as the pedagogical example, but the code should port easily to other platforms.

*Note that if you’re following along in code, you’ll see the original game engine was a basic multi-threaded game loop/render loop combo I created for this article series (any 5-seconds games using OpenGL would inherit from these base classes I cooked up).  After a few months of some awesome projects at work taking up my time, I switched it out to andEngine.  That said I’ll still be running through a bit of basic engine design.  If you’re looking to get a feel for basic Android game programming without the OpenGL and much of the multi-threaded bits, I’d recommend reading through the source code of the ‘Pop X Color Balloons’ game contained within the project. As always, you can try the code out at anytime on your own Android device because everything about it is open sourced on GitHub. Eventually I’ll make this game series available on the Play store as a compilation game (think Wario-Ware), Until then, GitHub will be the place to grab the project.

Skip Ahead:
Let’s Talk about “Boundage”
Prequel: Choosing your Draw Ordering, and The Importance of The Separation Between Game Logic and Game Graphics
Ensuring Thread Concurrency and Avoiding Deadlocks
Baby Steps: Step One: Start with an Arm is an Arm is a Leg?
Baby Steps: Step Two: Now Form The Head
Some Thoughts On Procrastination

 

Let’s Talk about “Boundage”

For me, it all starts with an off-the-cuff sketch on paper. This often occurs while I’m doing something else with my family. Why burn your eyes out doing design work at your laptop? A good design can be translated from sketch to mathematics on paper. When you’ve got a good solution mathematically, then you can consider the implementation details. When it’s time for coding, you’ll know it.

page1 page2 page3

Continue reading »

Share
 Posted by at 4:13 pm
Dec 302012
 

Pop Them Balloons! – The first game from the 5-Seconds mini-game and article series compilation has been released on the Google Play store. You can download it (for free) here. This may take up to a full day from this posting to reach your particular Play market, so if you don’t see it on your Play market, be sure to check back later this evening!

Pop Them Balloons! is a casual game where you try to pop a certain number of different colored balloons within a time limit.

balloonstopop easymediumhardscreen youpopped3yellowballoons

Please note, It’s ad-supported, but no in-game ads, only title screen. I feel this is a fair compromise, especially since everything about the game is open source on GitHub and free for you to use however you like.

Share
 Posted by at 3:36 am
Dec 292012
 

While UI is often the last thing a programmer thinks about when starting on a new project, it’s often the very first thing a user knows about your project. Why then don’t we all use the latest and greatest UI patterns? Perhaps many coders find visual design to be out of their domain, or perhaps they feel that the execution of the algorithms contained within their program are of paramount concern to users. Regardless of the reason, disgruntled users have started to leave once trusted programs whose interfaces have not kept up with the times. How then to update your app(or game!) to the newest visual hotness?

In this article I’ll be taking you through the creation of a dynamic game selection screen based on the excellent ViewPagerIndicator library by Jake Wharton. As always, you can follow along in code at the 5 Seconds GitHub repository. When you finish the article, you should be able to easily implement a icon-enabled view pager for your Android app or game.

thisistheendFrontNoAdvert

  1. Open Source FTW
  2. Creating your Activity
  3. UI Layouts and Unobtrusive Advertising
  4. Creating your Generic Fragment with Saving and Loading of State Values
  5. Creating Your Adapter
  6. Putting it all Together – Instantiation
  7. Icing On the Cake – Title Music Loading
  8. Conclusion

Read on for the full article!
Continue reading »

Share
 Posted by at 10:35 pm
Nov 262012
 

This is the second in an article series about Android development, open source software, audio production, and so much more. You can read part 1 here.

Preface – A New Game!
Using the Hardware at Hand
Capture List, Gotta Capt’ em All!
Fun with Audio Capture
Editing your Audio – Audacity
Removing Ambient Noise with Audacity
Recording a Title Theme with Audacity

Preface – A New Game!

When I wrote the first article in this series, I never thought It would take me where it has. I’ve been all over town recording audio samples on my little boom mic, learned quite a bit about basic audio and recording techniques, and received a ton of excellent feedback from friends and strangers alike. My original intention was simply to update all of my previous Android apps to use my new audio library, but the sparks of creativity cannot be contained. I am therefore starting work on a new minigame collection titled ’5 seconds’. It will; of course, be fully open source. Expect cameos from all of my previous game characters and a good dose of fun. You can also expect site updates describing the game development process and how ’5 Seconds’ is evolving. You can checkout the GitHub page for it here.

Continue reading »

Share
 Posted by at 2:04 am
Nov 192012
 

Just a couple of quick updates for my weekend readers.

First, I spent a bit of time on the Dreamcast coffee table, adding a set of chair wheels for mobility, and a hook beneath for holding the controllers, and replacing the plastic leveling shim with a nice metallic U-grip built from an old flat wrench.

Second, I took apart an old 1972 electronic slide rule calculator while scavenging for parts. It originally ran on a chained set of 3 1.5v batteries, so a modern AA is enough to drive the display and chipset. I realized that the mathematical operations and numerical keys were all still available for use after gutting the calculator, you simply must bridge some header pins on the (very readable) circuit board. Thus, ‘Pi Finder’ was born. The goal? To get the display to render the digits of pi by any means necessary, extra points for cleverness! You see, not only can you calculate a good approximation of Pi from division, this ancient electrical marvel has the value of PI encoded deep within the chipset. Can you access the stored value? Can you spell “Google” in calculator language? (379009) Good times.

Share
 Posted by at 1:25 am
Oct 282012
 

After a week or so of using my unfinished Dreamcast coffee table, some of its flaws were beginning to irk me. The 1/8″ acrylic top was too bendy to hold heavy drinks or pitchers, and the clear-top table was too camouflaged for my aging dog to see properly. As such, she wouldn’t notice it was there until she was right up on it; at which point she’d get spooked and run off. I taped paper over the corners in an effort to not terrify my dog on a regular basis. This helped her see the table, but looked rather unfinished. I knew what had to be done. I headed out to my local hardware store to purchase some 1/4″ acrylic sheeting and a can of “Gamecube” purple spray-paint. I have to say, there’s something oddly satisfying about embedding a Sega system in a table painted like a Nintedo system.

While I’ve still got a long way to go in terms of aesthetics (i.e. adding a nice rubberized edge and another thin top-plate with Nintendo or Sega themed graphics), the table is fully functional and completely usable (and doesn’t frighten my dog).

Read on for more details and photos of the construction.
Continue reading »

Share
 Posted by at 11:12 pm
Oct 042012
 

As many of you know, I’m something of a gamer. My (sometimes many-years old now) articles on minor gaming hacks remain popular today, and I still respond to comments and questions from other hackers following along. After years of waiting, the English port of La-Mulana was finally released on WiiWare. I rushed out to purchase it, and realized that I hadn’t turned on my Wii in a long, LONG time. Upon testing, it turns out my Wii’s DVD drive finally died (after 5+ years of duty), and I was beginning to notice how much time it took to cart the Wii around to various rooms of the house. Besides all that it just seemed a waste to leave the Wii motherboard in that ugly white shell, strapped to a broken DVD drive for the remainder of its life.

So I decided to make a hack of it. I transferred all of my Wii Disc games onto a WBFS formatted hard drive, soft-modded my Wii using the SD card slot, and began construction on my ‘Wii in a treasure box’. Read on for all the details and a ton of photos.


Continue reading »

Share
 Posted by at 5:28 pm
Jun 112012
 

If you grew up in the 80s or early nineties, there’s a good chance you remember the AD&D goldbox series from SSI. These were top-down strategic RPG games based on the advanced dungeons and dragons pen and paper RPG series. While the first (Pools of Radiance) was my favorite, there were at least 10 or 11 others to play. Then there’s the Elder Scrolls, Fallout, X-Com, Master of Magic, Wizardry, Bards Tale, Albion, Superhero League of Hoboken, and about 1000 others. These games were great fun back in the day, but with some of the new improvements to DosBox you can actually improve the original experience on your Android handset or tablet.

Here’s a quick guide for playing your classic games with touchscreen and transparent keyboard on your Android.

  1. Install a DosBox port for Android. I highly recommend DosBox Turbo, as they are bleeding edge.
  2. If you’re using DosBox Turbo, also install ‘DosBox Manager’, it adds easy custom DosBox Profile Support
  3. Locate the game you wish to play, and extract it to a directory on your android. I recommend /dosbox/GameName/
  4. Install a good software keyboard for Android. I recommend ‘Hackers Keyboard’, as it comes with a transparent theme you can select
  5. Fire up Dosbox Manager, or manually edit your DosBox.cfg to have an appropriate amount of memory (32mb) and low frameskip
  6. While you’re editing the config, go ahead and enable mouse support, with absolute (perfect for touchscreen!) positioning
  7. Finally, edit the autoexec.bat in the config and add a couple of lines to start your game such as ‘cd dosbox/gamename/’ ‘startgame’

Update – Wizardry 7 by special request:

Share
 Posted by at 4:53 am
Jan 312012
 

I just unearthed all of my homework from my CS courses from my undergraduate degree (1999-2003).  While assembling the retrospective gif for the previous post, I recalled I had a web page on my school’s csserver back as an undergraduate.  Google confirmed this, but more amazingly it was still serving my hand-written redirect page.  My amazement turned to horror as I realized I had served many a redhat ISO internally, and they were probably still lingering on there.  A quick ssh later, and I’m back in the csserver of my youth.  The account was never shut down, and the redhat ISOs were still there.  I made a quick copy of all the rest of the data, deleted the data from the account, and logged out.  I then realized what I had actually unearthed, a perfectly preserved history of each assignment I had ever completed for every CS class I had as an undergrad (dozens).  Not only that, i had written some simple openGL games for the csserver.  Sitting in the top level of a forgotten web directory was a compiled windows executable for a shitty little Tron openGL game you can download here.

Share
 Posted by at 4:13 am
Jan 102012
 

I was just messing around with an old eee PC, seeing what it could do.  First I installed Android 4.0 ICS.  It worked fairly well, though the lack of sound on my particular model meant it wasn’t a keeper.   Still, when I plugged in the Retrode it was immediately recognized and I could play the game boy emulator on the market with the directional pad on my SNES controller.  Fun!

Share
 Posted by at 5:00 am