Page 5 of 8 FirstFirst ... 34567 ... LastLast
Results 41 to 50 of 76
  1. #41
    μ

    Join Date
    Aug 2013
    Country
    Posts
    2,102
    Thanked
    822
    Thanks
    1,279
    hey. can't believe I'm only just seeing this, this looks awesome!

    the complex AI part looks really interesting but I wouldn't even know where to start with training a model based on gunz inputs. There are so many possible combinations with mouse and key movements that I can see it getting complicated very quick haha.

    to cut corners for the simple ai, would it be possible to reuse code from quest npcs? i have no idea what the gunz source code looks like though, so maybe looking at code written 20 years ago might not be the easiest thing in the world, let alone making changes to it!

    but honestly, it's so nice to see some community projects starting to surface. this is exactly what i come to these forums to see! best of luck with your project and I hope it doesn't hit any walls!
    Last edited by Shino; 01-20-2021 at 12:09 AM.

  2. #42
    TomasEdison's Avatar ✨ שָׁוִיתי ה' לנֶגדי תמיד

    Join Date
    Oct 2015
    Country
    Posts
    2,885
    Thanked
    2,089
    Thanks
    1,020
    Took a brief look at all of the updates I've missed in this thread recently, and must say it looks great!

    Good job & keep up with the hard work, Froop!


    “Every spirit builds itself a house, and beyond its house - a world, and beyond its world - a heaven.
    Know then, that the world exists for you: build, therefore, your own world”

    - "Nature" (Chapter 8), Ralph Waldo Emerson
    *Credits to GeorgeGFX for the Avatar picture!

  3. #43
    Junior Member

    Join Date
    Feb 2018
    Country
    Posts
    76
    Thanked
    136
    Thanks
    157
    Thanks for the encouragement fellas!


    Originally Posted by Shino View Post
    hey. can't believe I'm only just seeing this, this looks awesome!

    the complex AI part looks really interesting but I wouldn't even know where to start with training a model based on gunz inputs. There are so many possible combinations with mouse and key movements that I can see it getting complicated very quick haha.

    to cut corners for the simple ai, would it be possible to reuse code from quest npcs? i have no idea what the gunz source code looks like though, so maybe looking at code written 20 years ago might not be the easiest thing in the world, let alone making changes to it!

    but honestly, it's so nice to see some community projects starting to surface. this is exactly what i come to these forums to see! best of luck with your project and I hope it doesn't hit any walls!
    Yeah, the complex AI is a whole nother animal. It takes a team of seasoned developers to make anything decent (ie AlphaStar on Starcraft II), not to mention the high cost for constantly running the AI + many instances. More accurately, the vast majority of the high cost would come from training the bot, which takes exponential time and resources.

    The simple AI is more practical, but will be a whole nother project in of itself.

    As for the Gunz quest NPCs. They utilize a super duper simple AI; Path-finding using the A-Star algorithm, and when NPC is in range and "see" the target. Attack.

    I'm not using any AI for that "/bot follow" GIF demo I just posted. I just calculated a direction vector based on the player's and bot's position, and then set a velocity to the bot. It seems to be better than using path-finding in this particular case since the bot can follow you up walls and over pits.

    I'm hoping to allow people to build their own pseudo AI in-game.
    For example doing:
    /bot spawn
    /bot god
    /bot aim Tom
    /bot bf forward
    /bot counter 180

    Would yield a god-moded bot that butterflies towards Tom, and counters with a reverse massive if it gets one.

    Edit: Something like this.
    Last edited by Frooples; 03-19-2021 at 01:21 AM.

  4. The following user said thank you to Frooples for this useful post:

    A_Luckybox (01-20-2021)

  5. #44
    Junior Member

    Join Date
    Nov 2019
    Country
    Posts
    114
    Thanked
    35
    Thanks
    34
    can u guys give him a devp rank i never seen good work. i bet he can prob do alot more work into gunz the community gives the right feed back

  6. #45
    McSic's Avatar L e a d e r

    Join Date
    Dec 2007
    Posts
    8,957
    Thanked
    555
    Thanks
    7,971
    Reopened

  7. The following user said thank you to McSic for this useful post:

    Frooples (03-18-2021)

  8. #46
    Junior Member

    Join Date
    Feb 2018
    Country
    Posts
    76
    Thanked
    136
    Thanks
    157
    Spring break!

    • Upgraded /bot follow, set bot to stop when it gets too close, and tele to you if it gets too far.
    • Added /bot anchor [distance]. The distance is in body-widths. The bot teles back when it gets too far from its initial location. By default the distance is 0. /bot tp can re-anchor the bot.
    • Started to add recording.


    So there is potentially a huge upgrade from my initial plan for the bot if I can implement a custom record/playback mechanic. Hard coding turtling, bf, tbf, etc into the bot is a dumb idea. There are way more players that can do way crazier moves than me, so what if I just let them do it. I can then just stick to making things that replays can't do like /bot anchor or /bot follow.

    I'm thinking the bot will have a temporary cache that stores recorded actions. Players can load or record their own actions into the cache then play it. You could also save them permanently into a replay file and trade them! I want to see if I can add an option for the playback to ignore outputting mouse movements so the bot can use /bot aim instead. I also want to see if I can get the bot to playback random replays to simulate combat. This is going to take quite a bit of work, but give a pretty sizeable payoff.

    Edit: (This is mostly a note for myself.) I'm going to kill two birds with one stone here. I'm planning on having the bot manager be responsible for recording player inputs, storing them, and sending a copy to the bots. Whereas each bot will receive a copy of the player inputs, store them, and execute them. Since the bots would now be capable of storing and executing player inputs, they can also take and execute inputs from an AI.


    Also I'm trying to set up a testing environment to get server-sided bots, but got stuck. Does anyone know of a way to play 2 characters on the same local server? I was able to launch 2 clients and got 2 test characters in the same game room, but they see each other as AE. My MatchAgent is running fine, and I think my NAT is set up correctly? I couldn't find anything useful on RZ.



    Testing /bot counter and /bot anchor. Still needs work.
    Spoiler!



    Trying out /bot dispense. Where the bot would dispense hp/ap/ammo. Fun, but not necessary.
    Spoiler!



    Some old and misc images I had laying around.
    Spoiler!


    Last edited by Frooples; 03-26-2021 at 12:59 PM.

  9. The following 2 users say thank you to Frooples for this useful post:

    TomasEdison (03-19-2021), Victory (03-19-2021)

  10. #47
    Junior Member

    Join Date
    Feb 2018
    Country
    Posts
    76
    Thanked
    136
    Thanks
    157
    Spring break is over. You know the drill. Project is low priority again.

    To oversimplify how a Gunz replay works, a player starts a recording and starts k-styling; these actions are saved as a bunch of commands and its time of execution. There are different types of commands like slashing, flipping, etc... There is also a special command called basic info that records things like position, direction, velocity, etc... along with the current time of course. Well, at least that's my current understanding.

    I managed to get the skeleton of the recording mechanic going, although buggy. Player inputs and its relative time are recorded to a cache and distributed to all bots for playback. It currently only records slashes, flips, massives, and gunfire. It does not record basic info like position, direction, velocity, and animations yet (ran outta time).

    I would like to use relative positions, directions, and velocities after capturing the basic info. Then I would consider saving/loading the cache as a binary file.

    https://streamable.com/5vfxwz



    p.s. Is there a way to embed Streamable videos here? Youtube is too invasive for me.
    Last edited by Frooples; 03-28-2021 at 02:21 PM.

  11. The following user said thank you to Frooples for this useful post:

    Victory (04-10-2021)

  12. #48
    StephanM's Avatar 🌹

    Join Date
    May 2009
    Country
    Posts
    16,637
    Thanked
    1,735
    Thanks
    5,423
    Originally Posted by Frooples View Post
    Spring break is over. You know the drill. Project is low priority again.

    To oversimplify how a Gunz replay works, a player starts a recording and starts k-styling; these actions are saved as a bunch of commands and its time of execution. There are different types of commands like slashing, flipping, etc... There is also a special command called basic info that records things like position, direction, velocity, etc... along with the current time of course. Well, at least that's my current understanding.

    I managed to get the skeleton of the recording mechanic going, although buggy. Player inputs and its relative time are recorded to a cache and distributed to all bots for playback. It currently only records slashes, flips, massives, and gunfire. It does not record basic info like position, direction, velocity, and animations yet (ran outta time).

    I would like to use relative positions, directions, and velocities after capturing the basic info. Then I would consider saving/loading the cache as a binary file.

    https://streamable.com/5vfxwz



    p.s. Is there a way to embed Streamable videos here? Youtube is too invasive for me.
    So far I know the [VIDEO] tag support is for Hulu YouTube (Long), YouTube (Short), Vimeo, Dailymotion, Metacafe, Google, facebook & Facebook Shares


    Would be really sweet to see this bot being finished eventually : )

  13. The following user said thank you to StephanM for this useful post:

    Frooples (03-29-2021)

  14. #49
    Eminent's Avatar Teh OG Eminent PEW PEW

    Join Date
    Dec 2012
    Country
    Posts
    238
    Thanked
    6
    Thanks
    17
    This is cool, but now I see why people sit in training room all day.

  15. #50
    Junior Member

    Join Date
    Feb 2018
    Country
    Posts
    76
    Thanked
    136
    Thanks
    157
    Updated main post.

    - Added relative and absolute playback.
    - Added BasicInfo commands.
    - Upgraded /bot record and /bot play to be more robust.

    Recordings are really finicky. Some commands interfere with each other. Not to mention lost commands during playback and desyncing issues, which I suspect is due to locked semaphores. I gotta fiddle with this spaghetti some more.







    Edit:
    Added Experimental section to main post. Ok, I really have to stop procrastinating now.
    Last edited by Frooples; 04-07-2021 at 09:09 AM.

  16. The following 7 users say thank you to Frooples for this useful post:

    Amers (04-26-2021), Biblical (04-04-2021), Jonathan pls (04-09-2021), SENOR (04-04-2021), StephanM (04-04-2021), TomasEdison (04-04-2021), Victory (04-10-2021)

Page 5 of 8 FirstFirst ... 34567 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)