| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saturday 07 April, 2007[ tsmaster @ 18:45 ] Release Candidate 3 (RC3)Whew. In the last 24 hours, I was planning to do some minor touch-ups of the art, and let it go. But then, I decided that the AI needed a little help on some of the levels (a LOT of help on some of the levels), so I added a facility for the AI to record shots as I slept. I then processed that file into a python script (book.py, for those reading the code) which the AI was able to refer to when it wanted to play a little more deliberately. And then it was a bunch of little bundling issues - the only major one was that I tried to get py2app working on my Mac at the last minute, and it didn't work - the installation was hard, and I couldn't run what it spit out. Maybe someone out there can give me some tips on what I should have done. Or maybe I'll play around with it later. I've enjoyed chatting in #pyweek with everybody - nobody took offense at my snarky comments as far as I could tell. :) Some folks have expressed interest in some of my techniques, particularly my crazy code-that-generates-code stuff (see edge*.py and book.py for sample output). I don't think there's much magic there, but still, I'll write up a discussion of the code and my development experiences and post it HERE, if you're at all interested. Thanks to one and all - for the support and the competition. I'm proud of what I've done, and happy to be part of the competition this time around. Friday 06 April, 2007[ tsmaster @ 17:47 ] End of Friday Morning (home stretch)I took it easy last night (only worked maybe 2 hours on the game), which meant I didn't do much - I collected a bunch of sounds, and did some light processing on them. This morning, I incorporated the sounds. I tried making an in-flight sound feature, but it ended up sounding really really bad, so I took it out. Maybe I can revisit it after the competition is done and get a "beep beep beep" sound feature, kinda like George Jetson's car. I spent the morning breaking the "main" levels apart from the "tutorial" levels. I decided I really ought to have 18 main levels (if you've played the game, you understand), so I cranked out 18 playable levels this morning. None of them are stellar (Ha!), and right now some of them are way too easy - to the point of being pointless. A few easy ones are OK, I know. On the other hand, I think level 18 is brutal. I've done it in 3, but I've also done it in something like 12. Oh, that reminds me - the AI is dreadful at gas giant levels. I have an idea of how to address that, and maybe I'll get a chance to implement it, but time is short. [ tsmaster @ 07:01 ] End of Day 6Well, I slacked off this evening - I had hoped to start cranking out a bunch of new levels, but instead, all I did was prepare a bunch of sounds. That's something, though. You can't really make a screenshot of a sound. Thursday 05 April, 2007[ tsmaster @ 17:15 ] End of Thursday MorningWith the "New Game" and "Options" menu complete, I've knocked off the last of the features I really wanted to get in. I have a handful of remaining features in my "if I have time" list, and I want to take some time to churn out a number of levels to make the tutorial experience distinct from the "real" course progression. I'm pleased with where things are right now, and especially satisfied that people have had fun playing the "work in progress" versions I've posted so far. Thanks to everybody that's tried the game and provided feedback. I just did a quick estimate of how many hours I've spent so far on this, and I think it's around 46, not counting brainstorming before the theme was announced. In one sense, that's a scary high number - it's almost exactly all my waking non-work time for this week. On the other hand, I'm pretty impressed that I can get something this complete that fast. [ tsmaster @ 08:04 ] PyGame helpMaybe I'm overlooking the obvious, but if I get an ACTIVEEVENT event (indicating that the user clicked away, or clicked back) - I see a variety of different states coming in as integers 1, 2, 6... maybe more. Are the meanings of these numbers documented anywhere? I hardcoded my game to respond to the specific numbers, but I imagine there are some PyGame variables that match them that I probably should be using. Also, how uniform are those activation messages? Is the pattern of messages that I get on Windows similar to the Mac, and to Linux? [ tsmaster @ 07:55 ] End of Day 5
I dropped my code into the Skellington framework for the first time, and with a little bit of hammering on run_game.py, everything runs fine. The OGG playback on the Mac sounds really bad. I'm not sure what (if anything) to do about that. Wednesday 04 April, 2007[ tsmaster @ 23:42 ] MemoriesAfter seeing my title screen working for a while, I was reminded of this title screen from my early RPG days. [ tsmaster @ 06:32 ] End of Day 4I've decided to go to bed before midnight tonight - crazy idea. I got the opening splash screens and "cinematic" working. Something seems a little off with the timing of the cinematic, but I'm letting it go for now. Still to do:
Tuesday 03 April, 2007[ tsmaster @ 16:34 ] End of Tuesday morningI added player classes today, which will support hotseat multiplayer and play vs the AI. AI is not yet implemented. There's several tutorial screens in, and a flag that turns off the tutorial. I track your running score, both within the level, and overall. Next: a dialog at the end of the level to show players' scores, and a dialog at the end of the game to show the winner, and then I can focus on the main menu, the options screen, and other frippery. Monday 02 April, 2007[ tsmaster @ 16:47 ] Aardvark, Aardwolf, Aethernet...It just now occurs to me that my entry may end up sorting alphabetically last of finished entries. This might be to my advantage, if people judge alphabetically by game title (not team name, in which case, I'm near the top), and maybe they judge the last games the best. If this was a real phenomenon, I'd expect XYZZY's Yak and Zebra Wonderland to show up. [ tsmaster @ 13:37 ] Awake EarlyI woke up earlier than I usually do, and got up to get a glass of water. I got sidetracked, though, and tried fixing some of my graphical issues. (Around 50% of people who tried the game just got a black screen. I think somebody actually got a stack dump, too.) I may have fixed some of the graphics problems, and I've put a self-extracting EXE up (WinRAR, yay!) that contains the EXE, a README file, and a BAT file to help keep the error text on screen longer. Next technical test: py2app to make a Mac binary Next gameplay addition: perhaps scoring, perhaps support for hotseat [ tsmaster @ 02:36 ] End? Of Day 2Well, I spent a good chunk of time today on my entry, and it's a fun little toy - I'm enjoying playing with it. I'm not maintaining score yet, which is really all that I'll do to turn the toy into a game. At the end, though, it'll still be something more to play around with than to "beat". I went through the Py2EXE process and got an EXE that works on my local machines, and on "fydo"'s machine. It, however, does not work on "Cthulhu32"'s machine. I haven't begun to chase that down. I uploaded it using the web page, which works fine. I also tried uploading it using the pyweek-upload script, and I got an odd error. For good measure, I tried running on my mac, and it runs, but it looks really bad. Perhaps my antialiasing flags, perhaps something else, are causing what looks like z-fighting with the black background. Another thing to chase down when I get around to it. I wrote an in-game editor mode to quickly crank out "asteroid belt" levels. I also made a tool to convert a drawing into a series of lines, which may turn out to be useful for my intro and level transitions. Sunday 01 April, 2007[ tsmaster @ 09:19 ] End of Day 1I was half-hoping I'd get some minimal gameplay done by the end of the day, but no such luck. I did start to sketch in the beginnings of the different game states, and there's some crude interaction already. There are 7 python files, 2 text files (not resource files, design/production documents), and 0 graphic files. So far. I'm working with line graphics to get to the gameplay ASAP. Deciding what the actual graphics should be will wait for later. Everything's checked in to my local SVN server - a few competitions ago, as I was testing my packaging, I lost a lot of files. Ooops. Back up early, back up often. The basic gameplay is deliberately simple, as I can't count on having a lot of time to work on it over the course of the week - maybe some polish here or there, but if I can at all get the game working and vaguely "fun" by this time tomorrow, I'll be in good shape. [ tsmaster @ 00:05 ] And, as the webserver grinds to a halt...Everybody refreshing so that they can get started on the announced theme the minute it's revealed. I've already got 4 ideas that sort of work with this theme. I'm stepping away from the computer to let my thoughts come together. My challenge for myself - come up with 3 workable game ideas (must fit the theme, must have some promise of being fun, must be possible within a week) before writing any code. Tuesday 27 March, 2007[ tsmaster @ 23:35 ] Preparing for PyWeek4Well, I've blown off one set of obligations already - that's more time to spend brainstorming, perhaps even coding. Also, I've bookmarked this: Public Domain Images. Plenty of art there for the harvesting. |
Last Challenge
March 2008 [entries, ratings] Previous 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||