Skip to content

ajitonelsonn/Junie_Arcade

Repository files navigation

Sky's the Limit - Junie's Arcade

A 3-in-1 mini-game tournament arcade built for the Cloud9 x JetBrains "Sky's the Limit" Hackathon 2026, submitted under Category 4: Event Mini-Game.

Hackathon Submission

Category 4 - Develop a mini-game for fans at LCS or VCT Event Booths.

Requirement Implementation
Fast & Engaging (< 3 min) 50-100 second games with high replayability
Intuitive Controls Mouse/click + SPACE only, no tutorial needed
Thematic VALORANT/LoL tactical aesthetic with Cloud9 branding
Live Leaderboard Real-time Champion Points ranking system

About the Project

Junie's Arcade features three fast-paced mini-games designed for competitive play at Cloud9 and JetBrains event booths. Players compete for high scores, earn Champion Points across all three games, and climb a global leaderboard. Top 3 players at GDC events win authentic Timor-Leste merchandise prizes.

  • Duration: 2-5 minutes per full tournament run
  • Platform: Web-based (desktop recommended)
  • Games: Jump Master (platformer), Reflex Arena (reaction), Memory Match (puzzle)

The Three Games

Game Type Duration Goal
Jump Master Endless Runner 50 seconds Jump obstacles, collect Cloud9 logos and coins
Reflex Arena Reaction Game 50 seconds Click good targets, avoid bad ones, build combos
Memory Match Card Puzzle 100 seconds Match 8 pairs of champion cards with combo system

Each game features progressive difficulty, combo multipliers, and achievement cards generated after completion.


Champion Points System

Since each game has different scoring ranges, Champion Points normalize rankings across games:

Rank Points
1st 100
2nd 90
3rd 80
4th-10th 75-50
11th-25th 48-20
26th+ 19-1

Players who complete all 3 games are ranked higher. Total Champion Points determine the overall leaderboard position.


Tech Stack

Category Technologies
Framework Next.js 16, React 19, TypeScript
Game Engine Phaser 3
3D Graphics Three.js, React Three Fiber, React Three Drei
Styling Tailwind CSS 4
Animations Framer Motion
Database PostgreSQL with Prisma ORM
Storage AWS S3 (achievement cards)
Deployment Vercel

System Architecture

flowchart LR
    subgraph Client["Client (Browser)"]
        UI[React UI]
        Phaser[Phaser 3 Games]
        ThreeJS[Three.js 3D]
        FM[Framer Motion]
    end

    subgraph Server["Next.js 16 Server"]
        Pages[App Router Pages]
        API[API Routes]
        Lib[Game Logic & Utils]
    end

    subgraph Data["Data Layer"]
        DB[(PostgreSQL)]
        S3[(AWS S3)]
    end

    Client --> Server
    Server --> Data
Loading

Development Approach

This project was developed using JetBrains WebStorm with Junie (JetBrains AI Coding Agent) to improve the code and accelerate game development. The initial ideas and task planning are documented in the Idea_and_task_and_hackathon/ folder.

Development screenshots from WebStorm with Junie:

Screenshot Description
Junie in WebStorm Early development with Junie AI assistant in WebStorm
Game documentation Writing game documentation and gameplay guide with AI assistance
AI Ultimate Credits My credit remain when Use AI Ultimate
AI Pro Credits My credit remain when Use AI Pro
JetBrains AI Ultimate JetBrains AI Ultimate

Documentation

This project includes detailed documentation for every aspect of the system:

Document Description
how_game_is_work.md Complete gameplay guide with strategies and tips
LEADERBOARD_SCORING.md Detailed scoring mechanics and Champion Points formulas
diagram/README.md System architecture diagrams (Mermaid)
prisma/README.md Database schema and Prisma ORM documentation
app/api/README.md Complete API reference with examples
junie-arcade/README.md Main application README with setup instructions

Quick Start

Prerequisites

  • Node.js 18+
  • PostgreSQL database
  • npm

Setup

git clone https://github.com/ajitonelsonn/Junie_Arcade.git
cd Junie_Arcade/junie-arcade
npm install

Configure .env (see junie-arcade/README.md for full details):

DATABASE_URL="postgresql://user:password@host:5432/database?schema=public"
API_SECRET_KEY="your-generated-key"
NEXT_PUBLIC_API_KEY="your-generated-key"
AWS_REGION="us-east-1"
AWS_ACCESS_KEY_ID="your-access-key"
AWS_SECRET_ACCESS_KEY="your-secret-key"
S3_BUCKET_NAME="junies-arcade"

Initialize database and run:

npx prisma generate
npx prisma db push
npx tsx prisma/seed-countries.ts
npm run dev

Open http://localhost:3000 in your browser.


Project Structure

Sky_the_Limit/
├── junie-arcade/              # Main application
│   ├── app/
│   │   ├── api/               # REST API endpoints
│   │   ├── components/        # React components
│   │   ├── games/             # Game pages (jump, reflex, memory)
│   │   ├── gallery/           # Achievement card gallery
│   │   ├── leaderboard/       # Leaderboard page
│   │   ├── lib/               # Utilities and Phaser game scenes
│   │   └── merchandise/       # Merchandise page
│   ├── prisma/                # Database schema and seeds
│   ├── public/                # Static assets (images, sounds, fonts)
│   ├── diagram/               # Architecture diagrams
│   └── package.json
├── Idea_and_task_and_hackathon/  # Planning docs and hackathon info
├── ss/                        # Development screenshots
└── README.md                  # This file

Art & Design Assets

All visual assets (mascots, logos, game targets, cards, merchandise imagery) were created using a combination of AI generation and manual design/editing:

Asset Tool Link
Junie Mascot (AI-generated base) Grok AI View on Grok
Mascot & Logo (edited/finalized) Canva View on Canva
Game Targets Canva View on Canva
Merchandise Designs Canva View on Canva
Game Cards Canva View on Canva
Hero Images Canva View on Canva
New Hero Images (AI-generated) Grok AI View on Grok
Background Images (AI-generated) Gemini AI View on Gemini

The Junie mascot was initially generated using Grok AI, then refined and edited in Canva alongside all other game assets. Hero images and backgrounds were generated using AI tools and integrated into the game design. Hero character images were sourced from Cloud9's official website.


Credits

  • Developer: Ajito Nelson Lucio da Costa, from Timor-Leste
  • Hackathon: Cloud9 x JetBrains "Sky's the Limit" 2026
  • IDE: JetBrains WebStorm with Junie AI
  • Mascot: Junie (JetBrains Junie AI Agent)

License

See LICENSE for details.

About

JUNIE'S ARCADE - Three legendary challenges. One elite arena. Push your limits and claim your spot on the leaderboard.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages