GENERATORS / MOUSE TRAPS
Mouse trap visuals are functional and show a dead little rodent that your units can eat raw. Now we’ll just need to have them haul the raw food back to the storage area to enable them to be cooked. Delish!
Units are now smart enough to go to the rain barrels for water when they get thirsty! Watch out, Einstein!
Sometimes our units just can’t put their battles behind them, and just keep on swinging their weapons as they wander, eat, and even in their sleep.
At other times they just sort of spaz out and do the jitterbug in place for a second before continuing the attack. We are working in the code and Mechanim to troubleshoot the issues.
We’ve come to a compromise with our wayward units. We’re not ready to update the Task Dispatcher just yet, so they’ll have to continue to follow our commands. However, we’re going to split up the Construct Resource behavior into separate parts to allow for more flexibility. Hopefully our units will demonstrate more obedience when this is complete. Either way this will make the transition to the new Task Dispatcher go more smoothly whenever we do get to it.
-Mouse traps show dead rodent, need hauling enabled
-Units drink from rain barrels
-Working on Combat glitches
-Working on fixing bug where units get stuck in Construct Resource behavior when proxies are built before you have the resources.
The building menu is now functional! Right now it only contains a couple of barricades that can be built, but we’ll get to adding more options to choose from soon.
You can now place multiple proxies (ghosted-objects) at a time without having to constantly re-open the Build/Crafting menu. It even keeps them rotated to your desired rotation, because we care about your building experience. And we care about families. If you can’t place and build your barricades quickly, your family might get eaten. Vote for us.
AI DISSIDENTS AND TASK MANAGEMENT
As any parent of a teenager will tell you, sometimes when you nurture a person and they grow up to have a mind of their own, they can get a bit difficult to deal with. You tell them to do something so they do the opposite. Well, our Units may not yet have drivers licenses (another fun thing to look forward in the future!), but they sure are getting an attitude.
Today after placing multiple barricades to be built, the units built a couple of them and then just wandered around in protest. It’s as if they’re tired of everyone (all of the other scripts) telling them what to do all the time.
Zpoc is a single-player sim game of moral exploration in an apocalyptic survival situation. You are not just one person trying to make it in the end times, but you lead a colony of people to either flourish or perish.
How will you survive? Zpoc includes the classic survival objectives such as building a shelter, finding food sources, gathering resources, and fending off enemies. But this is all just a base for the bigger question -- how far will you go to survive?
If you have barely enough food for the members of your colony and a random solo survivor asks to join, do you recruit them and figure it out, or do you turn them away to what will almost certainly be their doom?
Do you reward your dog’s loyalty by protecting it from zombies, or do you sacrifice it to a zombie horde in order to distract them, perhaps giving your people a few extra seconds to escape?
A member of your colony drinks too much, eats too much and doesn’t work as hard as the others. You could confine them, but then they’re using up resources and contributing nothing. You could invoke corporeal punishment - but are you leading that kind of society? You could send them away, but exile is almost certain death when just outside your barriers an unsleeping horde of the undead waits to devour anything living.
Every choice you make, every colonist your recruit, your relationships with other groups of survivors, and even the way you build your base will determine who leaves, who joins, who lives, and who dies. The culture you create affects all of its members, and each of the members in turn affects that culture. Each person you see in the game has thoughts, emotions, skills, and desires, and every action the colony takes will shape those feelings - and ultimately your society as a whole.
All of your units will have personal relationships with each other as well as with rogue units and members of other colonies. While good relationships will lead to enhanced teamwork and mood boosts, bad relationships can lead to name-calling, fighting, and even murder. These unscripted rivalries and friendships are the core of Zpoc’s emergent storytelling, and will give it infinite replay value. The best of friends may be torn apart (literally or figuratively) in a zombie hoard, but the worst of enemies may learn to respect each other if they have each others’ backs on the battlefield.
It’s up to you to determine right from wrong, but watch out for those who might disagree.
TRAPS AND DATA
Traps are mostly functional!
We reconfigured our resource data structure to allow one resource to be represented by multiple models. This means that the traps will eventually have different models for different states, such as when it is empty, armed, or when it has caught it’s prey.
This has bigger implications for the game as a whole. For example, someday, when you go to craft “Chair, Wood”, we’ll be able to allow you to choose from more than just one model of a wooden chair. You’ll be able to craft the visual representation of “Chair, Wood” that defines you as a person.
We also made it easier to tell an object that it should generate a resource, whether it is water, garden food, or apples falling from an apple tree. We have yet discuss whether or not apples will inflict falling damage on zombies or units standing beneath said tree. If we were to implement that and a unit dies from it, would it be more fitting to name the potential achievement after Isaac Newton or Murphy’s Law? Let us know in the comments!
So a resource which generates resources has a timer. After X amount of time, it will have X% chance to generate a thing. Visual changes coming soon!
EARLY ACCESS ROADMAP
Yesterday we met up and got a plan in place for what we need to do to bring Zpoc into Early Access!
HEALING / FIRST AID:
Right now there is no way to heal an injured unit. When a unit gets injured or sick, they should lay down in bed and rest until their HP regenerates.
GAME OVER CONDITIONS:
When all of your units die, there will be a game over screen informing you of your need to get better at playing the game. Maybe we’ll even include a restart button, if you ask really nicely.
Eventually if one of your units is just miserable in your colony, they might leave you for another colony or just strike out on their own. This will hinge on a lot of work on feelings and relationships, which we plan on doing after we enter Early Access. Either way, if you have no members of your colony left, you fail.
We’re using the PixelCrushers Love/Hate plugin to manage relationships and emotions of every unit and NPC in Zpoc. It uses some pretty awesome algorithms to process numeric reactions to “Deeds” committed by your units, but we have to tweak it a little bit for it to suit our needs.
Today Sam implemented a basic system to differentiate between Deeds like “Emily punched Connor” and “Emily ate raw human meat”, so their moods will be affected differently by various events.
If Emily punches Connor and then has to eat raw human meat to survive, Connor will take delight in her misery. Emily can’t randomly go punch Connor yet, but it’s nice to know he has the capacity to hate her for it when she does. Who knows, maybe he’ll even deserve it.
If Emily sleeps in a bed, she’ll be happier than if she sleeps on a couch. But she’ll just be happy to not have to sleep on the floor. Eventually the amount of happiness gained or lost will tie in with the quality of the thing you sleep on/eat/satisfy any need with.
EMOJIS AND PORTRAITS:
It’d be great to see at a glance how your units are feeling and what they’re currently up to, so we’re going to make emojis display over their heads! We also discussed having a sort of Unit navigation at the left edge of the screen where you can see all of your units, their portraits, and happiness levels. Clicking on the portrait should send the camera to follow that particular unit around the map.
We’re going to make it so that you can move furniture around instead of having to scrap it and rebuild it.
Right now everything you can craft is in one big list. We plan to separate it into two sections, “Build” and “Craft”, so that “Build” button will finally be useful for something! Crafting will be used more for items that you’ll typically only want to build one of, like machetes and traps. Building will be more for structures, and allow you to place many instances of a thing in the world to be crafted. For example, if you’re building a long fence, it would suck to have to continuously hit “Craft”, “Fence”, “Build” for every wall segment so we’ll just let you place as many as you want until you right-click to clear the building selection.
This will result in many “proxies” or “ghost-items” in the world, which your units will then place resources in as they become available and then craft it when it has the resources.
GARDENS, TRAPS, AND RAIN BARRELS:
Aaron is currently tweaking the way containers work in order to pave the way for gardening, traps, and other items that will help your units survive.
Currently if your units eat all of the food on the map or drink all of the water, there is no way to get more. Not for long! With the new rat/mouse traps, rain barrels, and gardens, your units can sustain themselves on rainwater, vegetables, and rat meat! For now these items will generate at various intervals. We have no concept of weather, so you’ll have to suspend your disbelief temporarily as the rain barrels magically produce water. Eventually we may have the traps require some sort of bait, but for now they will just rely on their winning personalities to attract rats for your colony to eat.
If you find seeds in the world, you’ll be able to plant them and grow a number of tasty vegetables. Once we get a skill system in place, this will depend on your unit’s gardening aptitude. For now, all gardeners are created equal.
PLACEABLE HOME BEACON:
Don’t like the house we start in? Now you’ll be able to “move into” any house you want by placing a beacon. For starters, this beacon will draw in wandering units to keep them close to the home base. Eventually we want to get a more elaborate system for defining a base zone, even marking specific rooms for specific purposes.
SAVING & LOADING:
Rod has heroically taken the reins on serialization, saving and loading, and is currently working on a way to deconstruct and reconstruct all of the data we’re working with. This is a big job with many factors, so we can’t say for sure whether or not this will be ready in time for Early Access.
STORAGE AREAS AND CONTAINERS:
Today Aaron is working on the Storage Area functionality. He’s made it so the storage area can be moved, and is currently working on the ability to remove it entirely. The idea is that when a storage area is removed, the contents remain on the ground and will tagged for hauling to a new storage area by your units.
The same thing should happen if a refrigerator gets destroyed. You don’t want to necessarily destroy its contents, just the fridge itself. So the contents will have to spawn on the ground and get hauled to the highest-level storage area.
Once this is done, we will have paved the way for storage areas and containers to have filters on them, allowing the player to choose which types of resources allowed into each container and storage area.
FEELINGS AND RELATIONSHIPS:
I am working on the relationships and feelings that the units have for one another. We’ve built a test-mode where we can simulate various deeds and actions done by and to different units to explore the ramifications of each deed.
Pearline attacks Erasmo a bunch of times, so Erasmo strongly dislikes Pearline. Pearline then flatters Marion 4 times in a row, so Marion loves Pearline.
Something weird happens when I have Pearline then commit a negative deed to herself. When I have Pearline kill Pearline, Erasmo, who hated her before, suddenly had a positive opinion of Pearline. Then Marion, who loved Pearline, suddenly mildly dislikes Pearline.
The reason for this is that units will have negative feelings for someone who does something bad to someone they love, even if it is something the person does to themself.
We will either have to avoid having units commit deeds to themselves, or I will have to put a check into the Love/Hate evaluation function to do something else if both the actor and target of the deed are the same unit.
I’m also adding delegate events into the Love/Hate plugin to cleanly send data to the UI so that we can show the player the current status of the relationships between units. These will also allow us to show the various factors influencing the units’ happiness/unhappiness levels, so that they can do something to keep the units happy.
Eventually, we will make it so that a unit who is extremely unhappy and has a negative opinion of the colony will choose to leave it. Also, if a unit hates another, they may get into a physical brawl, or engage in other nefarious deeds against the loathsome one.
Next steps are to get the Gossip functions working properly to share information about each other and sway each others opinions about each other. I’m hoping I can also use this to initiate general conversation amongst the units while they are near each other.