Forensic Friday 75: Gameplay Stories!
Hey Readers! #
Welcome to the Friday of the Forensic Month! Our new name for the blog posts! I am not exactly sure how this blog became a monthly instalment instead of a weekly or biweekly considering I work full time on this project now but.. actually, that is exactly why. I am so focused on getting the game to a solid pre-alpha state it leaves little time for blog writing! I say pre-alpha but we are technically in pre-alpha already. But the difference between pre-alpha and alpha to me is between a house with nothing but walls and floor, and a fully furnished house. Adding content will be a lot less taxing, and slowly the work has become less taxing already. We are fast approaching a point where we can actually call our game a game. The culmination of many years of effort, of us stumbling and falling… wait I’ll save those words for when we actually hit the first alpha build.
As for the development side of things, we have been doing fast work!
All the gameplay stories we are working through.
We are just about halfway through adjusting the game design, which is good news! Though not to sell this milestone short, we’ll have to do a lot of playtesting to validate the design, but just from our point of view, things are a lot better than they were. The game is starting to feel like a game. More so than ever.
The 13th of September is the internal deadline to get the game to a playable pre-alpha build. I am confident we’ll hit it, but things always take twice as long as you’d expect. The major hiccups right now are bugs (and my poor sleep 🙃), they are the only thing slowing down development. But the past week has thrown a lot of those problems in the bucket. The amount and seriousness of bugs encountered daily is receding, but without rigorous automated testing, we are really shooting in the dark mostly.
There are still a few issues to iron out with the multiple-floor features. Mainly construction, but we have made it a decision to only loosely support multiple floors i.e. we can’t guarantee a bug-free experience when interacting with multiple floors until a few alpha build down the line.
But once the game is playable, we’ll spend a week getting at least 50% to 60% test coverage, or at least when decide the code is more stable. If we decided to go for automated testing; it may not be necessary if we use the power of the masses!
Overall we only have 1 or 2 sprints left, which translates to 2-4 weeks left until we have at worse a pre-alpha build with 20 minutes of gameplay just covering the core loop at best a solid alpha build with enough content to play for at least 2 or 3 hours. In both cases, there’ll still be countless bugs! But what can ya do?
Time to segway what you are all here for anyway: Features! We call them “Gameplay stories” and it’s what we have been working on sorting out for the past month.
Building Up and Down Floors #
Just after the last Forensic Friday I jumped straight into improving, or rather implementing construction in 3 dimensions. Before this builders were limited in their capabilities. You can see how they look in action below.
A lot of the bugs we had to deal with were sourced from our pathing solution. We had to make a lot of refactors for it to accommodate vertical traversal. Builders are also a bit special compared to other NPCs. They are effectively monkeys. What I mean by this is that they can climb up and down walls like monkeys. But they aren’t superhuman, or anomalies, they just have LADDERS!
It was sort of a last-ditch effort to make the system work. In all other cases, it was just too annoying to build vertically. We even thought the idea of having smaller stairs you could place around for free would be a good solution. But in the end, ladders were the way!
New Timetables #
Above me is the magical timetable. A big change from the old one!
Yikes. Why did we ever think this was good? Well, the changes came from a change in design. We figured there was no need to be able to make an infinite amount of timetables because no player would actually be able to keep track of it all. So instead we have 3 predefined schedule groups. Category A, white-collar workers; Category B, blue-collar workers; and Category C, our lovely inmates. You can then switch between day shift and night shift schedules so thats a total of 6 schedules! That’s plenty enough for our small brains!
Category C also has 2 new schedule slots. Shower and lockdown. But I forgot to take a screenshot of that so you’ll have to take my word for it.
New Hiring System #
The hiring system has been completely revamped. The original was… a thing. The new system is gambling! It works quite simply, you have a list of roles you want to hire for, and you can hire them at any time. When you hire it rerolls the candidate to a new one. You can pay money to re-roll the candidate for the chance to generate a better one. Additionally, each time you reroll, the cost gets higher. So it’s a gamble.
You may ask “Why not just hire every bad candidate and then fire them, so you don’t incur a cost” and that would be a good point, I literally only thought of that now. Welp, time to add a hiring cost!
Woah, where did I come from? It’s been a while since I’ve spoken, but here goes nothing…
Two New Regions #
Recreation Region #
NPCs now socialise in groups, as seen in the screenshot above (right). This has been a feature that’s been implemented a few times now, but this finally uses the Utility AI system, and doesn’t involve people endlessly chasing each other in a loop!
Once we have decor items like sofas and small “desire-satisfying” items like vending machines and water fountains, we can have NPCs socialise around them inside the recreation room - which is stupidly easy with the Utility AI system that NPCs use.
Right now, they just socialise at random spots which will do fine in the meantime. I’d imagine a group of work colleagues would also do the same when put in an empty room with nothing but 4 empty walls!
Reception Region #
As for the reception region, it’s where staff will come and collect the correct ID cards if their ID card changes. Right now staff take ID cards home with them, and then when they come back they can forgo the reception together, but we’ll likely have it so staff give in their ID cards at the end of the day and collect them so they naturally visit the reception every time they go into work. But there is no inherent need to enforce this, it’s your site after all!
Streamlining Category C #
We’ve made significant changes to the gameplay loop involving Category C over the last couple of weeks. With the main goal of simplifying and decluttering the admin tasks related to onboarding Category C, we’ve streamlined the entire process.
Previously, Category C would arrive on a shuttle bus and go to a Processing region where they would change clothes and be assigned a code (e.g., C-1234). After this step, they could optionally stop at an Erasure region (where they would undergo mind wiping) before heading to an Alignment region, where they would be assigned a cell, taught about their role within the Corporation, etc.
The problem with this approach was that there were too many continuous, non-stimulating steps, leading to the need to place 2-3 regions just for the simple task of bringing Category C onsite. To address this, we’ve made a few changes.
Now, Category C arrives already in the correct clothing and with a number assigned to them. From here, they proceed to a single Processing region, where a staff member will onboard the Category Cs. They then either go to the Erasure room or directly to their cell.
Cells get named to their owner
This change reduces the process to a minimum of one region and one staff member to get things running. Additionally, you can’t take on any Category C without the Processing region already placed, eliminating the risk of getting soft-blocked by forgetting to place a required region.
The previously named Alignment region is now the Learning Centre, where you can assign training sessions to any staff members or Category C (not just Category C anymore). These sessions boost skills, reduce confusion debuffs, etc., but are no longer mandatory for onboarding. This is still a work in progress, so stay tuned!
I just want to come in and say cells get really messy! I mean look at this!
In-Game Anomaly documents #
You might have checked out the anomalous wiki website, detailing all of the official documents on known anomalies. One of the challenges we were faced with was incorporating these case files into our game.
The simplest approach would have been to write the styling for each document. However, we quickly realised that such a rigid system would not scale well. In particular, hard-coding every document for every anomaly would become a long and tedious process. We needed an efficient system to allow us to effectively display our case files.
Enter, Casedown.
Casedown is the name we gave to the markup language we could use to specify all of our anomaly documents in-game. The language would provide a set of rules to define the layout of text and images. I was really happy to take on this task. From a technical standpoint, Casedown involved creating a parser and tokenizer. Trees, finite-state machines, recursion. This task was certainly an adventure.
Although it took some time, the result was a robust tool which can transform text into beautiful case files. The set of rules we determined for the language keeps the general appearance of case files familiar but still provides enough flexibility to account for the variation in different documents. At the moment, the in-game database stores anomaly case files. But in the future, it will most likely host a variety of other content such as groups of special interest (GOSI) and other narrative files.
I think it looks great Jason. Take a look at the amazing results below:
Managing Anomalies On Site #
This month I also worked on adding a new menu for managing the anomalies you bring on site. Whereas the anomaly documents are more on the fictional side of things, this is more on the functional side. From this menu you can access various functions such as viewing the anomaly, assigning it a containment cell, adding containment procedures etc.
And it comes with a slew of warnings just so you can never unintentionally release an anomaly into the wild and completely destroy your facility in the process.
Grants and The Minimum Facility #
The latest development/polish towards our pre-alpha release is polishing grants. Grants provide an incentive to explore different parts of the game, by rewarding you with an amount of money for their successful completion and providing certain logistical challenges on site. Some examples of grants are to build sustainable power sources, build secure containment cells underground + relocate anomalies, and as seen in the first picture above, to create the “Basic Containment Centre”.
Upon accepting a grant, you receive a cash injection to help with completing the requirements. After completing a checklist of requirements, such as building a number of containment cells, a reception area etc. you get a completion payout, plus a bonus if it is done in a timely manner!
The game is starting to actually feel like a game which is exciting! Our attempt at completing the basic containment centre can be seen in the image below. There’ll probably be ways to optimise the layout for maximum security and efficiency, but we’ll leave that to you :)
Experiment Handling Methodologies #
Within the anomaly menu for each specific anomaly, there’s now an option to select the “Handling Methodology”. Choosing between 4 options, there is 1 optimal strategy, 2 neutral strategies, and 1 inadequate strategy.
As the warning in the picture shows, this directly affects the experiment’s outcome. Rather than experiment failure chance being completely random, this gives you an extra bit of control over how you can influence experiments on-site. By reading a quick hypothesis for the experiment, you should be able to judge the correct option to choose, maybe with some extra context from the case files!
And if you get it wrong, let’s frame it as a learning opportunity ;)
Here are all of them for reference:
Experiment Failure Conditions #
Experiments also have various failure conditions you’ll have to watch out for, but it’s up to you whether you want to micromanage your experiments or not. Just make sure you take the right precautions!
Experiments no longer have a “failure chance” anymore, but instead an “event chance”. So if the event chance is higher, during an experiment, the anomaly will do something, good or bad. Then if any of these failure conditions are tripped then the experiment fails! We think this will make experiments more interesting since things are actually happening during the course of the experiment (instead of the attendees standing still). It’ll also make anomaly behaviour actually factor into whether the experiment fails or not instead of it being predetermined and random. The player could even potentially put extra staff inside the containment cell, for example, guards and could wait for events and then make the guards intervene with it, stopping any potential disasters from occurring. Neat!
Case Closed #
That’s about it for this month of work. We are really at the last sprint. The finish line is very much in sight. Within the next 4 weeks, the game will hit the magical threshold of actually being playable which is exciting to say the very least.
Looking back at the amazingly drawn diagram back in Forensic Friday 73, it’s still pretty accurate, but we are just about climbing that last bit of out-jutted rock, and eventually, we’ll be rolling right into pre-alpha, and it’s only downhill from there!
As customary I’ll end this with a cat photo.
Aww, look at this guy. Well, time to close this case file. See you next ~week~ month!
Case Closed.
The Team
Plasmarc Studios
PS #
I just wanted to share this containment cell design for S-0033 built the other day. Pretty chuffed about it. Anyway, have a good one, everyone.