samet404 / PIXGU

Online pixel art drawing game using WebRTC technology

Home Page:https://pixgu.com

Repository from Github https://github.comsamet404/PIXGURepository from Github https://github.comsamet404/PIXGU

watch the video Watch the video

PIXGU is a real-time multiplayer drawing and guessing game platform inspired by popular games like Gartic.io and Skribbl.io. Players take turns drawing pictures while others try to guess what's being drawn. Create private rooms and invite friends to play together!

Overview

  • 🎨 Draw and guess pictures in real-time
  • 👥 Create private rooms for friends
  • 🌐 P2P connectivity for smooth gameplay
  • ⚡ Fast and responsive performance

Technology Stack

Technology Purpose
Next.js Server framework providing image optimization, fast initial page loading, and server-side rendering
React.js Frontend UI library for building interactive user interfaces
Socket.io WebRTC signaling server for establishing P2P connections
WebRTC Enables peer-to-peer connections for real-time data exchange during gameplay
tRPC End-to-end typesafe API layer
Redis In-memory database for caching and fast storage operations
PostgreSQL Primary database for persistent data storage
Drizzle ORM Type-safe ORM for database operations
Tailwind CSS Utility-first CSS framework for rapid styling
Web Workers Handle time calculations and heavy computations off the main thread
Zustand Lightweight state management for global application state
Jotai Atomic state management for component-level state

bg2

Development Tools

  • ESLint for code linting
  • Prettier for code formatting
  • Bun for fast package management and development

Related repositories

Known issues

  • The game is not supports mobile and tablet devices
  • There are some bugs causes infinite looping

Future plans

  • Add C code via wasm to improve performance
  • Fix small bugs

Contributing

You can contribute to this project by forking it and submitting a pull request.

About

Online pixel art drawing game using WebRTC technology

https://pixgu.com

License:GNU General Public License v3.0


Languages

Language:TypeScript 92.3%Language:JavaScript 4.6%Language:MDX 2.3%Language:CSS 0.7%Language:Dockerfile 0.1%