Live data from Hacker News

SpacetimeDB

spacetimedb.com

31–40 of 205 posts

Re: SpacetimeDB

#31
post #26
post #9

YouTube keeps recommending SpacetimeDB to me even though I have never made a videogame. Now I'm seeing it on HN too. Are there any game devs here who can comment on how useful this actually is? The pitch seems pretty cool but I can't tell how much of it is just good marketing.

As a game dev I don't really see what problems this solves. Most of the work you would have in games is related to simulation - something this doesn't help you with at all. It can actually make simulation more difficult because all your state would be decoupled from a game engine (which is built for simulation). So you'd end up having game servers running the simulation syncing to SpacetimeDB... or of course you try…

It solves 3 problems:

1. Server client sync is handled for you 2. Server database sync is eliminated 3. Deployment is super easy because you just upload your wasm module to the database, and SpacetimeDB schedules it (similar to Kubernetes honestly, but at a different level of the stack)

Re: SpacetimeDB

#32
post #9

YouTube keeps recommending SpacetimeDB to me even though I have never made a videogame. Now I'm seeing it on HN too. Are there any game devs here who can comment on how useful this actually is? The pitch seems pretty cool but I can't tell how much of it is just good marketing.

Not a developer affiliated with the project. But here's my take: The problem is that the proof is in the pudding. Some of their claims feel outlandish. Imagine writing your game with SQL queries. Rather than crafting update packets that only contain relevant game info you just do `select * from players where abs(player.x - current_player.x) + abs(player.y - current_player.y) + abs(player.z - current_player.z) Running…

I mean you can download it and give it a try!

For BitCraft we scale it with IMC (inter-module communication). It works very similarly to Elixir.

Re: SpacetimeDB

#33
post #23

Earlier quoted context omitted.

I feel like they've been inspired by crypto for the way they handle billing. They sell you "Energy" which you use by running on their infra. Seems like a needless abstraction to me.

Doesn't Snowflake do something similar though?

They do indeed.

Re: SpacetimeDB

#34
> SpacetimeDB wasn't built in a vacuum. It's the system powers our own large-scale MMORPG BitCraft. We designed it specifically for the performance requirements of games. That means extremely low latency (~100 us/Tx) and extremely high throughput (~1,000,000 Tx/s).

If you are trying to build a new MMO that scales to the moon, you might want to take a look at how the existing market goes about things.

Take World of Warcraft for example. You could probably put a $20 MySQL VPS behind a realm and have it reliably persist state with how authoritative and infrequently updated the clients are.

Being clever with what you can trust the client with and how the server reconciles events is where I think you will find most of the scaling hacks.

Re: SpacetimeDB

#35
post #6

A server DB monolith that explicitly doesn't scale? You put some of your game logic on the server and some on the client with no clear dividing line? When PoE2 uses PostGres and Eve Online uses SQLServer? Also doesn't tackle the main challenges of online multi-player games (physics sim rollback)? I'm sorry but there might not be a good market for this.

It scales much the same way that Erlang/BEAM scales. Each database is an actor in a distributed actor system. That's how we operate BitCraft, however we haven't released inter-module communication (IMC) to the wider world yet.

Re: SpacetimeDB

#36

SpacetimeDB fits into a genre of tech that I want to call "universe brain reorgs" - structural re-arrangements that might unlock wild performance increases. The challenge with these is that they require devs to re-align their thinking and it's hard to disentangle if "the problem" is that the technology isn't being fully embraced or if the promises of the tech don't work for your use case. Other techs in this category…

We are definitely inspired by Elixir/BEAM. IMC (inter-module communication) is directly inspired by it.

It is high risk, but I think a risk worth taking.

Re: SpacetimeDB

#37

Best comment from last time this got posted: I kept on reading expecting to see motion prediction, multiversion, or similar given the name and focus on games, but no. This is a totally normal database, designed for low latency and with support for WASM stored procedures. You can host your own server or they will rent you one. Don't get me wrong, this looks very nice. It looks like a solid building block for persisten…

[flagged]

We can and plan to handle the complex lag masking netcode as well. We've just focused so far on games that don't need very sophisticated lag compensation

Re: SpacetimeDB

#38

Best comment from last time this got posted: I kept on reading expecting to see motion prediction, multiversion, or similar given the name and focus on games, but no. This is a totally normal database, designed for low latency and with support for WASM stored procedures. You can host your own server or they will rent you one. Don't get me wrong, this looks very nice. It looks like a solid building block for persisten…

Just to copy in my response from there too: I'm Tyler (guy in the video). In BitCraft we currently implement client-side prediction outside of SpacetimeDB. However, we DO plan to add automatic client-side prediction as a feature for SpacetimeDB in the near-ish future! Because all your server-side logic is in Wasm modules, we plan to run an embedded version of SpacetimeDB to execute the server logic on the client. As…

Cool, jumping in as a noob to multiplayer dev, so currently for BitCraft MMORPG simulation, e.g. to prevent "god-mode flying", would be done outside the server.

Q How is that coordinated with the SpacetimeDB? Is there a penalty, or perhaps a correction applied to the malicious client (and replicated to listening clients) in the case a hacker modifies their movement illegally?

Tx for sharing your time btw!

Re: SpacetimeDB

#40

Earlier quoted context omitted.

[flagged]

We can and plan to handle the complex lag masking netcode as well. We've just focused so far on games that don't need very sophisticated lag compensation

Planning to support complex lag masking netcode as a TODO is not a good sign.
Post reply on HN