Cat vs Mice
Cat vs Mice
A cat must defend his domain against waves of invading mice! Catch the mice before they reach the garden shed.
Tiny Code Size Award
Presented by myke
Can hear the lambdas talking
Presented by T-002
Ratings (show detail)
Source code and data files
Screenshot from level 2
Day 1 Progress for Tabby
- Came up with a concept involving cats who roam the backyards of their neighborhood in search of adventure. Along the way they meet up with a series of challenges requiring them to defend their territory or to find a way to escape an enemy's territory.
- Wrote up a mini game design doc to help clarify the game's goals, mechanics, and flow to myself. The game (as currently envisioned) has many features of a tactical RPG: combat is turn-based, and each cat has a special battle skill. However, there are also some real-time action/arcade type activities, such as chasing mice in a maze-like garden or escaping a yard full of kids with BB guns.
- Wrote code to create the main window, handle keyboard events, and implement a simple camera system. Got started on code for rendering 3D backyard levels.
Day 2 Progess for Tabby
- Game and level data is now loaded from text files.
- Implemented image loading and texture mapping.
- Game world consists of a lawn and some fences. More objects (bushes, flowers, trash cans, etc) to be added later.
- Can move a placeholder model (representing a cat) around on the lawn. No collision detection yet.
- Can render a hexagonal grid on the lawn when in battle mode.
Day 4 Progress (with screenshot)
In hopes of getting something playable by the end of the week, I've greatly simplified my original idea (which was probably way too ambitious) for the game. I've done away with the tactical RPG elements - now it's just a simple arcade-style game in which the player controls a cat defending his yard from a horde of invading mice. Each level features a different yard and several waves of mice to catch. The goal is to catch as many mice as possible before they reach the garden shed. A level ends when all mice are either caught or reach the safety of the garden shed.
Since the last update I've added code to render several more game world items, including: houses (with simple windows and doors), swimming pools, sidewalks, bushes, and (incomplete) flower boxes. The graphics are really simple at this point, and will probably remain simple and cartoonish.
I have enough done to post a first screenshot of a level I'm currently making. Here we see little kitteh wandering dangerously close to the swimming pool:
Day 5 Progress (Cat vs Mice)
- Added "mouse spawners" and mice to the game. Each mouse spawner starts with a limited supply of mice, and it releases a mouse into the game map every few seconds. Some spawners will start creating mice immediately, while others might wait a little while before spawning their first mouse. Also, spawners are scattered around the perimeter of the level, so mice can invade the yard from different directions.
- Added a garden shed to the game world. Reaching this shed is the goal of each mouse.
- Added a simple HUD that shows the number of mice currently roaming around, the number of mice caught, and the number of mice escaped (reached the garden shed)
- Moving the cat to within a certain short distance from a mouse results in catching the mouse (the mouse is removed from the game).
- Added a game difficulty system. Increasing game difficulty results in faster moving mice and more mouse spawners (and thus mice) to catch.
Day 6 Progress (Cat vs Mice)
- Implement cat detection & avoidance for the mice. It'll be something simple like: if cat is near then go the opposite direction until cat is out of range, then proceed to the next waypoint.
- Finish up some of the graphics. I still need to put roofs on the houses and flowers in the flower boxes. If I have some time to spare I may work on some finishing touches for other game objects.
- Implement the main menu, game difficulty selection screen, instruction screen(s), level completed screen, game over screen...
- Create the final levels for the game. I've been working with a test level for most of the week. Once the game is playable, it shouldn't take too long for me to make a few levels.
- Final documentation (readme file) and game packaging.
Day 7 Progress So Far
Programming for my game is now complete and I have two game levels almost finished! Now I'm working on adding few more levels and doing some tweaking. The game play needs balancing - the first level is probably too easy, and the second level is a little too hard. Not sure how much balancing I can get done before the deadline.
Here's a new screenshot from level 2. Those little gray dots are mice closing in on the garden shed.
Day 7 Final Push
I'm busy designing and testing the game levels and making small tweaks to the source code. Here's a screenshot of my desktop while I'm working. A portion of level one is visible in the game window on the upper left side of the desktop. On the right side I have the source code and game level files open for editing.
<a href="http://www.flickr.com/photos/68047466@N00/3493675719/" title="Cat vs Mice 3 by mespringfield, on Flickr"><img src="http://farm4.staticflickr.com/3648/3493675719_d19e9913e5.jpg" width="500" height="313" alt="Cat vs Mice 3"></a>
Cat vs Mice is uploaded!
Well, I've finished my game and uploaded a .zip containing the source code and data files. The game contains three levels. The game needs a lot of improvement, but at least I got something playable ready by the deadline.
One thing I noticed: the frame rate is terrible unless you use python -O to compile the source.