Skip to content

SAYOUNCDR/Colony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

🪐 Colony - A Zep-Inspired Metaverse

Colony is a gamified virtual space where users can build, explore, and interact. Inspired by Zep.us, it blends 2D RPG aesthetics with modern communication tools like proximity chat and video calls.

🚀 The Vision

To create a decentralized, user-editable metaverse where "Map Sections" act as isolated communication hubs. Whether it's a private home, a corporate office, or a digital concert hall, Colony provides the infrastructure for social presence.

🛠️ Tech Stack & Learning Path

Frontend: The Game Engine & UI

  • Phaser 3: Our 2D game engine. You'll need to learn about Scenes, Sprite manipulation, Tilemaps, and Arcade Physics.
  • React + Tailwind CSS: For the UI overlay (Chat, Settings, Dashboards).
  • Shadcn UI: For premium, accessible components.
  • Zustand: For lightweight state management (syncing game state with React).

Backend: High-Performance Real-Sync

  • Bun: A fast JavaScript runtime.
  • WebSockets: The core of multiplayer. You'll learn about broadcasting, rooms (subscriptions), and binary data optimization.
  • WebRTC: For peer-to-peer video and audio calls. This is a big one! Look into Mediasoup or LiveKit for scalable SFU implementation.

Gamified Map Creation

  • Tiled Map Editor: A standard tool for creating .tmx or JSON maps.
  • Tilemaps in Phaser: Learning how to parse these maps and handle collisions.

🗺️ Core Features to Implement

1. Dynamic Map Sections (Zoning)

  • The Concept: Define "Rectangles" in your map as specific zones.
  • Implementation: When a player's coordinates enter a ZoneID, they automatically subscribe to that zone's chat room and video channel.
  • Proximity Chat: Audio volume depends on the distance between players.

2. User-Created Maps

  • Implement a "Build Mode" where users can place tiles (walls, floors, furniture).
  • Store these maps in a database (like MongoDB or PostgreSQL) as JSON objects.

3. Real-time Synchronization

  • Interpolation and Extrapolation: Techniques to make other players' movement look smooth even with lag.

📚 Learning Resources

🏗️ Getting Started

# Backend
cd server && bun index.ts

# Frontend
cd client && npm run dev

About

A Zep-inspired 2D metaverse with real-time multiplayer, proximity-based communication, and dynamic map sections. Built for social presence and gamified interaction.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors