Wizburg: a top-down action game of dueling spell casters


Most appurtenant use of the word 'lucubrate'
Presented by tartley

Give this entry an award


Ratings (show detail)

Overall: 3.2
Fun: 3.0
Production: 3.6
Innovation: 2.9

4% respondents marked the game as not working.
Respondents: 21


File Size Uploader Date
Wizburg! post-competition release
2.0 MB Cosmologicon 2009/09/06 09:17
2.0 MB Cosmologicon 2009/09/05 19:21
Playable demo of first level
1.5 MB Cosmologicon 2009/09/05 03:55
Second playable demo
217.4 KB Cosmologicon 2009/09/03 09:51
56.8 KB Cosmologicon 2009/09/02 08:10
Early playable demo. Emphasis on "early".
7.0 KB Cosmologicon 2009/09/01 05:30

Diary Entries

Partner(s) wanted for Pyggy

I want to start working on a team. How about a collaboration for Pyggy? I'd rather work on someone else's game, to get used to working with other people's code, but if need be I have an old entry or two that we could do. Anyone interested?


Cheat codes and postmortem

Cheats are very important in PyWeek games! Here are some for Wizburg, and I'm happy to give more if you want:
  1. For more health, change the value in src/woldmap.py line 54:
    hp = 3
  2. To slow the game down, change the 1000 to a 2000 or whatever in src/main.py line 65 (make sure you leave the decimal point on):
    dt = clock.get_time() / 1000.
  3. Save this for last. To unlock all castles and spells, uncomment the three commented-out lines in src/worldmap.py (80, 81, and 94), and delete data/savegame.dat. But be warned, some of the game logic relies the ordering of events, so if the game crashes when you do this, it's not my fault!
Here are my postmortem thoughts:
  • I'm big on not just tacking on the theme, and I'm not sure how I did. Although there was a direct train of thought that led me from the theme to the final game mechanic, objectively speaking, it seems tenuous.
  • My last entry's weakest category was Fun. That's what I hope to improve on this time. I think I did, but we'll see how the judging goes.
  • A common PyWeek suggestion is to have your tools ready before the competition, but I learn best when i have a project, so I find PyWeek an excellent time to learn some new tricks. This time it was Inkscape, and it's great! I'll definitely continue to use SVG when I think it's the right tool for the job. I especially liked drawing the castles on the level select screen.
  • Surprisingly, I really enjoyed programming the bosses. I usually avoid anything more complex than moving in a straight line for enemies, but now that I've tried my hand at more complicated fights, I might try it again. It was time-consuming, but fun. I would have been satisfied with this game if there were no levels at all, just the bosses. Maybe with the time I saved I could have made a better overall game, who knows.
  • You have to be smart about what to cut out and when. Implementing wordwrap in pygame is always a chore, and this time I decided to save the hour I would have spent making it work right by limiting dialogue to one line at a time. It might annoy some players, but that was an hour well saved in my opinion. (I'm sure that someone will name a library I should have used. Yeah, next time, but I didn't know about it this time, and that's the point.)
  • I think I made the first two levels too difficult. This is always tricky. How hard you can make your game depends on the fun and production levels, because players are more patient with interesting games. Hopefully with the cheats above, frustrated players will make it easier and keep playing. In particular, you don't see any feathers until you've beaten the first level, so I hope it doesn't seem like I forgot the theme!
  • I spent a lot of time on this entry, and I think it shows, even if certain parts are rough or unfinished. I worked straight through a couple days at the end. On the other hand, I didn't get started until Tuesday. It's hard to say if I spent more time on this one or the last one.
Looking forward to feedback. Just so you know, I'm more receptive to negative feedback/suggestions for improvement. Sorry, I'm told I don't take compliments well! Anyway, I had another great time this PyWeek! Thanks to Richard and to the community!


Final version!

Right here. Let me know if you find any bugs, there's still time to fix them!


#1 Larry's Castle

I've uploaded a playable demo of my first level! In the final version, you won't be able to cast any spells in this level, but in this version, you can, just for fun. Press Tab to cycle through the available spells, and cast with left-click.

If you want to give feedback on how difficult it is, try it without casting any spells. Keep in mind that this is the first level, but you're not expected to get it on your first try. That's the difficulty I was aiming for.

Okay, I have to go design at least two more levels if I want to call this a game. I really gotta dive into it now. Good luck everyone!

1 comment

Second playable demo

It's only three screens, but I'm pretty happy with how it's coming along so far. Get it here. Controls at this point are: move with the keyboard, fire with the mouse. Give me any feedback or bug reports!

I need to improve what happens when enemies hit you, because right now it happens too fast. I also need to draw more walking sprites for the enemies. But one thing I don't plan to do is implement path finding. If aimless wandering was good enough for the moblins in Legend of Zelda, it's good enough for my critters. They're scorpions, by the way. I changed them from red to brown, but they still look like lobsters. Whatev.


Vector graphics

I wanted to give SVG a try, but I've never done it before today, so I didn't know how hard it would be. I downloaded Inkscape and played around with it, and it seems easy enough, so I'll go ahead and use it, though I'm still sort of getting used to it. I drew one enemy and one screen so far, so let's call that my first screenshot, even though it's not part of the game yet:

(Full-scale image here.)

1 comment

Early first demo

Finally got a good idea. Top-down action game. You're a wizard who uses feathers as wands, each one casting a different spell. (Originally, you used the feather as a quill to write the spell on a scroll, but why complicate things?) A hawk spell slashes enemies, a dove spell puts them to sleep, etc.

Spells fly through the air and bounce off walls. I want to make bouncing a big part of the gameplay, where you have to set up complicated shots around corners. I uploaded a playable demo to illustrate the spell-bouncing physics. It's you and another wizard running around a room. I realize that (a) the action is way too fast to set up tricky shots, so I'll need to balance things better, and (b) the AI is going to be hard.

Controls are Arrow keys to move + mouse click to fire. I don't like this scheme: I want the player to be able to use just the mouse or just the keyboard. But, since the direction of shots is so critical, I'm not sure how best to use the keyboard for aiming.

Oh well, plenty more to work on in the meantime!


Mightier than what, now?

I spent longer on my Ludum Dare entry than I should have, and now I'm a day behind for PyWeek! For a game idea, I really wanted to take in a different direction. The only feather-related thing I could think of that I haven't seen mentioned is quill pens. And that makes me think "The pen is mightier than the sword". So how about this for a game: You're a statesman, armed only with your quill pen. And there's a bunch of guys attacking you with swords. And you have to lucubrate them into submission.

Okay okay, it's a work in progress....

1 comment

Warmup game: Strictly Platonic

I've only ever used plain old pygame in PyWeek, so I thought I'd look at some other libraries. Pyglet is popular, so I tried to learn that. After spending an hour trying to draw a freaking circle, I realized that you really need to understand OpenGL before you can use Pyglet for graphical primitives. So I decided to learn OpenGL instead.

I had no idea how easy it is to make a 3-D flight simulator! Okay, there's still a lot to it, but between GL_DEPTH_TEST, gluPerspective, and gluLookAt, half of the work I imagined is taken care of. Obviously, lighting and textures are huge topics for a beginner, so I decided to copy those bits from the tutorial and focus on what I know: solid geometry.

The game comes in one big file, strictly-platonic.py. I developed it on a 1.6 GHz Eee PC, so I can't imagine it running slowly for anyone, but let me know if you have any trouble or suggestions. Enjoy!