Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

using js for an mmo, a performance critical application, sounds like a big difficulty.


On one hand, js isn't known for its performance. On the other hand, OP actually has a product. I know who I'd invest in.


Bingo. These dudes never code anything because they get analysis paralysis wanting everything to be super optimized Rust/C++. Meanwhile 90% of the apps making real money run literally whatever language they started with and have been able to scale fine.


Doesn't have to be super optimized, and it's faster to write functional code for big projects with static typing.

Most of these projects exist in c++ already, they literally exist as the majority of MMOs, not sure what blather to justify your own bad architecture decisions you're on about.


FSVO fine.

Software bloat and general lack of performance continue to be among the chief complaints end users have.

Not saying you're wrong, of course. The guy who passes the finish line badly wins the race, not the guy who fails the race goodly or the guy who doesn't even start running perfectly.


I’m curious why you chose an incorrect reply about JS performance on the thread of a very minimal web-based MMO to talk about software bloat.


No one can see the MMO at the moment, it's been HN-ed. So no idea how minimal it is.

And if one ignores the mmo part and thinks of other show HNs, one can assume it's 300 lines of js in the main app and 2.4 gigabytes of js dependencies including 10 separate tracking frameworks...


What are you talking about? C++ powers trillions of dollars of market value. Rust is in the billions and growing. All of those apps start with dudes that have a vision to create a solid technical foundation for making bank.


It hasn't been so far. I can always write C++ plugins to nodejs on the server. The most intensive code is the part where I calculate deltas each tick. Eventually that could be optimized. For now, the calculations for each tick are taking an average of 1.2ms, which is good for having a 600ms tick time. Client side performance is fine with low poly graphics.


A LOT of apps use JavaScript, even performance critical ones. VSCode the most popular IDE in the entire world is JS running w/ Electron.


It's a wrong comparison. A high-level language is usually good enough for a desktop app because there's not much ongoing computation happening. It's only input processing and small, infrequent updates to the view in response to the input (not to mention rendering of the DOM and low level input processing is done by the browser's C++ compiled code). A video game on the other hand has to do computations all the time at a very high frequency.


> VSCode the most popular IDE in the entire world is JS running w/ Electron

Node.js is fine on the server and JS is my preferred language. That said I switched from VSCode to vim a few years back because my laptop couldn't handle all the Electron apps I had running. Now the only browser instance I run is the actual browser and I'll never go back to Electron apps.


Similar story here. After using VSCode as my daily driver for 2 months (during which I never once touched Emacs) I switched back to Emacs because VSCode's responses to my keystrokes felt mushier and because I like to use dinky little mini PCs with no fans (because I'm much more easily annoyed by fan noises than most people and I prefer not to become bound to using Macs).


JS is quite performant, and a 600ms tick is nowhere near “performance critical”.


There have been some pretty impressive things created with threejs


There have been lots of impressive things created with just plain JS. Google had an entire world simulated coded in just JS. I think their Christmas world with all those games are also pure JS (given their obsession with internal JS frameworks like Boq and shit)


And then there is wasm nowdays avaiable.


What's funny is this is an homage to RuneScape, a longtime Java based MMO.


Nothing wrong with JS here. MMOs are I/O bound which Node is great at.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: