The original, free Ace of Spades game powered by the Voxlap engine. Known as “Classic,” 0.75, 0.76, and all 0.x versions. Created by Ben Aksoy.
-
LeCom
-
Marisa Kirisame wrote:LeCom wrote:I'm thinking of some kind of packet to modify memory. You may think "omg this is dangerous af" now (especially if you're a C user), but checking the packet for valid values needs only a few simple lines and isn't a problem actually.
If you're taking that approach, you might as well write a VM. ...
That would be too complex. I was only referring to changing memory in the object/player/team arrays or certain structs, not in the whole client program itself. This adds in almost full flexibility without having to script things in the client. Maybe a few if-else things, like "move object until it hits something" to save reduce net usage and prevent laggy animations.
Marisa Kirisame wrote:
LeCom wrote:Another concept I thought of is something I had in VXW: a very close connection between server-side objects and the netcode. Basically, you have the Python objects on the server, then you modify them, and finally the server code does all the packet sending stuff. The server then uses the memory access packet to update any changes done to the object.
What Quake 3 does is it provides a struct, compares the values against a previous version, and sends the bytes that are affected. So kinda like what you're suggesting, but more C-like.
Yes, something like that. For simiplicity, the net code code could create a byte sequence, compare to the previous one, and then send a packet with the differing bytes. Changes to the object structure after an update would only need the packet byte creator to be modified.
Who is online
Users browsing this forum: No registered users and 31 guests