Title: Bot (AI player) editor and generator Post by: Neon_Knight on June 04, 2019, 02:10:00 PM So, here's the situation:
OA/Q3 bots have quite the amount of attributes. And if that isn't enough, different skill levels may request different values for each attribute (for example, in skill 1 a bot plays like a noob, never uses weaponjumps and seldom uses the grapple, while in skill 5 it plays like a pro and practically uses weaponjumping and grappling in order to move across the map). Also there are up to three values per weapon (personal preference, accuracy and -for projectile-based weapons- skill). With that amount of values, it would be a good idea to have a bot generator. In order to make the tool simple and easy to use, it should request only two values per attribute, one expected when skill=1 (the "minimum", which in some cases would be the "maximum") and another expected when skill=5 (vice-versa). Values for skills 2, 3 and 4 should be calculated based in those two peaks. That way the bot would provide a better challenge depending on the chosen level of difficulty. Weapon and item weights (preferences) should be implemented independently from these attributes, as those remain constant throughout skills 1-5. Finally, for the chatlines, that may require a different generator. Leaving this before I start to think about it more often. And because someone surely have better ideas. PD: BoomBox is Windows-only and requires installation, so there should be a better, multiplatform alternative. Title: Re: Bot (AI player) editor and generator Post by: fromhell on June 04, 2019, 04:43:09 PM When I thought about this idea some months ago it would be within UI3 but i'm not too sure about writing .c files it can't do a pure check given that ease...
I do find making individual bot .c files a little tedious and would rather make one set of sliders and have the other skills modulate from that... Title: Re: Bot (AI player) editor and generator Post by: andrewj on June 05, 2019, 04:51:10 AM When I thought about this idea some months ago it would be within UI3 but i'm not too sure about writing .c files it can't do a pure check given that ease... If you're talking about an in-game editor, then you could skip the .c files and send the bot characteristics directly from client to the server via some new command(s) implemented in the game qvm.Quote from: Neon_Knight In order to make the tool simple and easy to use, it should request only two values per attribute, one expected when skill=1 (the "minimum", which in some cases would be the "maximum") and another expected when skill=5 (vice-versa). The current bots already skip skills 2 and 3, they don't exist in the .c files, they are interpolated from skills 1 and 4. You could in theory skip skill 4 too and just interpolate between 1 and 5 -- see BotLoadCharacter() function in game/ai_char.c |