April 2007 challenge: “The only way is up”
PyBlockTower - New Game...
Posted by Tigga on 2007/04/03 15:39
The first idea was to have the blocks breaking if there was too much load on them... but working out the max load in each block isn't trivial.
The new idea is slightly simpler, keeping the general theme of building a big tower from blocks the same.
4.5 days to program a game from scratch.
Great.
delta-v - Almost on track
Posted by alex on 2007/04/03 14:55
On the gameplay side of things, a bit of refactor means I now have a really clean split between game code, graphics code and the fps dynamics code... this is something that's always eluded me in the past. (In my previous two pyweek entries the "gameplay" was bolted on only in the final few hours).
Gameplay now lets the player shoot the baddies (not with a gun though... I'm not that predictable), bump into the baddies (ellipsoid/ellipsoid) and lose health.
I initially tried to do the shooting test with a ray/ellipsoid intersection, but couldn't get it working. Then I (slowly, I know) realised that I'd need to test against the walls as well. Then (finally) I realised that I could just use the selection buffer, which is really cool (I've never used it before).
Schedule for the rest of the week:
- Weds: Draw up the levels, implement the rest of the game logic
- Thurs: Make it pretty.
- Fri: Menu screens, more prettiness.
- Sat: Package/test. Futilely attempt to implement pyglet sound on Mac and Windows (Linux is already implemented, sort of).
- Sun: Deadline is 10am for me, just enough time to wake up and accomplish nothing.
selsine 2.0 - After the second day
Posted by selsine on 2007/04/03 14:49
Ah, the old second day, didn't get as much done on the second day as I would have liked. Instead I spent too much time reorganizing my messy code and tracking down bugs.
So two days in and I've got a basic level editor down, and a main game that will load levels...and a character that moves...but no game to speak of!
Hopefully tonight I will be able to add some actual game play into the system!
Balloon Escape - Hey... progress!
Posted by xorbit on 2007/04/03 14:34
Yesterday was the first day I could do some coding in the evening, and I made more progress than I had expected! It keeps amazing me how fast you can whip something together in Python. Maybe there is hope I'll have something playable by the deadline after all.
Of course, compared to alot of you guys who have working games already, progress may seem minor. ;-)
I put together a class based on pygame's Sprite that will manage loading my graphics and animating them using an animation state that I can set for each object. Animation states and how they should be shown are defined in a little text file that I create for each object.
I figure getting this groundwork laid will save me some time to get the actual game going. I like to work bottom-up by first making smart building blocks that I can then just piece together.
I also put together some graphics - not the best job ever but they will do.
Today I will try to breathe some life into these 'animated' but otherwise static objects and implement some game logic.
Phoenix is the cuttest Kitty in the world! - Ahh Day 3 already?
Posted by ripter on 2007/04/03 14:05
And we still don't have any graphics, not one, nothing, nadda. *sigh*
Bus Factor == 1 - Repeat after me: "Premature optimization is the root of all evil"
Posted by Marlow on 2007/04/03 12:02
Day 2, Monday, was a working day, so I had no real time to look at this until the evening. During my drive home I figured that I could do with a collision grid to speed up collision detection - anything to reduce the number of collision tests.
So, when I finally got time to myself in the evening, I sat down and wrote a nice collision grid class. I even unit tested it to make sure that it did what it said on the tin. And then I fired it up to see what would happen. And guess what. It was slower! I took some timings and found that the overhead of maintaining the grid was just too much compared with iterating through a list and comparing a few thousand rectangles.
So day 2 ended with a whimper.
I feel a bit better about it now, as this morning I got up early and did a quick and rather more successful spike before heading off to work, ending up with a reasonably competent implementation of doors.
Fluffy Menace - Richard's Day 3
Posted by richard on 2007/04/03 10:37
Day 2 saw a little work on a bunch of stuff, but I was distracted by going to interview for a new job.
Day 3 was similarly distracted and I got the contract to sign for the new job :)
On a brighter note I've incorporated a lot of animations from fydo, and a bunch of behaviours.
We've also discovered that JDruid's performance problems were due to way out of date (or possibly non-existent) drivers for his video card. I've also spent some of today optimising the landscape rendering and now get about 280FPS wandering around the test level.
There's still HEAPS to do. I wasted most of my programming time today trying to come up with a reasonable realistic physics model. The balance between realism and side-scrolling platformer is very hard to find, and in fact I didn't find it today.
|Gunboy - Help on Collision Detection Please
Posted by john on 2007/04/03 09:41
bt1 = pygame.Rect(0, 0, 5, 5)
bt2 = pygame.Rect(0, 0, 5, 5)
bt3 = pygame.Rect(0, 0, 5, 5)
you_box = pygame.Rect(0, 0, 25, 44)
btm1 = Rect.move(bt1, bx, by)
btm2 = Rect.move(bt2, bx2, by2)
btm3 = Rect.move(bt3, bx3, by3)
you_boxm = pygame.Rect.move(you_box, x,y)
collide = Rect.collidelistall(you_box, bt1)
It won't work, why?!
Death Tower - another late night, more success
Posted by Cthulhu32 on 2007/04/03 09:26
First important goal of the night: I got player-tile detection going just perfectly! I think I am going to simplify it a bit because I am doing a way I have not seen before and is probably not the most efficient. In fact, now looking back I can think of at least one way to speed it up a little!
Next goal, I got scrolling pretty much down on the character. I have one tiny bug in not being able to go beyond 32px of extra scroll space, but that bug will be squashed soon, not on my highest priority.
Next thing was that I got the lizard guys working. I made all the sprites and made a really easy little dummy AI that does nothing but pick a direction and either idle or move. The monsters are really close to the player, and they know the max of the level based on the size the tile engine gives me.
FUTURE GOALS haha i guess that didn't need to be bold. I am going to be working on monster-player collision, monster-monster collision, then get some weapons going so there will be actual gameplay. I know the big note to pyweek'ers from Richard is get gameplay first, then work on everything else. Well I am kinda overkilling the gameplay, but it will be coming soon! After I get that, I can start adding levels, change the palette for the lizard guys, add maybe 2 or 3 more enemies, add in items & possible puzzles, start to work on minor RPG elements, touch up the menu, get some music/sound, so much to do so little time. I am excited and tired. Goodnight everyone!
Uhnx - dotdotdot
Posted by Srejv on 2007/04/03 07:53
Tomorrow I'm making all the graphics, or most of it I hope.