Changing the length of the laser would be trivially easy, but via the methods I have to use, changing the damage calculation to be based on the length of the laser not so easy.
Fully agreed on the grenades, although it would be quite easy to reduce the damage caused and increase the concussive effect, changing the blast radius should be possible too. Depends on whether it's wanted for the grenade to be a 'primary' weapon, or a used in a 'support' type role to disrupt/disable a combatant before going for the kill.
WRT Plasma Cannons & Flux Capacitors, there's a few things I can change with relative ease:
- Shoot Force (and thus launch speed) per capacitance
- Damage per shot per capacitance
- Recoil force per capacitance
- The amount of force transferred to the target on being struck
- Maximum and/or Minimum capacitance
Much harder (and from a player perspective, less intuitive imo) would be making capacitor recharge time (or the other things mentioned above) non-linear (as it is in vanilla Rawbots)
In my 'working' version of Rawbots + XFM capacitance recharge is based on 0.5s/capacitance, which works pretty well, but is essentially just a fairer version of the standard Rawbots 'balancing.' But with what I
can change, I can do a few different things:
- Fixed: shoot_force(projectile velocity), Damage per Second. Variable: Damage per Shot, Recoil?. Using this scheme could lead to better balancing for arena-based ground (or low-level hover) combat, but would probably be suboptimal for any other kind of combat
- Fixed: Damage per Shot. Variable: shoot_force Damage per Second, Recoil?. Probably the best of the relatively easy options imo, assuming a reasonable all-rounder shoot_force value is chosen so that plasma cannons can be used as a good all-round ranged weapon (without being the best weapon in all circumstances)
- The third option is just doing a lot more number crunching on a scheme based on the 'variable everything' (the way it is now) and coming up with something that is balanced. Obviously from the coding point of view it's much easier than the other options, just tweaking a few values here and there, but from the POV of making it actually balanced it is much harder.
There's probably some combination of the things that I can easily change that I've overlooked (or possibly just discarded) that could provide good gameplay options, and I'm willing to hear arguments for any balancing scheme.
One might wonder why I go on about the shoot_force so much, but it's actually a very important balancing tool. As anyone who has played an FPS game knows that Rocket- and Grenade-launchers are very hard weapons to use effectively because of the delay between the trigger being pulled, and the projectile impacting. The same applies in Rawbots, and even more so in autonomous combat situations, because your bots don't have a brain that is hardwired to instinctively grasp the concept of things like projectile arcs or deflection. So as projectile velocities drop even relatively simple tasks like hitting a slow-moving target from a fixed platform, or hitting a stationary target from a moving platform (Rawbots plasma projectiles inherit their velocity from the cannon that fires them btw) becomes more and more difficult, never mind if
both the shooter and the target are moving. So we can use the projectile velocity to control how difficult it is to hit a target, the real trick is how to make it so that 'brute force' (where the entire goal becomes getting as close to the target as possible then unloading everything you've got as fast as you can) is
not always the best option (but still remains
viable as an option, the idea is to open up gameplay to as many 'styles' as possible)
I actually really enjoy a
good game balance discussion, so everyone's input is more than welcome.