Settings

Theme

The Software Architecture of Palia

singularity6.com

87 points by jaaron 2 years ago · 13 comments

Reader

jaaronOP 2 years ago

A survey of all the services, components, libraries and languages that went into building Palia: a cozy MMO.

derelicta 2 years ago

I did expect MMOs to have fairly complex architectures but damn. I have nothing to compare it against but it still makes me slightly dizzy.

  • net_ 2 years ago

    For 25-player lobbies and some persistent state, I can't help but feel it's over-engineered. Certainly many games (including popular mmos) have been made with much less. This seems like they were engineering defensively against the potential of massive success, which ends up slowing everything down at the point where you need to move most quickly (pre-launch game design iteration and testing).

    I don't mean to be reductive though, clearly a lot of work has gone into this architecture and they know their problems better than I do. Props to the devs for seeing it through and getting the game launched!

ukuina 2 years ago

I appreciate when teams provide such a detailed write-up of their tech stacks. The callouts to bad choices and recovery (e.g., Nomad) is also refreshing to see.

Thank you for the share!

  • mooreds 2 years ago

    The clear eyed assessment of rust as the language choice was good too.

eliasson 2 years ago

Thanks for sharing! I really enjoy reading these types of articles.

I was a bit surprised to see Perforce being used (I'm not a game developer), I have not come across it since the early 2000s. From what I recall it was very good dealing with merges.

  • klohto 2 years ago

    Perforce and Plastic (now Unity, ugh) are used widely. They are AFAIK the only VCS that can handle large binaries, huge repos (XX TBs) and out of the box diffing on non-text files. Plus a nice client for non-technical folks (artists) to use.

  • speps 2 years ago

    Perforce is the standard for the last 15 years at least in video games. Probably more, that's just based on my experience. Any game middleware has to support it, Unreal Engine even if public on GutHub uses Perforce for their development internally, the GitHub is a two-way mirror.

namaljayathunga 2 years ago

Thanks for sharing! It is really helpful to learn System Design.

speps 2 years ago

Where I used to work they patented the way the servers are kept busy so careful on what you end up implementing for that...

https://patents.google.com/patent/EP3563559B1/en

  • BartjeD 2 years ago

    Any fool can register a patent though...

    It's only during the actual enforcement of a patent that it's validity can be called into question. It isn't so unusual for a patent to be struck down in court. Patent offices have tendency to hand them out 'easily'.

  • throwaway11460 2 years ago

    Freely available Minecraft server plugins were doing this in 2015.

  • nc0 2 years ago

    This should be illegal, it's just moving data...

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection