Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thetawavegame/thetawave

A physics based, space shooter game made with Rust and the Bevy engine.
https://github.com/thetawavegame/thetawave

2d bevy game physics rapier spaceshooter

Last synced: about 15 hours ago
JSON representation

A physics based, space shooter game made with Rust and the Bevy engine.

Awesome Lists containing this project

README

        

#

[![Demo](https://img.shields.io/badge/Demo-Play%20Now%21-blue)](https://thetawave.metalmancy.tech)
[![Build](https://github.com/thetawavegame/thetawave/actions/workflows/ci.yml/badge.svg?)](https://github.com/thetawavegame/thetawave/actions/workflows/ci.yml)
[![Discord](https://img.shields.io/badge/chat-on%20discord-green.svg?logo=discord&logoColor=fff&labelColor=1e1c24&color=8d5b3f)](https://discord.gg/4smxjcheE5)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## What is Thetawave?

Thetawave is a physics-based space shooter with procedurally generated levels, diverse foes, and distinct characters. As an open-source project, it invites collaboration and creativity from the community, allowing enthusiasts and developers to contribute to its evolution. This aspect of open-source development adds a unique dimension to Thetawave, as it grows and diversifies with inputs from its user base. Engaging in both gameplay and development, players and developers alike can experience the thrill of space combat while shaping the game's future.

## Gameplay




## Controls

| Action | Keyboard 🖮 | Controller 🎮 |
| ----------------- | --------------------- | ----------------- |
| 🕹ī¸ Movement | 'WASD' / Arrow Keys | D-Pad |
| đŸ”Ģ Fire Weapon | Left Click / Spacebar | Right Bumper (RB) |
| đŸ’Ĩ Special Ability | Right Click / Shift | Left Bumper (LB) |

## How to Play

**Objective:** Protect the planet from invading enemies!

**Game Over Conditions:**
- When all players' health bars are depleted from damage.
- When the blue defense bar is depleted (occurs when enemies reach the bottom of the arena).

**Power-Ups:**



Wrenches restore health.



Gems increase fire rate.



Armor negates damage.



Energy orbs give additional projectiles.

**Special Mechanics:**
- Letting cargo hauler mobs reach the bottom of the arena heals the defense bar.

## Building and Playing Locally

While you can play [in the browser](https://thetawave.metalmancy.tech) (works best on Google Chrome...for now), you can
play offline in a few ways. The simplest way to play a native build of the game offline is to download the latest
[Github release](https://github.com/thetawavegame/thetawave/releases) for Windows or Linux. Then run the executable.

To run the game after compiling locally, do the following.

0. Clone the repository `git clone https://github.com/thetawavegame/thetawave.git`
0. Download our assets.

One way is to download a recent Linux `.tar.gz` release, and extract the `assets/` directory in the tarball into your
local `assets/` directory. We do so in the following Bash command. In Windows, just copy the files manually. Replace
the link with that of a build from the [latest release](https://github.com/thetawavegame/thetawave/releases),
especially if you are running off of the `main` branch.

```bash

curl -Ls https://github.com/thetawavegame/thetawave/releases/download/v0.2.0/thetawave-0.2.0-x86_64-unknown-linux-gnu.tar.gz \
| tar -xz -C assets/ --strip-components=2 --wildcards "*/assets/*"
```

If when running the `main` branch you still have missing assets, it means that we are using assets that are not yet
published in a release. In that case, you might checkout the latest tag. Find it by running `git tag` and then
execute, for example, `git checkout v0.2.0`.

0. Compile/run using [Cargo](https://github.com/rust-lang/cargo) as follows.

```bash
cargo run --release
```

0. Enable the install features you want. Our install features are as follows.

- `cli` - Enables start up parameters on the built `thetawave` executable.
- `storage` - Enables writing user stats to a local [SQLite](https://www.sqlite.org/) database.
- `arcade` - Enables arcade-specific features, namely through serial communication to a microcontroller.

One can run using install features as follows.

```bash
cargo run --release --features "storage,cli,arcade"
```

## How to Contribute

We welcome contributions from all community members. Your insights and improvements help us grow.

For complete guidelines on contributing, please see our [Contributing Guide](CONTRIBUTING.md). It includes all the necessary information on how you can participate in shaping Thetawave.

## Team



@cdsupina 💡
Role: Creative Director
Contribution: Visionary leadership and creative oversight.



@varoonp123 đŸ’ģ
Role: Lead Programmer
Contribution: Architect of the game's deployment and technical features.



@LordDeatHunter 🎨
Role: Lead Artist
Contribution: Key driver of the game's visual style and artistic assets.

## External Assets

### đŸŽĩ Music
[Joel Schuman](https://joelhasa.site/) - Original Game Soundtrack

### đŸ“ĸ Sound Effects
[*Space Ultimate Megapack*](https://gamesupply.itch.io/ultimate-space-game-mega-asset-package) - Comprehensive Space Audio Collection

### 🎨 Art
[Kadith's icons](https://kadith.itch.io/kadiths-free-icons) - Game Iconography

### 📜 Fonts
[*Space Madness*](https://modernmodron.itch.io/) - Font Design by Rose Frye