[SoloDev] "LifeDev" My game about overcoming CPTSD

------ Announcements

Sprint

4rd sprint, of the 3rd cycle. Chapter 03/Pass 02.
Less challenging than previous sprint, still quite difficult.

Play-tests are always welcome open. If you want to help me with your feedback, please contact me :)

Explanation and showcase

------ Game

General

This build contains HUGE amounts of refactoring.

NEW

Improve:

  • General cleanups, optimizations, small fixes, and documentation everywhere.
    • Added AdaptiveAddToWorld. Also “Skip generate overlaps” on stream. Reduces hitches on load.
    • Shadows on floors.
  • Moved a ton of things from hard ref to soft references.

Known issues:

  • Screen might flash when loading the next chapter. It’s a UE thing.

Settings

NEW:

  • Added option to set the default RHI. Experimental. Requires a restart. If it breaks, delete your config files (but not your savefiles).

Improve:

  • Moved a ton of code to cpp.

Art

NEW:

  • Added outro animation!
  • Started using style assets for ui elements. Most noticeable on the settings.
    • Unified and improved the style of some elements.

Improve:

  • Moved everything possible to “Packed Actors Level Instances”. Improves performance a bit. (A ton of work involved).
  • Improved “ppl” materials.
  • Optimized some material’s permutation count.
  • Still working on the hall01.

Chapters

All:

  • Implemented more card effects. (I think “what works” doesn’t have anything to work with, but the logic is there).
    • Redesigned and reorganized their effects a bit.
  • Improved the hints all around. Added more hints, and tweaked how and when they get enabled.
  • Improved doors quite a bit. Optimized windows too.

CH00:
CH01:
CH02:
CH03:
CH04:

------- Subsystems and plugins

All

Public repos for the plugins are updated on a later date, according to (my) availability.

Flashbacks

New:

  • New clouds effect.
  • FX on the effects.

Dialogs

LifeDev:
Plugin:

Interactions (and animations)

LifeDev:

  • A lot of rework with SetHiddenInGame and Fade.
    • It works well during construction. It helps a lot with Puzzles too. And allowed to move ActorsShow/Hide to the Story Plugin.

Puzzle:

  • Rework how hints work, using the new SetUseHint virtual.
  • Improved properties initialization. Now more reliable.

Plugin:

  • A ton of work relative to SetHiddenInGame.
    • Some rework to use SetAutoActivate on constructors.
  • Removed the spot. Moved functionality to regular Interacts. This required extra work in the game itself.
  • Rework item use.
  • UseHint is now a function SetUseHint, and virtual.
  • Improved collisions and auto-activate.
  • Refactor CInteractor so that the collision profile is local to the component (as opposed to the same for all interactors).
    • Allows for having multiple CInteractors doing different work.
  • Added CAnimatorSFX. Animates submixes effects.
  • Added field for comments on interactions.

Inventory / Flags / Teach

LifeDev:

  • Animations on the inventory!
    • Took a ton of work, since i had to rework the whole implementation.

Teach (NUX):

  • Rework the style a bit.

Plugin:

JSignificance

JUtils

New:

  • Added a couple of helpers to use style assets on ui elements.
  • Added experimental ability to get/set the preferred RHI.
  • Added ability to get hardware info.
  • Added ability to get number of remaining precompiles. (For PSOs)
  • Added AddOutlinerSection.
    • Added sections for Story, Interact, and maybe others.
  • Added IsInConstructor and NeedsInit.

Improves:

  • Added ShouldCreate to LoadScr.
  • Reworked how some UI elements expose some initial properties.

Sounds

LifeDev:

  • Reworked the menu fx on music.
  • Added phone ring, hanger squeaks.

Plugin:

Story

LifeDev:

  • Reworked the code for managing the end of the game.
    • Updated StepEnd to unload all data layers.
  • Moved to the StoryManager, the code to manage chapters loading, starting, next, etc.
  • Removed RewardIntersTriggerClass, RewardIntesActiveClass.
  • Created a new class for the books. Starting porting some objects to it. WIP.
  • Ported a ton of dialogs to “auto dialogs”. So that i can remove some declarative dialogs (old system).
    • Was a considerable amount of work.
    • Removed LockedDlg, TriggerDlg, DlgId from step.
  • Added “auto flags” for step’s start/stop.
  • Removed InterFadeIn/Out in favor for new ActorsShow/Hide.

Plugin:

  • Added field for comments on steps.
  • Removed unused TeleportCharAfter. Reworked TeleportChar.
  • Removed unnecessary FinishPostWait.
  • Added/improved blocking load of assets, during step change, when it’s set to block on load.
    • Including pso generation.
    • Added garbage collection during step fade.
  • Rework showing and hiding actors.
    • Moved ActorsShow/Hide to the base plugin. Now they work better.
    • New SetHiddenInGame refactor ensures that interacts fade in/out. And that puzzles also work well.
    • Removed hiding actors on Begin Play.
  • Story now depends on JUtils. It was something i was delaying, but it actually cleans the code.

------ Links

Play on Steam LifeDev on Steam

Forums [SoloDev] "LifeDev" My game about overcoming CPTSD

Twitter: https://twitter.com/jerobarraco

Mastodon: Jeronimo Barraco-Marmol (@jerobarraco@mastodon.gamedev.place) - Gamedev Mastodon

Support on patreon (“one time” also available) Jerónimo Barraco-Mármol | Creating a game to overcome CPTSD and self-improve | Patreon

Support on liberapay https://liberapay.com/nande

Support on Ko-fi https://ko-fi.com/jerobarraco