A game where pop star rivals clash for chart supremacy.
Match gems. Deal damage. Become the bigger star.
Popstar Hub is a PC party game where players battle for chart dominance through arcade mini-game challenges.
Mini games include 1) a glittering 8×8 gem board, chaining combos to deal damage to their opponent's health bar. 2) a karaoke batte game 3) a trivia game, and so many more Every match earns StarCoins, the in-game currency of fame, which can be spent in the Shop on outfits, stages, and songs that visually transform your popstar.
Progression isn't just numbers — it's your popstar evolving and gaining access to more of the world.
| Feature | Description | Status |
|---|---|---|
| 🏠 Hub Navigation | Home base — select challenges, view your evolving popstar identity | 🔧 WIP |
| 💎 Gem Match Battle | 8×8 board — match symbols to deal damage and chain combos | ✅ Complete |
| 🪙 StarCoin Economy | Performance score converts to spendable in-game currency | 🔧 WIP |
| 🛍️ Shop & Unlocks | Outfits, stages, songs — self-expression is the popstar fantasy | 🔧 WIP |
| 🌐 LAN Multiplayer | Head-to-head on a local network — no internet required | 🔧 Prototyping |
- 🎵 Karaoke — performance layer, high technical risk
- 🧠 Trivia — entertaining side challenge
- 💃 Popstar Life — lifestyle minigame (overlaps with Shop)
1. Enter the Hub → Select a mini-game challenge on your path to stardom
2. Compete → Play Gem Match — match gems, chain combos, defeat your rival
3. Earn StarCoins → Your performance score converts to StarCoins (in-game fame currency)
4. Visit the Shop → Spend StarCoins on outfits, stages & songs
5. Return Transformed → Back to the Hub, visually evolved — ready for the next challenge
|
The Smooth Operator
|
The Fierce Diva
|
Popstar Hub follows a clean, component-based Unity architecture. One class per file, [SerializeField] over public fields, events for callbacks, and coroutines for all timed logic.
Assets/
├── Scripts/
│ ├── GemMatch/
│ │ ├── GemBoard.cs # Central coordinator — 8×8 grid, spawning, cascade logic
│ │ ├── Gem.cs # Individual gem data and state
│ │ ├── GemAnimator.cs # All gem animations (slide, fall, match flash, power-up burst)
│ │ ├── GemInputHandler.cs # Click/swap input — decoupled from board logic
│ │ ├── MatchDetector.cs # Detects 3+ horizontal/vertical matches, returns match groups
│ │ ├── PowerUpHandler.cs # Row clear, bomb, stun — event-driven, fully modular
│ │ └── HintSystem.cs # Highlights valid moves — timer-triggered for new players
│ │
│ ├── Battle/
│ │ ├── BattleManager.cs # Orchestrates fighter health, AI turns, win/loss flow
│ │ ├── Fighter.cs # Fighter data and health logic
│ │ ├── HealthBarUI.cs # Health bar rendering and animation
│ │ ├── AIOpponent.cs # AI decision-making for solo play
│ │ └── PopstarData.cs # ScriptableObject — character stats and metadata
│ │
│ ├── Economy/
│ │ ├── ScoreManager.cs # Tracks score, combo multiplier, StarCoin conversion
│ │ └── ScorePopup.cs # Floating score text on match
│ │
│ ├── Game/
│ │ ├── GameManager.cs # Scene flow, game state orchestration
│ │ └── GameTimer.cs # Match countdown timer
│ │
│ └── Audio/
│ └── SoundManager.cs # 100% procedural audio — no audio files required
│
└── ScriptableObjects/
└── PopstarData/ # MikaelYackson.asset, Beyonslay.asset
GemBoard.csis the single coordinator — all other gem systems communicate through it- Events over direct calls — systems raise events; dependent scripts subscribe
- Coroutines for all timed logic — no heavy
Update()polling [SerializeField]everywhere — neverpublicfields; Inspector-wired referencesAwake()null-coalescing fallbacks —??=guards protect against reference loss from scene reloads
- Unity 6 (6000.0.x or later)
- Git with LFS support
- Windows 10 / macOS 12 or later
# Clone the repository
git clone https://github.com/DarthCole/Popstars.git
cd Popstars
# Switch to the active development branch
git checkout feature/gem-boardThen open the project folder in Unity Hub and let it import.
⚠️ Important: Always move files using Unity's Project window — never via Finder/Explorer. Moving scripts outside Unity breaks all.metafile links and loses every serialized Inspector reference.
- Open
Assets/Scenes/MainScene.unityin the Unity Editor - Press Play to launch the gem board
- Click a gem, then click an adjacent gem to swap — match 3 or more to score
| Branch | Purpose |
|---|---|
main |
Stable, reviewed builds only |
feature/gem-board |
Active development — all current gem-match and battle work lives here |
The PR from feature/gem-board → main will be opened at final submission: DarthCole/Popstars/pull/new/feature/gem-board
cd ~/Desktop/Popstars
git add .
git commit -m "feat: describe your change here"
git push origin feature/gem-board✅ Always track
.metafiles in Git — they preserve serialized Inspector references across machines.
| Milestone | Target | Status |
|---|---|---|
| Project Kickoff + Repo Setup | Jan 2025 | ✅ Done |
| GemMatch Core (board, match detection, scoring) | Feb 2025 | ✅ Done |
| Battle System (fighters, health bars, AI) | Mar 2025 | ✅ Done |
| Shop & StarCoin Economy | Apr 2025 | ✅ Done |
| UI Polish + LAN Multiplayer | May 2025 | ✅ Done |
| Name | Role |
|---|---|
| Andre | Lead Developer |
| Jason | UI / Battle System |
| Sedem | Backend & Architecture |
| Elsie | Art & Character Design |
| Reno | Game Design & Balance |
| Gibby | Gem Match / Mini-Games |
| Tool | Use |
|---|---|
| Unity 6 | Game engine |
| C# | All game logic |
| GitHub | Version control |
| Unity Netcode for GameObjects | LAN multiplayer (prototyping) |
| TextMeshPro | All in-game UI text |
| ScriptableObjects | Character data (PopstarData) |
Popstars/
├── Assets/
│ ├── Scenes/
│ ├── Scripts/ # All C# source (see Architecture above)
│ ├── Prefabs/
│ ├── ScriptableObjects/
│ ├── Art/ # Placeholder art — final assets TBD
│ └── Audio/ # Procedural only — no audio files committed
├── Packages/
├── ProjectSettings/
└── README.md
- Always branch from
feature/gem-board, notmain - Keep commits small and descriptive (
feat:,fix:,refactor:) - Never move scripts outside Unity's Project window
- Add
Awake()null-coalescing guards to any new script that uses Inspector references - Open a PR for review before merging anything to
main
Source code is available for review and portfolio purposes under the MIT License.
💎 Match gems. Deal damage. Become the bigger star. 💎
github.com/DarthCole/Popstars · Branch: feature/gem-board