Page 1 of 2 12 LastLast
Results 1 to 10 of 20

Thread: Distributed AI Processing

  1. #1

    Distributed AI Processing

    I have been mulling this over for a while and figured I would put out a feeler thread to see how much time I should invest into it, so here it is.

    Since player controlled AI is process entirely on the players machine, the actual server does nothing but synchronize clients and hits, etc. This is a commonly known fact.

    The trick I am looking to implement is to build a framework that would allow dummy clients on multiple machines to connect to COOP multiplayer games and process and direct the AI, freeing up the main server to solely handle sync.

    I think this could allow a massive increase in player counts in COOP missions, most likely doubling them.

    If there is any interest in this please let me know.

    If you have any questions feel free to ask, I have a lot I would like to expand upon, but am too lazy to do so right now!

  2. #2
    Gunnery Sergeant Wolffy.au's Avatar
    Join Date
    Sep 29 2008
    Location
    Sydney,Australia
    Posts
    545
    Yeah, you and I discussed this a while back. I'm in - have already got notes about it in my handy-dandy notebook.

    Ready to setup a test mission when you are!

  3. #3
    Sergeant Major Defunkt's Avatar
    Join Date
    Apr 13 2008
    Location
    Christchurch, NZ
    Posts
    1,732
    Interesting idea. What would be very cool is if you could create a dummy DirectX device which these additional clients would be content to address so you could run mutiples on multi-core machines and on standard server hardware (the type located in a data centre) - potentially in the same data centre the server is located in or on different cores of the server itself

  4. #4
    Sergeant Major NouberNou's Avatar
    Join Date
    Jul 6 2009
    Location
    Tacoma, WA
    Posts
    1,942
    Author of the Thread
    Quote Originally Posted by Defunkt View Post
    Interesting idea. What would be very cool is if you could create a dummy DirectX device which these additional clients would be content to address so you could run mutiples on multi-core machines and on standard server hardware (the type located in a data centre) - potentially in the same data centre the server is located in or on different cores of the server itself

    Actually, I noticed something today that if you defocus arma 2 while as an MP client it will stop running all of its rendering loops, at least on the CPU level. I noticed this while running two clients at the same time.

    AI processing with 100 AI on each core only took up about 20-40% of CPU on that core depending on what they are doing.

    There is a lot of room for exploration here, and its definitely interesting.

    Now to get BIS to allow multiple instances of ArmA2 to run on a single client and not cause copy protection to trip!

  5. #5
    Sergeant Major Defunkt's Avatar
    Join Date
    Apr 13 2008
    Location
    Christchurch, NZ
    Posts
    1,732
    Well there are ways this could be achieved, WINE for instance has open source DirectX > OpenGL wrappers which could be bent to the purpose (don't actually make the translation just pretend to be a functioning DirectX device). That said, it would probably be much, much easier for BIS to simply add a -nodirectx command line parameter and just not make the calls. I'm sure lots of groups would be very happy to purchase extra licenses to achieve this additional capability.

  6. #6
    Sergeant Major NouberNou's Avatar
    Join Date
    Jul 6 2009
    Location
    Tacoma, WA
    Posts
    1,942
    Author of the Thread
    I agree.

    The best part about this project is that its, from a coding standpoint, mostly there already. The most work would be probably automatizing dummy client connections to the server.

    The rest is wrapping the high command grouping commands and making them follow waypoints.

  7. #7
    Gunnery Sergeant Wolffy.au's Avatar
    Join Date
    Sep 29 2008
    Location
    Sydney,Australia
    Posts
    545
    The notes I have are based around spawning AI from a connected dummy player, so that the spawned units remain local to the connected player and only positions info is passed to the server.

    I am yet to do any tests, but I figured this would be the quickest way to segregate and localise processing away from the dedicated server.

  8. #8

  9. #9
    Gunnery Sergeant Wolffy.au's Avatar
    Join Date
    Sep 29 2008
    Location
    Sydney,Australia
    Posts
    545
    Quote Originally Posted by PvPscene View Post
    Its a similar issue (but the reverse of what I'm suggesting) - I'll see if I can whip up a prototype to confirm if its possible or suffers from the same issue.

  10. #10
    Sergeant Major NouberNou's Avatar
    Join Date
    Jul 6 2009
    Location
    Tacoma, WA
    Posts
    1,942
    Author of the Thread
    Quote Originally Posted by Wolffy.au View Post
    Its a similar issue (but the reverse of what I'm suggesting) - I'll see if I can whip up a prototype to confirm if its possible or suffers from the same issue.

    No, I experimented some more and it starts to effect all clients...

    This is rather stupid, and I am failing to understand why it is done this way since so much stuff is local dependent (such as the hit only being calculated from the person who fired/created the round).

Page 1 of 2 12 LastLast

Posting Permissions

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