Sprites, Animations, the games eyes

Hey everyone,

Chris here. So I was having trouble with the wordpress and logging in the past few days, hence why my post is a bit late… yeah I can do a lot of programming stuff but when it comes to blogging I’m clueless 😛 So I guess I’ll start this post out with who I am. Lets see, I’m Mexican/American, I think all my ancestors were Mexican so I’m not a mix of things. I’m also a professional juggler and have been teaching/performing juggling for the past 9 years of my life. Last summer I started teaching Game design classes professionally to kids 10-18 years of age, and currently have a job teaching at Mission Hill Middle School in SC each Wednesday right after our scrum meetings. I’m teaching the students game maker so its not a lot of work making a class curriculum or anything. I also teach some students juggling on Fridays a few hours after the scrum meeting, but again that’s not difficult as they’re beginners. I am also still working for Kid Natural porting the Android game I finished last quarter over to the Iphone (using marmalade too!). I kind of feel like I’m the guy on the team who is never really there as I am always busy; I would love to have full dedication to the team and be in the labs way more than I can with everyone, but then I’m faced with the reality that I cant really afford college or food if I don’t do other jobs like how I am right now… not getting scholarships or grants sucks, or not coming from a rich family. I just hope the team isn’t taking it as me not wanting or caring about them and the game, because I do care a lot and am really excited about this project and working with them all; I’ve been trying super hard to be as helpful and available to them all with the game.

So anyway enough about me, lets talk about some Microventures progress :D. We got a decent amount of work done this sprint and are off to a great start with our game. This time around I was responsible for doing engine work with rendering, and I was successfully able to get the Sprite, SpriteManager, and Animation classes working correctly for the rest of the team to use. As I am writing the engine component for this, I tried to make these as abstract as possible so both I and team members can possibly refer back to the code in the future and use for other games. As the sprites/animations are a key component for seeing playable visible progress I worked hard to get it done by this sprint, and am happy that they are functional. There are still some things that need to be done such as fixing memory leaks, and customizing the SpriteManager class so we can more easily control loading/unloading of used/unused images during playing…. but thats efficiency stuff and can probably wait till the end of sprint 2 or 3, or even next quarter.

To go more in depth about sprites, what I’ve done for this sprint has been very similar for some previous projects I’ve done before (making the rendering system for kid natural). Marmalade is OpenGL based, thank god, as I’ve used OpenGL ES with my previous project to create the rendering system… actually Marmalade makes it a bit easier to use OpenGL, and claims to have one of the fastest rendering system possible on mobile devices today. I’m trying to stick more to using Marmalade’s Iw2D and IwGX rendering functions as they make the game more portable and accesible, as not all phones (when you get into androids) have an accelerated and dedicated graphics card. So far this has been a success and I’ve only used Marmalade rendering classes. In the process of my development of the rendering system I always run a few tests to allow my sprites and animations to have a number of controllable parameters including: scale, position, alpha, rotation, origin offseting, animation speed, forward/reverse animation, and looping animation. When I run these tests I hook the sprite system up to the input system and run the game, changing each paramater according to the clicked x,y value. Here are some screenshots from tests in case you wanted a visual.

Here are some images of me testing alpha, rotation, scale, position. I used some filler gfx for now, the question mark is utilizing the sprite clsas, while the number box is utilizing the animation class… yeah yeah the pictures are grey and boring, but its a start.

At the end of the sprint during the night code-a-thon Zak and I started working on the camera and rendermanager. We mostly got rendermanager done and camera setup however got too tired to make the camera actually work. I feel like it shouldnt take too long getting camera to work, however we will have to use a cheat method for now, instead of what I have planned using the OpenGL matrix method which is super efficient. For the future sprint coming up I’m super eager to have that work, and then start working on menu system stuff and possibly even metricsmanager stuff to get the game playtest ready. I like working on engine components, and hopefully by the end of this sprint and release will have an good engine for the game to run on that is easy to use.

-Chris aka “DracoTheJuggler” as I’m known as a juggler (and trying to get know as an indie game designer)