Skip to content

jidohyun/cursor-party

Repository files navigation

📢 Service Suspension

The beta test for Cursor Party has concluded. As the 14-day free hosting plan used for the test has expired, the live service has been suspended.

Thank you so much to everyone who played and showed interest during this short period! 🙇‍♂️ Although the live server is offline, you can still download the source code and run the project locally.

🖱️ Cursor Party

Elixir Phoenix Tailwind CSS v4 Koyeb

"Can I build a real-time MMO game in just 1 hour?" A project to experiment with the distributed processing capabilities of Elixir and Phoenix LiveView.

🇰🇷 Read in Korean

🎮 Play Demo

👉 Live Demo (Currently in Open Beta. The server is always open, so come join the raid!)

💡 Introduction

Cursor Party is a massive multiplayer browser game where every user's cursor is visible in real-time, and players cooperate to defeat a boss monster.

Inspired by how Discord handles millions of concurrent users using Elixir, I started this "1-Hour Challenge" to verify if I could handle real-time synchronization purely with server-side logic.

✨ Key Features

  • Real-time Cursor Tracking: Share cursor positions with all connected users via WebSockets with near-zero latency.
  • Boss Raid System: Synchronized Boss HP managed by Server-side state (GenServer).
  • No Client-side Logic: All real-time logic is handled by Phoenix LiveView, without complex JavaScript frameworks.

🛠 Tech Stack

  • Backend: Elixir, Phoenix LiveView (1.7+)
  • Styling: Tailwind CSS v4.0 (Alpha)
  • Deployment: Docker, Koyeb
  • Architecture: OTP (Open Telecom Platform) based distributed system

🚀 How to Run (Local)

Prerequisites: Elixir and Erlang must be installed.

  1. Clone the repository

    git clone [https://github.com/jidohyun/cursor-party.git](https://github.com/jidohyun/cursor-party.git)
    cd cursor-party
  2. Install dependencies

    mix setup
  3. Install Tailwind v4 (Local)

    mix tailwind.install
  4. Start the server

    mix phx.server

Now you can visit localhost:4000 from your browser.

🤝 Contributing

Bug reports and pull requests are welcome on GitHub at this repository. This project is intended to be a safe, welcoming space for collaboration.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors