The new robot proves to be a complex challenge, not only when played as an opponent, but also programming it is complicated. Getting a good behavior is hard enough alone, but I also have the issues of animating something remotely (in multiplayer, all enemies are controlled by the server and the bare minimum of information is sent to the players) and sync its sound effects properly..
It’s coming together now, but I still need to improve the behavior in city levels. We also gave it yet another central mounted gun, a flamethrower thing! This one cannot be shot off and is mainly used to remove obstacles blocking the robots path. It makes a evil hissing sound while fired..
Having one or two of these robots in the survival mode changes the game entirely, meaning less exploring and more running in terror to put it short. I kinda like that..
In other news, I realized that my home brew assembler/compiler written in java, always has been running crippled. Since it’s invoked as a command line program for each compile, its own java code never gets around being JIT:ed. I made a tiny change, running it as a continuous running prompt instead, and once it’s warmed up, it runs 10x faster! I also added an initializing warm up loop, assembling the game 15 times in a row on startup. I’d love to use GCJ or Avian for this instead, but it’s too much work getting them to run properly.
Anyway, this means that my current code base being 742KB in 68 files (34787 lines) fully builds under 250ms! Half of that time is spent as IO merging all the sources. It’s so unbelievably fast that I sometimes find my self compiling just for the fun of it 🙂 It’s as fast as pressing enter with a little determination..