Hacker News new | ask | show | jobs
by doctorpangloss 993 days ago
Let's say that among developers there was a history of how-to-implement gameplay traditions (like how to implement third person player movement, "gameplay ability systems", etc.) in programming languages besides C++. Like C# & Java, the memory managed friendly ones with good tooling. And let's say you're forbidden from reinventing C++ inside C# or Java, like Unity's Burst does (so called HPC#). But you can "do ECS," there are C# and Java ECS frameworks, that even use those languages respective arena allocation techniques well. You just aren't allowed to reinvent C++, but you can use a high performance middleware that does, like Netty.

Would you choose to author an MMO backend in one of those friendlier ecosystems?

Do you think there's value in having access to other Java applications, to embed as libraries of your grander "in memory" ideas?

2 comments

On the backend, you aren’t limited to sub 16ms frame rates and can use languages that provide more productivity vs performance. I have infinite cloud compute, but you only have 4ghz and 16gb ram. I’ll send you highly optimized c++ and use ruby as my cloud language, it doesn’t matter.

You’ll frequently find Java, C#, Go, and Python as backend rpc/tcp game servers.

Interestingly enough, Jeff Kesselman was working on Java middleware for MMOs at Sun Microsystems before the Oracle acquisition. See https://en.m.wikipedia.org/wiki/Project_Darkstar

There's definitely some value in using more productive languages for the backend services, as they're not as latency sensitive as rendering.