Here's the source for Battlez0wned. Most of it was thrown together in a week, so as you might imagine it needs improvement in several areas. However, being the kind of person I am (i.e., lazy, short attention span) I doubt I'll do much more work on it. I'd really like to see this become a group project, where people make improvements and then post their changes here so we can all benefit.
- NTSC TV
- game pad
- Optional: another Hydra, another NTSC TV, another game pad
I assume most of you have only one Hydra, so I've defined a constant SOLO = true
. You can control either your tank or the enemy tank. Hold down START to control the enemy. It's not a solo game (yet), but at least you can play around with it, shoot yourself, etc.
If you have two Hydras (anyone?), hook them up with phone cord. Change SOLO = true
to SOLO = false
and download to both Hydras. It might take a few rounds of resets, but eventually both screens will say "HYDRA BATTLEZ0WNED" and one will say "PRESS START". Now you and a friend can blow each other up.
As I said, I really hope some of you will help make the program better. Over the next few days I'll try to post some notes on the code to explain what the heck it's doing (stuff I really should have put in comments); meanwhile, please post questions as they come to you.
Here's are some things people might work on:
- single-player vs AI (Baggers, I'm looking at you)
- more robust network: the code to determine which machine is the master does not work reliably; also, there is no error-detection or -correction.
- general code clean-up and refactoring
- better graphics: low priority, because it's OK as-is IMHO, but there's room for improvement
Attached: Battlez0wned.spin and a cut-down version of graphics_drv. You'll need to supply gamepad_drv from the Hydra sources.