Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC | KTX Bot (frogbot) editor & map support updates #329

Open
7 tasks
inf1niti opened this issue Jan 1, 2024 · 2 comments
Open
7 tasks

RFC | KTX Bot (frogbot) editor & map support updates #329

inf1niti opened this issue Jan 1, 2024 · 2 comments

Comments

@inf1niti
Copy link
Contributor

inf1niti commented Jan 1, 2024

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.

  • There's no documentation explaining how to use the editor (within ktx or elsewhere).
  • Many of the editor commands are unclear (ie using botcmd savemarker to select a marker to edit/work with).
  • Some features are supported only with map-specific logic (more on this below).

These issues are preventing creators from adding support for new maps, or extending the bot-supported map pool.

Improvements

  • A top level help command (botcmd help)

typing botcmd or botcmd 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.


  • Add details on individual commands; Rename commands and flags for clarity

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).


  • Automate setting values for rocket jump paths

Setting the appropriate parameters on a rocketjump path is kludgey. Currently the process is as follows:

  • select start marker -> set path to next marker -> rj from start to next (rjflags casually bprints to your screen) ->type setpathflag r on next -> type rjfields <bprint #s> on next (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.


  • Automate setting values for curl jump paths

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 with anglehint and trial/error/pray.

Hoping we can do something similar here to make this easier to work with.


  • Genericize custom logic for doors/secrets, expose control to editor

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 🤞


  • Wiki page and/or video tutorial on using the bot editor

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


  • map support wishlist

What maps would we like to have supported by default that are not currently supported? E.g.

  • catalyst
  • phantombase
  • katla
  • zeit/zite
  • travelert6
  • ?
@tarbugre
Copy link

tarbugre commented Apr 7, 2024

support map end

@Any-other
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants