Site Sections

Showing posts with label Indy Game. Show all posts
Showing posts with label Indy Game. Show all posts

Wednesday, November 3, 2010

Tower Assault! Curse of Zombie Island

Working with Rogue Pirate Ninja Interactive LLC, we have completed our IPhone title, "Tower Assault! Curse of Zombie Island". We are very proud and excited to bring this game to the app store for purchase. You can purchase it here or from your IPhone or IPod Touch device.


Tower Assault! Curse of Zombie Island is a reverse TD style game where you control a horde of zombie pirates against the forces of an Evil Witch Doctor who has stolen your pirate loot and cursed your crew. You control them by firing brains out of a cannon.


The goal of the game was to provide small bite sized levels that varied in the goals and difficulty as the game progressed. We didn't want to make a simple puzzle style game though and have weaved a story of revenge into the over all game play.

I hope that you try Tower Assault! Curse of Zombie Island and enjoy it. I should have more time to start posting again now that the work on this title is complete, so look forward to that as well.

Sunday, March 22, 2009

Baygull Studios is now open

Some friends of mine from the old Husky Games days have moved to Austin and have opened up their own studio for casual games. It is listed now on the IDGA site for Austin based studios and they have released their first title on Facebook. You can check them out HERE.

Sean, Ryan, good luck with your studio. If you make it big, hire me :)

Wednesday, October 17, 2007

Engine work again!

Well, it looks like I have found some time to do some more work on the engine. Last night I started writing a few more managers to handle static textures and models for my next goal of building a level editor. I noticed that the Hazy mind engine loads each texture and model at the time that the the load content function is called. It also loads the same texture multiple times if the developer creates multiple copies of the same object. I think that I can streamline this assuming that I know what textures and models are going to be loaded like a library.

This would make sense in a standard game as I can develop a map file that contains a list of all the assets that are going to be used in a level. These can be loaded into a manager and used like a lookup table when they are required.

When I get this functionality fully working I will post a tutorial here. Check back soon!

Sunday, August 5, 2007

Quaternion

So today I was working on Indy Game and I was trying to get the slerping working (fun flybys - Check out the Hazy Mind site for more info) for the turning of the camera when going through doors. Anyways... Yea, Michigan Tech is not exactly the best school in the world for graphics. See, I didn't hear about Quaternions until just recently (actually until I read the Hazy Mind site myself). I've taken graphics courses and although they were not very good, they were all in OpenGL but not in the sense of learning OpenGL, but to instead learn the basics of rasterization, line/point theory, phong shading, and stuff like that... I mean we didn't even get into any model file formats, or level design or anything of real use when developing game engines.

Enough ranting... The reason I am writing this is because today when I was trying to get the slerping working I kept having this problem with my camera over-rotating. It would rotate to almost the place I wanted it but not quite right. It always seemed like it over shot its target axis that I thought I was defining in my Quaternion that I was passing as a target rotation to the Slerp function in my engine.

Here was my code:


HMCameraManager.ActiveCamera.Slerp(HMCameraManager.ActiveCamera.Rotation *
new Quaternion(0, 1, 0, 1), .45f, SlerpType.Revolve);


The idea here was that I was attempting to have the camera "Slerp" 90 degrees to re-adjust the camera for when a player went through a door. I am hoping that this gives the player a real chance to see that the world they are in is really in fact a 3D world even though they are restricted to a 2D plane of movement (except for the doors of course). Well it seems that I don't really understand Quaternions all that well... the X, Y, Z components are not the directly related to which axis to rotate to. Well, after about 4-5 hours of tinkering and a lot of trial and error, I fixed my problem, it really was quite simple and I hate that it took me so long.

Here was my fix - Don't laugh (ok, you can laugh a little):

HMCameraManager.ActiveCamera.Slerp(HMCameraManager.ActiveCamera.Rotation
* Quaternion.CreateFromAxisAngle(new Vector3(0, -1, 0),
MathHelper.ToRadians(90)), .45f, SlerpType.Revolve);

You can see here that my change involved a little more calculation to create a Quaternion that I know for a fact is a 90 degree rotation. Makes things a little simpler in my mind, even if it does look a little sloppier. If anyone else has a better suggestion, please feel free to let me know.

Saturday, August 4, 2007

Indy Game I

So for the past couple of weeks, I have started development of my first XNA title. Initial development has gone into constructing the basic implementation of an engine. Current features include an OctTree for object culling, Skybox, object rendering, shader support, post shader processing, 2D HUD GUI manager (there will be a tutorial up here later once I get this working %100), and the beginnings of an input manager for both keyboard and 360 controllers.

The concept is being worked out and revolves around the premise of an indy game developer who was sucked into his own game, it is incomplete and he must beat the game to get back out. My idea is to develop the game as a sudo-2D environment using 3D models fixed on a rail.

The largest problem I have had so far involves camera functionality. The basis of the engine spawns from the Hazy Mind engine site (thanks Michael Schuld for the starting point and very useful information) but the code is quickly becoming heavily modified as the hazy mind engine is not really structured well for large scale projects.

Further updates will be added here later as I start generating screen shots, and better engine code for level generation and collision detection. I am really happy with how much XNA does simplify things. I haven't worked with it enough yet to fully understand how it supports other things such as animations imported from Maya but I am hoping to get into that stuff very soon as I will need animations for my characters.

Check back soon for more updates...