A simple ncurses roguelike - with zombies

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

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.