| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Monday 24 September, 2007[ gcewing @ 05:23 ] 555-BOOM! Response to FeedbackThis has been the most successful of my PyWeek entries so far, by a large margin. I'm personally quite pleased by the way it turned out. Somehow I managed to hit on something that I was able to implement fairly completely and still have some time left for polishing and level design. From the feedback, it seems that most people who were able to play the game properly liked it. However, the random level ordering bug appears to have ruined it for many people. Sorry about that! I was undone by an unexpected "feature" of Linux -- the glob function there apparently doesn't return its results sorted. I posted a fix, but maybe I didn't advertise it clearly enough. Counting terminals: I hadn't intended that part to be so tedious. I'm thinking about numbering the terminals on the selectors in a future version, which may help to alleviate that. Repetitiveness: I was trying to introduce some variety into the later levels, but I didn't have much time for level design. The same goes for gradation of difficulty, etc. Any suggestions for improvement in this area are welcome. Use of multiple themes: There's nothing in the rules that says you can't do that, so there. I didn't write any code before the start, other than my Albow library that I documented and released several months earlier. If you're not willing to take my word for that, there's nothing I can do about it. Lesson learned for next time: Always test on Linux and Windows if at all possible before the deadline! Future plans: I'm working on a post-competition update that I hope to release Real Soon Now. I'll also be releasing an updated version of Albow incorporating the improvements I made to it while developing this game. Thanks for all the good ratings, and to all those who commented. Greg Friday 14 September, 2007[ gcewing @ 11:25 ] Allefant? Images?There seem to be some resources missing from allefant_second.zip.
Traceback (most recent call last):
File "run_game.py", line 16, in
main.main()
File "/Local/Games/Python/PyWeek5/allefant5/lib/main.py", line 11, in main
run.main()
File "/Local/Games/Python/PyWeek5/allefant5/lib/run.py", line 200, in main
run.game = Game(run.w, run.h)
File "/Local/Games/Python/PyWeek5/allefant5/lib/game.py", line 21, in __init__
self.background1 = Picture("clock.jpg")
File "/Local/Games/Python/PyWeek5/allefant5/lib/picture.py", line 8, in Picture
pic = CachedPicture(path, area)
File "/Local/Games/Python/PyWeek5/allefant5/lib/picture.py", line 17, in __init__
image = pygame.image.load(data.loadblock(path))
File "/Local/Games/Python/PyWeek5/allefant5/lib/data.py", line 47, in loadblock
io = StringIO(dump.index[filename])
KeyError: 'clock.jpg'
There seem to be no images at all in the zip file.
[ gcewing @ 07:33 ] Scions of Darkness crashHappened when I had about 3 units attacking an enemy outpost, or whatever those grey spiked things are.
Traceback (most recent call last):
File "run_game.py", line 19, in ?
main.main()
File "lib/main.py", line 12, in main
e=engine.Engine(state="mainmenu")
File "lib/modules/engine.py", line 27, in __init__
self.run()
File "lib/modules/engine.py", line 39, in run
self.play_game()
File "lib/modules/engine.py", line 661, in play_game
player.update()
File "lib/modules/entities.py", line 567, in update
i.update()
File "lib/modules/entities.py", line 253, in update
self.active_enemy.damage(self.get_attack_value())
File "lib/modules/entities.py", line 497, in damage
amount-=random.randint(0, dodge)
File "/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/random.py", line 189, in randint
return self.randrange(a, b+1)
File "/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/random.py", line 168, in randrange
raise ValueError, "empty range for randrange()"
ValueError: empty range for randrange()
[ gcewing @ 06:23 ] Fix for 555-BOOM! version 0.5I've discovered a problem that could affect play on systems other than MacOSX. If the levels seem to be getting played in a random order, replace the following around line 85 of Code/game.py:
paths = glob(pat)
if not tutorial:
paths = [p for p in paths if not os.path.basename(p).startswith("+")]
return paths
with
paths = glob(pat)
if not tutorial:
paths = [p for p in paths if not os.path.basename(p).startswith("+")]
paths.sort() # add this line
return paths
i.e. insert 'paths.sort()' before returning paths.
(I had always thought that glob() was supposed to return its results sorted, but this doesn't seem to be the case on some Linux systems!) Tuesday 11 September, 2007[ gcewing @ 04:57 ] DNA Replicator FixHere's a small patch to fix a problem causing DNA Replicator to crash on big-endian systems.
--- DNAReplicator-1.3-src/lib/main.py 2007-09-08 14:59:24.000000000 +1200
+++ DNAReplicator-1.3-src-patched/lib/main.py 2007-09-11 16:50:31.000000000 +1200
@@ -138,13 +138,13 @@
basedl = {}
for base in ('adenine','guanine','cytosine','thymine'):
a = array.array('f')
- if sys.byteorder == 'big':
- a.byteswap()
flo = open(data.filepath('%s.msh' % base),'rb')
try:
a.fromstring(flo.read())
finally:
flo.close()
+ if sys.byteorder == 'big':
+ a.byteswap()
basedl[base] = compilemesh(a)
global txfont
Monday 10 September, 2007[ gcewing @ 23:46 ] DNA Replicator crashAnyone have a fix for this problem?
Traceback (most recent call last):
File "run_game.py", line 16, in ?
main.main()
File "/Local/Games/Python/PyWeek5/DNAReplicator-1.3-src/lib/main.py", line 148, in main
basedl[base] = compilemesh(a)
File "/Local/Games/Python/PyWeek5/DNAReplicator-1.3-src/lib/main.py", line 107, in compilemesh
for i in xrange(3*npoints):
OverflowError: long int too large to convert to int
[ gcewing @ 11:26 ] 555-BOOM! Level Editor DocumentationI've written some documentation for the level editor in 555-BOOM!. [ gcewing @ 00:35 ] Tips about pygame.mixerHere are a couple of things I've learned about using pygame.mixer in the last couple of days. I'm posting them here in case they're of benefit to anyone.
[ gcewing @ 00:10 ] 5B 0.5 UploadedGot it there at last. This version has 9 regular levels, a new random element, and a new part. Note that 0.5 is the most recent version to be used for judging, even though it's not listed at the top, because I made the pending uploads in a different order. Sunday 09 September, 2007[ gcewing @ 12:39 ] 555-BOOM! 0.5 is coming......just as soon as I can get it to accept a pending upload now that the server is back. Saturday 08 September, 2007[ gcewing @ 10:18 ] 5B Version 0.3More bug fixes, and more levels. There are 7 regular levels now! I've added a randomised element to some of the levels so that you can't just use the same solution every time. That should add some replay value. If you're wondering why all the bombs seem to be silent, most of the sounds are disabled for now, until I can fix the stuttering problem. Friday 07 September, 2007[ gcewing @ 22:09 ] We have levels!I've fixed some bugs and created 4 levels. The crash problem was caused by a case error in a sound filename. I'll have to do something to prevent that sort of thing happening again. Things are starting to come together. It looks like I may be able to submit something resembling a finished game this time! Thursday 06 September, 2007[ gcewing @ 13:08 ] First submission!5 days in, and this is my first submission, and first diary entry since challenge start. Too busy coding to take any notice of the outside world! This time I've come up with something that covers all five candidate themes! Well, sort of. You decide. What's done so far: Most of the necessary infrastructure, and a set of tutorial levels. At least half the effort went into implementing a comprehensive built-in level editor -- which may well turn out to be the most interesting part of the game. Especially if I don't come up with a large number of astoundingly ingenious level designs in an extremely short time starting from now... [ gcewing @ 10:58 ] HELP - pygame.mixer bug?I'm having trouble playing a particular sound. It works fine the first time, but if I try to play it again there's a good chance of it getting stuck looping over a small segment. I'm using MacOSX 10.4, python 2.3, pygame 1.7.1, SDL_mixer 1.2.8. I've tried saving the sound in .ogg and .wav formats, and with different sample rates, but it makes no difference. Anyone else encountered something like this? Is it a known bug in pygame.mixer or SDL_mixer? Monday 27 August, 2007[ gcewing @ 09:24 ] What does "2+GHz" mean?With regard to the System Capabilities poll, if I have dual 1.25GHz processors, does that count as 2+GHz or not? |
Last Challenge
September 2008 [entries, ratings] Previous March 2008 [entries, ratings] > September 2007 [entries, ratings] April 2007 [entries, ratings] September 2006 [entries, ratings] March 2006 [entries, ratings] (June 2006) August 2005 [entries, ratings] Not logged in Login | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||