Live data from Hacker News

Boardgame.io: State management and more for turn-based games

google.github.io

21–30 of 96 posts

Re: Boardgame.io: State management and more for turn-based games

#22
post #21

It looks like it uses sockets under the hood for client server communication -- are there reasons it could not be used in a game with much quicker state updates, like the plane game that was posted here earlier last week (think FPS MMO in the browser)?

I'm pretty sure websocket is fifo with delivery guarantees and as far as I'm aware cannot be used in the same manner as UDP. I haven't played around with WebRTC, but that might be an option.

Re: Boardgame.io: State management and more for turn-based games

#23

Oh man that's interesting. Clearly a WIP, but there's a lot of potential there. If the person who made this is around: I'm the author of Fireplace ( https://github.com/jleclanche/fireplace/ ), a Hearthstone simulator, and I worked a ton on the Hearthstone game state protocol (docs: https://hearthsim.info/docs/gamestate-protocol/ ). Hit me up by email (profile) or Discord (jleclanche @ https://discord.gg/hearthsim-dev…

Just wanted to say thanks for the links to your docs. Games like Michael Brough's (Imbroglio, 868-HACK) and Hoplite have really shifted my videogame-playing interest to turn-based stuff lately, and being a bored dev I'm naturally thinking about what's possible with these frameworks. I'm grateful for devs like you who take the time to write about the stuff you've learned. We're all learning and it's so much more fun to find documentation of how similar stuff has been implemented. Seems like it more seamlessly syncs up with the excitement and motivation when you find something like Boardgame.io. Anyway I really appreciate it!

Re: Boardgame.io: State management and more for turn-based games

#24
post #21

It looks like it uses sockets under the hood for client server communication -- are there reasons it could not be used in a game with much quicker state updates, like the plane game that was posted here earlier last week (think FPS MMO in the browser)?

I'm pretty sure websocket is fifo with delivery guarantees and as far as I'm aware cannot be used in the same manner as UDP. I haven't played around with WebRTC, but that might be an option.

Yeah, fifo and temporal updates generally tend to not mix well together.

Re: Boardgame.io: State management and more for turn-based games

#25

Earlier quoted context omitted.

I'm pretty sure websocket is fifo with delivery guarantees and as far as I'm aware cannot be used in the same manner as UDP. I haven't played around with WebRTC, but that might be an option.

Yeah, fifo and temporal updates generally tend to not mix well together.

Ah got it, thanks you and the commenter above!

Re: Boardgame.io: State management and more for turn-based games

#27
post #21

It looks like it uses sockets under the hood for client server communication -- are there reasons it could not be used in a game with much quicker state updates, like the plane game that was posted here earlier last week (think FPS MMO in the browser)?

https://airma.sh/

Re: Boardgame.io: State management and more for turn-based games

#28
post #13

Earlier quoted context omitted.

I'm not sure what you mean by that. What about board games do you expect to fruitfully from using category theory insights?

Exposing the underlying transformation structure.

How?

Re: Boardgame.io: State management and more for turn-based games

#29
I'd love to see the client-side state extended so that this could be a framework for decentralized turn-based games, without using a centralized server.

One concrete cause of centralization in today's Internet is a difference in programming costs between a closed centralized solution and an open decentralized one. Let's say we're writing a tic-tac-toe app. In the centralized design, the game board is one data structure. Your score and mine are two variables. You'll be done in a couple of hours.

As an open decentralized solution, you're building a federated system. You need a standard protocol for communicating tic-tac-toe moves. Maybe you should work through the IETF to write an RFC for OTTTP: the Open Tic-Tac-Toe Protocol. You might be done in 2018. When solving a problem the wrong way takes two hours, and solving it the right way takes two years, it's going to get solved the wrong way.

https://www.youtube.com/watch?v=g1qroWiZF90

Note that I don't endorse the particular solution in this video - MirageOS is perhaps a more viable alternative.

Re: Boardgame.io: State management and more for turn-based games

#30

I'd love to explore how this framework can be applied to Nakama ( https://github.com/heroiclabs/nakama ). I'll see if I can find some time to experiment with it over Christmas.

This looks pretty interesting. Could Nakama be used to build a federated, decentralized application (let's say, game world) where each user self-hosts on his own Docker instance?
Post reply on HN