196 Matching Annotations
  1. Apr 2025
    1. .4 Accuracy

      This section is a nice add-on but leaves me wanting more.

      Sure, the # of object stayed the same. Can you somehow verify that the objects paths/velocities behaved as if it were a single node?

    2. Figure 6.5

      Again, might be nice to have the graph also show a single node server's performance to compare and contrast in the same graph.

      Also, it's very similar to the # object graph. This could be noted. Or could be side by side to show similarity?

    3. effectively quantifies the ”du-plicated space”

      It doesn't effectively quantify the 'duplicated space'.

      It quantifies the duplicated space ...

      No need for effectively or inverted commas for no reason.

      (or I'd prefer quantifies the multiplier on space associated with...)

    4. 0.1 (meaning boids make decisions with 90% of the information they wouldhave in a non-distributed system

      This relationship is unclear to me. Is it just 1 - acc ? Please define it much more clearly and not in parenthesis

      It also seems to me like you've inverted the implied defn from above. If 1.0 is perfect accuracy then why is 0.1 good? Unless these are different accuracies (I think they are) in which case you should keep it consistent.

      This could also be in the main section. I would define it briefly in the main paper (e.g. We use the increased amount of space covered by nodes associated with using Distributed Worlds on a square grid as an estimate of the increased computational cost.) Then link to a detailed formula here. It was too vague in the main section

    5. ost multiplier is determined by calculating theratio between the total area covered by all node

      This is just the duplicated area? Stating that this corresponds to a computational cost multiplier would assume that objects are distributed uniformly in space. This assumption should be stated - and that therefore this is just an estimate of the true computational cost multiplier at any given time.

    6. gin as a p

      You need to state more about the experiment. I couldn't reproduce it from this. I'd need to know node boundary shapes - squares? or hexagons? or something else? and # of nodes, # of boids, boid params etc. This could go in the appendix of you like, or even a link to a Github repo - but it's got to be in there somewhere.

    7. oid decision-making approaches 1.0 (perfectaccuracy)

      How are you measuring this? I know you define it later but this should be up front and clear.

      Also - does it approach 1? Surely at 100% node size, the boids are only aware of all boids in this node or neighbouring nodes - not ALL boids.

    8. By manipulating these parameters, boids can be made to naturallyrepel one another to spread themselves evenly in the world

      Maybe a figure showing boids in a world earlier in the paper?

    9. of gam

      Shouldn't the percentages always add up to 100?

      Ah caught your expln later, but it'd be nice to have it mentioned earlier - particularly as what the y-axis represents depends on your defn of 'processed'. I think you mean that an object is visible rather than just owned - but this is not clear until I have to figure it out from the context later

    10. duration of nodes as totalnumber of objects with

      Could have this and prev one be the same plot for one-to-one comparison? Only if it clearly demonstrates the desired point of course

    11. ution

      Again, percentages should add up to 100?

      I feel like the effect is harder to see as the processing on different servers spikes at the same time seemingly? If you could show just relative portion of total processing (i.e. it always adds up to 100%), then we'd see that the nodes are not stable in their share of total processing power? This plot makes it hard to see

    12. Distributed Worlds

      I like simplicity, but it doesn't tell the reader much? And isn't it more a 'Distributed World', as the idea is that there's only one world?

    13. he aim of splitting the world between different computer systems is to split the num-ber of objects evenly between the nodes

      Is it really? I'd rather you introduce this as a new ideal goal in order to maintain even and stable performance across nodes.

    14. o overcome this hardware limitation, con-tinuous portions of the world are delegated to separate computer systems (nodes) thatare responsible for processing the objects within their respective regions

      You don't need to redefine and reintroduce notions you've spent the previous chapter explaining

    15. ypical video game engines must limit the num-ber of objects within their game worlds as beyond a certain number, the hardware thegame engine is running on prevents it from processing all updates within the 16.66mstime window required to maintain 60FPS.

      clunky sentence

    16. st, they are especially importan

      Again, don't need to state. Just state

      In this chapter, we study the empirical performance of the Distribute Worlds system to demonstrate its viability as a novel game engine architecture.

    17. All processing for inputcontrols, whether it’s triangulating VR controllers or using a joystick on a controller,should occur on the client side, and the signal sent to the connected nodes should becleaned and simplified as much as possible

      Rework long sentence

    18. This optimisation cangreatly reduce the amount of data needed to be sent to the client each frame, especiallyin worlds with many objects which only change their state occasionally

      Can you show this empirically?

    19. This means that the number of connections needed to maintain the sharedareas is less

      this may be true but I'm not sure you've quite shown it.

      You've just stated that hexagons minimise are and have 6 neighbours. Why does it directly follow that they minimise # of connections needed to cover a fixed area? I feel like it'd be kinda tough to prove that.

    20. Therefore, the programming language used to implement this system must beable to easily express asynchronous function calls and I/O operation

      More meaningful discussion of alternatives? If it doesn't really matter that you picked TS, then that's fine too

    21. Throughout chapter 4, new systems and designs are introduced to allow multiplayergame worlds to be scaled across multiple servers without introducing an interactionbarrier.

      This should be at the start of chap 4, not here

    22. is permanentlydisconnected, and the player object can be removed from the game world

      it is safe to remove the player object from this node?

      not from the entire game world. I don't think you defined game world in the way you mean here anywhere.

    23. igure 4.2 shows theDistributed Worlds network topology when many clients are connected, and the worldis scaled across multiple nodes to cope with demand. This can be compared directly tothe earlier figure 3.1 where to scale the backend, it was nec

      I want more explanation rather than merely deferring to a figure

    24. Figure 4.2: Despite high demand from many connected clients, multiple servers can beused to spread the load without creating an interaction barrier

      I think this figure would be more powerful side by side with the earlier one somehow. With a direct comparison in the caption.

      Maybe have this much earlier? It makes the ideas you later introduced a bit more concrete.

    25. game

      Perhaps mention that this logic could be abstracted away if it were a sort of game engine, where the engine manages duplicated message sending and the user (game dev) just manages input message sending and position handling.

    26. player

      Would it not suffice to send input to any nodes which the player is very close to? Rather than EVERY connected node? This distance could be dependent on the maximum velocity in the game

    27. 4.2.1 Node boundaries and margins

      Worth having a para on the fact that in 2D systems, you can use congruent squares as in Figure 4.1 but that your architecture generalises to any configuration e.g. hexagons, cubes in 3D or any shapes.

      Also worth mentioning that the entire game world must be covered by nodes?

      Such that your architecture allows for any collection of nodes whose union of boundaries covers the entire game world. And that the boundaries must be pairwise disjoint.

      For example, a single node architecture fits into this conception.

    28. The create player request performed by the clientis just a necessary separation of a single existing step which already takes place onexisting single-node system

      To make this tighter, I'd define the two (?) step process of player creation requests more explicitly. Then say something like,

      In traditional, single-node systems the player creation request is done a single step.

      Also, you could have stated somewhere earlier that traditional architectures can be thought of as a single node. I.e. your architecture is, in a way, more general. It's a nice conceptual connection.

    29. could instead be connecting to the node to view objects in this node on behalf of anexisting player in another node

      This isn't obvious to me. Is this the malicious message you're on about below?

    30. .3 Clients (frontend)

      The paragraphs in this section felt a bit disconnected. Maybe some inline bold subtitles could help? Or qualify that you cover it chronologically at the beginning of the section?

    31. For this project, the goal is to demonstrate that a client for the Distributed Worldsengine can be built and has comparable performance to clients using traditional serverarchitecture

      This feels a little like a redefinition of the goals previously stated in terms of client FPS

    32. If the object continues to travel deeperinto the new node whilst the previous node continues to process its updates, then thegame engine cannot accurately process the object because it is not aware of all of thenearby objects on the other node

      This seems like a secondary reason to me? Don't you want to do this to maintain that nodes own ONLY the object within their boundaries? I.e. localisation of ownership.

    33. The size and position of each node’s section of the world are defined by the nodeboundary

      I would connect the boundary defn more directly to the previous paragraph. In fact, I'd define boundary in the previous paragraph without using needing to go via the word section - it's unnecessary. And then define the margin in one paragraph.

    34. A margin around a node’s boundary defines an area in which all the objects in themargin must be known to the node

      Bolding margin twice seems unnecessary to me.

    35. Figure 4.1: Diagram of neighbouring nodes. Overlapping node margins are shown tocreate shared areas between neighbouring node

      I like this diagram. The node-to-node connection arrow seems a little vague to me though.

    36. An example of this would be if an object were increasing a counterin each frame. If two nodes begin processing the update for this object each frame,then the counter will increase twice as fast as it should.

      Is this true? What if the counter were updated independently on each machine? Obviously, they might not align perfectly with more complicated calculations and isn't practical, I'm not just sure that what you're asserting is necessarily true.

    37. .1.1 The Boids Program

      Given that you then use this as an experiment, I would make that clear upfront. Why do you talk about this? Either now or later I'd a sentence or two justifying why you used boids as a simple experiment to demonstrate limitations. Why not another model?

      Otherwise, it feels a little out of place.

    38. re 3.1: High demand from many connected clients necessitates the use of multipleservers, which creates an interaction barrier between worlds, isolating players

      This doesn't quite do it for me - It's just a sentence. It should link to what you can see in the image a bit more directly, and then how you come to that conclusion.

    39. To meet the goal of elastic scaling and handling large amounts of traffic from manyplayers, it must be possible to add more compute power to the system to cope withdemand. To be able to do this, the game world first needs to be broken down intoscalable units called nodes

      This isn't strictly true. You could vertically scale. I think you could substantiate the second sentence more precisely to reflect this.

    40. ependingon their position

      This only makes sense to me because I already know roughly how it works. This line might leave me confused if I didn't already know

    41. The functionality of scaling the world is then entirely contained within the DistributedWorlds system.

      This sentence is a bit meaningless to me. Isn't the scaling of of any game world contained within its system? I think I see what you're trying to say but could reword this. I think my confusion mostly comes from the term Distributed Worlds system. It isn't well defined to me.

    42. Althoughthis dissertation aims to prove that the performance of large-scale multiplayer gamescan be greatly improved, it will not develop a commercial video game

      Rephrase:

      This work focuses on proving that ... but does not implement a video game.

    43. Client downtime to change servers

      Cap?

      I think this section would be made more concrete with an example of a video game where it is common practice for players to do this

    44. 3.2.1 Number of Objects

      This section could just be one tighter paragraph I feel.

      I would just make it one paragraph about 3.2. It also feels like introducing the notion of 60FPS being the gold standard for your testing shouldn't be here either.

    45. cts in a video game world is limited by theperformance of the computer processing that worl

      So? Sentence feels a little out of place. Make it make sense in this para

    46. This means that this game world can handle no morethan ≈ 1200 objects

      Slightly too repetitive. Maybe 'We interpret this as meaning that the game world can handle...'

    47. his

      No need for a 'this' here. I would just say : Therefore, the requirement for all testing conducted is that the game must run at at least 60 FPS to be considere ...

    48. 2.1

      Missing parenthesis? You can use latex \ref{section} to reference a previous section which has a \label{section}, creating a clickable link and automatically inserting the correct number

    49. To demonstrate the limitations of traditional multiplayer server architecture, a simpleimplementation of a multiplayer game engine is created to benchmark these existinglimitations.

      This sentence is hard to read

    50. Thismeans that the maximum number of people in a single game world is still limited, butthere are many separate, disjointed worlds

      This whole sentence doesn't quite track to me. The 'but' particularly throws me off

    51. oad balancing between them, as described abov

      You didn't mention load balancing above. You just mentioned using multiple servers. I only state this to create a more directly link.

      Also, a comment from Amos on the little feedback he's given to me is that 'as above' is lazy.

      Perhaps a reference here would be good.

    52. Components that benefit most from spatialpartitioning include collision systems, visibility culling systems, audio propagation,and AI perception systems—essentially any system that needs to efficiently identifyobjects within specific spatial region

      Any system that needs to efficiently identify objects ... benefits significantly from spatial partitioning. Such system include ...

    53. Game engines typically address this challenge through variousoptimisation strategies, such as component update scheduling, spatial partitioning tolimit updates to relevant objects, or data-oriented design approaches that organise com-ponents for cache-friendly memory access

      Got a citation for this?

    54. This dissertation

      This shouldn't be how you start the diss. Something more like

      The fundamental limitations of traditional multiplayer game architectures ...

    Annotators