Day 4 was in the zone, like being with Mercer, but Do Androids Dream of Electric Sheep? Sit down, have a doggy biscuit…
Simplified the UI, a lot! No more superfluous details on screen, those will go into their own screen. You only see what is necessary to win:
We have interactive NPC’s. Some are friendly, others hostile. They can have arbitrary amount of dialogue, run away from you, hunt you down, follow you around and give you quests.
You may recognize this little guy from the XFCE logo. I had to use something to test, I like her 🙂
We have NPC’s that have various behavior models: skittish, neutral, friendly, hunting. They also have interaction models, hostile NPC’s can take initiative and attack you first, while friendly’s start a conversation or give you quests.
The Hunting movement AI is pretty crafty: It uses A* path finding to follow you. If it loses sight of you, it remembers where it saw you last, and heads there to search you out. This could be improved on by implementing scent trails (for real hunters).
Enough rambling, we need a working quest engine, hint and scent trails, and like-to-have mouse support.
6 hours ago: friendly npc’s follow a distance.
7 hours ago: scared ai fixes
7 hours ago: Fix bug when they lose sight of you.
7 hours ago: hunters use A* to track you down. they even remember your last known position.
8 hours ago: Attacking works now, with victim also getting a turn.
8 hours ago: more MoveAI code.
9 hours ago: flying npc’s can move through blocking tiles
9 hours ago: Include ActionManual for the Player. this allows both NPC’s to initiate conversation with the Player, and vice versa.
11 hours ago: start of passing NPC player dialogues
11 hours ago: only move NPC’s if our player moved. ie hitting a wall doesnt count.
11 hours ago: action_ai logic passes dialogue, quests or hostility.
12 hours ago: AnimalBase has take_turn implemented. NPC’s can move around, and recognize when they hit another. The have move_ai and action_ai attributes which get called on interaction.
13 hours ago: refactored Object() into ItemBase() and AnimalBase()
16 hours ago: replaced “you see’ list with cleverness: show in message list only once.
17 hours ago: changed UI, shuffled message positions, removed detailed info (to have its own screen)