August 2010 challenge: “Caught”

Lantern Defender - First diary entry and post mortem

Posted by Trobadour on 2010/08/30 21:48

Hi folks,

this was a strange pyweek. For example now, after the pyweek (at least the programming stuff) ends, i have time to write my first diary entry.

My main problem was to find a satisfying game idea for the theme. At first i thought twisting the normal understanding of caught by making a game where the player wants to get caught, was a good and simple idea. Imagine an ogre who wants to get caught by soldiers so they throw him into jail where his love waits for him, but the soldiers run away, as soon as they spot the ogre.

But i was unsure how to implement the pathfinding for escaping soldiers in a week and besides i wasn't sure taht this could become a fun game to play.

So at the 5th day the idea for "Lantern Defender" was born....

You are a spider, sitting in a net around a lantern. There are moths approaching for the lantern and you have to stop them. Otherwise the lantern would become darker with each moth hitting it. So stun the moths by shooting them, run to them and catch them.

So basically it's an action tower defense game with a spider and moths!

Great, isn't it?

Add a comment

Shackled Stones - Walkthrough (Massive Spoilers)

Posted by Spears Dracona on 2010/08/30 18:50

We realized people might get stuck in our game, whether because of bugs, a couple of confusing puzzles, and a few spots the dialog might be unclear about what to do next.


You have been warned.


There is a spiffy intro and cutscne to introduce you to the characters and let you know what is going on.  Basically, you are part of a band of master theives, and you just took the water stone, a stone containing one of the six elemental gods.  Hanlon explains that the government caught most of the stones and since then, they've been ruling the world.  He convinces everyone to bring it back to the water temple.

You land at the water temple.

There is a save point, it is a swirly white ball to the right of the entrance.  It's a good idea to save now.

Go into the water temple.

Go to the north.

Avoid the slimes and go into the room north and to the right.

Get the sabre.

Pierce explains how to use it.  Hit enter (or start on a gamepad) and then choose your sword, and hit space, a, s, or d (or a, b, x or y) on a gamepad to assign it to one of those buttons.  Then hit enter again to get out of the menu, and you can use whatever button you picked to get the sabre.  You equip other items you find later on in the same way.

Now go out.  Kill slimes if you feel like it, for money and life.

Go back south, to the room where you came in.  Kill the bushes on the left with your newly aqcuired sabre and go in the door.

Kill all the slimes in this room, and a key will appear in the upper left part of the room.  Take it.

You can see what keys you currently have in the lower left portion of the screen.

Go back out of this room, and back to the big room north.

This time, head to the left, and go through the blue locked door.

Kill all the enemies in this room.  Aim for the head on the robot guy.

The door in the north opens.  Go through it.

Ignore the switch in the upper left.  It does absolutely nothing.  Don't ask why, I have no idea why it's even there.

You don't have to kill all the enemies in this room.  Just head to the door on the right.

Then head through to the north door.

You're in a room with a cool bridge and a couple of eyes.  You kill the eyes, and oh no, you're stuck!  Not really.  Just kill the leftmost bush, and there's a red key!  The doors open.  Head right.

Head on through that room to the other door.

You're back in the big room.  Go through the red door on the bottom right.

Remember, aim for the head on the robots.  Get the green key, head back out.

Go to the leftmost door again (the one we unlocked with the blue key earlier).

You don't have to kill the enemies this time.  Just head on north, and continue north through the green door.

Go north through the room with the water in the middle, then place the water stone on the altar in the next room. (just walk up to it)

The water spirit asks you to save his brother Light and teleports you back outside of the temple.

Head onto the ship, and you fly to a forest somewhere.  Note the save point.

Hanlon tells you to go to the capital city where the stones are being kept.

I recommend collecting at least 30 gold pieces from killing enemies before you go to the capital.

Head south from your ship.  Go ahead and kill slimes on the way if you need more money.  Head left.

Go south in the next area.

Go south again.

If you don't have 30 gold at this point, go kill more enemies until you do.

So, now you should be north of the capital with 30 gold pieces.  Head on in.

You talk to pierce and Hanlon, they tell you to go to the west end of the capital.  Don't go there quite yet.  Head down to the shop.  It is just north of the lower right corner of town.  It has a sign that says shop on it.  Go in, buy the Fire Cannon.

Equip it.  It does double damage to enemies.

Now head to the west side of town and through to the next area.  The sign says no trespassing.  Disobey it and enter the place.

Automatons appear.  Kill them.  Your handy new fire cannon should make it easier.

Go up on the grates and grab the stones (just walk up there).

Head back out to the capital, and go east.  You'll want to collect 35 gold pieces before you go to the next town, to get the shovel and compass.  At least this time you have a Fire Cannon.

Head east again, and then again.  Head south at the beach.

You'll be in a large area, and there are three exits on the right side.  Choose the middle one (if you go through the south one you can just go north from there, or if you go through the north one, you can just go south from there).

You should be in a town, and you should have at least 35 gold pieces.  Go ahead and save if you want to.  Then go into the shop.

Buy the compass and the shovel.  Head back out.  We're going to the desert now.  There is no need to gather gold pieces anymore, you've bought everything you will need at this point, unless you really want the ice cannon for some reason.  It just freezes enemies.  Not too terribly useful, I'm afraid, when you can just kill them with fire.

So from town.  Head to the east, and then head to the southeast.

Equip your compass and your shovel.  Use the compass.  Follow the red arrow.

When you get to the spot where it spins, use your shovel.  Dig up some stairs!  Head on down.

Welcome to the light temple

This is the most complicated temple, but there are no enemies.

Head on north to the big room with a save point.

Go to the right.  Lights and mirrors!  Shiny.  Hit the switch to turn on the light. (just walk over it)

These next few steps are optional, unless you didn't get the fire cannon like I told you to.  This is to get the basic cannon, which does less damage.
-point the light at the red door
-head back out of the mirror room, and through to the leftmost door in the main room
-head down the stairs
-go through the door on the right
-head through the red doorway in the north
-grab the cannon
-go back to the mirror room

End of optional directions

Point the beam of light at the blue door

head back out of the mirror room, through the left door, down the stairs, through the door on the right, to the right again

shoot the switch

go north

grab the white key, head south, then south again through the blue door

hit the switch, head back to the main room upstairs

open one of the white doors, and shoot the switch in the room

go to the mirror room

point the light at the yellow door

head back left, down the stairs, right, and south

shoot the switch

go south through the door the switch opened

shoot both switches

grab the key, and head back up to the main room

go through the other locked door, and shoot the switch

the middle door in the main room is now open.  Go through it and go north.

place the light stone on the altar, have a lovely conversation telling you to go replace the dark stone.

Go west, north, west, north, west, north, shoot the switch to make the bridge appear, and go north

Now for the part of the game most likely to make one consult a walktrhough.  The torch puzzle.

1. Bottom left
2. top left
3. The one down and slightly left of that one
4. Where there are two diagonal to each other near the middle, it's the one to the bottom right
5. then the bottom most one
6. then the top most one
7. The one just to the left of that one
8. the one all the way to the right
9. The last one left

Go into the dark temple

This one's pretty straightforward

Go up the stairs on the left

straight path to the blue key

Go up the right stairs, straight path to the red key

go through the blue door, straight path to the green key

Go through the green door, grab the magnetic grappling hook

assign it to a key

Go through the red door, a metal pillar on the other side with the magnet to get across

Put the dark stone on the altar.  OMG it's Hanlon!

He tells you to head to mesembria power plant in the south mountains. So that's where we go.

back south out of the dark temple, south out of the swamp, hit the switch to go back across the bridge and go south

Go east, south, east, then keep going south, and go through the mountains and the town, south some more, and then through some more mountains and around a lava river to get to Mesembria / The Fire Temple.

Go in.  Go through the blue locked door on the right.  You don't need a key, this temple is just weird.  Go through, grab the hammer.  Equip the hammer.

Head back to the main room, smash a boulder at the top, and go through the left door.  Head up to the altar.

Hey, Meyer's not so bad.  You gotta go to the Life Temple in the forest.

Go back through the mountains, through the town, through the mountains some more.

go northwest, northwest again, and now you're in the forest maze.  In the first part, you're trying to get to the southwest part.  Then in the next tiny part you just go through, and in the next bit, you're trying to get to a place on the right side.

And hey, you're in the life temple!

left door, north door, left door, grab the key

head back, go through the locked door, head south

grab the red key, head back up and through the red door

Get the drill.  Equip the drill.

Go back to the main room, drill the cracked wall.

It's a pretty linear path up to a room with two black doors, and a door on each side.

Simple enough.  Go through left door.  grab key.  Unlock first black door.  Go through right door.  Unlock second door.  You're in the altar room.  Head on up.

Oh noes.  The death stone is being activated!  You get teleported back to the forest.  Find your way back out.

Once you exit the forest maze, Head north to the beach, east, then north some more to the caves.

Go north through the caves.  You'll eventually get to an indigo wall, with two torches and a cracked bit of wall.  Drill it.  Go in.

DEAAAAAATH!!!  Kill it!  Just shoot it with your fire cannon.  The end.


Catch the Cootie - I figured it out...

Posted by richard on 2010/08/30 06:38

I figured out why I was so lacking in energy and drive on Friday and Saturday (the days I was planning on working big time on the game) ... I'd caught the flu. How ironic :-)

1 comment

Mortimer the Lepidopterist - Mortimer the Lepidopterist: postmortem

Posted by Cosmologicon on 2010/08/30 04:20

This was the closest I've come to completing my game idea for Pyweek, so I feel pretty good about that. In retrospect, it's easy to see why I was able to finish: by underestimating the amount of time I would have.

I was busy this week: packing Tuesday, moving Wednesday, then staying at a friend's house with just my netbook. Also I flew across the country Friday to attend a wedding on Saturday. I knew all this would happen at the beginning of the week, so naturally I had low expectations for getting anything done. That, combined with the fact that "caught" was the only theme I didn't have a good idea for, meant I picked something unambitious. I was able to get 95% of the game mechanics done by Tuesday.

It turns out that I was able to work on the game despite being on the road, and this let me add polish to the game for the last two-thirds of the competition. I think this ratio of one-third core mechanics to two-thirds polish was about right for me.

What did I learn this time around? Not a lot. However, I did stumble upon a solution to a problem I've had before. This game has a lot of text popping up on the screen, way more than any game I've done before (Sorry I don't have a scanner right now, but here's a photograph of my notes):

So, how do I write my label class so that I can ask for a label appearing 20 pixels from the bottom right of the screen that stays for the entire game, and also ask for a label appearing 100 pixels below the center that appears for 1.2 seconds, rises 10 pixels, and then disappears, playing a sound? And of course they have different fonts, font sizes, and colors. Usually when confronted with this problem I try to create a good, extensible constructor with tons of optional arguments that cover every possible need. This time around, I said "screw it" and did something quick and dirty.

Every type of label in that picture is a different class that inherits from the base class and overrides one or more of several static variables and methods: the variable "expiring" determines whether it disappears, the method "duration" determines how long it lasts, and the method "position(self, surf)" sets its position in terms of the surface. So I don't ask for a Label that appears in a certain place for a certain time; instead I ask for a ComboBonusIndicator, and all the specifics are contained in that class. It worked really well. I plan to do it like this from now on.

So, I feel like I figured something out. Whenever I do this, more experienced game makers explain either that this is obvious and everyone does it like this, or it's flawed and there's a good reason nobody does it like this. We'll see, but I know it worked for me. :)

Thanks richard, for another great competition! Good luck to everyone in judging!


You feel a sudden urge to run... - Post mortem

Posted by kcfelix on 2010/08/30 00:39

Well, it was a wild ride for sure. The game obviously didn't turn out exactly as expected, but the results are pretty nice. Not a lot of fun, unfortunately, but a learning experience for sure. I've never programmed a platformer before and it's more challenging than it seemed at first. A lot of early design mistakes made it much more difficult too. The code for the character physics is a huge mess.

The biggest mistakes I've made were all related to overcomplicating things. Instead of using simple rectangles I've programmed some custom collision classes. Also I've tried to model the physics as it was a complete engine only to find myself stuffing specific character behavior code all over the place later. The one thing that could've used a more complex base design is the main character state management. I've read recently some random forum guy talking about how you should take the state machine concept seriously in your code and I think he's right. It seems very natural to represent the character as a state machine and I should've done this way from the beginning.

Well, overall I'm very satisfied with the results. The graphics are looking awesome to me and the mood is very odd in a good way. Unlike our previously unsubmitted attempt on pyweek 9, this one I feel really motivated to develop further.

Add a comment

Caught on Picture - run out of time

Posted by DR0ID on 2010/08/29 19:21

Hello Unfortunately I ran out of time. My plan was to finish it today (I know, playing against the rules), but not even that was possible. It is a pity because I had a real neat idea. But at least I learned how parallax scrolling works and can be implemented. Anyway if anyone is interested what I was working on can find it here:

"svn checkout CaughtOnPicture-readonly"



Hextrap - Contrary to popular belief ...

Posted by Strings on 2010/08/29 17:01

Level 11 (Secrets and Lies) of our game: Hex Trap, is not impossible. If you're stuck maybe you just need to look at the problem from a different angle.

Just trying to avoid some DNWs here ;).

1 comment

Encaged Tower - A few words on my entry, Encaged Tower

Posted by Tee on 2010/08/29 13:11

Well, this is the end of another Pyweek. Congratulations to everyone who finished!

Overall, I wasn't very excited this Pyweek. I usually like to use Pyweek as a playground for experimenting with ideas (even though sometimes it fails and I end up not showing them), but this time I wasn't very inspired and just made a game that's somewhat more standard. At a point, it felt more like I just wanted to finish it. My original idea was interesting enough, but it didn't work out for the reasons I pointed out in my last post.

Despite everything, I am satisfied with how my entry turned out in the end since it does do something I liked that is mixing find-the-odd-one-out with action, even though there's still the feeling that I could have done something more interesting to play. And, well, it's always nice to finish a Pyweek.

I also hope my game is fun. As usual, I rushed through it in the last few hours and didn't have time to test much (this also means the game is a little buggy). I hope it's not too hard, but I did manage to beat it. It gets quite hard towards the end.

Anyway, I'm looking forward to your comments.

PS: Encaged Tower is such a strange name, right? That's what you get when you think of the name in the last minutes of the challenge.

Add a comment

Himalia - I made it - My first final submission for PyWeek

Posted by marciano on 2010/08/29 11:48

Well, I'm pretty happy since this is the first time I make a final submission for PyWeek. I have slept very few hours this week, but it was worth it. At a personal level, I'm really satisfied with the final result. I hope somebody may enjoy my little game, at least for a few minutes.

Add a comment

Suspended Sentence - 1.0.1 "service pack" release

Posted by jerith on 2010/08/29 10:48

We ran into a couple of irritating bugs post-release. Therefore, to ease judging, we're releasing a "service pack" version. Changes are as follows:
  • Fix for crash bug on the bridge when using certain objects in certain places. (Deliberately vague to avoid spoilers. The problematic interactions aren't required to complete the game, but they're annoying easy to run into.)
  • Typo fix in one of the images. (Probably shouldn't be here, but it's trivial and would require revision reordering shenanigans to exclude.)
  • Minor code style fixes with no impact on gameplay. (Rearranging whitespace and the like. Also here just because it's a pain to exclude and doesn't actually change anything.)
This represents a total of about 20 minutes of work past the deadline, but the crash is problematic enough that we've decided it's worth doing. The 1.0.0 versions are (which were finished entirely before the deadline) still there if you want to judge those instead.

Add a comment