To begin with: this is not a bug report, rather a proposal for a feature (or an inquiry about design intent).
Right now, we have two passive, immortal actors — ac_horse
and ac_bug
— that have few characteristic features or interactions with the player. While it has long been stated in the reference manual that ac_horse
was/is planned to be rideable, that has never come to pass, and seemingly the only trace of that is the ability to set a path on which it moves on its own (via attributes like destination
). This is indeed a unique feature, but in the current state, it feels arbitrary that only ac_horse
should have it.
Let us summarize what these actors do:
ac_bug |
ac_horse |
immortal, usually passive |
immortal, usually passive |
small size and mass |
large size and mass |
breaks st_break_bug |
passes through st_portal_horse |
|
movement can be automated |
So aside from the relatively niche interactions in the fourth row, we basically only have the automation capability (where it is unclear why only the horse has it), and in particular ac_bug
doesn’t seem to have really found its own place in the game.
One of the most painless ways to remedy this somewhat would be to extend the attributes enabling movement automation (destination
, destidx
, loop
, strength
, steady
) to certain other actors: this requires basically nothing other than copying a bit of code. In particular, there is no reason why a “bug” should be able to move around on its own any less than a “horse” would. While this would in fact make ac_bug
more similar to ac_horse
, it would at least have more usability (and it being a smaller, visually distinct analogue with slight quirks is not necessarily a bad thing either for how the overall design looks).
Of course, the question then presents itself whether other actors like ac_killer
, ac_marble
, or even ac_pearl
should likewise have these capabilities (ac_rotor
and ac_top
almost certainly should not, since they already have an expected behaviour in regards to movement). Right now, in levels where these actors need to move in preset ways (e.g. “Unfair!” and “FizzBuzz”), things such as slopes (hidden or otherwise) need to be utilized. It might make sense to have such on option to control them properly enabled, but if that were to be the case, it would eliminate the main differentiating feature of ac_bug
and ac_horse
.
In my opinion, the ideal scenario would be to add these attributes (destination
etc.) to all actors that aren’t usually active on their own (so anything other than rotors and tops), implement the riding behaviour for ac_horse
, and figure out an additional unique feature for ac_bug
. However, this would of course be much less trivial of a change than simply adding the already existing functionality to another actor or two.
Also, any part of these proposed changes might conflict with the design goals of the game developers. So mainly, I would like to know their thoughts on this (or that of anyone else interested): what part if any of all this might be worth considering in the short or long term.