I did some more work on GameTwo's procedural graphics, replacing all the hardcoded enemy tanks with new versions created at runtime by the server. As with last week's missiles, the new tanks are all drawn by the same piece of client code, based on parameters provided by the server. The parameters include:
hullcolor, treadcolor, turretcolor, width, length, nosewidth, noselength, tailwidth, taillength, treadwidth, treadlength, treadlateraloffset, treadlongitudinaloffset, muzzlewidth, breechwidth, barrellength, turretwidth, turretlength, turretlongitudinaloffset, turretnoselength, turrettaillength
These parameters yield a decent variety of enemy tank types, but I look forward to expanding the available parameters and adding new vehicle types as well. Maybe planes?
This screenshot shows my tank getting completely worked by a screenful of the new baddies. The red lines are the enemies' lasers, caught in mid-animation. The mostly vertical laser was fired from the large tank at top center. The other two beams haven't hit me yet, but they are about to finish me off.
The smallest enemy tanks are the Fighter type, which have a short-range turreted laser and the ability to fire bright red homing missiles. The medium-sized grey tanks are the Cruisers, which sport front-mounted medium-range lasers and fire yellow grenades from their turrets. The large Destroyer tank has a powerful long-range turreted laser, in addition to hull-mounted rockets and grenades.
The dark red enemy tanks are a new type (Gunship) which launch large numbers of twin-nosed homing missles. The new procedural art made it pretty quick and easy to get both the Gunship and its missiles into the game. I'm hoping that the art system, when fully deployed, will let us rapidly insert many new types of enemies, allowing the live team to evolve the game over time in response to player actions.
Comments