Added roadmap.

Hector Kio 2017-02-01 21:42:46 -05:00
parent 452aefcd2e
commit cbcfcb7e14

74
Home.md

@ -1,2 +1,74 @@
# Advanced NPC mod # Advanced NPC mod
Advanced NPC is a mod for Minetest that aims to add slightly smart NPCs to the game. The ultimate goal of this mod is to use it together with the [mg_villages](https://forum.minetest.net/viewtopic.php?t=13589) to create live villages. Advanced NPC is a mod for Minetest that aims to add slightly smart NPCs to the game. The ultimate goal of this mod is to use it together with the [mg_villages](https://forum.minetest.net/viewtopic.php?t=13589) to create live villages.
This wiki will be used to hold the documentation of the mod for both users and developers.
###Current roadmap
__Version 1.0__
NPCs has the following abilities:
- [x] Inventory: a 16 slot custom inventory, with methods to add, check and remove items.
- [x] Flags: a simple table that can hold different variables. They can be used to drive events.
- [x] Actions: a queue that can contain a set of specific actions that execute at fixed timer interval.
__Phase 1__: Gifts and relationships: In progress
- [x] NPCs should be able to receive items
- [x] NPCs will have favorite and disliked items
- [x] Giving an NPC their favorite or disliked item will affect positively/negatively their
relationship with that player.
- [x] Eventually, an NPC can fall in love with that player and marry him/her
- [ ] Relationships among NPCs should be possible too
__Phase 2__: Dialogues: Complete
- [x] NPCs should be able to perform complex dialogues:
- [x] Use yes/no or multiple option dialogue boxes to interact with player
- [x] Answers and responses by player
- [x] Specific dialogues on certain flags (so that events can change what an NPC says)
__Phase 3__: Trading: In progress
- [ ] NPCs should be able to trade, either buy or sell items to/from player and other NPCs
- There are two types of traders: casual and dedicated.
- [x] Casual traders are normal NPC which occasionaly make buy or sell offers to the player
- [ ] Dedicated traders are traders that, when talked to, always make buy and sell offers. They have a greater variety too. (in progress)
- [ ] NPCs will also be able to offer "services", for example, repairing tools, by receiving an item and a payment, and then returning a specific item.
__Phase 4__: Actions: Complete
- [x] NPCs should be able to use chests, furnaces, doors, beds and sit on "sittable" nodes
- [x] NPCs should be able to walk to specific places. Should also be able to open doors, fence gates and any other type of openable node while going to a place.
- [x] NPCs should have the ability to identify nodes that belong to him/her, and recall them
__Phase 5__: Schedules and fundamental jobs
- [ ] NPCs should be able to perform different activities on depending on the time of the day. For instance, a NPC could be farming during the morning, selling its product on the afternoon, and comfortable sitting at home during the night.
- [ ] Add the fundamental jobs, which are:
- [ ] Mining
- [ ] Wood cutting
- [ ] Farming
- [ ] Cooking
__Phase 6__: Advanced spawners for villages
- [ ] Support for mg_villages mod by Sokomine
- [ ] Identify, on medieval villages, houses that NPC can live on.
- [ ] Identify the amount of NPC that the house can support
- [ ] Spawn NPCs and assign them a bed. Detect sharable objects (chest, furnace, benches)
- [ ] Assign them random schedules based on the type of building they spawn.
__Version 2.0__
Phase 7: Make NPCs scriptable
Phase 8: Improve NPCs pathfinding, allow them to go upstairs.
Phase 9: Improve NPCs so that they can tame and own farm animals
Phase 10: Improve NPCs so that they can run on carts, boats and (maybe) horses
__Version 3.0__
Phase 11: Integrate with commerce mod
Phase 12: Improve relationships for obtaining more benefits from a married NPC
Phase 13: Improve AI to include support for house families
Phase 14: Improve AI to create village communities