Forensic Friday 73: Containcorp is Feature Complete-ish
Hey Readers! #
Hey Readers! It’s been a whole month, more than a month. And we have been working hard on the game in the meantime, and have a lot of news to share as a result. The most exciting of which is drum roll the game is feature complete (ish). This means the focus of development has shifted from finishing features to polishing them. Right now we are in a “tweak the game design” stage, which is both very fun and very annoying, but every step we take is only taking us towards a polished game! I say “ish” because there are still a feature micro-features here and there we want to add, and there are 2 major systems we need to redesign, ANOTHER refactor to finish up, and that not including the slew of bugs all these changes will introduce, all the game design tweaks we’ll have to make, and all the very boring “make a game ready for consumer use” things. For example settings menus, steam integration and the like. However! Apart from this exciting time of development brings anomalies! We have already half-implemented one anomaly: The Propulsive Brick. Which I’ll discuss below. Anyways, best to move on to the actual sections otherwise this bit will become an essay…
Research Redesign #
The Old #
Just after the “Great Data Migration” (refer to Forensic Friday 72), I jumped onto redesigning the researching and experimentation system. This wasn’t a major overhaul, but after implementing cooks, it made me realise exactly how research in labs should be designed. Before the changes, researching (gaining research points) looked a bit like this:
- A lab is built
- Anomaly is obtained
- The experiment is run on anomaly
- The experiment turns into a “Researchable” and gets added to the experiment analysis menu on the research screen
- The lab claims a Researchable
- Researchable ticks research based on Lab configuration and other things
- Research points are spit out
- Once the research is fully complete, researchable is archived and appears in the archive menu on the research screen
The problem was that building labs wasn’t very interesting at all. It boiled down to placing research desks down and that’s it. There was also not much interaction with other systems of the game as all the research happened in the void. Mostly being a case of watching menus.
The New #
The work is totally different now and is more based on researchers hauling items, modifying them and “building” research papers, similar to how cooks “build” food dishes. Below you can see a bunch of new items:
These are:
- Experimental Data Logs
- Experiment Reports
- Research papers
These items all form a production chain starting with experiments. When an experiment is completed, Experimental Data Logs are created, for each researcher that attended. These are then hauled to a research lab. An example of one is below:
Researchers then go to lab desks, turning data logs into reports. And then visit various stations around the lab to “refine” these reports. The types of stations they visit change the different research point types that get added to the log. Once a sufficient amount of refinement has been done, researchers take the report to a research desk to write the final research paper. It’s through writing these research papers that research points get created!
Lastly, once the research papers have been created, they are taken to the archive region, where they are kept indefinitely. The archive region is a place where researchers can visit to gain inspiration, outside of random storyteller events, which gives them a boost to research. So is quite useful to maintain. We would eventually have mechanics like research papers rotting from temperature and requiring a librarian to upkeep the archive, and events like a bookworm infestation in the library, or fires in the library if someone built a skylight etc.
There is a lot of fun stuff we could do! And game design-wise, if a design leads to a lot of ideas for interesting scenarios, it smells like good design!
Region Extensions #
Through changes to the experiment system, I also did some design tweaks to placing regions down. Before when making a containment cell suitable for experimentation, you had to manually find and place down the necessary regions, and it was never clear exactly what regions were needed. This only adds another “learning step” to the game; another barrier of entry to getting to the core story generation aspects. So after a small discussion, we settled on an “extension feature” making use of the right-click contextual menu.
As you can see in the video above, it allows you to easily add “connected” regions, but the direct limitations stop any ambiguities and enforce design, which in this case is good!
Paramedics, Doctors & Janitors #
Some more features we worked on this month were Paramedics and Janitors. These were the last 2 major staff members we needed to implement for pre-alpha, which is exciting.
Janitors are rather simple. They clean grime and repair things. Nothing much else to say! One thing I ought to mention is that Grime had to go through a few optimisations too. Each grime used to be a separate entity, which as you can imagine, gets quite bad for performance. But now grime is solely managed by a manager, offloading a lot of the computation which is neat.
As for paramedics: Paramedics are first responders. They heal injuries on the spot if they are light enough, and haul unconscious NPCs to medical bays. Doctors are currently the magical healing wizards, being able to heal NPCs injuries completely given enough time. However, eventually, we’ll add emergency surgery and the like in future updates.
Needs & Mental Breaks #
We have a new menu! The Needs menu! It shows the state of all the needs your staff have, highlighting any critical oversights you may have. It’s quite similar to Prison Architect’s needs menu but lacks filtering between different groups of interest such as only viewing needs for Category C, Non-critical staff and anomalies. But, to coin a motto, “leave it for the next guy”.s
S-0033: The Propulsive Brick #
Probably the most exciting feature I have been working on this month is the game’s first anomaly! We’d love to give it’s own Forensic Friday, but it’s only half-implemented. We are still waiting on having viewable files in the game to fully implement this anomaly! But alas, we have made a start. Implementing this anomaly also had me building up an “anomaly framework” which is something we have been theorizing about for months. Well, finally, we are testing it in practice and the results are promising! We ought to give a whole Forensic Friday exclusively on the anomaly behaviour framework, otherwise, this Forensic Friday would be a mountain!
Here is S-0033 in its containment cell! If you don’t know S-0033 can be summarised as a brick that caves in your skull if you don’t look at it. Terrifying. You can view the case file here. It’s a bit outdated, but further reading for those interested! S-0033 is quite an “angry” anomaly, and will fly around its cell smahing against the walls, meaning it needs regular maintenance!
But you’d have to be sure to accompany any janitors with a secondary helper to keep your eyes FIXED. Otherwise, you’ll end up like the people in the next video!
More to come in future blogs, when we finish up this anomaly. But we have high hopes the anomaly behaviour framework will work out for the long-term future of Containcorp,
Storyteller Events #
Moving onto the last major changes coming up to the all too anticipated Feature Lock, I adjusted some of the architecture for storyteller events. They are now easier to define data-wise as each event is a separate data file instead of being hard coded into the game. This also means giving modders a pretty easy time with extending the game!
This is what storyteller events now look like. A bit upgrade from the previous look. Which I should show, but who cares, it looks better now! I should say these images are slightly outdated, the event UI might look a bit darker than it should, and that’s because there was a z-order issue! On the right, you can see we also support storyteller events with decisions. Oooo. Some decisions might have a limited time, some open-ended. All will shape the story of your site for better or for worse. It’s just up to you to decide.
Storyteller Main Characters #
An interesting direction the game is taking, which harkens back to Forensic Friday 61, is the concept of main characters. Like Rimworld, Containcorp will have a bunch of main characters displayed at the top of your screen at all times. These characters will be the backbone of the storytelling experience and you will come to love and hate them, and will hopefully feel the emotions of their story. The reason we feel Containcorp should have a focus on a certain set of characters is purely because it helps narrow down the scope of the storytelling, in the player’s eyes. It provides a solid anchor in which their story can be told, and the player can make associations. Without the main characters, there would be too many characters in the story! So as a result, there wouldn’t be anyone to root for. Or against for that matter.
As you can see above, the main characters are laid out horizontally for your convenience. As for how the storyteller selects the main characters… we’ll keep that a secret(⌐■_■)
( •_•)>⌐■-■
but… we can give you a hint. Right now it’s completely random, but soon will depend on the player’s actions in tandem. Terrible rhyme aside, all we can say is that it has something to do with the player’s gaze.
A New Stage of Development #
Looking back at the Last Forensic Friday, I showed this diagram of how we expect development to move forward. Most of the bugs caused by the XML refactor have been sorted out, and all the features have been “implemented”, so we are climbing up the game design face right now!
However…
Since we developed this game in a backward fashion, and also accrued a lot of technical debt which we have been fixing, a lot of the game design process will be fixing our naive decisions. A lot of them centred around construction. Next Forensic Friday I’ll talk about some of the changes I have been making in this department. But we feel we have struck upon the last major refactor for the game “which we say every time”. But we can say this is pretty definitive unless we decide to change our UI framework (hopefully not!).
So I can confidently say we are here:
This is to say, the game design process will require tweaking some of the earlier features quite a bit, so we are sorting or finishing the features whilst redesigning them too. That’s a lot of work! But as I said at the start. Every step is a step forward! Part of this process includes polish, so the game is starting to make progress towards something presentable.
All our attention is now focused on polishing features and making the game fun, and we have a few month’s runway to make that happen so the state of development has a very positive outlook!
The new Roadmap #
The Roadmap has changed (on our discord server), to reflect the new state of development: Game Design and Polishing.
This should give you a clear overview of what we are putting our attention on in the overarching gameplay loop. We plan to go through the main gameplay loop, and keep tweaking it until it works, is bug-free in the critical areas and is fun. That also means we’ll be public playtesting soon too. Alongside/after this process we’ll do a final pass over all the features making sure they are polished sound, visual and performance-wise. It is sort of a fluid process since we’ll also be linking features together and making everything more cohesive. But the exciting thing is that there’s going to be a rather rapid change in the game’s look, feel, design and presentation. Next month the game will most likely be playable for a couple of hours which is an exciting and terrifying prospect. After 4 years of development, 2 years wasted, 1 in development hell and numerous hiatuses and delays. We are finally reaching the end game. The December release is looking like a solid target for us, but we aren’t exactly sure how to fit all the marketing into that time frame but we’ll figure it out!
Case Closed #
There is not much else to say that hasn’t been said already. Gonna close this case file. But yep, development has a very positive outlook, considering we are a month ahead of schedule! Feature Lock was supposed to happen at the end of July so we have really run through. As always development continues. See you next Friday! ( or next month) (∪.∪ )...zzz
Case Closed.
The Team
Plasmarc Studios