Thread: Void - 634

Page 1 of 12 12311 ... LastLast
Results 1 to 10 of 111
  1. #1 Void - 634 
    Renown Programmer
    Greg's Avatar
    Join Date
    Jun 2010
    Posts
    1,179
    Thanks given
    260
    Thanks received
    1,012
    Rep Power
    2003
    Last edited by Greg; 03-14-2024 at 04:43 PM.
    Attached imageAttached image
    Reply With Quote  
     


  2. #2  
    Registered Member
    Ebp90's Avatar
    Join Date
    Apr 2018
    Posts
    238
    Thanks given
    18
    Thanks received
    158
    Rep Power
    878
    Good luck Greg
    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    Renown Programmer
    Greg's Avatar
    Join Date
    Jun 2010
    Posts
    1,179
    Thanks given
    260
    Thanks received
    1,012
    Rep Power
    2003
    Catch-up

    Continuing on from my last project I realised that bot decision making itself is relatively straightforward compared to representing the game world in an ai friendly manor. Here's the things I've been experiementing with since then.


    AI Architecture
    Lots of research and experiments, this example here is a bot utilising goal-oriented-action-programming, it's nice to use but has memory scalability issues and it's essentially pathfinding which is expensive enough as-is.

    Attached image

    I've sebtled on a utility scoring system where everything will be aggregated down to 0.0 - 1.0 values, although applying curves can be tricky from a content design perspective, the system itself is fast and really flexible.

    World Representation
    As a player this is easy as you have a giant corpus of information you've stored from past experience or can easily lookup on the wiki.
    For example for a slayer task to kill dragons you know:
    * the wilderness spots are dangerous for pkers
    * if your low level baby dragons are easy to kill than regular, and metal dragons are harder than that.
    * going to brimhaven dungeon requires an axe and 12 agility
    * it's quicker to use an amulet of glory for getting to brimhaven than chartering a ship

    For a bot all this information needs to be stored in memory which entails having the entire world, objects, npcs, collision etc.. loaded at once

    Path finding
    First I looked at the feasability of doing long distance pathfinding, I built 2d a map viewer which loads collision data as well and wrote and tested various pathfinding algorithms to see how long it takes to generate paths between two points marked on the map,
    Using the longest path I could think of without any doors (castle wars to burthorpe) an exact a* path took 347ms which was to be expected (bfs was several times slower than this), I used it as the base and compared against multiple variations of hierarchical a* which searches a pre-generated abstract (almost navmesh looking) graph.
    However even those only solve the path in 6.6ms which is great, but not 2k players in 600ms great. JPS+ possibly could give better results given the sparseness of rs maps but I decided that I'd gone far enough to test the feasibility of full path generation.

    Attached image

    Generation

    I moved on to abstracting the map instead, a bot can use the same walking mechanics given to a player, it _just_ needs to know approximately where it's going. By that point I could already generate abstract maps of all walkable areas but it doesn't take into considerations like agility shortcuts, lever teleports, doors, ladders, and all of the requirements which a bot might not have to do those things.
    So once again I tried tackling generating this data with varying levels of success:

    Doors/gates
    Matching open/closed doors and gate ids was relatively straight forward by matching object definitions, there was less than a thousand doors in total for 667. I did get distracted and did the same for tree stump id's, and well we all know how that went.

    Ladders/stairs
    Using, ironically enough, the utility ai to match the bottom of ladders with the tops it found 2445 teleports (a ladder being two; one up, one down) in total, 231 with a match but confidence less than 50% and 11 it had no idea about.
    Attached image
    The results aren't perfect but 90% coverage is pretty good.

    I was going to do the same for dungeon entrances and exits but I decided that as all the data needed to be checked, and additional information added (theiving levels to pick locks etc..), it'd be better to have an editor and gradually expand the supported area alongside the development of content than tackling the entire game world in one go.

    Map

    The original map viewer I had made was pretty slugish and used a tonne of ram to render on the fly so I split it up into a render script and rewrote it as a tiled png viewer with better performance as well.
    This one doesn't have all the pathfinding weighing it down and I also added support for teleport links, adding/editing data to links, and drawing out area polygons.
    Attached image

    Attached image

    Attached image


    File server
    While messing around with getting 634 up and running I decided to write a high performance file-server, initially experimenting with writing raw NIO I settled on ktor's CIO (coroutine suspending NIO) library, it's very nice and massively simplifies traditionally complex networking logic like handshakes.

    Anyway, it's a library and it seems to perform quite well too.
    Attached imageAttached image
    Reply With Quote  
     

  5. Thankful users:


  6. #4  
    Registered Member
    Tyluur's Avatar
    Join Date
    Jun 2010
    Age
    26
    Posts
    5,103
    Thanks given
    1,818
    Thanks received
    1,767
    Rep Power
    2438
    Looking quite remarkable. Like a top goat. Fill the void Greg!!!
    Can we expect pest control any time soon?
    Quote Originally Posted by blakeman8192 View Post
    Keep trying. Quitting is the only true failure.
    Spoiler for skrrrrr:

    Attached image
    Reply With Quote  
     

  7. #5  
    DESIGNER

    Lynch's Avatar
    Join Date
    Feb 2016
    Age
    25
    Posts
    235
    Thanks given
    35
    Thanks received
    343
    Rep Power
    5000
    Sounds interesting cant lie, good luck with this Greg!
    Reply With Quote  
     

  8. #6  
    'Slutty McFur'

    Owain's Avatar
    Join Date
    Sep 2014
    Age
    26
    Posts
    2,894
    Thanks given
    2,360
    Thanks received
    2,200
    Rep Power
    5000
    Best of luck, hopefully we get to see those beautiful tree stumps put to use in this too!


    Spoiler for wat:
    Attached image
    Attached image

    Attached image


    Reply With Quote  
     

  9. Thankful users:


  10. #7  
    Registered Member
    Optimum's Avatar
    Join Date
    Apr 2012
    Posts
    3,570
    Thanks given
    871
    Thanks received
    1,745
    Rep Power
    5000
    Looks promising, good luck

    Quote Originally Posted by DownGrade View Post
    Don't let these no life creeps get to you, its always the same on here. They'd rather spend hours upon hours in the rune-server spam section then getting laid! ha ha!Its honestly pathetic i haven't seen so many lowlifes in my life its actually insane i wish that this section would just vanish its probably the only way to get these people out of the community...
    PLEASE BE AWARE OF IMPOSTERS MY DISCORD ID: 362240000760348683
    Reply With Quote  
     

  11. #8  
    Registered MrClassic
    MrClassic's Avatar
    Join Date
    Oct 2008
    Age
    15
    Posts
    2,063
    Thanks given
    24,154
    Thanks received
    551
    Rep Power
    5000
    Good luck Greg!
    Reply With Quote  
     

  12. #9  
    ⚔️ Battle614 - Superiority ⚔️

    Battle614's Avatar
    Join Date
    Aug 2020
    Posts
    243
    Thanks given
    72
    Thanks received
    472
    Rep Power
    803
    Good luck, looks dope

    Attached image
    Reply With Quote  
     

  13. #10  
    Community Veteran

    mige5's Avatar
    Join Date
    Aug 2008
    Posts
    5,528
    Thanks given
    573
    Thanks received
    1,410
    Rep Power
    2114
    GL, nice to see more singleplayer projects with bots.
    Number of page #1 releases with most views & posts: (Updated: 2023)
    RS2 server section: 1
    RS2 client section: 2
    Reply With Quote  
     

  14. Thankful user:


Page 1 of 12 12311 ... LastLast

Thread Information
Users Browsing this Thread

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


User Tag List

Similar Threads

  1. Replies: 33
    Last Post: 04-19-2008, 05:48 AM
  2. Replies: 8
    Last Post: 12-13-2007, 06:47 PM
  3. Rune-Void v2.0 No Hamachi
    By haz425 in forum RS2 Server
    Replies: 0
    Last Post: 11-11-2007, 05:28 PM
  4. adding a void for runecrafting
    By fabjan in forum Tutorials
    Replies: 6
    Last Post: 10-20-2007, 06:08 PM
  5. Message to Mods and Admins Void!
    By Pkitten in forum Tutorials
    Replies: 6
    Last Post: 08-14-2007, 10:31 PM
Tags for this Thread

View Tag Cloud

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •