Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
4cf6e13
Initial commit: Slither Quest multiplayer snake game
prabii Jun 21, 2026
f6c7039
Add WASD/arrow key controls and fix Valkey retry spam
prabii Jun 21, 2026
9657d4d
Add flight-test suite (30/30 passing)
prabii Jun 21, 2026
a1119f6
Merge remote main into slither-quest (link unrelated histories)
prabii Jun 21, 2026
e583a99
Update submission file to follow SUBMISSION_TEMPLATE.md format
prabii Jun 21, 2026
fcc089b
Update submission file to follow SUBMISSION_TEMPLATE.md format
prabii Jun 21, 2026
b3fc641
Add room password protection and serve built client from Express
prabii Jun 21, 2026
79a9e22
Add multi-room system and PIN-based login
prabii Jun 21, 2026
63ce888
Rename submission to ICSCoreTeam format, update project repo link
prabii Jun 21, 2026
dd882d1
Add Vercel (frontend) and Render (backend) deployment configs
prabii Jun 21, 2026
c3ed0f4
feat: complete UI overhaul + 5-min round timer + open room browser
prabii Jun 21, 2026
21ee5b9
feat: improve minimap — larger size, rounded corners, glow border, vi…
prabii Jun 21, 2026
7ed4185
feat: living lobby background, Arena credentials, Space Grotesk font,…
prabii Jun 21, 2026
2ce6409
feat: game explosions, creatures, varied pellets, better background &…
prabii Jun 21, 2026
003db74
feat: full lobby UI overhaul — teal design system, redesigned navbar,…
prabii Jun 21, 2026
f430b80
fix: commit ProfilePanel improvements (stat glow, achievement progres…
prabii Jun 21, 2026
35ec97e
fix: snake invisible — remove creature system, always draw head, clea…
prabii Jun 21, 2026
d48463b
feat: add dedicated auth screen before lobby
prabii Jun 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 0 additions & 43 deletions .github/PULL_REQUEST_TEMPLATE.md

This file was deleted.

6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
node_modules/
dist/
.env
*.log
.DS_Store
Thumbs.db
84 changes: 0 additions & 84 deletions CODE_OF_CONDUCT.md

This file was deleted.

Empty file removed CONTRIBUTING.md
Empty file.
23 changes: 0 additions & 23 deletions PROBLEM_STATEMENTS.md

This file was deleted.

191 changes: 61 additions & 130 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,156 +1,87 @@
# build-beyond-limits-2.0
PR submissions for the Build Beyond Limits 2.0 - Powered by Valkey, Hosted by React Hyderabad
Credit Partner - https://thebreeth.com/
# Slither Quest — Multiplayer Snake Game

Instructions releasing live on 20th June, at 3 PM
A Slither.io-style multiplayer game built with React + Canvas, Node.js + WebSocket, Valkey (Redis), and Breeth AI for player memory.

Join here - https://youtube.com/live/kTT2Kovs-y8?feature=share
## Architecture


# React Hyderabad x Valkey

Welcome to the official open-source submission repository for the **Build Beyond Limits 2.0 - powered by Valkey and Breeth AI, and hosted by React Hyderabad**.

This buildathon is focused on solving **real-world business problems using AI**. The goal is not just to write code, but to understand a problem, think from a business perspective, use the right tools, build a working solution, and present it clearly.

This repository will act as the central place where all participant submissions are listed.

Your actual project/code should be maintained in your own GitHub repository. This repo is only for submitting your project details.

---

## How to Participate

1. Fork this repository.

2. Create your own project repository on GitHub.

3. Pick one of the problem statements from `PROBLEM_STATEMENTS.md`.

4. Build your project in your own GitHub repository.

5. In your fork of this repository, go to the `submissions/` folder.

6. Create a new markdown file using this naming format:

```txt
projectname_attendeeName.md
```

OR

```txt
projectname_teamName.md
Browser ──input {dir, boost}──► Node.js game loop (25 Hz)
◄──snapshot (world)──
├── Valkey (ioredis): leaderboard, pub/sub, world snapshot
└── Breeth AI: per-player memory (join greeting / death log)
```

Example:

```txt
ai-sales-copilot_shlok-srivastava.md
```

7. Use `SUBMISSION_TEMPLATE.md` as the blueprint for your submission.

8. Fill in all the required details:

* Project name
* Your name
* Problem statement selected
* Project description
* Approach
* Tools and technologies used
* GitHub project link
* LinkedIn profile
* GitHub username

9. Raise a Pull Request to this repository.
- **Server-authoritative**: client sends only mouse direction + boost flag; server owns all positions, growth, and collision.
- **25 ticks/sec** game loop; Valkey updated ~2×/sec to avoid remote round-trip costs.
- **Pub/sub killfeed**: deaths published to `game:events`, subscriber relays to all WebSocket clients.

10. Get your Pull Request merged.
## Run Steps

---
### 1. Server

## Important Submission Note

Please make sure your Pull Request is raised by today.

Even if your project is incomplete, you should still submit your project details by creating a Pull Request.

You can continue building and improving your actual project in your own GitHub repository after the submission PR is merged.

The purpose of this repository is to make the hackathon open, transparent, and community-driven.

---

## Submission Rules

1. Each participant must submit their own project.

2. Your actual project code should be in your own GitHub repository.

3. Do not push your project code directly into this repository.

4. This repository should only contain participant submission files.

5. Each submission file must be added inside the `submissions/` folder.

6. Use the correct file naming format:

```txt
projectname_attendeeName.md
```
OR
```txt
projectname_attendeeName.md
```bash
cd server
npm install
cp .env.example .env # edit VALKEY_URL and optionally BREETH_API_KEY
npm run dev
```

7. Make sure your project repository is public.

8. Do not commit API keys, private tokens, passwords, or secret credentials in your project repository.

9. If your project is still a work in progress, mention that clearly in your submission.
### 2. Client

10. Keep your submission clear, honest, and easy to understand.

---
```bash
cd client
npm install
# Optional: edit .env if server is not on localhost:3001
npm run dev
```

## Pull Request Title Format
Open **http://localhost:5173** in your browser.

Please use this format for your Pull Request title:
## Environment Variables

```txt
Submission: Project Name - Attendee Name/ Team Name
```
### server/.env

Example:

```txt
Submission: AI Sales Copilot - Shlok Srivastava
```
| Variable | Description |
|---|---|
| `PORT` | WebSocket/HTTP port (default `3001`) |
| `VALKEY_URL` | `rediss://user:pass@host:port` — Aiven or local Redis |
| `BREETH_API_KEY` | `ck_live_…` — optional; game runs with in-memory fallback |

---
### client/.env

## What Makes a Good Submission?
| Variable | Description |
|---|---|
| `VITE_WS_URL` | WebSocket URL (default `ws://localhost:3001`) |

A good submission should clearly explain:
## Valkey Data Model

* What problem you selected
* What your project does
* Why your solution is useful
* How you approached the problem
* What AI tools or technologies you used
* What is already working
* What you plan to improve next
| Key | Type | Usage |
|---|---|---|
| `game:leaderboard` | Sorted Set | `ZADD score playerId`, read with `ZREVRANGE 0 9 WITHSCORES` |
| `game:names` | Hash | `HSET playerId name` |
| `game:world` | String | JSON snapshot, `EX 5` TTL |
| `game:events` | Pub/Sub | join / death events |

The project does not have to be perfect. We care about your thought process, execution, learning, and ability to solve a real-world problem.
## Breeth AI

---
On **join**: `POST /v1/search` with player name → personalized greeting showing best length and last killer.
On **death**: `POST /v1/episodes` stores the run narrative for future recall.
Falls back to in-memory store automatically when `BREETH_API_KEY` is not set.

## About the Build Beyond Limits 2.0
## Controls

This hackathon is hosted by **React Hyderabad** in collaboration with **Valkey** and **Breeth AI**.
| Action | Control |
|---|---|
| Steer | Mouse movement |
| Boost | Hold left-click or Space |
| Respawn | Click RESPAWN button (3 s cooldown) |

The goal is to bring builders together to solve meaningful problems using AI, frontend, backend, cloud, automation, and modern development tools.
## Game Mechanics

Build with intent.
Solve with clarity.
Ship with confidence.
- World is **4000×4000** with a grid background; camera follows your snake head.
- Eating pellets grows your snake and increases score.
- Boosting increases speed but burns length and drops pellets.
- Colliding **head-first into another snake's body** kills you.
- Hitting the **world border** kills you.
- Dead snakes explode into pellets.
Loading