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

I'm still tinkering on my multiplayer game server framework when not grinding away at my day job.

The idea is essentially: An Erlang-based control plane, supporting ENet and WebSocket connection modes, with Protobuf for messages. Erlang has an excellent concurrency story, and I think it's a great fit for game servers. I've wrapped up a bunch of this work into behaviors on the Erlang side, such that developers can target the "gen_zone" behavior (for instance) to implement a tick-based game server. I'd like to expand that into other types of games, such as turn-based games.

I've also got a Godot plugin for generating a client library based on your protobuf schema. The plugin handles session stuff, exposes functions for client-to-server messages, and emits signals for server-to-client messages.

These days I'm working on integrating Luerl (Lua in Erlang) and Love2D support. I want to be able to take advantage of Erlang on the back-end while writing the majority of game logic in Lua. Further down the road I want to explore hot reloading parts of the Lua game state on the client/server, perhaps with an in-game editor, to develop the game "inside-out", in a way.



Sounds cool. I'm interested in netcode using Godot. Is there a Git repo I can check out?


Godot has a nice netcode story with ENet, WebSocket and WebRTC integration. If you just want a off-the-shelf product instead of bespoke Erlangy stuff, I think there are a lot of good options out there like Godot's native high-level networking, products like Nakama, etc.

Server backend framework: https://github.com/saltysystems/overworld

Chat server implementation (Erlang): https://github.com/saltysystems/chat_server_example

Chat client implementation (Godot): https://github.com/saltysystems/chat-client-example




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: