Jump to content

Josh

Staff
  • Content Count

    16,322
  • Joined

  • Last visited

Posts posted by Josh


  1. I was thinking about power-ups, and if you have room full of them , you don't want the bot randomly going to each one. What you should do is first check for all powerups within a certain radius of the player, then trace a path to them with FindPath(). If the total path length is much longer than the direct distance, discard it, because you can assume it is out of reach or on the other side of a wall or something. Find the nearest powerup, by path length, not by simple distance, and move to that. Once you get there, repeat the process.

    This will make the AI scoop up powerups in a manner that looks more natural and is more efficient than just randomly going after them.


  2. The power-up situation is interesting because it is a subroutine. Once that task is complete, the player goes back to whatever they were doing before, whether it is patrolling or fighting.

    Pathfinding will soon be available in the new engine so at that part we can start experimenting with this.

    There are two ways I can think of that we can handle the patroling. Recast has a FindRandomPoint() function I am integrating. So patrolling could just amount to find a random point in the navmesh, go there, then find another.

    The other way is to add "breadcrumbs". They don't have to be linked together and they don't require a clear line of sight, but they give the bot some points of interest they can travel around to. Perhaps powerups, weapons, and breadcrumbs could all be treated as potential destinations.

    Ideally I would like to avoid a situation where the AI gets to their destination and then doubles back on their path, because it would just look unnatural. But I don't want to make things to complicated either.


  3. The beta includes an example of a coroutine sequence. I think maybe this could be developed into the sort of system you are talking about.

    The base routine would be patroling, which consists of:

    • Choose a random point on the map.
    • Navigate there.
    • Repeat.

    There are three events I can think of that would interrupt this behavior.

    • Bot sees a powerup they like.
    • Bot sees a player they don't like.
    • Bot is shot by someone who doesn't like them.

    Each of those events would cause the behavior to branch off into a different coroutine sequence.

    Perhaps the entire bot AI can be defined in the Start function as a series of coroutines, and the Update() function won't be used at all.


  4. One player class? Yeah.

    I'm aiming for 1000 lines of code, maximum, and to keep it as simple as possible. The idea is to make a core game that is very easy to understand, and then let people go crazy adding whatever they want to it.


  5. On 3/14/2018 at 11:07 PM, Nangil said:

    robot.thumb.png.3aef7106b6713b9a5971586a0657ccf2.png

    Coming back to this after quite some time, this model seems pretty ideal, minus the swords. I can't think of any other style that isn't "annoying" or discordant. However, the white areas should really be the colored parts, for better visibility. Then we can either swap textures or make a custom texture that makes one character that is mostly blue, mostly red, etc.

    The feet make it obviously human, so this goes along with more of a theme of an athletic event, so maybe we go with a sort of "E-Sports" angle like I was saying with this:

    SNES Super Smash TV Replacement Box and Insert NO Game | Etsy

×
×
  • Create New...