| COMPONENT | TECHNOLOGY |
|---|---|
| Frontend | Vanilla JS + PixiJS 7.x |
| Build Tool | Vite 5.x |
| Server | Node.js + WebSocket |
| Blockchain | Solana |
| Token | $HOTEL (SPL Token) |
← Back to Home
TECHNICAL DOCS
Everything you need to know about Cripto Hotel
💻
TECH STACK
🎮
GAME CONTENT
200+
Unique Avatars
300+
Furniture Items
9
Dance Animations
4
Directions
📁
PROJECT STRUCTURE
/
├── src/ # Game source code
│ ├── main.js # Entry point
│ ├── objects/ # Avatar, Tilemap, Floor
│ ├── managers/ # NPC, Mobi, Multiplayer
│ ├── systems/ # HeightMap
│ ├── pathfinding/ # A* algorithm
│ └── rooms/ # Room management
├── server/ # WebSocket server
├── public/sprites/ # Avatar & furniture sprites
├── data/rooms/ # Room JSON definitions
└── website/ # This landing page
🚀
RUNNING LOCALLY
# Install dependencies
npm install
# Development (game only)
npm run dev
# Development (game + multiplayer server)
npm run dev:all
# Production build
npm run build
🌐
MULTIPLAYER PROTOCOL
WebSocket messages use JSON format:
| MESSAGE | DIRECTION | DESCRIPTION |
|---|---|---|
| JOIN | Client → Server | Join a room |
| MOVE | Client → Server | Movement request |
| CHAT | Bidirectional | Chat message |
| SNAPSHOT | Server → Client | Full room state |
| PLAYER_UPDATE | Server → Client | Player position |
👤
AVATAR SYSTEM
- 200+ unique hand-crafted avatars
- Animations: idle, walk, dance
- 4 directions: NE, NW, SE, SW
- Up to 9 dance variations per avatar
- Sprites in
public/sprites/avatars/
🏠
ROOM SYSTEM
Rooms are defined as JSON files:
{
"id": "lobby",
"name": "Hotel Lobby",
"width": 20,
"height": 20,
"grid": [[0,1,0...]], // 0=walkable, 1=blocked
"door": {"x": 10, "y": 19},
"items": [...]
}
📱
BROWSER SUPPORT
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- WebGL required for PixiJS rendering
💰