All Projects → dnikolovv → haskell-tic-tac-toe

dnikolovv / haskell-tic-tac-toe

Licence: BSD-3-Clause License
A multiplayer web real-time implementation of the famous Tic Tac Toe game in Haskell.

Programming Languages

haskell
3896 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to haskell-tic-tac-toe

Gophergameserver
🏆 Feature packed, easy-to-use game server API for Go back-ends and Javascript clients. Tutorials and examples included!
Stars: ✭ 61 (+19.61%)
Mutual labels:  real-time, multiplayer, game-server
Colyseus
⚔ Multiplayer Framework for Node.js
Stars: ✭ 3,817 (+7384.31%)
Mutual labels:  multiplayer, websockets, game-server
Lance
Multiplayer game server based on Node.JS
Stars: ✭ 1,161 (+2176.47%)
Mutual labels:  multiplayer, websockets, game-server
Plezi
Plezi - the Ruby framework for realtime web-apps, websockets and RESTful HTTP
Stars: ✭ 239 (+368.63%)
Mutual labels:  real-time, websockets
Sandstone
PHP microframework designed to build a RestApi working together with a websocket server. Build a real time RestApi!
Stars: ✭ 98 (+92.16%)
Mutual labels:  real-time, websockets
Signalw
Even simpler and faster real-time web for ASP.NET Core.
Stars: ✭ 125 (+145.1%)
Mutual labels:  real-time, websockets
Kuzzle
Open-source Back-end, self-hostable & ready to use - Real-time, storage, advanced search - Web, Apps, Mobile, IoT -
Stars: ✭ 991 (+1843.14%)
Mutual labels:  real-time, websockets
magx
Multiplayer game server framework
Stars: ✭ 34 (-33.33%)
Mutual labels:  multiplayer, game-server
colyseus-kotlin
⚔ Implementation of Colyseus client using Kotlin
Stars: ✭ 26 (-49.02%)
Mutual labels:  multiplayer, game-server
soketi
Just another simple, fast, and resilient open-source WebSockets server. 📣
Stars: ✭ 2,202 (+4217.65%)
Mutual labels:  real-time, websockets
unity-webgl-multiplayer
Unity WebGL basic multiplayer demo using WebSockets
Stars: ✭ 43 (-15.69%)
Mutual labels:  multiplayer, websockets
Sec Api
sec.gov EDGAR API | search & filter SEC filings | over 150 form types supported | 10-Q, 10-K, 8, 4, 13, S-11, ... | insider trading
Stars: ✭ 71 (+39.22%)
Mutual labels:  real-time, websockets
level10
Phoenix LiveView multiplayer card game
Stars: ✭ 51 (+0%)
Mutual labels:  real-time, multiplayer
gochess
Online real time chess web server using websockets
Stars: ✭ 32 (-37.25%)
Mutual labels:  multiplayer, websockets
Azure Signalr
Azure SignalR Service SDK for .NET
Stars: ✭ 137 (+168.63%)
Mutual labels:  real-time, websockets
Rnl
RNL - Realtime Network Library - The opensource reliable UDP network library
Stars: ✭ 59 (+15.69%)
Mutual labels:  real-time, game-server
basic multiplayer unity
UDP Client-Server implementation in Unity
Stars: ✭ 44 (-13.73%)
Mutual labels:  multiplayer, game-server
iOS ARkit2 Multiusers
An example implemented multiplayer experience in ARKit2
Stars: ✭ 19 (-62.75%)
Mutual labels:  multiplayer, example
Stl.fusion
Get real-time UI updates in Blazor apps and 10-1000x faster API responses with a novel approach to distributed reactive computing. Fusion brings computed observables and automatic dependency tracking from Knockout.js/MobX/Vue to the next level by enabling a single dependency graph span multiple servers and clients, including Blazor apps running in browser.
Stars: ✭ 858 (+1582.35%)
Mutual labels:  real-time, websockets
Intrinio Realtime Node Sdk
Intrinio NodeJS SDK for Real-Time Stock & Crypto Prices
Stars: ✭ 30 (-41.18%)
Mutual labels:  real-time, websockets

Tic Tac Toe

Game

A very basic web multiplayer real-time game implemented using Servant and Websockets. It can serve as an example on how to set up websockets with authentication in your Servant app.

Running it locally

You need to have stack installed together with npm.

Running the server

In the root folder of the repository, run stack run.

Running the client

While inside the client folder, run npm run start.

Note: if you encounter an error about history you may need to run npm install --save history

Contributing

There are a few TODOs at the bottom of this readme. Feel free to tackle some of those or submit any improvements that you think make sense.

License

This project is licensed under the MIT License.


TODOs

  1. When a new user logs in, the "Available players" list should be updated in real time.
  2. Users should be invalidated after a certain amount of time has passed without them being active.
  3. When a person leaves the game/loses connection, the game should stop.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].