Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Oodles of stuff!

Sign in to follow this  


Let's see, where should I start? Since my last update there's been quite a bit of development going on. I've been continuing with my game launcher, the framework I've been writing for Asylum has been spinning its wheels, and I actually got another game to a playable state!

So let's begin with Alien Abduction!, the game I created back in early May for TOjam. In a nutshell, you're controlling a flying saucer (which just happens to be the observation deck of the CN Tower) and abducting aliens. The game is far from complete, with the currently available version being 0.1 (and 0.2 currently under development).

I've stuck to my usual design: the game itself is a finite state machine, with a stack of game states (currently Intro, Play, and Endgame, but more to come). I have an interface that game states must match, which includes certain SdlDotNet events that the game class subscribes to.

I've also got a set of different entities matching a common IEntity class. This is probably going to get a bit of reworking soon, with one of the entities being removed (and its code placed into the Play state, where it more properly belongs). I want to add a Collision event and rework the current collision handling code to be more efficient.

To be honest, the code right now is absolutely horrible. Hacks upon hacks upon hacks, thanks to a 50 hour timespan and certain deficiencies with SdlDotNet. Such as a lack of sprite rotation, WTF? If I had the source with me right here, I'd paste in what godawful hack I did. There's also many entity leaks, by which I mean entities escape from the clutches of the EntityManager and continue living when they shouldn't.

It's not all bug fixes, though. I'm planning to add mapping to the game. I've been working out a simple map format that shouldn't be too hard to load and draw. If you check out the screenshot here, you'll see that the game uses 3/4 view ("iso") tiles. The idea is that tiles will be stored in rows as such:

Row A: 0 2 4 6 8
1 3 5 7 9
Row B: 0 2 4 6 8
1 3 5 7 9

Drawing them will take two passes per row, first drawing the even-numbered tiles in the row and then the odd-numbered tiles. Each tile draw will also take care of drawing any entities on the tile, so that proper occlusion takes place.

Right now, aliens appear whenever you abduct one, and the defenders appear every time you have captured a multiple of five. Once the map system comes in, aliens will arrive from buildings and defenders from factories. The buildings can be destroyed for power-ups, but that will reduce the number of aliens who can be spawned, thus possibly reducing the player's total score for the level. As for the factories, I haven't decided if they'd be immortal (which would be confusing for players) or to make them destructable at a cost.

My game launcher is working better than before. I still don't have any OnMouseOver type events on the buttons on the main dialog, but the settings dialog does OGRE RenderSystem choosing, FMOD output system choosing, and OIS joystick/gamepad choosing. Not all that much to report, other than that I've integrated it into the Asylum framework already, and expect great things of it.

And then there's that. I've been continuing to work on the framework, but I've not been making much progress, at all. My OIS problem (not getting input to pass to game states) was solved by not asking for exclusive access to the mouse and keyboard (and something else I've forgotten) -- in all, two lines commented out and the thing worked like a charm. Next step is getting the video service in and working, this time seperate from the movie playback state. (Either have the movie playback state a singleton and have annoyances trying to play a certain video if someone's already pushed some into its queue, or not have it a singleton and have loads of memory use -- and leaks. Not this time, damnit.)
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!