Spectrum is now read-only. Learn more about the decision in our official announcement.


The Statecharts community on Spectrum is (along with spectrum) MOVING TO OTHER PLATFORMS: For statecharts discussions in general go to Statecharts Discussion on GitHub (link) or Gitter (link). For XState-specific questions, go to the XState discussion forum for Q&A or the Stately discord chat to chat.



November 8, 2020 at 8:27pm
Hi everyone. My name is John Funk, from Winnipeg, Manitoba, Canada. I'm an artist/musician/designer developer. I've been working on web things since the late 90s and I've recently stepped into the wonderful world of state charts thanks to xstate. I wrote JS a bunch in the late 90s but it was a gong show and ended up writing PHP for decades until I fell in love with ES6 JS recently and tooling that isn't a nightmare. I'm currently building an xstate driven version of roll20 as a passion project.

November 8, 2020 at 11:17pm
Hi John, nice to virtually meet you!
Thanks for the friendly welcome.

November 9, 2020 at 8:29am
Wow, roll20 sounds fun (and pretty advanced) and a good fit for Statecharts! I'm looking forward to hear your experiences!
Welcome John! Glad to see you here!
I'm documenting the whole thing with journal entries for every day that I work on the project. :) When all is said and done I'll probably (hopefully?) do a series of videos going over these complex cases too.
So happy to be here and thank you so much for everything you do David. Still loving Xstate and I hope to get more people hooked on it. :D

November 17, 2020 at 2:50pm
xstate driven version of roll20
That is a big project! Maybe just start with a dice-roller / life counter app for Magic The Gathering or D&D first?
Looking forward to your videos & code on GitHub!
Oh yeah, it's gonna be pretty huge.. if it happens. I'm trying to not load the project down with too many expectations. I have a goal, but it's ok if I fail because it's a learning exercise. My thinking was... 1) I have a working prototype of which things work in the use case, and which things don't (re: roll 20)... 2) I have knowledge of the space, having played plenty of table top games and DMing a lot of them... It felt like it might be a good candidate where I can learn the 'hard parts' of modern JS dev. I find "to-do" apps as learning tools break down so quickly the second you deviate in architecture. The app isn't going to be a direct clone of roll20 either.
Oh, also, I should note that I built a little library that generates the hex map with SVGs, quantized the cursor position to snap to hexes with pure math instead of on-mouse over events, and a few other things. A lot of the functionality will exist outside of Xstate. :)