Cerebral Devlog [1]

Cerebral Devlog [1]

What's New?

So I published the last devlog about 8 days ago which seems quite recent however the development of Cerebral has started to gain some serious momentum. In a little over a week I was able to get 2 more milestones done and track down a few of our first bugs!

Screen Shot 2021-12-01 at 10.45.26 PM.png

This devlog includes milestone 0-alpha.2 and 0-alpha.3 which had a heavy focus on really defining the game's future and finding the potential and vision for this title.

0-alpha.2

Here is a quick breakdown of what this milestone looked like:

  • Smoothing out the feeling over player movement and camera reactions to things like running and crouching
  • Touching up the first person camera
  • Player vitals system with health and sanity
  • Creating the first prototype darkness volume (more on this below)
  • Proper loading screens

Darkness and Sanity

This is an important of the game and if you read the last devlog you will remember that I mentioned this game not being a horror game; and this is still true. Darkness in Cerebral is not mean to be a scare factor but a mechanic and a way to make the player feel lost and unsafe. This can mess with the players sanity and their characters sanity as well to create the connection I am aiming to produce during gameplay.

image.png

Here in the bottom left next to the brain icon that is your sanity level. The longer you are in darkness the higher that value increases. This has a direct impact on the player's health causing the player's max health to increase which may sound great however the negative to this is at a certain point you can reach a maximum sanity amount causing you to die.

Overall this wasn't hard to create however working with the UI widgets and other systems made it quite a lengthy part.

Camera and Movement Updates

These updates were meant to make an overall improvement to the experience of walking around as the character.

Smooth FOV Changes when sprinting

Image from Gyazo

Smooth Crouching

Besides making sure the character couldn't stand up with blocking objects this was also easy using the UE4 timer manager.

Basically I check using a sphere trace if any objects could be blocking the standing height and if not then set the toggled crouch height to be the stand height giving the effect the player stood up.

    // Anything blocking un-crouch
            const FVector StartLocation = GetActorLocation();
            FVector EndLocation = StartLocation;
            EndLocation.Z = EndLocation.Z + (StartingStandHeight - (StartingStandHeight - CrouchedEyeHeight)) * 2;

            TArray<FHitResult> HitResults;
            const TArray<AActor*> IgnoredActors;

            const bool SomethingBlocking = UKismetSystemLibrary::SphereTraceMulti
            (
                GetWorld(),
                StartLocation,
                EndLocation,
                GetCapsuleComponent()->GetScaledCapsuleRadius(),
                UEngineTypes::ConvertToTraceType(ECC_Visibility),
                false,
                IgnoredActors,
                EDrawDebugTrace::None,
                HitResults,
                true
            );

            if (!SomethingBlocking)
            {
                NewCrouchModifier = StartingStandHeight;
            }

Image from Gyazo

0-alpha.3

This milestone had a heavy focus on quality of life and code quality revisions to prepare for bigger and better changes in the future.

Here is a quick breakdown of what this milestone looked like:

  • Refactored large files
  • Rebuilt the options widget with code to give easier access to system variables and a greater and simplistic control to settings and future options. I made this with only a few basic options to get the baseline going and will be added to in the future.

Still not designed however the options are there for testing

image.png

  • Created health and sanity HUD effects when values get into dangerous levels

image.png An increasing yellowing for high sanity levels, will be changed to a graphic in the future

  • Made menus responsive to controller navigation

  • Created a notification widget that can dispatch UI notifications to the player from a queue

This was a simple class however it was much needed for upcoming features.

image.png

Conclusion

This weeks work was great and getting 2 milestones done was great progress. In the next milestone and the next devlog expect to see the first map blockout and playable as well as some dialogue sequences and gameplay from the game's first level. Make sure to message me or comment what you would love to see next!

Did you find this article valuable?

Support Nathaniel Richards by becoming a sponsor. Any amount is appreciated!