#SpacetimeDB

bitbonkbitbonk
2025-06-20

@b4ux1t3 is cool tech

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-20

Going live! Working on my little #SpacetimeDB and #Godot stream jam game!

So far we have a board which players can join and a game state which updates, but we don't have any interactivity. So, let's do that!

twitch.tv/b4ux1t3

#DotNet #LiveCoding #DevelopInTheOpen

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-18

Don't mind me, just doing a massive linq statement in an extremely hot path all because #SpacetimeDB doesn't let me run SQL from my reducer. :(

#Dotnet

C# Code:
private static (int x, int y) FindFlowCandidate(ReducerContext ctx, long boardId, WaterLevels level)
{
    var column = ctx.Db.WaterLevels.PositionOnBoard.Filter((BoardId: boardId,
        PositionX: (level.PositionX - 1, level.PositionX + 1)));
    var row = ctx.Db.WaterLevels.PositionOnBoard.Filter((BoardId: boardId, PositionX: level.PositionX,
        PositionY: (level.PositionY - 1, level.PositionY + 1)));
    var candidates =
        row.Intersect(column)
            .Where(wl =>
                wl.PositionY != level.PositionY - 1 && wl.PositionX != level.PositionX - 1 && // Eliminates NorthWest
                wl.PositionY != level.PositionY + 1 && wl.PositionX != level.PositionX - 1 && // Eliminates SouthWest
                wl.PositionY != level.PositionY - 1 && wl.PositionX != level.PositionX + 1 && // Eliminates NorthEast
                wl.PositionY != level.PositionY + 1 && wl.PositionX != level.PositionX + 1 && // Eliminates SouthEast
                wl != level && wl.WaterLevel < level.WaterLevel)
            .GroupBy(wl => wl.WaterLevel)
            .OrderBy(kvp => kvp.Key)
            .First()
            .ToArray();
    
    return (0, 0);
}
b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-18

Going live! Working on my little stream jam project, a real-time multiplayer puzzle game using #SpacetimeDB and #GodotEngine!

Come for the fancy new tech, stay for the curmudgeonly old fart complaining about fancy new tech.

twitch.tv/b4ux1t3

EDIT: And yes, I fixed the audio issue. Effing. Linux. Audio.

#Twitch #Streamer #DotNet #LiveCoding

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-13

GOING LIVE (finally) working on my silly little #SpacetimeDB #godot game jam game!

twitch.tv/b4ux1t3

#Twitch #Streamer

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-13

In about an hour (~9PM Eastern) I'll be going live to work on my silly little #SpacetimeDB technology demo... I mean, game jam game!

twitch.tv/b4ux1t3

Tonight we're going to actually start implementing the game logic now that I've figured out the tech!

#LiveCoding #Programming #IndieDev #OpenSource #DevelopInTheOpen #Godot #DotNet #Twitch #Streamer

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-11

_Fantasticalistic_ stream tonight. We got our #SpacetimeDB server code properly tracking player state, and our #godot client properly rendering the location of the player and sending player movement updates back to the server!

This is all thanks to godot's commitment to modern #DotNet support, and, of course, SpacetimeDB's same!

On Thursday's stream, we should have a somewhat functional game that folks can come and play with me!

twitch.tv/b4ux1t3

#GameDev #IndieDev #DevelopInTheOpen #OpenSource

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-11

Going live RIGHT NOW to work on my little stream jam game!

The goal today will be to get the state of the game pulled up out of #SpacetimeDB and onto the screen.

twitch.tv/b4ux1t3

#LiveCoding #Programming #IndieDev #OpenSource #DevelopInTheOpen #DotNet #Godot

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-11

I just a few short minutes (basically after this reboot) I'll be going live to work on my little stream jam game!

The goal today will be to get the state of the game pulled up out of #SpacetimeDB and onto the screen.

twitch.tv/b4ux1t3

#LiveCoding #Programming #IndieDev #OpenSource #DevelopInTheOpen #DotNet #Godot

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-06

Going live to work on my little #StreamJam game! Check out the progress I've made so far in this post: hachyderm.io/@b4ux1t3/11462628

twitch.tv/b4ux1t3

#DotNet #SpacetimeDB #Godot #LiveCoding

EDIT: If you need another reason to hop on in and interact, feel free to tell me why my choice of spaces over tabs is objectively wrong and I should feel bad.

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-06

I'll be going live shortly to work on my #SpacetimeDB-powered #Godot game!

twitch.tv/b4ux1t3

Just need to finished feeding the animals and making tea.

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-04

I've figured out why #SpacetimeDB is so interesting to me.

It is basically ECS + proper relational mappings + decent netcode based around contracts.

It opens up a lot of games that I wanted to make but never did because of, basically, "ugh, netcode".

Its overhyped, probably, but working with it really scratches a specific itch in my brain.

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-04

Some look at the progress I made early this morning on the #SpacetimeDB #Godot project I'm working on.

All of the state here is held in SpacetimeDB (I mean, except, like, the camera position).

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-04

Pretty successful stream tonight!

We got #SpacetimeDB up and running, fixed our weird #Godot project naming issue, and did a very naive model for our game.

On Thursday, I'll be continuing work on it. I may spend some time offline between now and then adding in some more plumbing, so that we can actually get something interesting on the screen.

twitch.tv/b4ux1t3

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-04

Going live! Building a multiplayer jam game in #Godot using #SpacetimeDB!

Come for the Godot, stay for the warping of the very underpinnings of the universe!

twitch.tv/b4ux1t3

#DotNet #OpenSource #DevelopInTheOpen #LiveCoding #IndieDev #gamedev

Side note: If you do join, don't be afraid to chat! I get a lot more fun out of streaming when folks interact. Helps keep me honest. And it's less lonely. :)

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-06-04

Tonight at. . . Soon!

I'll be going live to do a mini game jam using #SpacetimeDB and #Godot!

I know! It's been a little while since we did a #GameDev stream..

twitch.tv/b4ux1t3

#LiveCoding #Programming #IndieDev #OpenSource #DevelopInTheOpen

b4ux1t3 :trek_ds9_sisko:#1️⃣b4ux1t3@hachyderm.io
2025-05-30

#SpacetimeDB bug with #DotNet client generation in the latest version:

github.com/clockworklabs/Space

In any case, it's a really cool tech. If you haven't played with it, you totally should.

There it goes: github.com/clockworklabs/Black - A #godot client for #spacetimedb Blackholio demo (MMO like agar.io) supporting thousands of concurrent players (optionally via websocket). #godotengine #gamedev

Since #godot exports for the browser, the #spacetimedb #godotengine SDK could mean huge opportunities for new kinds of .io games. Be warned though, the .io player demographic has... unique requirements.

There's a lot of movement on the #godot #spacetimedb SDK: github.com/flametime/Godot-Spa
It's really moving along. The power of this is insane. "Never make an MMO as your first game" may become boomer advice #godotengine #gamedev

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst