Page 1 of 1

Project "bitfield"

Posted: Sun Jan 13, 2013 7:24 pm
by EddieRingle
So, OUYA & Kill Screen announced their CREATE Game Jam competition last week. Since I was fortunate to be able to grab a dev kit, I figured I'd use it as an excuse to get back into game development (the past few months have been filled with non-game-related Android contracts, and that tends to get pretty dry after awhile).

Hopefully starting this thread will give me an extra bit of motivation to actually work on this, at least through to the end of the competition. The deadline to get a prototype in is the 23rd, but even if I don't manage to get something working in time, as long as this idea I've got keeps my interest I'll probably continue working on it.


<EDIT> 1/24: Yeah, me get something done in time for a deadline? Didn't happen. Nevertheless, the adventure continues! </EDIT>

The past few days has been spent getting an engine and its dependencies up and running across Linux, OS X, and Windows. Adding NDK support is should be pretty trivial, so I figured I'd do the majority of the development on the desktop. The engine is still pretty empty implementation-wise, only supporting window & context creation and png texture loading as of yesterday. Have to start somewhere, I suppose.

As a result of the engine's lack of in-depth working-ness, there's nothing to show yet gameplay-wise. Instead, here's a little screenie showing I'm competent enough to get a window up along with two sprites I threw together (a character-thing and a grass tile):

Image


More to follow, eventually.

Re: Chronicling my CREATE Game Jam Attempt - "bitfield"

Posted: Wed Jan 16, 2013 2:10 pm
by EddieRingle
Time for a brief update, I guess.

Image

I've got a name for this game, now, calling it "bitfield" for reasons that will hopefully be made clear soon. I even went so far as to register bitfieldgame.com, so I think I'm sticking to the name.

These past few days, the only visual change I can show off is the addition of bitmap font support, but TONS of things changed under-the-hood (e.g., fully programmable pipeline, custom matrix stack, texture atlases, etc.). I think I'm finally ready to actually "make the game" now, and by that I mean all the intricate, fragile OpenGL bits are being handled nicely and nothing too bad should be surprising me in that area for awhile.

Next up, I think I'll add a basic UI widget set (buttons, textfields, etc.) and slap together a nice-looking menu and start working on the in-game screen layout.

Re: Chronicling my CREATE Game Jam Attempt - "bitfield"

Posted: Fri Jan 18, 2013 1:36 pm
by Falco Girgis
Looks awesome, and I'm glad that we're going to be seeing regular updates with this! I think you're the only one on the boards with the devkit too. :D

Re: Chronicling my CREATE Game Jam Attempt - "bitfield"

Posted: Fri Jan 18, 2013 4:59 pm
by GroundUpEngine
Cool project, I have recently messed around with Android development and discovered NDK could be used instead so it would be interesting to see some techniques ;)

Re: Chronicling my CREATE Game Jam Attempt - "bitfield"

Posted: Fri Jan 18, 2013 6:01 pm
by EdBoon
Awesome. Jealous of your devkit, I really wanted one to mess around with. For now I will just see what you can do with it, so keep us updated!

Re: Chronicling my CREATE Game Jam Attempt - "bitfield"

Posted: Sat Jan 19, 2013 7:38 pm
by EddieRingle
Falco Girgis wrote:Looks awesome, and I'm glad that we're going to be seeing regular updates with this! I think you're the only one on the boards with the devkit too. :D
GroundUpEngine wrote:Cool project, I have recently messed around with Android development and discovered NDK could be used instead so it would be interesting to see some techniques ;)
EdBoon wrote:Awesome. Jealous of your devkit, I really wanted one to mess around with. For now I will just see what you can do with it, so keep us updated!
Thanks for all the responses so far, guys!

It does indeed appear that I'm the lone OUYA owner around these parts. Hopefully by the time it launches in March that won't be the case. :)

Quick little update, now. I'm falling behind with where I want to be before the competition deadline. (Especially compared to others in the competition who opted to use Unity; those guys are miles head compared to where I'm at. :() In my last post I talked about adding more UI stuffs, but as you can see below that hasn't panned out (yet). If necessary, I might end up putting my custom engine on hold for the remaining few days and just whip up a prototype game in plain old Java. Then again, I could just continue being stubborn, skip the compo, and start a Kickstarter when this game gets going as an alternative form of funding :D. Either way, this custom engine of mine will get finished.

Anyways, today and part of yesterday was mostly spent on getting the Android build smoothed out as well as laying more of the "gamey" framework bits. Maybe now I'll finally be able to get some actual gameplay going.

As some sort of proof, here's a quick video of it running on the OUYA:



Sugar stash in the background :D

Re: Chronicling my CREATE Game Jam Attempt - "bitfield"

Posted: Sun Jan 20, 2013 11:20 pm
by EddieRingle
I think these update videos might become a regular thing. :D

After failing to get the opus decoder working last night, I added vorbis support to the engine today and eventually also got it working on Android.

Also showcased in this video is the addition of OUYA controller input handling. Unfortunately, it appears that only the left analog stick is exposed to native activities in Android, with the right analog stick trigger events with no values (so basically, they're useless events). (See this thread for another guy having similar issues.)

To make matters worse, it also appears that the left analog stick shares the same "pointer" id as the touchpad. This wouldn't be an issue, except the analog stick's range of values is (0, 1), whereas the touchpad will give you values based on relative screen coordinates (i.e., (0, 1920) for x and (0, 1080) for y). Until this is fixed by the OUYA crew, I think I might just stick to using the D-pad for what I'd otherwise delegate to the analog sticks.

Anyways, here's the video:



Cheers!

Re: Project "bitfield"

Posted: Thu Jan 24, 2013 4:55 pm
by EddieRingle
So, I didn't make the deadline for the CREATE jam. Oh well. :P

Truth is, I got a little too involved on the optimization side of things and went ahead and implemented my own draw batcher and stuff. That took about 3 hours, and then I spent the next 72 hours (I think?) tracking down a huge memory spike and framerate drop. Anyways, that 72 hours ended minutes ago and I finally have this:

Image

That's 3000+ sprites (the worst-case I've decided might crop up on for this particular project) humming along at near 60 FPS. Granted, it's on a 580 GTX and I have no clue what the performance will be like on the OUYA's Tegra just yet (haven't ported the rendering changes over).

You can also see a quick mock-up of the top UI bar I was throwing around. A better shot of which can be seen here:

Image

I quite like it so far, but perhaps eventually I'll use something fancier than a colored square to denote the latter three status items (ooo, perhaps a colored diamond).

I think my next step now, since I don't have the "pressure" of a game jam looming over me, will be to play around with simplex noise and cellular automata for terrain and cave generation. Should be fun. :D