I've got 3 tutorial levels and 18 normal levels. I need to tweak some of the level layouts, and calculate par for them.

Woody Tigerbaum's Interplanetary Package Delivery (Big Dice Games - PW4)

Daring to consider completing a PyWeek challenge, Big Dice Games is back.

Script for intro movie: "Hi, I'm Woody Tigerbaum, founder and owner of Woody Tigerbaum's Interplanetary Package Delivery. I've just spent millions of dollars installing our patented PACKAGE SLINGSHOTS on buildings and structures throughout the Solar System [do not try this at home], to get your package there faster, guaranteed! [not a guarantee] So, remember, if the only way to go is UP [the only way to go is up] for your PACKAGE, the only place to go is HERE; Woody Tigerbaum's Interplanetary Package Delivery." [offer not valid in Delaware]

Awards

Give this entry an award

Scores

Ratings (show detail)

Overall: 3.7
Fun: 3.9
Production: 3.6
Innovation: 3.7

Respondents: 43

Files

File Uploader Date
BDG_07_04.zipfinal
RC3 Windows and Source
tsmaster 2007/04/07 18:30
07-04-06-10-05-18levels.png
I've got 3 tutorial levels and 18 normal levels. I need to tweak some of the level layouts, and calculate par for them.
tsmaster 2007/04/06 17:07
WTIPD_070405b.exe
options screen working, play game options working
tsmaster 2007/04/05 16:29
07-04-05-09-19-optionsScreen.png
Options Menu is working
tsmaster 2007/04/05 16:22
WTIPD_070405_SRC_B.zip
testing a source upload
tsmaster 2007/04/05 07:43
WTIPD_070405a.exe
AI, and score screens
tsmaster 2007/04/05 07:07
07-04-04-23-32-levelScore.png
At the end of a level, there are scores
tsmaster 2007/04/05 06:34
07-04-04-09-56-MainMenu.png
Main Menu, partially functional
tsmaster 2007/04/04 16:58
07-04-04-09-56-PauseMenu.png
Pause menu, 100% functional
tsmaster 2007/04/04 16:57
WTIPD_070404a.exe
main menu, pause menu
tsmaster 2007/04/04 16:56
WTIPD_070403d.exe
opening 'cinematic' done
tsmaster 2007/04/04 06:13
WTIPD_070403c.exe
title splash screen
tsmaster 2007/04/04 04:12
07-04-03-20-05-Menu.png
This is going to be the image behind my menu
tsmaster 2007/04/04 03:06
07-04-03-19-45-BDGSplash.png
Shameless plug in the splash screen
tsmaster 2007/04/04 02:46
WTIPD_070403b.exe
more tutorial, hotseat
tsmaster 2007/04/03 16:54
07-04-03-09-28-gasGiantMemo.png
Memo from your boss.
tsmaster 2007/04/03 16:30
WTIPD_070403a.exe
Dialog box, text support, the beginnings of a tutorial
tsmaster 2007/04/03 07:58
07-04-03-00-19-dlgBox.png
I was going to have a console system with lots of random messages - instead I think I prefer a dialog box approach.
tsmaster 2007/04/03 07:21
07-04-02-21-37-firstFont.png
testing my font system
tsmaster 2007/04/03 04:38
07-04-02-18-34-tiny.png
Hey, I can run in 256x192 - that's a popular resolution, isn't it?
tsmaster 2007/04/03 01:50
WTIPD_070402e.exe
added command line args to drop resolution down
tsmaster 2007/04/03 01:48
WTIPD_070402d.exe
SFX archive, with icon file
tsmaster 2007/04/02 16:35
07-04-02-06-09-mac.png
Testing on a mac
tsmaster 2007/04/02 13:10
WTIPD_070402c.exe
SFX archive, perhaps fixing graphics issues, and with better docs
tsmaster 2007/04/02 13:01
WTIPD_SFX070402b.exe
SFX archive, perhaps fixing graphics issues
tsmaster 2007/04/02 12:46
WTIPD_SFX070402a.exe
SFX archive, maybe works better with some drivers
tsmaster 2007/04/02 12:24
Source070401.zip
Source code 07-04-01
tsmaster 2007/04/02 02:48
wtipd_dos.exe
Py2EXE version of the game (so far)
tsmaster 2007/04/02 01:46
07-04-01-18-24-many-moons.png
Planets can have moons. Each of the moons here were painstakingly researched. I subsequently discarded all data except the names. Shout out to Phil Hassey who mentioned antialiased lines, which I had forgotten about.
tsmaster 2007/04/02 01:29
07-04-01-18-22-asteroid-path.png
Sequel to the asteroid power screenshot - this is where the "package" ended up, after journeying out of bounds for a bit
tsmaster 2007/04/02 01:28
07-04-01-18-20-asteroid-power.png
I've had the power mode working for a while - this is the first screenshot with it, though.
tsmaster 2007/04/02 01:27
07-04-01-12-55-comeBack.png
When the projectile leaves the default screen, now I zoom out
tsmaster 2007/04/01 19:57
07-04-01-12-05-gas-and-moon.png
I've added gaseous planets and moons - moons actually orbit around the planets (not using any physics, just on their own schedule). You can see a bend in the trajectory of the projectile where it encountered the moon before.
tsmaster 2007/04/01 19:07
07-04-01-10-41-slingshot-ontarget.png
Using the obstacle to my advantage! Hole in 1!
tsmaster 2007/04/01 17:43
07-04-01-10-40-slingshot-offtarget.png
Slingshot around an obstacle - looks like I'm off target.
tsmaster 2007/04/01 17:43
07-04-01-09-48-incoming.png
there's plenty of tuning remaining, but collision detection is working
tsmaster 2007/04/01 16:51
07-04-01-09-47-gonnaMiss.png
my physics code seems to be working
tsmaster 2007/04/01 16:50
07-04-01-01-19-PointAtPlus.png
I'm beginning to flesh in my FSM code - the state you see here is a crude first pass at pointing at the cursor (a gorgeous blue plus sign I modeled myself)
tsmaster 2007/04/01 08:21
07-03-31-20-34-TwoCircles.png
first pass at vector rendering of my first (tutorial?) level
tsmaster 2007/04/01 03:35

Diary Entries

Preparing for PyWeek4

Well, 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.

Add a comment

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.

Add a comment

End of Day 1

I 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.

Add a comment

End? Of Day 2

Well, 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.

5 comments

Awake Early

I 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

Add a comment

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.

Add a comment

End of Tuesday morning

I 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.

Add a comment

End of Day 4

I'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:

  • score at the end of levels
  • pause menu
  • space station
  • wormholes
  • save/replay
  • AI
  • main menu
  • options menu
That kind of seems like a lot, but I feel good about it. The cinematic was an idea I had for a while, but it came together nicely.

Add a comment

Memories

After seeing my title screen working for a while, I was reminded of this title screen from my early RPG days.

Add a comment

End of Day 5

  • AI is minimally in
  • score screens are in
tested on the mac - I'm getting weird mouse inversions there. Seems like I was sometimes not seeing that before, but I forget what the deal with that was.

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.

2 comments

PyGame help

Maybe 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?

Add a comment

End of Thursday Morning

With 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.

6 comments

End of Day 6

Well, 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.

Add a comment

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.

Add a comment

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.

Add a comment