# ------ Announcements
## Sprint
2nd sprint, of the 3rd cycle. Chapter 01/Pass 02.
This sprint was challenging too. My aim was to do more on narrative, and i did manage to do some.
I also made a ton of refactors, which were difficult, but also important.
## Moving to Steam
Huge news.
Time and effort are extremely critical aspect for me (not by choice).
In order to optimize my time, and make the most of it: I've decided to move fully to steam.
For that i've just *released my game on steam*. So:
* You can now buy it on steam (please don't buy it on itch.io unless this is the only place you can get it).
* I'm not going to update itch.io anymore (though i truly love it).
* Also, i've opened the community on steam, and closed the one on itch.io.
The game is not finished yet, it's on early access.
I've made a mistake setting up the game, and now steam won't allow me to set it as EA. I know that will be confusing, but i can't change it now.
I will keep improving the game, and the price will keep increasing, just like on itch.io.
Play-tests are always welcome open. If you want to help me with your feedback, please contact me :)
**Explanation and demo**
[previewyoutube=qdQ6MUGzVo8;full][/previewyoutube]
# ------ Game
## General
This build contains massive amounts of refactorization:
* I've decided to change the mechanic for using items with interactions. This impacted the flow considerably.
* Refactored data-layers to have layers per room, and per chapter.
* * Helps to manage assets much more flexibly. Improving load.
* Refactored to use `SoftObjectPointers` on several classes.
* * I did not need it before. But now it helps me to set up some references by code, as well as improving memory and load a bit.
* * It was a considerable amount of work.
* Dialogs support multiple data tables now.
* 731 commits vs 637 on previous sprint. Not the type of metric i care about, but still a ton of work.
NEW
* I've also added a new system for small prompts (hints) on how to use the game. "Teach" (See Inventory).
* * It's called "Teach" instead of "Hint", since the hint system is another thing.
* I've also integrated Sentry. This is a service that reports crashes and bugs to me.
* * Sentry and the new "Teach" was fairly quick, but took a considerable amount of work.
* Added support for SM5 shader model on linux. As well as SM6.
* The feedback form is show upon closing the game. Feedback is welcome :)
* Added `Thanks` file :)
* New feature flags, mostly for debug.
Improve:
* Lots of optimizations and bugfixes. A more than usual.
* * One of them is the `Garbage Collector` async performance.
* * Improved build sizes.
* * Implemented some new micro-optimization technique.
* Improved spawn/init cycle.
Known issues:
## Settings
NEW:
* Added toggle for `Auto Exposure`. Off by default.
* Added toggle for `Status` screen message. Off by default.
* * Useful for debug and speedruns.
* Added a feedback box right on the settings!
Improve:
* Reworked how the settings ui is activated.
* Show play time on save slot.
## Art
NEW:
* Have been working on a room. Not yet in the usable.
* New assets: Phone, Clock, Scissors, Notebook, Screwer. Not yet in usable.
* Switch spark particles.
* Started working on a new entity, with nice shaders.
* * I've put a lot of work in this. (Not yet visible, though :P)
Improve:
* Improved the shoes of one of the characters.
* Optimized reflection method.
* Removed camera aspect ratio change.
* Improved material memory usage a bit.
* Improved the necessary permutations a bit. (Space, load time, memory usage, build times).
* Improved PSO cache settings.
* Reworked all light values. So that it works better with baked lights, and Lumen.
* Improved the ghost post-process.
## Chapters
All:
* Implemented the effect for the Card 0 (intention). When i say "hint", i refer to this.
* Added new mechanic/effect for Card 1 (What works). Took quite some work. Though it's not noticeable yet.
* I've done a ton of rework on the flow to:
* * Accommodate for the new item usage flow.
* * The cards are not used as items anymore. You can still use them by themselves.
* Implemented camera animation for *some* of the chapters. This is a work in progress.
* Fixed a lot of text that was not localized. So that from now on everything can be localized if it needs to.
* Added some decorative assets (pencil, screwer, pictures, books, etc.).
* Added interactions: Notebook, screwer. Not yet usable.
* Added phone puzzle and interactions.
* Improved a bunch of collisions, and audio sources.
* Text on walls. Improved the visuals too.
* Have added and improved a bunch of dialogs.
CH00:
CH01:
* Added a bunch of `Hints` (Card 0).
CH02:
CH03:
CH04:
# ------- Subsystems and plugins
## All
> Public repos for the plugins are updated on a later date, when i have the time to.
## Flashbacks
## Dialogs
https://codeberg.org/jerobarraco/Diags
LifeDev:
* Did a TON of refactor of dialog variables.
* * And, I've moved many of the dialogs to the new "auto-dialog" system.
* Improved some item descriptions and other text like that.
Plugin:
* Added ability to have multiple data-tables at the same time.
* * For both, groups and dialogs.
* * This allows to have data-tables per chapter, and also more general ones.
* Improved flag for printing warnings on missing dialogs.
* Improved flow for adding dialogs and groups.
## Interactions (and animations)
https://codeberg.org/jerobarraco/Interact
I've done a TON of work and refactor with interacts.
LifeDev:
* Added `UseActiveOnce`. Manages an item to be activated only once. Regardless of chapter. Using the savegame. Useful for items in multiple chapters.
* Refactor: Moved the functionality from the "Spot" to the LInteract. Fixed some bugs. Still work in progress.
* Refactor to consume items on unlock. For the new item usage flow. Work in progress.
* Fix hide interact prompt on reward.
* Improved puzzles so that:
* * They can be `Hinted`.
* * They can manage the puzzle pieces `SetActive`.
* Removed `RewardStep`, as it was redundant with the step.
Plugin:
* Added ability to set particles to use for each state.
* Added `CInteractor::OnTrigger`.
* Added `Interact::TriggerForced`, so force trigger even if locked.
* Improved sound playing. For looping sounds.
* Refactored the activation and auto-activation flow.
* * This was a big piece of work. It improved much more how interacts are initialized and set-up.
* * Added a flag `UseAutoActivate` that can be set on the editor.
* Fix interactor triggering `OnHover` on a destroyed actor. (Took some effort).
* Fixed/Improved hiding, deactivating, fade, etc. And their flow.
* Improved flow for unlocking. Now using condition.
* Hints
* * Refactored the collision settings, to allow objects to be hint-able but not active.
* * * Work in progress that i might refactor in a different way, on the next sprint.
* * Fix ensure to hide stencils on deactivate.
CAnimator:
* Added `UseDilation` option. To ignore/compensate time dilation.
* Added a `CAnimatorTime` to animate global time dilation.
Anim subsystem:
* Added `TimeFade`, global time dilation animation (here too).
## Inventory / Flags
https://codeberg.org/jerobarraco/Inventory
LifeDev:
* Fixed inventory refresh on item usage.
Plugin:
* Fixed `Mod` and `Use` with `Consumable`.
* Added `OnlyConsume` on `Mod`.
Teach:
* Added a system, to prompt the user with hints. Called "Teach".
* * It's the typical "you can use an item with the mouse". (Also known as New User Experience (NUX)).
* Has plenty of work on it. Interacts with the `Flag` subsystem.
## JSignificance
https://codeberg.org/jerobarraco/JSig
## JUtils
https://codeberg.org/jerobarraco/JUtils
New:
* Added `SoundSheet` to audio. (To be moved to the Sounds plugin)
* Added `FakeLight` material function. A material based quick and cheap dynamic light.
* Added `KawaseBlur` for post-process.
* Added `SphereNormal` and some materials to work with pseudo water.
* Added `FastMod`. A micro-optimized modulo function.
* Eval:
* * Added a list expression. With "random pick" and indexing.
* * Added round function.
Improves:
* Improved `QuickMesh` collisions.
* Fixed `ReadTable`, `LoadCSVTable` and `LoadJsonTable`.
* Improved material functions for water, and `Choose`.
## Sounds
https://codeberg.org/jerobarraco/Sounds
LifeDev:
* Upgraded some meta-sounds' versions.
* Added a bunch of sounds.
* Refactored sounds to use the interact plugin's sfx-state functionality.
* Fixed location of some sounds.
* Adjusted audio volumes.
Plugin:
* Have a way to specify the sound of each state of the Interact.
## Story
https://codeberg.org/jerobarraco/Story
LifeDev:
* Fixed step `FBDlgAuto` with manual dialogs.
* Added/Improved finish a step with flags and or items. Made them a list.
* Fix possible crash due to flags.
Plugin:
* Implemented ability to tween camera positions in sync with flashback and dialogs.
* Improved camera tween on steps.
* Fixed loading on steps. Made step transition to wait for data-layers and other async load.
* Improved avoid unload and load the same datalayer.
* Improved advancing step on interact trigger, and flags.
# ------ Links
Play on Steam https://store.steampowered.com/app/2450230/LifeDev/
Forums https://forums.unrealengine.com/t/solodev-lifedev-my-game-about-overcoming-cptsd/1172122
Twitter: https://twitter.com/jerobarraco
Mastodon: https://mastodon.gamedev.place/@jerobarraco
Support on patreon ("one time" also available) https://www.patreon.com/c/jerobarraco
Support on liberapay https://liberapay.com/nande
Support on Ko-fi https://ko-fi.com/jerobarraco
[ 2025-05-26 08:22:29 CET ] [ Original post ]