Pixel-art Tower Defense Game
[ English | Русский ]
Pico TD is a pixel-art tower defense game where you defend against waves of enemy vehicles using soldiers. The concept is inspired by the Bloons TD series.
Pico TD features tactical gameplay where you place your soldiers to maximize their efficiency. The game includes different soldier classes, enemy types, multiple levels, and the ability to load custom levels following this example.
There are three soldier classes:
- Regular Soldier: A balanced unit with moderate damage and a fast rate of fire.
- Rocket Launcher: High area damage, but a slow rate of fire.
- Sniper: Long-range, high-damage unit with a slow rate of fire.
Enemies can be ground, naval, or air units, including trucks, tanks, drones, planes, boats, and more. Both soldiers and enemies have multiple levels, increasing the difficulty as the game progresses.
The game is designed to be played with a mouse but also supports touch input.
You can play the game directly in your browser:
The following tools were used to build this project:
- Rust 1.91.0
- Bevy 0.17.2
First, install Rust if you haven't already. Follow the installation instructions here: https://www.rust-lang.org/tools/install.
git clone https://github.com/Kicshikxo/Pico-TD.git
cd Pico-TDRun the project on your native platform:
cargo run --features bevy/dynamic_linkingBuild the project in release mode:
cargo build --releaseTo reduce the final binary size, you can use UPX:
upx --best --lzma target/release/pico_tdTo run the project with WASM, install the wasm32-unknown-unknown target:
rustup target install wasm32-unknown-unknownInstall wasm-server-runner to run the project
cargo install wasm-server-runnercargo run --target wasm32-unknown-unknownFor a release build, install wasm-bindgen-cli:
cargo install wasm-bindgen-clicargo build --release --target wasm32-unknown-unknownwasm-bindgen --out-name pico_td --out-dir wasm --target web --no-typescript target/wasm32-unknown-unknown/release/pico_td.wasmFor additional optimization, use wasm-opt.
cargo install wasm-optwasm-opt -Oz --all-features --output wasm/pico_td_bg.wasm wasm/pico_td_bg.wasmTo build for Android, install the required targets:
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-androidAnd install cargo-ndk:
cargo install cargo-ndkThen build the game for all platforms:
cargo ndk -t armeabi-v7a -t arm64-v8a -t x86 -t x86_64 -o android/app/src/main/jniLibs/ build --release --link-libcxx-sharedFinally, open the android folder in Android Studio and build the project.
Distributed under the WTFPL License. See LICENSE for more information.