Inspiration
Exploring making quiz questions more interactive. A hackable HQ.
What it does
An extensible web-based quiz client. A multiplayer quiz server.
QuestionTypes are defined with their own set of methods for scoring, fact generation and front-end rendering.
A quiz is defined as a 'manifestial' quiz format.
How we built it
Fully typed, end-to-end messing format from server to client over websockets.
All communication over websockets. React based front-end.
Challenges we ran into
Timing, see below.
Accomplishments that we're proud of
saga-based API for centralised timing of the client from the backend. Using generators to write clean, declarative timing code that balances asynchronous nature of using WebSockets and 'real-time' apps with the requirements of syncronus computer when required. For example generating the leaderboard or personal QuestionFacts might take longer than a pre-set length using server-based ticks on their own.
What we learned
Generators are fantastic for describing side-effects in an async world. Writing Quiz questions is hard.
What's next for circa
Publish extension API. Finish manifestial format docs. Separate out local-based hackable version and branded playcirca.com version. More example Question Types.
Log in or sign up for Devpost to join the conversation.