ID:137448
![]() Nov 19 2001, 6:07 am
|
|
Are there any plans for client side processing in the future of BYOND? Things like DerDragon's night vision idea or speech bubbles displaced so that the entire bubble is on screen for each person seeing it would be fairly simple and efficient if each client handled it's own subset of data. Producing all the nuances of such systems for each client quickly bogs down the server with redundant objects that each belong to only one client.
|
Yes, this is needed. When a client-side map does come out, make sure to have mouseover funcions with it! I would love to have little perks in my programs where buttens, etc light up when your mouse moves over them... but not to the entire world.
|
Deadron wrote:
We had an in-depth discussion about 3 months ago on the topic, and Tom came up with an idea for allowing a client-side map that would overlay the game map, and could be manipulated on a per-client basis, allowing fog of war and HUDs and such. Yes, I remember that discusion. I don't recall anything about it being client side, just client specific (leaving all the calculations to the sever and just showing the client the display). What I had in mind was sending a command like wordballoon(text,origin) and allowing the client to take care of drawing the box and filling in the bubble without drawing on any more server resources at all. |
Shadowdarke wrote:
What I had in mind was sending a command like wordballoon(text,origin) and allowing the client to take care of drawing the box and filling in the bubble without drawing on any more server resources at all. The problem there is that something has to decide to run wordballoon(), and the whole architecture right now has everything starting off from the server. I don't know, but I suspect that allowing for the client to run its own functions requires a radically different architecture than we have now. You end up having to have an event loop on the client and on the server, and syncing between them, and specifying which a function is supposed to run in... Seems very messy. [edit] If you really want this sort of thing, probably then you should use BYOND for your own client/server approach...that is, you have each player running their own instance of the game, and the instances are communicating with the server. You can do this now. It's how DragonSnot handles high scores and screenshot functionality. The one request I would have for this would be the ability to create a persistent connection between client and server. As it is, each request between them opens a new connection. |
Deadron wrote:
If you really want this sort of thing, probably then you should use BYOND for your own client/server approach...that is, you have each player running their own instance of the game, and the instances are communicating with the server. Right, I think this will be the easiest approach too. I don't know if client-side soft-coding is in any kind of future works (Mr. Dan will surely deny everything!) .. it is, as you noted, a major development. However, we will attempt to move certain common operations to that side as time and need permits. For instance, we've discussed having special icon-states (similar to the movement-state) that are invoked depending on the state of the mouse on the object (mouse-over, mouse-drag, etc). That way you could at least simulate button-presses and other gui events with little server overhead and implementation headaches. I think little things like this can go a long way. |
We had an in-depth discussion about 3 months ago on the topic, and Tom came up with an idea for allowing a client-side map that would overlay the game map, and could be manipulated on a per-client basis, allowing fog of war and HUDs and such.
It sounded somewhat ambitious, so I'm betting it's a 3.0 thing.