Overview
Hello SCP-lovers!
Keeping this short – these weeks we focused mostly on production. Also, a big thanks to the support since our last devlog and an extra thanks go out to our Patreons!
(Ultra) TL;DR: Walls, documents & SCP-index.
What progress has been made on the SCP Game?
Build system – Max
Overview
Generally, since the previous devlog, I have fixed a lot of bugs with the build-system but, I have also added some new features and you can finally place walls properly.
Walls placements are now valid.
Walls are pretty much the entire reason behind why I have gone through the task of reworking the entire build-system. For the walls to work as intended, they needed to snap to the edges between grid-cells. I thus reworked the build-system to allow this but placing walls still presented one hug hurdle. With the system I had for determining whether a placement is valid or invalid, when placing walls parallel to each other, everything worked just as expected, but when placing walls in a way that would create a corner, the placement would be invalid – see image.
This is because the edges of the walls would collide in the corner thus making the placement invalid. I initially tried to cheat my way out of this by simply shrinking the size of the collision of the walls and although this worked, it gave the player the ability to place walls in unintended ways. I thus had to rework the way the build-system handles collisions.
This new system that I made gives every structure the ability to have their own custom way to determine whether a placement is valid or invalid. With this new system, walls now have the custom ‘collision-behaviour’. The default ‘collision-behaviour’ says that a placement is invalid if it collides with an already placed structure. The walls work pretty much the same way except if the placed structure is a wall. If this is the case, the wall-collision-behaviour will then say that the placement of the wall is valid if its edges collide with the edges of the placed wall.
Walls now snap to the grid differently depending on which rotation you are trying to place it in.
Depending on what rotation you are trying to place the wall in, it will either snap the edges between the grid-cells in x direction or in the z direction.
Added placement overrides.
If you place a structure and want to replace it with a similar structure, you no longer need to demolish the placed structure before you can place a new one – you can now simply place the structure and it will replace the already existing structure; this also works for multi-placement.
Statistics – Isak
Overview
In the last devlog I just got done with a lot of UI improvements like the main menu and loading + saving screens. Since then I went on to the next big system of our game which was the statistics menu. This menu has all the information on your playthrough and it will be displayed in four different tabs – overview, documents, facility and index. Out of all of these I have gotten the index and document tabs to work.
Index Tab
The index tab holds the most essential information on what SCPs you have discovered so far into your playthrough. Each SCP has their own “card” that displays their profile and it also shows the SCPs you haven’t “discovered” yet. Hovering over one of these cards also highlights the SCP in the facility.
Dev sidenote: It was around this point that several issues with how SCPs were structured made it difficult to display their attributes. Before I started fixing these each SCP had a “base script”, an SCP-entity script, their SCP “general object data” and save data sharing attributes left and right without consistency. The stat viewing/SCP brief system also had a different system of communicating with the SCP manager where it sometimes filtered valuable information that I needed to access when making the index. I addressed this by re-structuring the SCP Manager into 4 core “sub-systems” as well as dividing the each “SCP” into three systems: AI, game-data, and general data.
Statistic – Documents
Second thing to be implemented is the documents! Here you will be able to read and listen to [REDACTED]. This required the development of a proper document dropdown component. The parent button is for the SCPs brief document and clicking on it will expand and show the experiments as submenus.
Dev sidenote: Text documents are supported but I still need to implement the audio system + test dialogue before I can start work on the audio documents.
Other improvements & smaller changes
- Fixed a bug with the snapping-system.
- Fixed a bug where multi-placing a large area of structures, it would sometimes not place every structure.
- Fixed a bug where the preview-system did not update the validity preview after initially placing a structure.
- Fixed a bug where a bug where dependency would not work with multi-placing structures which would result every dependant placement being invalid.
- Fixed a bug where dependency would not work when placing a large structure over multiple tiny structures.
- Modified SCP save-data.
- Added more readable events for the SCP Manager.
- Added SCP briefs as a document instead of an overview.
- Fixed a bug with handing in experiments, text was not being updated.
- Added an option for Generic Menus to close when the player clicks a non-UI element.
What have you done this week?
Leo
Management and connecting with our coaches about our previous and upcoming events, as well as working on the economical side. I am also currently diving into the animation part of our game to help later on in the development.
Isak
Put most of my time into rewriting the SCP-related content so it could be displayed easier.
Max
WE GOT WALLS 🎉
What is happening the next weeks?
The coming weeks we’ll be working on production, still. As well as preparing for more events.