April 2009 challenge: “Get off my lawn”

pekujdr0idwork - Useful tips for playing

Posted by DR0ID on 2009/05/03 20:38

Pickup:
Just go near the object you want to pick up and press the pickup key. If you pick up another thing, just let it fall by pressing again the pick up key again or throw it away and try again to pick up what you wanted to pick up.

Throwing:
After you picked up something you can either activate or throw what you are holding. To throw something further away you have to keep pressing the throw key so the force can build up. While doing so, you will see a little red dot emerging. This is the apex of the throw, just to help you aim a little better.

Add a comment

BubbMan 2 - BubbMan 2 - Video Walkthrough(s)

Posted by pymike on 2009/05/03 20:25

I uploaded video walkthroughs of levels 1-5 for BubbMan 2, due to the insane difficulty. I'll upload the boss later, if you need it :)

Level 1
Level 2
Level 3
Level 4
Level 5

11 comments

Get Off! - First pyweek sucess/failure?

Posted by ajvogel on 2009/05/03 20:24

After meaning to do so for a long time, our team finally entered pyweek. Our entry was handicapped by time and experience, but despite all of this, the experience was extremely enjoyable! We will definitely be back for Pyweek 9, and might finish the game in our spare time. Thank you all for making our first pyweek a success.

1 comment

Panspermia - Panspermia: postmortem

Posted by Cosmologicon on 2009/05/03 19:07

If the game's too hard or it crashed and you don't want to redo the whole thing, press 1 through 6 on the title screen to skip to that level!

Final version (unless someone posts a bug) here.

I went all out from Friday evening up through the deadline, not even pausing to make a diary entry. I really burned the candle on both ends this time. Without taking time off from work, I still spent at least 6 hours on it every night. I've been getting about 4 hours of sleep a night.

Also, I don't think I could possibly have done it any faster. I never changed my mind about where the project was going or had to roll back any ideas. (I refactored the first half of my code, but I think this is essential in order to write the second half.) The only thing I wound up not using is this vegetable-looking thing. So a lot of work went into this. My gamelib directory is 74kb, and I pretty much wrote every single word of it.

Does that make for a good game? Well....

Lesson #1: It is hard to level design for real-time strategy. Good design is hard for all games, of course! But for a platformer or an adventure game or a puzzle game, you can draw the level and see what it looks like. For an RTS, the "design" is all in the units' stats. It's very abstract, and there's no way to anticipate what it'll all be like without actually playing it. And if there's any randomness, you need to play it multiple times. And there aren't even any enemies until level 4! I can't imagine what it's like with a wide variety of enemies.

You also need to test out different strategies, to make sure a really dumb simple strategy doesn't work. I think my game probably has this flaw. For this reason, I think it's particularly hard to make a "fun" RTS in a week, working by yourself. You can make reasonably good game mechanics, and I'm happy with mine, but the fun probably won't be there. I'm in this for the fun, so maybe next time I'll try a different genre.

In Pyweek 6, if you look at the rankings by category, I got something like 3rd on fun, 4th on innovation, and 20th on production. I hope this time I get a big step up in production, though I may take a hit on the other two.

One surprisingly frustrating thing is that the game looked almost exactly the same from 8 hours in (when I took my first screenshot) up through the final version. This is because I chose a visual style that I liked at the beginning and I just stuck with it, but I kept hoping the visuals would evolve along with the mechanics.

This entry wouldn't have been ambitious for everyone, but it was ambitious for me. I find that this really inspires me during the competition. The danger, of course, is not finishing, so ideally you want something ambitious that can be shortened without DNFing.

Oh yeah, one more thing is that I didn't have a consistent mood. The subject matter is really serious and humorless, but the acorns running around is just too funny. I liked them both, but I don't think they work so great together.

Well, I'm sure nobody's read this far.

Thanks for another fun contest, richard!

4 comments

LAWN: Terror From The Green - LAWN:TFTG Postmortem

Posted by cyhawk on 2009/05/03 19:05

After getting home I did some more testing, this time on a Mac and luckily there are no serious issues. It appears that some of my PNGs have incorrect color space settings that caused a discoloration on the Mac. This is now fixed in the very final 1.01 release that now also has a Mac disk image build (py2app) for convenience.

Download Terror From The Green 1.01.dmg (for Macs)

Download Windows exe build

Download source distribution

A summary of my experience as a last diary entry for now:

How did my first PyWeek go?

The game ended up a mix of a tactical X-COM-style game and a puzzler. A good amount of the fun in tactical games comes from estimating hazards and chances (will I be able to hit that alien? will there be more of them?) but since there are no gunfights here, this source of fun is about halved (there is still a combination of random and hearing-based movement on the opponents' part and on hard mode you have limited vision), but in its place puzzle mechanics appeared. The interactions are not governed by chance as much as in a shootout, so you can calculate many steps in advance and solve a few tricky levels that explore the many possible interactions between the creatures and items of the yard.

The development had a steady pace. I crossed off the last "must have" features from the to-do list Friday night. I feel I did not spend enough time pondering the design nor playtesting, so I having little idea if the game is actually fun. I will rely on your votes to tell! On the positive side graphics and sound creation was a lot of fun, and coding was a breeze. I don't get all this talk about refactoring. That sounds like something you do when the project is already a year old. I barely ever deleted a line!

The community aspects of the contest were a pleasant surprise. I was attracted by the game making, but seeing other works in progress and the variety of approaches was an experience in itself. I will try to get a team together for PyWeek 9!

3 comments

Blatently Unoriginal Entertainment - DNF and here's why.

Posted by ArmchairArmada on 2009/05/03 18:39

I was really hoping this would be the PyWeek where I actually finish something. Most of the week, however, was spent working on core engine functionality instead of actual game-play.

If, perhaps, I programmed my game in the style of a Ludum Dare (direct, game-specific, quick hacking, etc.) maybe I could have completed a game. Instead, I programmed in a way that might have been better suited for a longer development time -- general, flexible, and potentially reusable source code.

Also, due to an old computer, I was using a 320x240 screen resolution with PyGame. At such a low resolution pixel art is necessary for clearly identifiable sprites, where a higher resolution could have more easily used 3D rendered or hand-drawn sprites. Unfortunately I tend to become more of a perfectionist when working pixel-by-pixel on graphics. To give you an idea of how I was overdoing it, I made 28 frames of animation just for my main character, and that was just standing, getting hurt, and running -- I didn't get around to weapon animation.

I am incredibly impressed with PyMike's BubbMan 2. Looking at his source code and data it looks like we might have done close to the same amount of work, however his use of the Retrogamelib and simpler art-style were definitely an advantage. For the next PyWeek I should look into the use of some library thats more than just PyGame. I could have saved a lot of time not writing this functionality myself during the week.

Perhaps I should go through my code, clean it up, and release it as a game development library. It has systems for handing resource management, frame-rate independent animation, an input system allowing for easy and seamless keyboard or joystick, entity management, sprite depth sorting, collision detection, tilemaps, game states, simplified entity interactions, flexible configuration file loading, etc. It would save a lot of time for future competitions.

I also made great progress on my procedurally generated map algorithm. The maps it generates is great, but I was only able to do about 2/3 of what I originally planned for it. For example, actually converting the data into a tilemap wasn't really finished. Also item and door placement wasn't really done (though I haven't actually gotten around to really making a lot of items anyway.)

If I had one more week I know I could have finished it. I will continue working on this game (perhaps after extracting a reusable library from the code), so I'll tell you guys about it when/if it is done.

Maybe next time I'll have a finished game by the end of PyWeek.

8 comments

You'd like to know - Hints and quick post mortem

Posted by saluk on 2009/05/03 18:33

Post-mortem (did I say quick? I lied)
Another pyweek, another set of gray hair. Why do this to myself? If I knew that I would be a much wiser man. Our plan of making an adventure game this time around backfired on many levels, but we still managed to complete something that I am fairly proud of.

The biggest problem we had, it turned out, was that while I was happy the first few days that coding the engine was going so well, I neglected to plan for all of the content and logic that we would have to put in to make the game actually work later on. Not that functional programming is bad, but I lapsed too much into funcionalism for different kinds of logic in the game that ended up making creating the puzzles and inserting objects into the screens very time consuming. Next time: focus on tools to help make adding content very easy. Last time we had a decent level editor that helped a lot, and though it was a very different type of game, I could have gone further to make scripting it more fun.

The second problem was that we chose an art-heavy game, and didn't have the time to work on it to really make a good attempt with the art. Some things look good, other things look bad, and none of the art is very cohesive. Still, I think continuing to choose art-heavy games is good in the long run, since it is the area we most need improvement.

Lastly, mercurial. My teammate and I, for the most part, were both working on the same code file. This would have been extremely painful in svn, but even with hg it probably would have been better to separate our work. It turns out tortoiseHG is just far too slow for rapid development - having to rightclick all the time and go to specialized menus for things. By the end, we were mostly using the command line, and it was a bit better. Having to commit, pull, merge, commit, and update on both sides whenever there were conflicts though, was really annoying. An automatic option to "synchronize" with a remote host, and make both sides the same, would be very welcome. Obviously, in other situations, the ability to do different operations independently is useful, but in this case, not so much. Before next pyweek I am going to look at writing a script to automate this process.


Hints
Most of the puzzles in Yard Sale are straightforward, but a few of the chains were short-circuited due to lack of time, so a few things are very senseless. The best advice is to make sure you have looked at and interacted with everything, and used everything on everything. If you follow that advice, you should have no problems completing the short "story". Here are a few more specific hints:
Don't forget to pick up the briefcase on the sidewalk, and remember the hobo.

I might post a walkthrough later if people ask.

Add a comment

PyedPypers - take two - Bugfix release

Posted by RB[0] on 2009/05/03 17:51

Alright, so, we had a couple bugs that we wanted to fix, and some balancing issues.
The rules state that in the 24 upload period you can fix bugs and such slight things, so I wanted to lay out exactly what I changed, so you can judge for yourselves whether it was legal or not, if not you can use the second to last download, otherwise, the new one is much better feeling and I really recommend it.

Here are the specific svn notes for each commit (there were 4, in a one hour period is all, changes are highlighted):

http://code.google.com/p/team-pp-pyweek8/source/diff?spec=svn220&r=220&format=side&path=/trunk/lib/objects.py&old_path=/trunk/lib/objects.py&old=211
In this commit I basically just modified the stats of the bugs and things, and made it so the hive won't generate more than 20 bugs at one time, I also fixed the mower special so it gives you scraps like it should.

http://code.google.com/p/team-pp-pyweek8/source/diff?spec=svn221&r=221&format=side&path=/trunk/lib/objects.py
In this one, I fixed the battle bots (and others) so they target the enemy hive correctly, there was a glitch where they kept wanting to target only enemies first, so it made it almost impossible to win.

http://code.google.com/p/team-pp-pyweek8/source/diff?spec=svn222&r=222&format=side&path=/trunk/lib/objects.py
This one I just fixed teh bird food tower so the birds fly off screen correctly

http://code.google.com/p/team-pp-pyweek8/source/diff?spec=svn223&r=223&format=side&path=/trunk/Readme.txt
Update readme :P


Now, as I understand it, it is alright to bug fix in the 24 hour upload period, but if you disagree, then DO NOT use this bugfix release to rate the entry, use the last release before that, but do play the new one for comments, as a lot of things that probably would come up are fixed, and it is much better anyways ;).
Upon re-reading the rules, it does say the 24 upload period is NOT for extra dev time, but it doesn't mention bug-fixing, which Richard said was alright before, and a lot of people do, I dunno, I hate the "everyone else is doing it, and I thought it was ok..." thing, so I dunno now, whatever :S
If you want any clarification on anything, just ask and I will be happy to answer :)

Cheers all, and liking the games I've played already XD

1 comment

BubbMan 2 - BubbMan 2 - Bugfix

Posted by pymike on 2009/05/03 17:29

Well, BubbMan was BuggMan till a few minutes ago - I uploaded a new release that fixes a file handling bug. Thanks to DR0ID for catching it.

http://media.pyweek.org/dl/8/8ball/BubbMan2-v1.2.zip

Add a comment

Lawn - playthrough video

Posted by allefant on 2009/05/03 13:48

Hm, it just says "The URL contained a malformed video ID."... Here's the link again, since I don't know how to edit the previous post :P Play on youtube

Add a comment