Now Playing Tracks

After I finish Loop-til, I want to continue working on the 16-bit style multiplayer shmup-like game I started sometime last fall IIRC.  Other games have been my priority, so Metal Skull started collecting dust.  Since I’ve never seen a game with controls like Smash-TV and lots of manic bullet hell action, I thought I’d put the idea into motion, now that I have the assets and the content to do so!

All sprites are palettized, and the sound effects are formatted to sound authentic, so I hope it will feel like a game from the SNES or DOS days. :D


A crappy GIF I made because the majority of screen recording tools do a rather crappy job of recording footage of my game on MacOSX!  This really sucks; the only suitable screen recording tool for my game is Fraps.  Since my Windows PC is in my office, I don’t get much time to go there and do stuff because of my demanding day career.



Kinect on Your Mac!

Recently, I managed to get around to learning how to use Kinect on something other than an Xbox.  Fortunately, thanks to OpenNI by PrimeSense, I can use Kinect on just about anything.  Of course, you’ll need drivers for it to work.  At the time, I didn’t want to go through the complex driver installation, so I installed the ZigFu browser plugin to save myself some time.

Last night, I set up a basic sandbox program using C++, OpenGL and XCode and managed to get a basic hand tracking framework up and running.  The OpenNI guide is descriptive enough to get the basics going (detecting gestures, locating hands, handling dropped skeleton nodes, etc.), but it doesn’t do all the work for you, of course.

When OpenNI returns the position of your joints/appendages, it gives you “real world” coordinates.  For most purposes, we want “projected” or “screen space” coordinates, so we can get a 2D position on the screen, so we can do collision detection for 2D, and object picking for 3D.  OpenNI came with an API to do that (DepthProjector::ConvertRealWorldToProjective()), but you might have noticed that when you move your hand left, the screen position returned moves right, in the opposite direction!  Easy fix, but you’d assume that OpenNI would handle that for you (just subtract the X value of the 2D position from 640, since that’s Kinect’s native resolution width).

And as I stated earlier, Kinect uses a standard VGA resolution at 30 frames per second, well… the legacy Kinect that is.  I don’t have the newest Kinect yet, but I hear it’s much better.  Anyhoo, since the [legacy] Kinect only supports one resolution, we have to compensate for multiple resolutions.  Another easy fix, simply divide the width or height of your screen by 640 or 480, respectively, and multiply the resulting vector with the vector generated by Kinect before projecting it into 2D space.  Easy, huh?

You might be wondering “Why bother with Kinect? Nobody uses that thing!”  Well, that’s not entirely true.  Kinect is one of the biggest selling devices in history, and it’s great for family oriented titles (which have been known to sell better than the more adult oriented titles), so why not?  I’ve gotten so many inquiries for Loop-til, it just seems like a logical choice to support Kinect for those who actually want it.  Supporting it requires minimal effort (so far), and it’s actually fun to implement such functionality.

If anyone wants, I can post the source to this example, since a tutorial on this appears to be a fairly common search on google.  For now (since my code is ugly), I posted a screen shot below this post as proof of concept.


I Just Got a Nexus 7!

It’s great.  So, do you know what THAT means?  OpenGL ES 3.0!  Woohoo!

Now that I have an OpenGL ES 3.0 compatible device, I can start learning and putting OpenGL ES 3.0 into practice.  Unfortunately, I haven’t been able to find much example code for it, and this was the only site that had as much information as I’d like, besides good old

Can’t wait to see what I can come up with!


People Are Loving Loop-til!

My expectations of people’s reactions to seeing/playing Loop-til for the first time has been exceeded time and time again!  It seems I’ve done something right for a change.  I often get comments on the simplistic, but “white and bright” mono-chrome art style as well as the background music.  Lots more people looking forward to this title when it’s finally finished.

"Hold up, when are you going to release a trailer for this.  Better yet, when are you going to finally release this motherf@#%er?"  

Good questions.  

Answer 1: For starters, there aren’t any good screen recording programs on MacOSX, which is the primary OS I use to develop this game.  So what I’m going to have to do is port this game to Windows (again) and use a good gaming oriented screen capture tool such as Fraps.  The screen shots don’t do this game justice, so this has been on my todo list for quite some time.

Answer 2: Unfortunately, I have to work a full time job in order to keep funding going for this, myself (i.e. rent, food, etc.) and future projects.  Back when I was unemployed earlier this year, I was able to spend 60+ hours a week to this title, hence this game was developed quickly and progress came rapidly.  I was hoping to have this project finished, monetized and released by now, but unfortunately, I have multiple obligations.  But still, I can’t sit around making excuses, because my obligations aside from game dev is minimal compared to most others who may be married with kids (I thank God every day I’ve avoided that for so long).  On top of that, I need to buy some more equipment such as tablets to build/test ports on because the majority of users are anticipating the mobile releases, and my niece is asking me for a Kindle Fire port! =)

But next time I post about Loop-til, I’ll try to have a trailer up and ready for you all.  I did make a test trailer of a REALLY old version, but I’m not releasing that to the public, because it will surely get bad feedback!  Anyway, my day is over at the office, now it’s time for me to run back to my apartment, so I can keep working on this, and hopefully have some more exciting news.


My Android game dev experience (Part 1)

Recently, I’ve been getting an increase in inquiries about creating games for android and/or porting existing games to android. Do I want to target android? Absolutely! What’s stopping me? Lack of hardware.

I never got around to buying a new android tablet, phone, etc. because I’ve gotten too focused on other OSes. What I DO have, however, is an old Droid1 I bought last year because I wanted an android device to work on, but didn’t have any real money to spend. I tried to code a bare bones OpenGL ES 2.0, but it crashed miserably every time. I thought I was screwed at the time.

It came with android 2.1 (not even Froyo!) and I needed something newer. I put it off until now, so yesterday, I looked for updates compatible with Droid1. First I tried the stock version of Froyo. Couldn’t do it because the Microsd card was gone. So I ran over to radioshack and bought a new one, then tried the install. Did it work? No, it didn’t even install. When I noticed the recovery screen was different then the tutorial, I thought what the heck is this? Turns out the device was rooted and had SirPsychoS ready to go!  Knowing this, I started looking for some unofficial updates for Droid1.

Googling and googling, I found nothing but broken links.  Arrgh!  So I hit up my friend Dustin on skype, and he points me in the right direction right away.  So I download the update, throw it on the card, and restart in recovery mode.  Did it work?  Nope, I forgot to rename the zip to “”.  So I restart and rename the .zip, and try again.  Did it install?  Yup, installed rather quickly.  But, did it work?  No.  I got stuck with a bootloop.  Man, bootloops suck.  My little sister’s Nexus 7 has that same problem (and I have yet to find a fix for it).  Next, I start searching for solutions.  The common solution was to use ADB to delete the GPS library.  So I tried using ADB to delete that, and restarted.  Did it work?  Still no!  At this time I’m like “wtf is going on here!”  Next, I try wiping the /data and other root directories.  My initial thought is that I didn’t format /system, but after restarting from doing the former, it worked!  

It took me nearly 4 hours (Maybe more, I forgot), but it works, and OpenGL ES 2.0 works just fine!  Now, there’s only one problem.  When attaching my device to the debugger, it shows up for a brief moment, then disappears!  This is annoying and I haven’t found a solution, but so far, I’m able to get my game on the device before it happens.

"Why not get a new Android device?"  I’d love to, but right now, I’d be choosing between paying my rent (for my apartment and my office space) and having a new device.  I choose my place to stay and my office, thank you very much.  When my first paycheck from my new day job comes along, I’ll go ahead and buy an OpenGL ES 3.0 compatible tablet, like a Nexus 7 or something.

Either way, I’m looking forward to bringing some of my existing and future IP to the Android by popular request!

Shogun. <3

We make Tumblr themes