A simple ncurses roguelike - with zombies

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

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.