Show HN: I built an indie, browser-based MMORPG I've been working on an MMORPG that is now in alpha as a solo developer. Here are the major open source technologies that I use: Blender - 3D modeling software for creating the overall environment and every game object. I've gotten a lot of CC and Public Domain assets from https://poly.pizza GLTF - I export assets from blender to the GLTF asset format JSON - I write a JSON config for every game object that describes things like its name, its interactions, its collisions, etc. Node.js exporter - I iterate over the environment and every asset to create a scene hierarchy. I use gltf-transform for processing all GLTF files, compressing them, removing redundancies, etc. Node.js server - Uses express and socket.io to process game state updates. It keeps track of every client's game state and issues delta's at each game tick (currently 600ms). The client can send interactions with different objects. The server validates those and updates the game state accordingly. HTML/CSS/JavaScript/Three.js client - I use regular web technologies for the UI elements and three.js for the 3D rending on the browser. The client is responsible for rending the world state and providing the client with different interactions. All code is written in JavaScript which means less context switching. Performance seems to be good enough, and I figure I can always optimize the server code in C++ if necessary. I am currently running two cheap shared instances but based on my testing, they can likely support about 200 users each. This is a low-poly browser based game so it should be compatible across many devices. The data a user needs to download to play, including all 3d assets, is approximately 2 MB, even though there are hundreds of assets. Overall, it's been a fun project. Web development and open source software have progressed to the point that this is no longer an incredibly difficult feat. I feel like development is going pretty well and in a year or so there will be plenty of good content to play. https://ift.tt/tUEyjVk June 26, 2024 at 11:23PM
Show HN: I built an indie, browser-based MMORPG https://ift.tt/UwDdqIJ
Related Articles
Show HN: Eternium.css – minimal CSS lib for layout/styling form elements https://ift.tt/Ots63fuShow HN: Eternium.css – minimal CSS lib for layout/styling form elemen… Read More
Show HN: Contacts: A Microlang for Managing Contacts https://ift.tt/83Twcn0Show HN: Contacts: A Microlang for Managing Contacts https://ift.tt/E9… Read More
Show HN: Hacker News homepage with links to comments ordered by most recent https://ift.tt/CUrpGf6Show HN: Hacker News homepage with links to comments ordered by most r… Read More
Show HN: TargetJ – New JavaScript framework that can animate anything https://ift.tt/m3h7TySShow HN: TargetJ – New JavaScript framework that can animate anything … Read More
Show HN: A.I Powered Visual Knowledge Management Platform https://ift.tt/afpyTqEShow HN: A.I Powered Visual Knowledge Management Platform Caduceus is … Read More
Show HN: Perf Sea – performance engineering for everyone https://ift.tt/2qTpWGHShow HN: Perf Sea – performance engineering for everyone I have found … Read More
Show HN: Htmx Offline Mode https://ift.tt/Pr9N13iShow HN: Htmx Offline Mode I wrote a pretty simple extension to HTMX t… Read More
Show HN: WordSea – Visual English Dictionary https://ift.tt/428WzUkShow HN: WordSea – Visual English Dictionary Hi! My girlfriend and I c… Read More
0 Comments: