Comments on: Interest management for multiplayer online games https://www.dynetisgames.com/2017/04/05/interest-management-mog/ Tue, 30 Jan 2018 21:45:22 +0000 hourly 1 https://wordpress.org/?v=5.8.10 By: Flavius https://www.dynetisgames.com/2017/04/05/interest-management-mog/#comment-59 Wed, 02 Aug 2017 22:27:00 +0000 http://www.dynetisgames.com/?p=310#comment-59 Ah yes, the good old player zones. It is interesting to see it be broken down and explained in depth. Another great article Jerome!

]]>
By: J茅r么me Rx https://www.dynetisgames.com/2017/04/05/interest-management-mog/#comment-51 Sat, 22 Jul 2017 17:15:00 +0000 http://www.dynetisgames.com/?p=310#comment-51 In reply to Zach Bluedorn.

Hi Zach, thanks for the nice feedback!
Unfortunately I don’t really know unified resources about game dev in general, except maybe the videos of the talks from GDC (https://www.youtube.com/channel/UC0JB7TSe49lg56u6qH8y_MQ and/or http://www.gdcvault.com/). Some talks are awesome and very instructive on specific aspects, some talks are less interesting, but there are definitely good things to find there.
In addition, I can cite a few books about game AI, if you are interested. To be fair, I’m sure there are good books about general game dev, but I don’t have personal experience with one.
Other than that, the way I learned was by intense trial & error and googling. Working with a game engine/framework (such as Phaser) is also useful in that respect, because existing engines tend to follow the best practices of the field and allow you to grasp better how all the moving parts of a game fit together.
If there are specific topics on which you don’t find satisfying information, don’t hesitate to let me know, if I feel qualified I can try and write a post about it. 馃槈

]]>
By: Zach Bluedorn https://www.dynetisgames.com/2017/04/05/interest-management-mog/#comment-49 Fri, 21 Jul 2017 03:18:00 +0000 http://www.dynetisgames.com/?p=310#comment-49 Hi Jerome, I’ve really enjoyed reading your articles – you have a knack for explaining the big picture clearly without getting bogged down in the details. I’m just getting into game development, and was wondering if you had any recommendations for where I can learn about game dev theory in more detail? Are there any good books on this sort of thing?

]]>
By: newapp https://www.dynetisgames.com/2017/04/05/interest-management-mog/#comment-47 Mon, 03 Jul 2017 11:03:00 +0000 http://www.dynetisgames.com/?p=310#comment-47 In reply to J茅r么me Rx.

In that sense it is similar. But even with no obstacles the player needs to know the status update of everything around it because a) it is moving constantly, or accelerating. b) the environment around it can change rapidly, for example, a large amount of foods are spawned and quickly eaten by someone else.

I don’t divide the map into grids because I think changes are too often and I don’t want to end up checking too many adjacent grids. I am using spatial hashing + radius to cull the elements now.

]]>
By: J茅r么me Rx https://www.dynetisgames.com/2017/04/05/interest-management-mog/#comment-46 Mon, 03 Jul 2017 06:40:00 +0000 http://www.dynetisgames.com/?p=310#comment-46 In reply to newapp.

For this, it seems to me that interest management (IM) based on rectangular areas would be perfect, wouldn’t it? Typically these games don’t have visual obstacles, so vision-based interest management would boil down to determining what is on the screen, which is then similar to area-based IM.

]]>
By: newapp https://www.dynetisgames.com/2017/04/05/interest-management-mog/#comment-45 Mon, 03 Jul 2017 00:41:00 +0000 http://www.dynetisgames.com/?p=310#comment-45 In reply to J茅r么me Rx.

I am writing a agar.io/slither.io type of game. Unlike Phaser Quest. every entity in my game can change its status. A player can spawn at a new place and can be killed anywhere on the map. New food will respawn everywhere and some flying objects (or we call NPCs) will be wandering across the entire map randomly. The only thing that doesn’t move is the food entity but when a food is eaten it disappears on the map.

]]>
By: J茅r么me Rx https://www.dynetisgames.com/2017/04/05/interest-management-mog/#comment-44 Sun, 02 Jul 2017 18:39:00 +0000 http://www.dynetisgames.com/?p=310#comment-44 In reply to newapp.

Yes the approach you describe is often used but can be very tricky, and also quite expensive. What kind of game are you making? It might be worth comparing the benefits of your approach and the benefits of mine. Mine will cull less game objects, but it’s a breeze to implement, which is nice (and for a top-down game such as Pahser Quest, vision-based culling doesn’t make much sense anyway). If the result is good enough, a simpler solution may sometimes be preferred.
Also, this one can go hand in hand with a chunk map management system, where on the client side you only load “chunks” of the whole game world that are relevant to the player (I’ll write something on that soon).
I don’t have direct experience with vision-based interest management, so unfortunately I wouldn’t be able to write a good article about it!

]]>
By: newapp https://www.dynetisgames.com/2017/04/05/interest-management-mog/#comment-43 Sun, 02 Jul 2017 17:13:00 +0000 http://www.dynetisgames.com/?p=310#comment-43 Thanks for sharing this interesting article. A few months back I was searching articles about this topic for my game but I couldn’t find many. So I implemented a vision-based interest management which has many more computations. I have to check every nearby entity of every player before I send out each player’s update. It is very easy to make mistake in the implementation. And I think doing so slow down my game server a lot. Hope you will write an article to talk about this if you have experience.

]]>
By: nk01 https://www.dynetisgames.com/2017/04/05/interest-management-mog/#comment-42 Thu, 22 Jun 2017 01:05:00 +0000 http://www.dynetisgames.com/?p=310#comment-42 In reply to J茅r么me Rx.

Diablo 2 was plagued by a program called MapHack, which showed the location of other players on the map (as well as monsters, loot, etc).

]]>
By: J茅r么me Rx https://www.dynetisgames.com/2017/04/05/interest-management-mog/#comment-24 Sat, 06 May 2017 20:14:00 +0000 http://www.dynetisgames.com/?p=310#comment-24 In reply to nk01.

Yes it can, but only to a certain extent. Simply obfuscating the data exchanges is never sufficient in terms of hacking prevention, you need the server to validate absolutely everything that the clients send to be sure. Once this is the case, it doesn’t really matter anymore if the players can see all the data that is exchanged.
This is something I haven’t covered yet, but I might in the future!

]]>