Home Search Contact Webmaster News Feed
School Projects  
Plexicon 2335 Lemmings 1322 Pacman Gradescope  

2335 Lemmings

Lemmings Title Screen Single Player Setup Multiplayer Setup Screen
Skyscrapers Level The Stop-Signs Level Drowning Homie

Lemmings is basically a clone of the classic Lemmings game written in Java. The game was written by three of my teammates (Jose, Daniyar, and Andrew), and myself. It was our final project in the Software Practicum class.

As far as gameplay is concerned, this was a pretty straightforward cloning process. We reused all of the lemming abilities, as per the instructions, and added a couple more of our own. About the only notable difference between those two is the looks. We didn't use Lemmings, we used The Homie instead.

Implementation was a whole different story, however. It was a game, and it was written in Java. Enough said already to send shivers down your spine. As a result, a lot of teams struggled with memory management, and performance. The OutOfMemoryException was nothing out of ordinary, and sprites moving on the screen at the rate of one pixel per second was nothing to frown about - everyone had that. Well, almost everyone. We proudly outdid everybody both in the performance and the memory usage department. We did on rare occasions run out of memory, but that only happened when we ran the virtual machine with the default settings. Grabbing 128MB forcefully in the beginning was enough to solve all those problems. Sadly, this was better than most, for one of the most visually impressive competition games ran the virtual machine with the -mx512M flag, that is - grabbing 512MB for their own use - and still ran out of memory on a regular basis.

Performance-wise, too, we did well. In one stress-test, we had hundreds of homies on screen at once, along with various water animations, and other eye-candy sprites, and yet the game was only beginning to show signs of slow-down.

That was all thanks to the fancy resource management system, the optimized rendering engine, and the streamlined physics engine that we developed for the game.

Another notable thing about this project was that this was the first one that we seriously applied Software Engineering techniques to (though admittedly, not by our own will, but by the official requirements). We did a whole lot of planning, and designing, before jumping into the code - something never before seen in any of my projects. :) Fancy UML diagrams and charts abounded. It was cool. But it didn't help us any when it came to meeting the deadlines painlessly. We still spent nights working, and days sleeping. It was not cool. Check out our CVS commit patterns on these statcvs-generated stat pages.

If you would like to check out the game, I am currently not hosting the files, but they can be found on one of my teammate's sites. Jose "The Nub" Caban has it on his site somewhere. Oh yes, don't mind his nickname. There shouldn't be any bestiality around there. At least there wasn't last time I checked.

All Content Copyright © 2009 by the Author. All Rights Reserved.

Design By Vovan