Dodas stands for "de dödas angrepp", literally "attack of the dead" and is a terminal videogame.
Dodas is written in C++ and uses the Sista library for terminal graphics.
You can download the game by cloning the repository:
git clone https://github.com/Lioydiano/DodasOtherwise, you can download the latest release from the releases page.
Often with the release, there is a static executable for both Windows and Linux that you can run directly, without the need to compile the game.
Since this is not always the case, and not everybody uses either Windows or Linux, you can compile the game yourself.
The release includes a Makefile that you can use to compile the game. You can compile the game by running:
makeIn case you don't have make installed, you can compile the game by running:
g++ include/sista/ANSI-Settings.cpp include/sista/border.cpp include/sista/coordinates.cpp include/sista/cursor.cpp include/sista/field.cpp include/sista/pawn.cpp dodas.cpp -o dodasAdd the -static flag if you want to compile the game statically and share it with others.
g++ -static include/sista/ANSI-Settings.cpp include/sista/border.cpp include/sista/coordinates.cpp include/sista/cursor.cpp include/sista/field.cpp include/sista/pawn.cpp dodas.cpp -o dodas Also, in some cases you might need to specify -std=c++17 which is the standard used in this project.
g++ -std=c++17 include/sista/ANSI-Settings.cpp include/sista/border.cpp include/sista/coordinates.cpp include/sista/cursor.cpp include/sista/field.cpp include/sista/pawn.cpp dodas.cpp -o dodas After compiling the game, you can run it by executing the dodas executable:
./dodasWhich on Windows can be done by running:
dodas-Uor--unofficialto run the game in unofficial mode
If you want your record to be considered, you must run ./dodas with no -U flag and without editing constants such as START_AMMONITION.
If you want the game to be pausable without the number of elapsed frames being incremented, you must run ./dodas -U or ./dodas -unofficial and this will make an eventual record not be considered.
-Mor--music-offto run the game without music
If you don't want the music to be played, you must run ./dodas -M or ./dodas --music-off.
If you want the music to be played correctly, you may need some libraries, see this list:
- Linux:
ffplaywhich comes with theffmpegpackage- Falls back to
aplayifffplayis not found
- Falls back to
- MacOS:
afplaywhich is included in the MacOS API - Windows:
PlaySoundfromwinmm.dllwhich is included in the Windows API
Also, you must have the audio folder in the same directory from which you run the game. By default, the audio folder is included in the repository.
-Eor--endlessto run the game in endless mode
The endless mode is a mode where the game never ends, and you can play as long as you want without worrying about the queen, whose health is infinite.
-Hor--hardcoreto run the game in hardcore mode
The zombies will keep spawning and their spawn rate will increase over time.
You are the red $ symbol and you have to kill the 9 queen.
The queen defends herself by spawning bold shooting Z zombies and walking Z zombies.
The queen also spawns = walls to protect herself when hitten.
You must kill the queen as fast as possible, because the zombies will keep spawning.
w/a/s/dto move (up/left/down/right, uppercaseA/S/Dalso work)Qto quit (lowercaseqwon't work because it caused unintentional exits)i/j/k/lto shoot and build (up/left/down/right).to pause and unpause the game
You can select different "weapons" by pressing the following keys:
bto select bullets (Balso works)mto select mines (Malso works)cto select cannons (Calso works)eto select exploding bombers (Ealso works)gto select workers, gatherers (WandGalso work)uto select upgraded armed workers (Ualso works)=to select walls (0and#also work)
A "weapon" is not really a weapon, but rather an entity that you can place on the field.
Each weapon has a different ammunition cost:
- Bullets: 1
- Walls: 1
- Mines: 3
- Workers: 5
- Cannons: 5
- Bombers: 7
- Armed Workers: 8
Workers (underscored yellow W) produce ammunition for you: more workers, more ammunition.
Walls (yellow =) are used to protect anybody from bullets and enemies in general.
Mines (blinking purple *) are used to kill enemies that step on them.
Cannons (red C) are used to kill enemies in a straight line shooting bullets.
Cannons shoot more bullets if there are more workers directly behind them.
WWWC >Bombers (blue B) are used to kill enemies in a square 5x5 area.
Zombies (faint Z) defend the queen by attacking you.
Walkers (bold Z) are zombies that walk towards you.
They are slow, they walk generally in a straight line and they are easy to kill.
They are able to destroy walls and workers, and they explode in a 3x3 area when they reach the left border, removing also all your ammonition.
The queen (bold 9) is the main enemy of the game.
She spawns zombies and walls to protect herself.
She only moves on the y-axis, so she's always close to the right border.
Despite not being intelligent in any way, her movements are unpredictable.
- Sista library for terminal graphics
- Luca Corradin for the idea of the game
- Francesco Corradin for beta testing and suggestions
- FLAK-ZOSO for writing the code
- Il Pensionato Sentenzioso for the music
v0.2record:1783by FLAK-ZOSOv0.3record:2145by FLAK-ZOSOv0.4record:2102by FLAK-ZOSOv0.5record:1903by Francesco Corradinv0.6record:1924by FLAK-ZOSO