RelentlessWaves

Download

The latest version is RelentlessWaves v1.00a, released on 11/27/18.

RelentlessWaves v1.00 - Windows - Linux - Mac (OS X)

Description

RelentlessWaves is a music-based tower defense game. It basically runs an FFT on the music audio, and uses the resulting spectrum (technically, only part of the resulting spectrum) as an input to a bunch of enemy creep generators. Hence, higher frequencies will cause small enemies to appear on the right side of the screen, and lower frequencies will cause larger enemies to appear on the left.

RelentlessWaves was done as a homework assignment for a music class I took. The assignment was basically to show that you can take an FFT and display it using OpenGL, and you were supposed to "visualize something else about the sound"...so I went totally overboard and made an entire game out of it. =D

Features

-Cross-platform

-3 different creep types, 4 different tower types

-Creeps spawn more frequently as the song goes on

-128-band FFT spectrum display, calculated in real-time

-3 different songs to choose from (all produced by me)

-Cool pixely sprites

-Neat retro sounds

Known Issues

-Spawner display and glow doesn't really behave ideally.

-FFT display and scaling (and the associated spawning) isn't really ideal either.

-Ogg files are loaded into memory instead of streamed from disk, due to a limitation of SDL_Mixer. I might look into using OpenAL or something else to work around this.

-No proper menus, UI, pause, etc.

-Gameplay balance is probably off.

-Audio mixing is really rudimentary, there's possible clipping (?) since I don't do soft clipping/etc.

-Might not be totally robust. Might not quite work on all sound setups.

-Audio keeps going but gameplay freezes when you drag around the window.

-Bunches of other things.

Frequently Asked Questions

Q: Where are the songs from?

A: Song 1 is a quick (not yet released) WIP I threw together specifically for this game. Song 2 is Antares, and Song 3 is Lurker--both of which are OHC entries of mine.

Q: What class was this for?

A: Stanford's CS476A/Music256A class, titled "Music, Computing, and Design I".

Q: How long did you take to write RelentlessWaves?

A: One weekend.

Q: (Linux) Where can I find the SDL libraries?

A: Most package managers should already have them available. You'll want the following packages:

SDL2 (libsdl2-2.0-0)

SDL2_image (libsdl2-image-2.0-0)

SDL2_ttf (libsdl2-ttf-2.0-0)

Alternatively, you can grab them from these links:

SDL2 - https://www.libsdl.org/download-2.0.php

Q: How did you make RelentlessWaves?

A: Short answer: C++.

Long answer: RelentlessWaves is programmed in C++, and uses SDL with OpenGL. SDL_image, SDL_mixer, and SDL_ttf are used as extension libraries, along with some simple FFT functions that were provided to us in class. The Windows build was developed in Visual Studio 2010, but the release build was compiled using MinGW. The Linux build was compiled with g++ under VMWare running Ubuntu 9.10 RC. The artwork was created in GIMP, and the sounds and music were made using FL Studio, plus sfxr.

Q: Is the source code available?

A: RelentlessWaves is currently closed-source.

Q: Can I redistribute RelentlessWaves?

A: Please just link people to this page instead.