Open inf1niti opened 11 months ago
support map end
I just figured out how to do this for my maps so I can get some games on them 😂. It was really frustrating trying to figure out and would be great if improved. I have it "working" on my map elektranarc17z on my servers. It was fun to do though and if easier I could see myself making them for a bunch more maps.
This is a meta-issue, listing a whole bunch of wish-list improvements for KTX bots that would likely be completed over a number of PRs. If you'd like to help out with the implementation LMK.
KTX Bots are pretty easy to work with and extend. There's even a built in .bot file editor in the server mod! (
k_fb_options 2
) ...but there are a few shortcomings in the editor that make it difficult to work with.botcmd savemarker
to select a marker to edit/work with).These issues are preventing creators from adding support for new maps, or extending the bot-supported map pool.
Improvements
botcmd help
)typing
botcmd
orbotcmd help
should provide basic starting information for admins/creators to be able to use the editor. There should also be descriptions for each sub-command, providing a high-level overview of the bot editor's use.Descriptive console output when running bot commands is minimal or missing entirely. When a command is used without the appropriate parameters, clear details on it's use should be provided similar to other cvars/cmds in ezquake/ktx. Commands (and parameters) should also be renamed to relevant, human-readable input (they can still be stored/encoded as single letters in code).
Setting the appropriate parameters on a rocketjump path is kludgey. Currently the process is as follows:
start
marker -> set path tonext
marker -> rj fromstart
tonext
(rjflags
casually bprints to your screen) ->typesetpathflag r
onnext
-> typerjfields <bprint #s>
onnext
(if you figured out to RJ to the next marker in the first place 🤦)Given we're already collecting the RJ information, we should be able to store it to a global in
fb_globals
and automatically apply the pathflag and rjfields with a single command without needing to read output from a bprint.Anglehints for curljumps (
pathflag = a
) are similarly tricky to setup ... But in this case there's no output if you try completing the jump yourself, so you have to just kinda GUESS an angle withanglehint
and trial/error/pray.Hoping we can do something similar here to make this easier to work with.
Custom logic is in place for dm6 lg door (
func_secret
), and preventing the bots "desire" for armor when the doors are closed on povdmm4.Ideally we should make these features generic, and expose their use more appropriately in the editor so they can be applied to any map. Maybe by adding generic editor support for secrets/doors, we can also make dm2 supportable 🤞
Some people will probably still need a bit more 🤝 hand holding to use the bot editor, let's more fully document & tutorialize it's use so creators can add support for ktx bots to their maps without too much trouble
What maps would we like to have supported by default that are not currently supported? E.g.