Saturday, October 23, 2010

ALPACA FIESTA! YIP YIP!~

So tonight I wanted to show the class (or whatever other audience I may have) another project of mine.  This is something I started on back in... I don't know, about January and worked on until about the beginning of March, but had set aside since then (Until tonight, that is).  By itself, it's a mediocre clone of the game Bejeweled Blitz (which you can play for free on Facebook, check it out!), but there's a much deeper purpose, which is...

I'm constructing my own engine for building 2D, sprite-based games!  It's written completely in C++, using SDL and... well... elbow grease.  I'm intentionally reinventing the wheel here, I know, but this project is allowing me to do two key things.  The main one, of course, is to familiarize myself with SDL and low-level game programing.  The other one is to give me an engine that lets me do all the wonky stuff I want to do, like arbitrary sprite animations.

So far, I've got pretty solid code in place for some basic things; screen resizing, loading and displaying static sprites (currently only .bmp, but others are very simple to add at this point), building custom animations from any sequence of sprites... etc.   The main things I'm lacking right now are a controlled mechanism for I/O (which is a simple matter... I just haven't had a need for it yet), and sound support, which should not be much harder, but I've yet to approach.  The last big project I know I've got, and it's what I'm starting on next, is to rewrite my window handler to allow for sub-dividing the window into logical frames, and rewriting my sprite collision detection (Oh, I didn't mention that part, did I?  Oops!) to work efficiently with those changes.

Yeah so, I don't really expect that to make any sense to anyone besides me... I'm too tired to write intelligibly, so instead, here's a gameplay video of Alpaca Fiesta.  All you really need to get out of this is that I made it all myself (including the beautiful artwork), and that most of the code in it will be readily reusable for other games.


(Apparently my screencap software interacts poorly with SDL's method of fullscreening, so the screen size comes out oddly in the video.  Sorry about that.  I assure you that the game fills my entire screen from this end.)

No comments:

Post a Comment