# ๐งโโ๏ธ BottomLine: Endless Zombie Defense
**BottomLine** is a mobile-first, endless zombie tower defense game built with **Phaser 3** and packaged for Android using **Capacitor**.
Defend your base, upgrade towers, defeat bosses, and survive increasingly difficult waves of zombies.
---
## ๐ฎ Gameplay Overview
* Zombies advance through **multiple lanes**
* You **place and upgrade towers** to stop them
* **Boss enemies** unlock additional lanes
* Difficulty scales endlessly
---
## ๐ง Core Mechanics
### ๐ฃ๏ธ Lane System
* Up to **9 lanes**
* Unlocked progressively:
* Level 1 โ 1 lane
* Level 2 โ 3 lanes
* Level 3 โ 5 lanes
* Level 4 โ 7 lanes
* Level 5 โ 9 lanes
---
### ๐พ Enemy Types
| Type | Behavior |
| ------ | ----------------------------- |
| Walker | Balanced base zombie |
| Runner | Fast, low HP |
| Tank | Slow, high HP, attacks towers |
| Boss | High HP, unlocks new lanes |
---
### ๐๏ธ Towers
| Level | Type | Description |
| ----- | ------------- | ------------------------------ |
| 1 | Basic | Balanced attack |
| 2 | Rapid | Faster firing |
| 3 | Heavy | High damage |
| 4 | Explosive | Splash damage (AOE) |
| 5 | Laser *(WIP)* | Planned continuous beam weapon |
---
### ๐ฐ Economy
* Earn **tokens** from kills
* Use tokens to:
* Upgrade towers
* Bosses give **bonus rewards**
---
### ๐ง Boss System
Bosses appear at increasing thresholds:
```
50 โ 100 โ 200 โ 400 โ ...
```
Defeating a boss:
* Unlocks more lanes
* Increases difficulty
---
## ๐ฅ๏ธ Screens
### โถ๏ธ Start Screen
* Game title
* Instructions
* Start button
### ๐ฅ Gameplay
* Real-time tower defense
* Lane-based combat
* Scaling difficulty
### โ ๏ธ Game Over Screen
* Final stats:
* Kills
* Tokens earned
* Bosses defeated
* Retry or return to menu
---
## ๐ ๏ธ Tech Stack
* **Phaser 3** โ Game engine
* **JavaScript (ES Modules)**
* **Capacitor** โ Android packaging
* **Android Studio** โ Build & APK generation
---
## ๐ฑ Android Build
### Requirements
* Node.js
* Android Studio
* Java JDK
---
### Install dependencies
```bash
npm install
```
---
### Build web assets
```bash
npm run build
```
---
### Sync with Capacitor
```bash
npx cap sync android
```
---
### Open in Android Studio
```bash
npx cap open android
```
---
### Build APK
In Android Studio:
```
Build โ Build APK
```
---
## ๐จ Assets
* Custom zombie sprites (walk + death animations)
* Tower sprites (5 levels)
* Explosion effects
* Forest/apocalypse background
* Custom splash screen and launcher icons
---
## ๐ฆ Project Structure
```
src/
โโโ main.js
โโโ GameScene.js
โโโ StartScene.js
โโโ SummaryScene.js
android/
โโโ Capacitor Android project
public/assets/
โโโ zombies/
โโโ towers/
โโโ effects/
```
---
## โ๏ธ Key Systems
* Lane-based enemy movement
* Enemy lane switching (random adjacent)
* Tower targeting with rotation delay
* Cooldown-based firing system
* Splash damage calculation
* Boss progression logic
* Token economy system
---
## ๐ง Roadmap
Planned features:
* ๐ซ Laser Tower (Level 5)
* ๐งช More zombie types:
* Spitter (ranged)
* Mutant (mini-boss)
* ๐ Wave system
* ๐ Sound effects & music
* ๐พ Save / High score system
* ๐ Game balancing improvements
* ๐ Achievements
---
## ๐ Known Issues
* UI scaling may vary across devices
* Balance tuning is ongoing
* Some animations may need optimization
---
## ๐ Contributing
This project is currently in active development.
Feel free to fork, test, and suggest improvements.
---
## ๐ License
TBD
---
## ๐ค Author
**Erwin Galang**
---
## ๐ฏ Final Note
BottomLine is built as a **fun, scalable tower defense foundation** with room for expansion into a full mobile release.
Survive as long as you can.
The zombies donโt stop.
Defend your base and survive increasingly difficult waves of zombies.