Page 1 of 67

Containment Breach Unity Remake (2017) - Latest Build: 0.5.7 (3/10/18)

Posted: Tue Sep 27, 2016 11:47 pm
by zornor90
Containment Breach: Unity Remake!

Hey folks, thanks for stopping by. It is my pleasure to announce the overhaul and conversion of SCP: Containment Breach to a new engine: Unity. That’s right, we’re moving into the future folks!

All content has moved to http://www.scp-unity.com. Head there to find out more!!

Re: Containment Breach Unity Edition (2016)

Posted: Wed Sep 28, 2016 1:55 am
by Brunou8
Another Unity conversion... I hope it doesn't get cancelled/unfinished like the other two or three. Anyway, good luck with your project.

Re: Containment Breach Unity Edition (2016)

Posted: Wed Sep 28, 2016 2:02 am
by asdam
Well helloooooooooooooooooo!!! Damn, I was looking around this forum for a (promising) Unity port mere hours before you posted this.

I see you started off getting some tough stuff outta the way (map generation, pathfinding integration, model conversion?!?! HOLY YES). Might I ask how you do your map (layout) generation? C# in Unity is my strong suit so I'd love to grill you about technical details of your project, and I'd also love to jump in and contribute if/where possible. I'll add that I tried digging into SCP-CB's MapSystem code and failed to glean anything.

Also, you mention Unity isn't great with lighting? I'm curious what version you're using because my experience with lighting/rendering in Unity (5+) has been great.

Lastly, I already like your inventory system better than original SCP-CB system.

In short, FUCK YES!!!

EDIT: I'd like to add that your current INDEV already showcases features beyond what I've seen successfully implemented in previous conversion attempts. You've got my confidence! With that, how long ago did you start this?

Re: Containment Breach Unity Edition (2016)

Posted: Wed Sep 28, 2016 2:10 am
by zornor90
asdam wrote:Well helloooooooooooooooooo!!! Damn, I was looking around this forum for a (promising) Unity port mere hours before you posted this.

I see you started off getting some tough stuff outta the way (map generation, pathfinding integration, model conversion?!?! HOLY YES). Might I ask how you do your map (layout) generation? C# in Unity is my strong suit so I'd love to grill you about technical details of your project, and I'd also love to jump in and contribute if/where possible.

Also, you mention Unity isn't great with lighting? I'm curious what version you're using because my experience with lighting/rendering in Unity (5+) has been great.

Lastly, I already like your inventory system better than original SCP-CB system.

In short, FUCK YES!!!

EDIT: I'd like to add that your current INDEV already showcases features beyond what I've seen successfully implemented in previous conversion attempts. You've got my confidence! With that, how long ago did you start this?
(1) As far as layout generation goes I started with juanjpro's algorithm that he built for his Irrlicht conversion. The system then goes through and assigns rooms in order of "must spawn", "unique" and then fills the rest with random. This allows for unique rooms to spawn differently with each playthrough.
(2) Lighting in Unity is great - for prebuilt scenes. I can't use scenes so Global Illumination doesn't work - all of my rooms are prefabs streamed in during runtime - and therefore light doesn't reflect well off of walls. There are some assets in the pipeline to fix that however.
(3) This has been in progress for about 3 months now.

Glad you like it, looking forward to seeing where I can take this.
Brunou8 wrote:Another Unity conversion... I hope it doesn't get cancelled/unfinished like the other two or three. Anyway, good luck with your project.
I understand completely and hope in time to alleviate your doubts about this being completed. The only reason that I am doing this is that I know I can complete it, as I have tried and failed far harder projects before haha (much wider scope).

Re: Containment Breach Unity Edition (2016)

Posted: Thu Sep 29, 2016 5:45 pm
by ME2
Seems too good to be true.

Re: Containment Breach Unity Edition (2016)

Posted: Sun Oct 02, 2016 11:06 pm
by ME2
I Wonder how Long it'll take for Regalis to say something about this.

Re: Containment Breach Unity Edition (2016)

Posted: Mon Oct 03, 2016 12:32 am
by Nehpys
ME2 wrote:I Wonder how Long it'll take for Regalis to say something about this.
He probably won't say anything. Regalis, as far as I know is fine with ports of the game.

Re: Containment Breach Unity Edition (2016)

Posted: Mon Oct 03, 2016 3:05 am
by zornor90
Update

Added player death! Player now "dies" when killed by 173. Input is disabled and the end game screen is shown after a delay. Will add death animation and sound once animation controller and audio manager interface is implemented.
Added lights to most rooms in light containment.
Fixed some major bugs with pathfinding for 173 and stairs due to no height sampling.

Overall, it looks like we are getting close to a test build. I will most likely push one out relatively soon, once I've added death sounds and animations, tweaked 173's pathfinding a bit, and ensured that all rooms are lit. I will probably also want to add a button to open doors that are behind the player. In the original game, any pickable object can be picked within a certain distance of the player; my solution uses raycasting which is more precise, but only allows objects that the player targets to be selected. I will probably implement a separate button that the player can press to try and open a door that is behind him. This could add a cool horror mechanic where the player has to keep his eyes on 173 while spamming the button, but I will want to heavily test this.

One of the coolest features (I think) about this port is that 173 now moves when a wall is between him and the player even if within the player's camera viewport. This makes him far more menacing, but requires some tweaking so that he doesn't kill you while trying to close doors. The raycasting is not super precise, only casting to certain corners of the mesh, so sometimes the door frame can "hide" 173 enough that he can kill you even while looking directly at him! I'll probably add some type of area distance from the door, and if the player and 173 are on opposite sides and the player is not blinking but staring at 173, 173 will not move in order to avoid some player frustrations.

Once I push this update out, I'll probably post a poll asking you all how you feel about 173's new movement and any suggestions you have for tweaking it.

Re: Containment Breach Unity Edition (2016)

Posted: Mon Oct 03, 2016 5:09 pm
by zornor90
Update

Modified pathfinding system for SCP 173 as well as rebuilt the starting room with box colliders instead of mesh colliders. SCP 173 now only falls through the floor around 5% of the time as opposed to 75% of the time!
Made doors work better with 173, so that it doesn't teleport through the door while it's closing

I've also begun work on the TriggeredEvent system. In the original game, I believe that events are constantly being polled every frame. Thanks to C#, I can utilize the Observer pattern to really optimize events.

TriggeredEvents
Events will have a list of possible triggers, some parameters for tweaking, and a list of results. Triggers can be objects in world, such as collision events, or responses to ingame events, such as the player seeing 173.

So, for instance:

TE: 173 Sting
  • Trigger: See 173 (ie, PlayerCamera's LookObject becomes 173)
    Condition: Distance(player, 173) < 5 meters
    Condition: Cooldown(10, 30 seconds) since [this event]
    Result: Play 173 noise
This will make it very easy to add triggers, conditions, and results so that a lot of different events can be created!

Re: Containment Breach Unity Edition (2016)

Posted: Mon Oct 03, 2016 6:54 pm
by Inclination
zornor90 wrote:Update
Overall, it looks like we are getting close to a test build. I will most likely push one out relatively soon, once I've added death sounds and animations, tweaked 173's pathfinding a bit, and ensured that all rooms are lit. I will probably also want to add a button to open doors that are behind the player. In the original game, any pickable object can be picked within a certain distance of the player; my solution uses raycasting which is more precise, but only allows objects that the player targets to be selected. I will probably implement a separate button that the player can press to try and open a door that is behind him. This could add a cool horror mechanic where the player has to keep his eyes on 173 while spamming the button, but I will want to heavily test this.
In real life, you should not be able to hit a button 100% of the time while your back is against it; this mechanism is sublime and makes the game much more realistic.