Skip to content

Pixl-YSWS/Game

Repository files navigation

Pixl: The Game

A pixelated multiplayer world where you level up by shipping IRL projects.

Hack Club License Stars Forks

▶ Play Now · RSVP · Report a Bug · Request a Feature


About

Pixl Pixl is a pixel-themed YSWS where you evolve in a retro 2D open world and level up by building real projects. By exploring the map, you will discover different regions such as a cyberpunk city, an underwater region or even a gambling one (regions comming soon, not in game yet). Each region will have sidequests like making apps, websites, or hardware for in-game characters that will pay you with a base prize (or base funding for hardware) and give you some pixels, the in-game currency, for you to spend in the shop. The more pixels you get, the best regions you can unlock and the more pixels you will get from the merchants.

  • Shared open world - explore with other Hack Clubbers in real time
  • Private village - your own personal space
  • Shop & economy - spend Pixels on a shop to get prizes (mainly grants as we know you love that)
  • Custom skins - draw your own 16×16 pixel avatar --- WILL BE ADDED LATER
  • Chat & voice - communicate with nearby players
  • Project submissions - ship projects via the in-game Pip NPC
  • Hackatime integration - coding time is automatically tracked and rewarded

Screenshots

More screenshots coming soon, add yours by opening a PR!

image
private village
image
openworld
image
In-Game Shop
image
Custom Skin Editor

Features

Multiplayer World

A real-time top-down world. Explore the shared open world with other players in real time, or head to your own village.

Consistency system (for the future ysws, not implemented yet)

The more project you ship, the best merchants you unlock in your village, meaning that they will pay you more !

Pixel Economy (for the future ysws, not implemented yet)

Earn Pixels by shipping projects. Spend them in the shop on prizes. Prices are enforced server-side — no spoofing possible.

Character Customisation

Choose from 5 preset character skins, or open the Skin Editor to draw a completely custom 16×16 avatar. Your skin is saved to your account and broadcast to all nearby players.

Project Submissions (YSWS) (for the future ysws, not implemented yet)

Talk to the Pip NPC in your village to submit projects with a name, description, repo URL, and demo link. Link your Hackatime account to automatically sync coding time to your projects.


Authentication Flow

Client
  └─▶ GET /auth/login
        └─▶ Hack Club consent screen
              └─▶ GET /auth/callback  (token exchange + /api/v1/me)
                    └─▶ Redirect to client with #auth=<sessionToken>
                          └─▶ Client stores token in localStorage
                                └─▶ Sent in socket handshake → server/auth.ts validates
  • Accounts and tokens are stored in the SQLite accounts table with a 30-day sliding session expiry.
  • Game state (position, pixels) is keyed by Hack Club account ID.
  • One active session per account — a new login kicks the previous session.

World System

Players exist in exactly one world at a time, identified by a WorldRef:

Kind Description
openworld Shared world for all players
village Your own village
house Single shared multiplayer interior

World switches are requested via the world:enter socket event. The server validates access and emits world:state with the new player list. Walking onto a door tile triggers building entry; a portal tile switches between the open world and your village.


Contributing

Contributions are very welcome! Here is how to get started:

  1. Fork the repository
  2. Create a feature branch - git checkout -b feat/amazing-feature
  3. Commit your changes - git commit -m 'feat: add amazing feature'
  4. Push to the branch - git push origin feat/amazing-feature
  5. Open a Pull Request

Please check the open issues before starting work on something new.


License

Distributed under the MIT License. See LICENSE for more information.


Hack Club

About

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors