Loads of changes in this release. There are now 8 tanks in the world, 2 of which are within your control. The rest of the tanks are controlled by the game's first AI. (Although the 'I' in 'AI' is being used VERY loosely...) The AI's name is Twitch, and its movement is entirely random. Not a serious AI, but it's fun to watch. :)

Other things done:
- Shooting while digging will now let you travel through dirt at the same speed as if you were driving in an open area, like in the original game.
- Controller code has been abstracted into a newer API, which will make developing AIs and alternative control systems (like joystick or network controllers) easier.
- Fixed a bug where it's possible for a tank to be spawned in an area that can't be reached by tanks in other areas.
- Collision detection works so you can run into and shoot other tanks. Nobody dies yet, but that's coming soon. :)
- The program now prints out the random seed that was chosen by the 'rand_seed' function. (Which uses both time() and /dev/urandom as sources.) You can then manually hand that seed back in via the command line, so that the level generator will generate the exact same level. This will be removed for the later versions, but it's currently useful for debugging...
- The 'Random Growth' phase of the level generator has been rewritten to use a more sophisticated algorithm, so that only cells that are up for consideration get processed. This has decreased the total time needed to make a level to .14 seconds. According to gprof, the next function that should be optimized is the smoothing operation, which currently takes ~50% of the total processing time. Here's to hope that we can get this thing to under 0.1 seconds!
Next up: Bases and health/energy. Then, maybe I'll take a legitimate swing at the AI, and not just a 'Twitch'... ;)
Controls:
Blue Tank: ASDW + LCtrl
Green Tank: Arrow Keys + Enter
Red Tanks: AI controlled. Just watch. :)
Source Code: tunneltanks2.tar.bz2
0 Responses to TunnelTanks 0.2 alpha
Leave a Reply