I built the first scripting language for multiplayer game dev
Details
- External ID
- 47279661
- Source
- HN
- Company
- —
- Product
- I built the first scripting language for multiplayer game dev
- Website domain
- allout.game
- Launched
- March 6, 2026
- Cohort
- —
- Upvotes
- 5
- Upvotes percentile
- 0.1070110701107011
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:26 p.m.
- Updated at
- Sept. 7, 2026, 9:26 p.m.
Description
Hi HN,I'm one of the engine programmers at All Out Games (https://allout.game/), a multiplayer-first gaming UGC platform where creators can make and play games with their friends. For scripting we wanted our creators to be able to jump in and create game mechanics without having to think about networking. If a developer had to manually send packets to/from client/server to get things to happen then we have failed. It is particularly bad if you are using AI tools because they struggle to keep in mind what code is meant to run where (client, server, or both) and remembering to manually sync pieces of data when needed.To this end, in our networking layer the server will automatically send binary diffs of its game state to all the clients every few frames; then clients would roll back their game state to the last "server-approved" game state, apply the diffs, then resimulate forward to get back to the future. The client never has to ask the server for permission, it can just do whatever action and if it turns out that action was invalid (maybe your character got stunned by another player and your client didn't know it yet) it would automatically be corrected on receipt of a game state update from the server. In delay-based netcode you would have to make every little feature be rollback/resimmable to get this behavior, but we just rollback/resim everything all the time so you don't have to think about it. The engine allocates one large block of memory from the OS for the game state and we have custom heap and arena allocators to divvy that chunk up.The main requirement here is that the we have to be in control of the memory, and it has to be easily diffable. We can't be manually traversing trees of objects individually allocated from the OS, jumping through tons of pointers. In fact pointers are especially bad because of ASLR; the address space of the server differs from that of the client, so pointers have to be manually patched after applying game state diffs. We also want the language to be typesafe, and it has to be able to run interpreted because on iOS you aren't allowed to download code and run it (again, we are a UGC platform so downloading and running games is what we do) unless it is interpreted.For these reasons, all the usual scripting languages are out of the running. Maybe there is one out there that satisfies our needs but I couldn't find one. So, I made a custom scripting language. There are tons of other cool things I was able to do because I was making the language for this specific use-case, and I'd like to go into those in a blog post or something in the future.If you want to try it out visit https://allout.game/create and use code `KHNGJP` to download the All Out Editor. We can also add you to the #game-devs channel in our Discord (https://discord.gg/QCFVZP99) where you can have direct access to the team and other creators, DM me (shwa) for access.
Enrichment
- Theme
- AI agent frameworks and developer tools
- Vertical
- Media & entertainment
- Function
- Dev tools
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Commercial product
- Normalized one-liner
- scripting language for multiplayer game development
- Manually corrected
- False
Could you build this?
No Designing and building a custom programming language with a compiler, type checker, and automatic server-client state synchronization engine requires deep language design and multiplayer networking expertise.
What it would actually take: Requires writing a custom compiler/transpiler (lexer, parser, typechecker, bytecode compiler or LLVM backend) paired with a runtime virtual machine. The core challenge is automatic state replication: dirty-checking memory, deterministically serializing game state deltas, and integrating client prediction and rollback networking transparently into the language runtime. Requires deep domain expertise in compiler construction, distributed systems, and real-time multiplayer netcode.
Discussion
2 comments analyzed.
Concerns raised: Can developers access other server memory and steal secrets, Risk of arbitrary memory writes being replicated across systems
Competitors
Other products that read as similar to this one — 156 launches clear the similarity bar, closest 8 shown.
Attention rank: #147 of 157 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 125 days after the earliest competitor.
- C# Game Engine with its own scripting language and IDE · hn · 2026-08-30 · 12 upvotes · similarity 0.47
- C# Game Engine with its own scripting language and IDE · hn · 2026-08-11 · 118 upvotes · similarity 0.47
- I built an OS that is pure AI · hn · 2026-03-28 · 34 upvotes · similarity 0.45
- 2D RPG base game client recreated in modern HTML5 game engine with AI · hn · 2026-03-10 · 11 upvotes · similarity 0.43
- Multiplayer, a debugging agent to run locally next to your coding agent · hn · 2026-05-28 · 8 upvotes · similarity 0.43
- I made StarDesk, P2P low latency remote desktop built for game and work · hn · 2026-01-21 · 6 upvotes · similarity 0.41
- Server-rendered multiplayer games with Lua (no client code) · hn · 2026-01-04 · 85 upvotes · similarity 0.41
- game-client-to-server-reverse · github · 2026-09-22 · 19 upvotes · similarity 0.40
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a dev tools tool for Sales yet.