cANT2: The Hidden Threat

The story of a man and his chips, and the vermin who would come between them. When the gloves come off, baby, it's mano a mandible.

Audio performance
Please see the note in README.txt about temporarily disabling the sound card's audio enhancements. This very brief guide is meant to improve the listening experience with pygame (SDL).

Tuning and hacking
  • Some settings are provided for ease of tuning and testing. See README.txt for some details. These variables are found in the Tunables section near the top of settings.py.
  • The master volume is maxed. If you want to lower it choose a value below 1.0.
  • If the dark levels bother you, adjust the ambient color tuple, higher values for more light. Or set it to None for full lighting (potentially helpful if the dark levels run too slow on your computer).
  • If you want to reduce or increase the difficulty of the boss level (5) there are a few variables provided.
  • The hero stops walking in order to use his weapons. This is a design decision. We implemented strafing, but we thought it was overpowering so we disabled it in the final release. The default behavior is significantly more challenging and requires greater tactical thinking. If you want to enable strafing set the variable to True.
  • Fullscreen option is provided in settings.py, but not tested.
  • Custom display resolution is not tested. It is safe to predict it will not scale the space correctly.
  • The various entity templates can be tweaked. But who would wanna do that? :)
  • The various font themes can be tweaked.
  • See the note in README.txt for startup_context and startup_level. These are provided for quick access to game areas, like oh, the boss level. :)
  • You can design your own levels by editing the levels list in level_data.py. There is already a dev-sandbox level #6. You can get quick access to additional levels by setting startup_context and startup_level in settings.py. If you post your Python code for a challenge level in the comments we will try it. :D


The chips are down
Presented by Cosmologicon

the sequel is even better than the original
Presented by mit-mit

Give this entry an award


Ratings (show detail)

Overall: 3.2
Fun: 3.4
Production: 3.3
Innovation: 2.8

Respondents: 12


File Uploader Date
gummbum 2017/10/22 20:16
Final game entry
gummbum 2017/10/22 19:50

Diary Entries

cANT2 Plot Inconsistencies

This post is provided for fun.

I can think of two immediately. If I had thought of it sooner, and it seemed I might get some participation, I would have purposely created more inconsistencies in the heroically unserious vein of Sharknado. If you can spot any inconsistencies, I invite you to roast them here. :)


Add a comment

cANT2 Pyweek 24 recap

Here it is in a nutshell, as eloquently stated in IRC, "We had a mostly unfocused, confusing, buggy week and then on Sat we said I cant believe we have a game." And there was assent all around.

In one respect this game was easy. We had a fairly clear vision of the game we would make if this theme won. We were somewhat amazed that the theme won. It was like our third or fourth pick averaged. I mean, how do you one-up slurping up ants with a future-tech handheld vacuum? So the game concept was practically given to us. It would be a top-down or 2.5D action combat game with a textual narrative. I remarked that we were doing "Fort Izembo", a zombie beat-em-up that was our first collaborative game, a practice game made the week before my first ever Pyweek that was a whole lot of fun. And indeed that's pretty much what we got. With guns and explody things. We even had zombies at one point, but I get ahead of myself.

We started with DR0ID's pyknic, a very elaborate management system that's not quite an engine. It's well tested, but still lots can go and did wrong because of the complexity. DR0ID began working on ants and their AI, and building out the core game logic. Gumm started working on the app framework and pulling in assets, and configuring the sfx resource manager.

By Monday we really only had a jumbled app framework, albeit with some cool scene transitions, a chapter-progressive "menu" that was more like a cutscene manager, and some goodies to ease future coding.

By Tue, if I recall correctly, we had some ants and hero anims. DR0ID spent much of his day wrestling with the problem of imports: not a problem with code, but if there is shared data this can create many mind wracking problems.

Wed was a continuation of a mash of problems and frustrations, many of which Gumm inflicted on his own self, and DR0ID probably inflicted on his own self. :) Gumm patiently worked on cartoonifying some real images ganked from web searches (a lot more work than it seems), and cobbled together some scenes.

On Thu we had a whole lot of stuff going on. Somewhere in there we got towers of chips, a working hero, bullets, level creation and loading. DR0ID announced right before his bedtime, "ok I got moving ants". Then we struggled with depth sorting problems and other things for three more hours. We still didn't have much besides some static rooms, a roaming hero and his arsenal, and some interactive, animated ants. On the upside we had a lot of days behind us during which we were loosely pondering how the game should go, and we discussed ways to make it fun and interesting.

On Fri, while making lunch I found an ant in the kitchen that rapidly developed into a small party. It had been raining pretty hard and they like to come inside to get dry and find food. But I had no chips for them. On the Pyweek side of things there was a lot of progress, but none of it really came together. We were struggling through various issues: that seems to be the theme of the week. Obviously it was the ants, they were behind everything. Much time was spent getting the many pieces we built to work together. I think there were a few "argh" and "grrr" transmitted over the interwebs that day. We acquired a working grenade.....FUN. That was a game changer, har-har. I think it was this day that Gumm created level 1 as the trainer level. We also decided to play a trick on the player in level 2 (no spoilers, you'll have to play to find out :)). Also, we decided the player should have some kind of health points so that he had to avoid contact with the ants: Gumm concocted the concept of the Chipometer to convey the hero recovering his chips, and upon which his mission partly depended. Ant spigots were created (spawns). DR0ID came up with walls to keep the player inside arbitrary irregular bounds. And he came up with the invisible Chips Watcher object to add to the levels, which was really a great idea. :)

With the addition of ants attacking the hero, we hit one of the funniest AI software bugs I can remember ever seeing. So I'm designing and tuning levels and I'm finding they're unusually hard to win. I'm running my hero around, and picking paths littered with ant carcasses because dead ants don't bite. Right? Wrong. The Chipometer is reporting all this damage, and then I notice the dead ants popping back up to bite the hero and then they chase after him. Zombies, after all. Like I said, we remade Fort Izembo. :D :D

Mood music was added, and a carousel to play it. Summary of the day, there was a lot of progress, but we still didn't have a game.

This was our concern during Pyweek 23, when that Thu rolled around and we worried we would not be able to finish. And here it was, end of Fri and we were worse off than that. BUT, I gotta say, none of us suggested we wouldn't finish. We just came back at it.

Sat was it. We had a tonne of code. We had two tonnes of assets. We had core game mechanics. But it was this pile of odds and ends, barely held together by a textual narrative + scene loader. We did so much work this day, I can't even begin to itemize it. If the description of Fri's flourish of activity was something, Sat was something else. When I woke we had 8.5 hours to get it together. We just started working on everything, best practice went out the window in some cases, we had our fingers in each other's code. We threw a chapter away, glued, and sanded, and polished, and play tested. And 15 minutes before the deadline we came up for air and Gumm said, "You know what. I can't believe we have a game." And DR0ID said, "Me neither."

And out plopped a souffle. Enjoy the recipe! :D

1 comment