September 2011 challenge: “Mutate!”
Black Rock Games - Test of Concept
Posted by g_nielsen on 2011/09/13 06:31
It's 2 am Tuesday Morning over here in Michigan, and I am finishing up a test of concept program. I am writing a 2D, top down, tile based, puzzle game. So far I have a tile background, and 5 different objects that take up space on the grid (The player, walls, and three mob sprites, each of which moves differently) Hopefully after a little more work, and a good night's rest, I'll have my first upload posted.
Already I have started to notice the quirks of tile based games. Because sprites take up a single tile, and then abruptly shift into the next tile over, collisions arnt detected until both objects are sitting in the same space. This causes a quick flash as the sprite in question collides with a solid object and then a frame later moves back to it's previous position. Even at the highest of frame rates, its impossible not to notice. The other thing (so far) is that because all sprites move at the same time, its actually possible to "dodge" an unfriendly sprite as the two of you switch places. I think that offsetting the move time of the player and the other sprites by a single frame should fix this without it looking really bad, but I haven't had the time just yet to work that out.
Ok, time for some sleep, and hopefully I can remember how to package this all up.
Already I have started to notice the quirks of tile based games. Because sprites take up a single tile, and then abruptly shift into the next tile over, collisions arnt detected until both objects are sitting in the same space. This causes a quick flash as the sprite in question collides with a solid object and then a frame later moves back to it's previous position. Even at the highest of frame rates, its impossible not to notice. The other thing (so far) is that because all sprites move at the same time, its actually possible to "dodge" an unfriendly sprite as the two of you switch places. I think that offsetting the move time of the player and the other sprites by a single frame should fix this without it looking really bad, but I haven't had the time just yet to work that out.
Ok, time for some sleep, and hopefully I can remember how to package this all up.
Mutation 13 - 2nd day
Posted by rokapalinka on 2011/09/13 06:23
However I was at work yesterday, I could do a lot with my project. Add some animated sprites, and finish de major coding :) Now some artwork left and the tuning of the game.
Robot Buzzsaw in KILL ALL MUTANTS - It's alive
Posted by codetext on 2011/09/13 04:18
Jan has put Robot Buzzsaw in a room and I just drove him around in circles. It is very cool.
Now for the cutting (which means I need to get started on the blood).
Now for the cutting (which means I need to get started on the blood).
XenoXoo - XenoXoo: constraints, recollections, and old girlfriends I haven't met yet
Posted by sparky on 2011/09/13 03:54
I went for a walk early this morning to myhead.clear(). Been thinking in code to much, had to get out, get some air and make some decisions. Ambling through the morning fog at nearby park I thought about about XenoXoo, my PyWeek entry. Should I rethink my architecture? Should I use a GUI library or roll my own widgets? Should mutating into a daschund give you a bonus to your attacks against BadgerBots? Heavy questions. Not the kind you can crack staring at the screen, but the kind that need to be fiddled with, picked up, put down, tucked behind an ear, left to thaw out for a while until the answer just appears, like mutant pea plants emerging from the fertile soil of an idle mind.
It was a productive walk. It turns out you can get a lot of work done when you're not working. My mind clear and full of new ideas, I started home. As I rounded the last corner, I was accosted by a mysterious stranger. The first I saw of him was dark shape in the fog before me, approaching quickly and waving. As he drew closer I could make out his features. And what features! He was a she. It was a dame.
"Hey, aren't you that programmer guy?", she asked.
I glanced over my shoulder. I wasn't wearing my programming cape. So how did she know?
"Uh, no," I said "You must be thinking of someone else. It's the beard. People see the beard and they think 'programmer'. Stereotypes, eh?"
"Or lumberjack." she said.
"Or lumberjack. Exactly! That's...that's what I am."
She came near, and nearer still, bringing her face close to mine in scrutiny. Quite the set of eyes for a mysterious stranger. I tried very hard to look like a lumberjack.
"That's just what a programmer would say! You're him, aren't you?"
"No programmers here. Just us lumberjacks. Mmm, flapjacks." I said.
"This is important! It's about a game. A game called...XenoXoo."
She had the right guy, alright, but for what? I didn't like the smell of it. It's a dangerous world out there for programmers. One minute you're walking along thinking about garbage collection, the next you're lying in a ditch, being collected. Not for me. Not during PyWeek. I tried to slide out of it with the the best lie of all: the truth.
"Listen, kitten: the only computer I own right now is a decade-old ThinkPad, with 128MB of RAM and a hilariously meager 8MB video card with such flaky OpenGL support that most things that use it will crash on launch. This is my hammer. This is my lever to to move the virtual world. Do you really think a programmer would use something like that?"
I gave her a moment, but I could tell she wasn't buying it. Time to stop selling.
"I'm sorry, ma'am, I don't have time for this. I've got to see a man about a horse sprite."
I stepped around her unopposed and hastened my stride. There are times in a man's life when he should allow strange women to come between him and his computer, but PyWeek is not one of them. Half a block later, I glanced over my shoulder. There she was, an ominous grey blur in the fog, keeping apace.
"This is the part of the story where you tell me what you want." I said.
"I'm here to warn you." she said.
"About mad women lurking in the fog? Little late for that one." I said.
"About the alien robot tentacles." she said.
"I haven't written those yet. Wait, how did you kn--"
Just then, in the distance, I heard the the unmistakable sound of alien robot tentacles. I picked up the pace. As my spirit animal once told me, "Stay upwind of weird."
The dame followed. "Damn! I must be too early! Uh, EventManager!"
"What about it?"
"Don't rewrite it a fourth time."
"But, I've only rewritten it twi--"
The sound of alien robot tentacles, again. Closer this time.
"Then I am too early! You must rewrite it again!" she said, "A bug introduced in the third rewrite causes events to happen in the wrong order. That's how I was able to travel back in time and warn you."
"Who are you? What is this? How do you know about my game?" I said.
Through the morning fog I saw nothing, but I heard the sound of alien robot tentacles transitioning into capture mode. It was a familiar sound, and yet I couldn't remember where I'd heard it...
"What if I told you this world is just a drug-induced dream state and that your body is actually resting in a stasis tube in an alien space zoo and that the only chance you have of escaping is to finish your game?"
I stopped.
"Tell me more."
It was a productive walk. It turns out you can get a lot of work done when you're not working. My mind clear and full of new ideas, I started home. As I rounded the last corner, I was accosted by a mysterious stranger. The first I saw of him was dark shape in the fog before me, approaching quickly and waving. As he drew closer I could make out his features. And what features! He was a she. It was a dame.
"Hey, aren't you that programmer guy?", she asked.
I glanced over my shoulder. I wasn't wearing my programming cape. So how did she know?
"Uh, no," I said "You must be thinking of someone else. It's the beard. People see the beard and they think 'programmer'. Stereotypes, eh?"
"Or lumberjack." she said.
"Or lumberjack. Exactly! That's...that's what I am."
She came near, and nearer still, bringing her face close to mine in scrutiny. Quite the set of eyes for a mysterious stranger. I tried very hard to look like a lumberjack.
"That's just what a programmer would say! You're him, aren't you?"
"No programmers here. Just us lumberjacks. Mmm, flapjacks." I said.
"This is important! It's about a game. A game called...XenoXoo."
She had the right guy, alright, but for what? I didn't like the smell of it. It's a dangerous world out there for programmers. One minute you're walking along thinking about garbage collection, the next you're lying in a ditch, being collected. Not for me. Not during PyWeek. I tried to slide out of it with the the best lie of all: the truth.
"Listen, kitten: the only computer I own right now is a decade-old ThinkPad, with 128MB of RAM and a hilariously meager 8MB video card with such flaky OpenGL support that most things that use it will crash on launch. This is my hammer. This is my lever to to move the virtual world. Do you really think a programmer would use something like that?"
I gave her a moment, but I could tell she wasn't buying it. Time to stop selling.
"I'm sorry, ma'am, I don't have time for this. I've got to see a man about a horse sprite."
I stepped around her unopposed and hastened my stride. There are times in a man's life when he should allow strange women to come between him and his computer, but PyWeek is not one of them. Half a block later, I glanced over my shoulder. There she was, an ominous grey blur in the fog, keeping apace.
"This is the part of the story where you tell me what you want." I said.
"I'm here to warn you." she said.
"About mad women lurking in the fog? Little late for that one." I said.
"About the alien robot tentacles." she said.
"I haven't written those yet. Wait, how did you kn--"
Just then, in the distance, I heard the the unmistakable sound of alien robot tentacles. I picked up the pace. As my spirit animal once told me, "Stay upwind of weird."
The dame followed. "Damn! I must be too early! Uh, EventManager!"
"What about it?"
"Don't rewrite it a fourth time."
"But, I've only rewritten it twi--"
The sound of alien robot tentacles, again. Closer this time.
"Then I am too early! You must rewrite it again!" she said, "A bug introduced in the third rewrite causes events to happen in the wrong order. That's how I was able to travel back in time and warn you."
"Who are you? What is this? How do you know about my game?" I said.
Through the morning fog I saw nothing, but I heard the sound of alien robot tentacles transitioning into capture mode. It was a familiar sound, and yet I couldn't remember where I'd heard it...
"What if I told you this world is just a drug-induced dream state and that your body is actually resting in a stasis tube in an alien space zoo and that the only chance you have of escaping is to finish your game?"
I stopped.
"Tell me more."
Obb - Day 3 - I got blobby appendages
Posted by Cosmologicon on 2011/09/13 01:25
The graphics are coming along nicely, although I'm going to have to work real hard on the gameplay to do them justice. The best part is, I still have an empty data directory, because the graphics are all procedurally generated, yay! Just goes to show that there's no problem that can't be solved with a few thousand calls to pygame.draw.circle.

Programming for 30 years now, never made a real game, gotta try now! - End of day 2: more design, less code
Posted by efloehr on 2011/09/13 01:11
Well, I finished up what the game design is going to be. The theme of the game is alien kids rescue, with only a non-lethal mutator tool.
Choices for the type of game could be 3D, isometric, top-down, platform, or side-scroller. Since this is my first PyWeek, and I still have a day job, 3D and isometric are out.
With the theme being mutating things to help you accomplish your goal of rescuing alien kids, top-down seems a little limiting, and side-scroller also a little too ambitious for my first effort. So I'm going to make a platformer.
The gameplay will be level-based, each a new location where kids have been scattered that you have to retrieve. Each level will present a puzzle where you have to mutate people chasing you into useful items to help you get to all the babies. You will also have a limited amount of energy and will have to collect energy pods that were also scattered in the spaceship school-bus crash.
As for coding, not so much. I should have spent a little more time with PyGame prior to the contest, but didn't make time. So I reviewed some of the tutorials, and have the game window working. I'm using GIMP to create the level design, each pixel color represents an item/tile, and created the converter to convert into a binary file for quick load.
My goal tomorrow is to have the level showing up, have graphics for the tiles I've identiied so far, and have the ability to move the player. I need to start coding a little more to have a chance at a playable game at the end of the week.
Choices for the type of game could be 3D, isometric, top-down, platform, or side-scroller. Since this is my first PyWeek, and I still have a day job, 3D and isometric are out.
With the theme being mutating things to help you accomplish your goal of rescuing alien kids, top-down seems a little limiting, and side-scroller also a little too ambitious for my first effort. So I'm going to make a platformer.
The gameplay will be level-based, each a new location where kids have been scattered that you have to retrieve. Each level will present a puzzle where you have to mutate people chasing you into useful items to help you get to all the babies. You will also have a limited amount of energy and will have to collect energy pods that were also scattered in the spaceship school-bus crash.
As for coding, not so much. I should have spent a little more time with PyGame prior to the contest, but didn't make time. So I reviewed some of the tutorials, and have the game window working. I'm using GIMP to create the level design, each pixel color represents an item/tile, and created the converter to convert into a binary file for quick load.
My goal tomorrow is to have the level showing up, have graphics for the tiles I've identiied so far, and have the ability to move the player. I need to start coding a little more to have a chance at a playable game at the end of the week.
Mutate You Must! - Mutate! Tower Offense - Day 2
Posted by Archy on 2011/09/13 01:03
Second day, good
progress: Shooting tanks, path following creeps, some sounds, basic
gui logic and the same awesome background! Currently working on a
simple map editor. First gameplay testing is planned for tomorrow,
hope we will make that!
Screenshot Day 2:
Screenshot Day 2:
FEAW - Day 2 is sprites and backgrounds day
Posted by GruikInc on 2011/09/13 01:01
Hi fellow PyWeek-ers!
We just finished the 2nd day of this PyWeek and lots of stuff happened today.
First let's talk about the game a little more. FEAW is a platformer where you have to find your way through a lots of different rooms (like in the old Castlevanias).
So the player controls our cockroach, Stan through all these rooms. Oh he came to introduce himself.

And to help him, I previously explained that some mysterious gems will make him mutate, giving him abilities. Well these gems are elemental gems : Fire, Earth, Air and Water.
But I gave enough details for today so I'll tell you later how these powers can help Stan in his quest for food.
Let's talk about the work we did today now.
cha continued creating really nice assets. A few discussions about the gameplay and she finished the first level. It really is a big step as now we see our ideas drawn and we just have to combine all the parts in the code to be able to walk in the first full level
elghinn worked on the levels handling in code. He can now compose the world by assembling them (by loading some description file). He can also display the backgrounds and scroll in front of them.
So the next step here is to handle all the elements which will populate our levels.
I worked on the sprites: display and moves. I had no problem for the display but encountered a big fail on the moves part.
I wanted to make the player move using basic physics to update the speed vector of Stan: mass * acceleration = sum(forces)
So i coded the system with the gravity as one of the forces, the others being the forces resulting form the player's inputs (left, right, jump). It ended with the character having too much inertia, as if he was a big rock in space (or on the moon) and not responsive enough.
I think this could work but with lots of tuning and I don't have that time this week (but I'll have some one day). So I ended up throwing this system away and now Stan is really responsive and it's fun to control him.
So that's it for today. We'll continue this adventure tomorrow maybe with some enemies and other things.
We just finished the 2nd day of this PyWeek and lots of stuff happened today.
First let's talk about the game a little more. FEAW is a platformer where you have to find your way through a lots of different rooms (like in the old Castlevanias).
So the player controls our cockroach, Stan through all these rooms. Oh he came to introduce himself.

And to help him, I previously explained that some mysterious gems will make him mutate, giving him abilities. Well these gems are elemental gems : Fire, Earth, Air and Water.
But I gave enough details for today so I'll tell you later how these powers can help Stan in his quest for food.
Let's talk about the work we did today now.
cha continued creating really nice assets. A few discussions about the gameplay and she finished the first level. It really is a big step as now we see our ideas drawn and we just have to combine all the parts in the code to be able to walk in the first full level
elghinn worked on the levels handling in code. He can now compose the world by assembling them (by loading some description file). He can also display the backgrounds and scroll in front of them.
So the next step here is to handle all the elements which will populate our levels.
I worked on the sprites: display and moves. I had no problem for the display but encountered a big fail on the moves part.
I wanted to make the player move using basic physics to update the speed vector of Stan: mass * acceleration = sum(forces)
So i coded the system with the gravity as one of the forces, the others being the forces resulting form the player's inputs (left, right, jump). It ended with the character having too much inertia, as if he was a big rock in space (or on the moon) and not responsive enough.
I think this could work but with lots of tuning and I don't have that time this week (but I'll have some one day). So I ended up throwing this system away and now Stan is really responsive and it's fun to control him.
So that's it for today. We'll continue this adventure tomorrow maybe with some enemies and other things.
Magical Elemental EGGS! - I need a weapon: day 2
Posted by Python Jedi on 2011/09/13 00:16
Actually, I need to figure out my physics. I got my scrolling system done finally, and I think I can change one method and add one more in the level class to be able to call it complete. I added a bunch of physics code to the player update function, but it had tons of problems and is a mess. So now I'm going up two levels in the hierarchy and putting in vector physics and map collision there. This will allow all moving objects to have the same system and automatic collision. I'll be using the Vec2d class from the pygame cookbook to save time. (this will make explosions much easier to code [insert manic laughter]) I'll be working for a while longer, but I needed a break and figured that I had made enough progress to warrant a day synopsis. I do wonder if I'm posting too much... nah!
-Python Jedi
-Python Jedi
Mutation Hunter - Day 2 - World View
Posted by bitcraft on 2011/09/12 23:44
Looks as though I (bitcraft) will be doing most of the work here as the other member crunches his game design podcast "A Fistful of Pixels" this week. Check it out on twitter @FistfulofPixels and iTunes.
The concept for this game is a monster hunting game with a pokemon-esque battle mechanic. We'll see how far this goes in a week. Will be using much of the graphics and sound library from Nein, our last pyweek entry, and also my International Katate inspired fighting game/framework.
So far, a scrolling map can be moved around in what I am calling "big maps". This mapping system uses tiles, but unlike most tiling engines, each tile is unique. Combined with an image splitter, you can prepare a game world entirely in one image, and the game will only load parts of the image that are actually used. Rendering is done in a separate thread, so movement is smooth as tiles are being loaded from the disk.
Tonight I'd like to get some menus going and maybe some basic AI on the NPC's.
The concept for this game is a monster hunting game with a pokemon-esque battle mechanic. We'll see how far this goes in a week. Will be using much of the graphics and sound library from Nein, our last pyweek entry, and also my International Katate inspired fighting game/framework.
So far, a scrolling map can be moved around in what I am calling "big maps". This mapping system uses tiles, but unlike most tiling engines, each tile is unique. Combined with an image splitter, you can prepare a game world entirely in one image, and the game will only load parts of the image that are actually used. Rendering is done in a separate thread, so movement is smooth as tiles are being loaded from the disk.
