A simple ncurses roguelike - with zombies

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

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.