Project in Unity that uses GOAP to simulate an apocalyptic camp with zombies.
Adventurer:
Searches for resources (bullets and bandages). If infected, goes to treatment.
Explore: Goes to a distant area from the camp to gather resources.
Return to camp: After gathering resources, returns to the camp to drop off collected items.
Go to the healing area: If the adventurer knows they are infected, they go to the doctor’s area for treatment.
Wait to be treated: The doctor works slowly, so the adventurer must wait for treatment. After treatment, they can resume work.
Doctor:
Treats infected if bandages are available. Can hold up to one bandage at a time.
Collect bandages: To treat someone, the doctor needs to have bandages in their inventory.
Treat patient: Goes to the first patient in line and removes their infection status.
Police Officer:
Defends the gate with bullets. Can hold up to 10 bullets at a time. If it breaks, prioritizes their own survival.
Defend themselves: The police officer prioritizes their own safety once the gate is broken and zombies are near.
Defend the camp: If no zombies are nearby or the gate is intact, the officer shoots zombies from the defense area to protect the gate.
Collect ammunition: The officer must have ammunition to perform other actions. They gather it from the camp's supply box.
Go to the camp's defense area: Moves to the defense area to guard the gate, provided no other officer is already defending.
Zombie:
Tries to break the gate and attack humans.
Break the gate: The zombie moves to the gate and damages it until it breaks.
Kill humans: Once the gate is destroyed, the zombie seeks the nearest human to convert them.