8 ms·
The Software Architecture of Palia
- speps 2y agoWhere 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 https://patents.google.com/patent/EP3563559B1/en
- nc0 2y agoThis should be illegal, it's just moving data...
- BartjeD 2y agoAny 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 2y agoFreely available Minecraft server plugins were doing this in 2015.
- jaaron 2y agoA survey of all the services, components, libraries and languages that went into building Palia: a cozy MMO.
- ukuina 2y agoI 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 2y agoThe clear eyed assessment of rust as the language choice was good too.
- eliasson 2y agoThanks 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.
- speps 2y agoPerforce 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.
- klohto 2y agoPerforce 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.
- derelicta 2y agoI 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_ 2y agoFor 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!
- namaljayathunga 2y agoThanks for sharing! It is really helpful to learn System Design.