A simple ncurses roguelike - with zombies

Timothy Rice 78261466b9 Add gitignore. 9 jaren geleden
.gitignore 78261466b9 Add gitignore. 9 jaren geleden
Character.c 9594ad7793 Fleshed out the README a bit. 12 jaren geleden
Character.h 297ec61019 Cleaned up a bit. 12 jaren geleden
Creature.c 4b029b716e Tidy up. 12 jaren geleden
Creature.h 4b029b716e Tidy up. 12 jaren geleden
Curses.c 4b029b716e Tidy up. 12 jaren geleden
Curses.h 06a63422bf Overlapping buildings done; but gaps at intersecting boundaries. 12 jaren geleden
Doxyfile 018eb6be19 Implemented saving/loading maps as part of saving & loading games. 12 jaren geleden
Game.c 4b029b716e Tidy up. 12 jaren geleden
Game.h 4b029b716e Tidy up. 12 jaren geleden
Makefile eefefb5869 We were including save.tab.h in the list of files to compile. 12 jaren geleden
Map.c c1e5dd97b6 Tidy up. 12 jaren geleden
Map.h f7c7b1870d Fixed bugs in map loading code and improved rendering of overlapping buildings. Also some general code clean up. 12 jaren geleden
Maths.c 4b029b716e Tidy up. 12 jaren geleden
Maths.h 4b029b716e Tidy up. 12 jaren geleden
Menu.c 297ec61019 Cleaned up a bit. 12 jaren geleden
Menu.h f2f49ae442 First commit, stable. 12 jaren geleden
README 4b029b716e Tidy up. 12 jaren geleden
main.c 297ec61019 Cleaned up a bit. 12 jaren geleden
main.h 297ec61019 Cleaned up a bit. 12 jaren geleden
save.h f2f49ae442 First commit, stable. 12 jaren geleden
save.l 018eb6be19 Implemented saving/loading maps as part of saving & loading games. 12 jaren geleden
save.y f7c7b1870d Fixed bugs in map loading code and improved rendering of overlapping buildings. Also some general code clean up. 12 jaren geleden

README

ZOMBIES

A zombie game at least partly inspired by the roguelike genre, with key bindings inspired by vim:

- h: Move left

- j: Move down

- k: Move up

- l: Move left

- q: Quit

- w: Save

- i: Inventory (not implemented yet).

Use SHIFT_{h,j,k,l} to sprint. Sprinting will exhaust your character until they've had time to rest.


Objective:

Make your way from the top-left of the map to the bottom right without getting eaten.


Installation:

Run make to compile, then put the binary in your path or run it directly.

The source includes a Doxyfile. Run,

make docs

Then check out docs/html/index.html in your browser. You'll be able to find a bunch of cool dependency graphs which show the structure of the code.


To do, with more important tasks near the top and low priorities at the bottom:

- Put usable items on the map and let characters carry them in an inventory.

- A status bar to show health and fatigue levels.

- More realistic lighting. It's currently possible to see around corners.

- Players should be infected by bites, but this needs to be done in a way that doesn't unbalance the game.

- More sophisticated maps, eg scrollable to permit maps larger than console size. (Maybe not doable with simple ncurses?) Also, it would be good to be able to enter buildings and use the ncurses panel library or the like to go to different floors.

- Some kind of plot and/or difficulty progression.

- More complicated character abilities and attributes. Characters should be able to learn skills and become fitter with time.


Will not do:

- Different kinds of zombies.

- Different kinds of player characters.

- Player character alignment.

- Mutations, psionics, supernatural forces, cybernetic implants, alien technology, genetic engineering, or any other weird stuff that distracts from the difficulties of surviving a zombie apocalypse.