issues
search
amot-dev
/
multithread-game
A multithread game (threads yet to be implemented as of now).
GNU General Public License v3.0
0
stars
0
forks
source link
Roadmap
#1
Open
amot-dev
opened
2 years ago
amot-dev
commented
2 years ago
Roadmap
World Generation
[x] Generate biomes in splotches
[x] Generate features
[x] Minor features (villages, camps, caves, etc.)
[x] Major features (currently just cities and city districts)
[ ] Generate roads between certain features
NPCs
[ ] Add static NPCs
[ ] Filler NPCs with random dialogue (guards, townspeople, etc.)
[ ] Merchant NPCs
[ ] Quest giving NPCs
[ ] Human enemies (bandits, etc.)
[ ] Passive animals
[ ] Hostile animals
[ ] Add dynamic NPCs (use pathing algorithm to move around, much slower than player)
[ ] Travelling merchants (can create temporary camp features at "night"?)
[ ] Soldier patrols
[ ] Certain quest giving NPCs (potentially switch between static and dynamic?)
[x] Write pathing algorithm
[x] ...between two coordinates
[x] ...between a coordinate and closest biome/feature
[x] ...ignoring n matches of biome/feature
[x] ...using BFS on number of tiles
[x] ...using BFS on travel cost
Interface
[x] Basic terminal interface for testing (or to fall back to?)
[ ] ncurses upgrade
[ ] Full GUI upgrade???
Player
[ ] Player class to have typical features like health, xp, inventory, etc. (no mana, this is not a magic world)
[ ] Mainly block on waiting for user input
[ ] Can travel freely (except on non-travellable tiles)
[ ] Tiles can be blocking or not. A blocking tile prevents further player movement until an action is taken
[ ] Implement
travelCost
for player? Tiles such as forest would take longer to move away from than plains
Threading
[ ] Run on 4+ threads
[ ] Main thread running player
[ ] Thread 2 running interface
[ ] Thread 3 running worldgen
[ ] Threads 4 through maxThreads running instances of dynamic NPCs
[x] Threadsafe queue for getting status messages from other threads (to be read by Interface thread)
[ ] Have interface thread block on condition variable and other threads notify to reprint output
Roadmap
World Generation
NPCs
Interface
Player
travelCost
for player? Tiles such as forest would take longer to move away from than plainsThreading