Samstag, 14. Januar 2023

Contemplating Waiting


 

So .... there's one thing that's puzzling to me .... for a very long time I had an "automatic night time damage system" in there. If player's would move outside of a hideout after 18:00 pm they would automatically receive damage and eventually die (similar to Darkwood).

Eventually I removed that system, because it became ridiculous. There was no clear source of damage and it didn't make much sense. A player would see a hideout and finally arrive at his safehouse at 18:01 and die or get lost before reaching it.

And that's where the ravens came in. The monks and tree spirits watch you when they discover your location and transmit that location telepathically to the ravens. The ravens then stay close to your location and eventually track you down. Each time you get discovered by the tree spirits again, the ravens become more aggressive. When they catch you at night time, their "superior" is revealed in the darkness. She will paralyze you and kill you almost instantly, unless you have a lightsource that will last longer than 60 seconds so you can escape. (minor bug happens where she and the ravens suddenly get stuck in the ground if you escape her .... it's not perfect yet)

Something was bothering me though. Reward chests only open if the player is "present" at sunrise. "Present" means he is in the basic vicinity of the hideout. Players can cheese this system by staying outside the hideout, watching the shadows patrolling the hideout from a distance and then taking cover or hiding when the ravens are closeby to escape the siren. 

Now I discovered: They can only cheese it if a tree spirit is not watching, because as soon as he does it and a tree spirit is close by, he will transmit your location to the ravens. They will gradually become more aggressive over night until the player is left to choose between wasting lighter time or finally giving in and running back to the hideout.

So the obvious solution is to place these watchers close to every hideout. But if I do that with every hideout, the entire situation becomes predictable again. And I HATE predictability. Also because it makes testing soooo god damn boring. And playtesting and QA is the heart and soul of the development. Play a perfectly predictable game segment 100 times and experience how the joy of your creation is slowly draining out of you.

The situation would (in theory) still be fair, because watchers and tree spirits can't see the player during weather events. The fog, the rain, the snow, the dharmapalas presence .... it clouds their view of the situation. The same is true for the ravens. A rain event will extinguish a player's candles and campfires if they are located outdoors. So he's left in the dark and forced to leave the hideout. He can wait for the event to pass, but the ravens will eventually track him down once the weather event has ended.

But what I want to avoid is "waiting". And aimless "walking". Those two things are absolute fun killers. They destroy any amount of tension unless the player is suddenly required to interact in order to protect himself (like watching a candle, moving between lights, watching the sky for ravens). During weather events at night, no interaction is required, there is nothing he can do.

I stumble across these moments and they bother me. I wonder how much patience the average player has, when even I myself barely have any patience... and the worst thing about some of those situations is: The game fucking REWARDS you for doing nothing and standing in the dark, while the ravens are aimlessly passing over your head.

Will need to fix that. Maybe they'll change their strategy? Maybe there's someone or something else on the ground during these events that attempts to determine the player's location?

Even though the screenshot above was created after I attempted to cheese a hideout ....

Going to upload the first demo of Map Segment 01 to Patreon soon. 

Just needs to be out there. I don't care if someone crosses over the loading zones. I'm not going to restrict player movement even if the map is not populated yet. Zone 02 is work in progress and Zone 05 is empty. Zone 03 will have grain fields and windmills .... 







A Day In Lakini's Woods Map Section 01 V. 0.5.0

 


This is section 01 of the final map. Yes. Final. After 8 years. Fuck my life.

Also the Dharmapalas are a "presence" in the background now, but the elements are no longer ... a massive factor .... the game is about hiding from the eyes of the forest now. Be it in the form of shadows, tree spirits, animals or the king of death himself.

I also removed the other pages on this blog. The old story is no longer accurate and who I am is not relevant to the process. 

Two years ago I got so angry over a steam game I bought, that had good reviews but was crap. It was the usual: "Ohhh you'll get a lighter and have to HIDE! Isn't that crazy?". When I saw the sales numbers of that game I lost my shit. So I used the model of the mansion I had and built a separate mini-game for myself, just to prove to myself that I could do it better. This mansion then turned into something bigger, and bigger and bigger .... and I started merging the different UE4 sessions I had. Then I added smaller houses and used elements of the code in order to make them "haunted" as well. And one thing led to another and the system of the game  ... evolved.

I had big plans over Christmas .... 12 map sections ... 112 hours later I had finished them (foliage, items, hideouts, everything) .... then I realized, that it doesn't work, because there was little orientation for the player ... the game was boring. Running around, aimlessly .... desperately hoping to find a hideout, only to die at sunset .... it was pretty though .... but boring.

So I had to do it again ....

This was the first map design:




Each tile symbolizes a separate blueprint segment with various rotation and foliage. They are like mini-biomes (think of minecraft). At first I built it with procedural foliage spawners for testing. But when the engine couldn't handle the amount of ground cover foliage at runtime I had to rework and eventually settle on a fixed map layout, which is the one above. But because of the sheer size of the landscape there was no way for players to navigate successfully. The map had to become smaller and use a natural order, so it would be easier to navigate.

I pushed the map segments together:






Then I looked for ways to include Lakini's rune into the layout. If it was located on a 4x4 map the center of the rune would always be along a map transition. So it had to be 3x3, because if I want to highlight the rune in any shape or form (through pathways or lights) players need to be able to see it and walk alongside it.




I used gimp to project the rune on top of the map and this was the result. The surrounding map sections are still in the game .... and are accessible at some point later on. They are linear and lead towards a single destination .... Chapter 02.






The petals of the rune now form pathways that lead the player through the woods. It is still possible to get lost, but much easier to find the right direction. Since another weakness of the first version was the lack of overall hideouts (with full night time functionality and events) I created (13 !) new ones.

The youtube video above features the top left corner of the map and the lake in its center. Yama's mansion is located on the map section at the top. even though it is depicted as being of equal size it appears to be much smaller in the game. It appears to be anyway ....



The whole irony of the last two years is: 

In MY game you have a lighter, and you have to hide. Isn't that cool?!!





Dienstag, 3. Januar 2023

Work In Progress

 


Been working tirelessly on the game for the last 2 years, but didn't find the energy or motivation to post updates. This might soon change.

Montag, 28. Juni 2021

Developer Diary 136 - Weather FX - Destructor BP & SFX & Music Integration

During June I have completed:

- Full Ambient SFX Integration of all weather FX and extensive testing of these sounds

- I fixed multiple bugs related to weather FX not returning to default weather during sunrise / sunset





 

- Created a demo destructive tree asset to test particle systems replacing geometry collections & chaos destruction (turns out chaos destruction reduces overall performance by a lot, regardless of collision settings or reduced voronoi structure)

- I created a complete blackboard with Miro.com to set up a basic overview of all the features and necessary steps to complete each blueprint and production segment (it's constantly being updated, depending on which feature I'm working on)



- Created a basic outline for an 8th blueprint, controlling sound effects and music cues throughout the world


I am currently working on:

- Scoring cues, that fade in from far away each time a specific atmosphere condition is met. All cues share the same notes and are compatible with one another. The system is set up in waves and scoring cues can overlap, play at the same time, or alternate. Altogether they form a massive, soft, subtle symphony merging with the ambient SFX. The silence in between these cues adds to the overall atmosphere and carries much more weight now. Cues for Sunrise / Sunset / Forest Fire / Snow / Blizzard are complete, Rain / Thunderstorm / Daytime / Night Time are work in progress.

- Replacing all previous destructive effects with particle systems. A demo model is completed. I plan to replace the previous "void" effects with portals. Once a void projectile is thrown at a model, it creates two portals. The "see through" effect is accomplished by spawning two cameras recording the view from each portal and projecting their viewport onto a material placed on each corresponding portal. When another projectile is thrown, the previous portals disappear (which saves performance). Wind projectiles can now only be used to increase the player speed and increase jump height, which still makes them one of the most important game design elements. Earth projectiles can only destroy buildings and structures outside of dharamapala domains. If an elemental is thrown at a dharmapala palace segment, it is directly reflected onto the player and causes immediate damage, since these palaces are meant to act like mirrors, not only physically speaking but also in a spiritual sense ... all manifestations in the Bardo Thodol are ultimately founded upon inner tendencies of the diseased. Specificly their elemental affinities and the locations, that house these should remain immune to any outside effects.





The goal is to finish both, the scoring cues and the new destruction effects and implement them by the end of July .... tough goal to accomplish for more than 100 different mesh and foliage models .... I also probably won't get around "some" chaos destruction, and implementation of geometry collections, due to the many buildings contained in the game, that are succeptible to earth projectiles and earth dharmapala effects. I'll probably have to disable all collision in relation to them to keep this thing compatible with VR.

There are also still some bugs in relation to weather events and day/night rhythm, because depending on the length of each weather effect and the speed of time, it can really mess things up. Ideally all variables are capped at specific values, that ensure their functionality without major issues. If a weather effect lasts beyond sunrise or sunset and then the atmosphere blueprint attempts to return the fog colors back to the updated values (that are rapidly changing due to the change in sun angle) one function "chases" the other. The first one attempts to return the value to normal, while the other has already updated it, then the first one attempts to reach the updated value again, while the second function changes it again .... and on it goes .... this leads to the sun no longer rising and creates an "endless night" ....

 So far I've made some massive progress. 

The goal for 2021 is to have a fully dynamic and functioning world with elemental fx and working projectiles. Once this world is completed the goal for 2022 is the release of the first chapter. Players will be able to acquire the first dharmapala. Each subsequent chapter will contain the acquisition of additional dharmapalas and quest souls, new enemies, bosses a.s.o. .... 


 










Sonntag, 6. Juni 2021

Developer Diary 135 - The Fix

Took me 3 months, but I fixed it.

The crashes happened, because of 3 fun reasons:

- UE 4.26 wasn't compatible with my old engine.ini and config.ini files

- The startup map in my 4.25 project had a selection of temporary atmosphere actors, that overlapped and fed their data into the weatherBP (even though they were hidden AND inactive) and 4.26 decided it couldn't handle that anymore (even though 4.25 had no problem with it)

- Aspects of the code were still referencing the physix plugin. In previous engine updates, outdated plugin references didn't stop a project from launching, and those references were listed in the message log. Not this time. No, no, no ....

So the solution was to completely set up new .ini files for the project, by creating a new one from scratch. Then re-linking all of the input commands and controls, then importing the original content folders individually, then fixing various settings in relation to plugins, then removing all aspects of code, that previously referenced the physix plugin, then removing the overlapping atmosphere actors (6x atmo fog, directional sunlight, moonlight, exponential height fog), and then manually add the values (6x40 variables) to the weatherBP, because the values to each variable could now no longer be sent to the BP by these atmo actors. 

Good times. I love you Epic.

Converting this project to UE 5 will be a hell of a time as well I imagine.