May 2012 challenge: “Mad Science”

Dr. Chemical's Lab - How to Play Dr. Chemical's Lab

Posted by superjoe on 2012/05/15 06:10

Installation:
Windows binary:  dr-chemicals-lab-0.1.zip
Mac binary: <in progress>
Source: dr-chemicals-lab-0.1.tar.gz

How to play:
This game is made to be multiplayer - for the best experience, find a partner. If you can't however, that's fine - there is a survival mode. To play multiplayer, just start the game up and wait at the title screen until you see your partner. Then click each other's name.

Your goal is to survive by not getting crushed by the descending ceiling. You can raise the ceiling, and lower the enemy ceiling, by bonding atoms together to form a chain, and then by closing the chain so that it becomes a loop.

If your loop contains more than 3 atoms, you will drop (number of atoms in chain - 3) weapons into the enemy tank.

Control your player with WASD. Up is jump. Down does nothing. If you use dvorak you can pass in a --dvorak option. Same for --colemak.

Use the mouse to aim. Left click is main fire and right click is alt fire.

The Grapple Gun:
Press `1` to select your grapple gun.

Main fire: Click to shoot out your claw, which will attach to the first thing it hits. Hold to retract the chain in, pulling you and the claw closer together. Release when the claw is near enough to you to retract the claw so that you can fire again.
Alt fire: When the claw is attached to a faraway object, this will release it.

Strategy: Use this to move around quickly and get a better angle with the other 2 guns. Note that you can switch weapons while your claw is attached to something. (A ceiling, perhaps?)

The grapple gun is also good for maneuvering large chains of atoms into a position to make the ends touch.

The Ray Gun
Press `2` to select your ray gun.

Main fire: Click to draw in an atom and hold it with your gun. If the atom is bonded to others, this will disconnect it. Click again to shoot the atom out.
Alt fire: Click when you are holding an atom to drop it.

Strategy: Use this to move atoms about exactly where you want them to go. It can be tricky, since you destroy the bonds when you move an atom. It is most effective when putting unbonded atoms into place.

The Lazer Gun
Press `3` to select your lazer gun.

Main fire: Destroy atoms.

Strategy: This is good for getting you out of a dire situation, or for getting those annoying atoms out of the way so you can connect a big chain.

Known bugs:
  • At some point, physics goes crazy for a second or two, and then the game becomes unplayable.
  • Intermittent crashes.
Sorry.


5 comments

Heads and Tales - Playing around.

Posted by ahdok on 2012/05/15 01:15

So, it's worth mentioning that the game does have robots too.

1 comment

The Cloud Shepherd - The Cloud Shepherd: Quick notes

Posted by Alex on 2012/05/15 00:50

Some practical notes:

Badges are awarded at 81, 201, and 501 points. Highest possible score is 937.

'p' pauses the simulation. 'a' and 'z' to fly up and down. Backspace or delete while a fan is selected to delete it.

While stacking up clouds and then pushing around a massive water ray of doom is a nice way of quickly getting water where you want it, the world tends to flood over time. If you actually want to build a stable weather system, you'll probably have to push some clouds off the map as soon as they spawn.

If you're having problems with types in PyArg_ParseTuple in the c extension, this patch might help. I've also seen issues with glBufferData only taking 3 arguments in pyopengl 3.0.0. pyopengl 3.0.1 or later seems fine; can also work around it by removing the size argument to all glBufferData (second argument) and glBufferSubData (third argument) calls in world.py.


On pyweek in general: It's was a hectic but fun first time participating for me. More time would definitely have helped. While Daniel has mentioned it in the past, it was only when he talked about it on Tuesday that I learned that it was happening last week. Between a late start, an overly ambitious idea, full-time work, and prior commitments on Thursday evening, I'm glad that we were able to complete something that you can actually play, and not just some rendering and simulation experiments loosely bolted together.

Still, lots and lots of things were cut from the original vision:
  • There was supposed to be a sequence of stated objectives, at first to introduce mechanics, later to drive the game, gradually making more of the map visible. "Move the clouds away from Beach City.", "Water the fields.", "Provide snow for Ski Resort City.", "Dracula wants lightning for his castle."...
  • Rain would turn into snow over the mountains.
  • Clouds were not meant to overlap. When they bumped into each other, you'd get lightning.
  • Lightning would start forest/bush fires that you'd have to put out.
  • Clouds were meant to expire, or maybe run out of water (based on temperature?), or need an explicit trigger to start raining... We could never really agree, so it ended up just being a constant, permanent rain.
  • The castle was supposed to start out un-haunted, but would go haunted if you provided nearby lightning.
  • You were supposed to be able to control the speed and duty-cycle of fans.
  • Cthulhu was meant to attack one of the cities on the coast. (We even have sprites for this!)
  • You were supposed to have a giant space laser heat ray and cold ray, for making snow or evaporating water.
  • You were meant to create an artificial lake to drive a hydro plant as one objective.

And lots of other things, not to mention non-game-mechanic graphical improvements, UI improvements, having a height-map with rivers that flow the right way, ...

I am happy that one of the main ideas survived: Mad science + weather control == collateral damage. Originally you were meant to complete a series of objectives, after which you would triumphantly declare that you had mastered weather, only to zoom out and see the havoc wreaked on the rest of the map: forest fires, flooded areas, vast deserts. What we ended up with is just flooding, but boy do we make up for it in volume!

Add a comment

The Fabulous Laboratory of Dr. Goldeinstein - Team Photo

Posted by rodrigomotta on 2012/05/14 19:00

Just a team photo. Great PyWeek. =)

4 comments

CrazyPyro12 - DNF my life (postmortem)

Posted by CrazyPyro on 2012/05/14 05:04

Nowhere near enough time this week - between work, and BOTH of my home computers crapping out on me - I probable only spent 5 or so hours.

Most of that was wrestling with the Kivy framework rather than actually making a game.  Mistake.  I do intend to still make this game, but it will be in pure Pygame rather than Kivy.

To say I was disappointed by Kivy would be an understatement.  The only potential advantage would be the ability to run a Pygame game on Android, but even a simple Hello World app was force-closing, so there goes that.  There's lots of API documentation, but very little to tie it all together.  Similarly, all the examples are extremely limited to the scope of doing one specific thing - nothing on how to put it all together.  The one main Kivy game "in the wild" is Deflectouch.  I was hoping that would be the holy grail example I was looking for.  However, it was written for a contest, not necessarily to be a good example of coding - so it really wasn't the help I had hoped it would be.

9 comments

The Method - Retiring from Pyweek (possibly for good)

Posted by shundread on 2012/05/14 04:39

Pyweek is usually an event that I've always looked forward to and always tried to participate, but I realized that as long as I have a full-time job, working on a Pyweek game is becoming unrealistic. I spend my work days already either programming and studying, and by the time I get home I'm slower and less focused.

My body was kind enough to cooperate as much as possible through the whole event. It did not make me fall asleep on top of the keyboard, nor did it give me pains during the event. But the following morning after my last hours of programming, it decided it was time to make me notice all the neglect it suffered, and man, do I feel shitty.

It's nothing that a few days of taking it easy cannot solve, but it made me realize that Pyweeks are events that I should only take part in if I'm unemployed and not studying. I'll move on to shorter events, like Ludum Dare, and hopefully I'll have an easier time managing a free weekend than a busy week.

Thanks everyone for their participation, I won't be judging entries (it feels wrong since I have no valid entry myself), but I might try some out and give some feedback. And thanks a lot for Richard for organizing the event.

4 comments

GMOuse - editor

Posted by rgbDreamer on 2012/05/14 03:19

We've included a rough editor; if anyone wants to share mazes we can publish them here.

Add a comment

Zac Miller - Well I Didn't Make It

Posted by zmiller1 on 2012/05/14 02:27

Well I started off knowing nothing about pygame and didn't produce anything worth showing.  I know a great deal more now after having worth through several tutorials.  I think that the next challenge I can get a game in.

1 comment

all_your_base - New features post pyweek

Posted by bitcraft on 2012/05/14 02:26

Just a quick FYI on the game:

If you liked the pyweek version, please judge it, then download the current version on github.  Today I added a couple of the final elements that were missing from the game and wrapped it all up.  Saving still doesn't work completely, but once you figure the game out you won't need it.

Added:
    More ways to die!  Be careful!
    A final way out
    More terminals

The ending may be abrupt and unexpected!  The game is meant to be funny, don't take it too seriously.  Also, you will die often, just hang in there you can beat it!  =)

5 comments

The Cicada Of Antarctica - True story

Posted by circusblatta on 2012/05/14 00:07

1 comment