Sonntag, 12. März 2023

2:02 AM - 28 Hideouts Done


 

Who is dumb enough to spend 20+ hours (also known as one full weekend relaxation value) on adjusting code segments?

...


Freitag, 3. März 2023

Bishop Boss Music

I got so sick of working on adding protection pillars to each hideout I started to simultaneously build up the Bishop boss fight. I always write the soundtrack first before I create a new location or scene.

This is the link to the soundtrack:

https://on.soundcloud.com/ZuHG2




The fight will be based around an intricate clock system, that pulls the moon towards it. The bishops will try to prevent the player from destroying the clock ....

Yea I know it's insane. But fuck it. That won't stop me.



Dienstag, 21. Februar 2023

0.5.3 Update - Night Intensity Formula

Over the last two weeks I worked excessively on improving the player's night time experience. Players now have to build and maintain protection pillars, that prevent shadows from infiltrating the hideout. The more lights are lit inside a hideout, the slower the shadows' advances will be. Shadows attacking protection pillars can be chased away by bringing a light source to their vicinity. Getting seen by tree spirits or sirens during the day increases their attack frequency at night and makes all shadows way more aggressive. The more often a player is seen by the siren during the day, the more aggressive she will patrol the player's location and follow him wherever he goes (until morning, if the player is still .... capable of movement at this point ....).

The new formula took tons of testing, but proved to be incredibly effective. An external difficulty factor is also part of it, which gives me the ability to scale and manipulate difficulty based on future in-game events or encounters with other creatures.


Player experience and death count are also part of the equation. A player that moves through the game quickly, will face more attacks and more serious night time confrontations.

Before releasing 0.5.3 I want to implement a new instance of shadow detection during daytime:

Hunting stands.

Yes, hunters will have a rifle.


Sonntag, 12. Februar 2023

Update: Protection Cycles



I'm working hard on implementing a ton of new features and night time functionalities, including protection cycles.

Some hideouts will have a set of 8 protection pillars around them (varying in shape and type). Sometimes it's hard to distinguish them from the environment.

Once the player finds them, he can rebuild them (right now, doing so is free, but I'm thinking about setting a price for doing so).

At night these cycles will keep him safe from shadow invasions and no detrimental night events will take place for as long as all pillars of a cycle are intact.

The shadows will send zealots, that start praying near these pillars. The player can chase them off by bringing a lightsource close to them (Matches, Lighter). If the player fails, they will break down the pillars after a certain amount of time and shadows will have free access to enter the hideout again.







Here's a video of what it looks like when the zealots start praying:




More updates are coming soon. Implementing new features is always fun, but it's also difficult depending on how much they change the current ecosystem. All hideouts, all buildings, all systems are connected and changing one thing, influences all the others.



Donnerstag, 2. Februar 2023

0.5.2 Is Out!

 Download Link: 

https://www.dropbox.com/sh/a98ucwi1okg87f5/AADNWjiHYO1w_WT8DTVQNeITa?dl=0

I know of at least one instance, where a house has two chimneys for some reason. I'm scared to find out why. 

Samstag, 28. Januar 2023

Dev Log Excerpt December 2022 - January 28th 2022

 The following is a 1:1 copy of my personal notes during the last 30 days of game development:



BACKUP 27th of December 2022


X Implementation of Music Box & Queen Bossfight

X Massive Overhaul and Expansion of the world map to 1024 Segments

X Massive Overhaul of Map loading Sequencing and Loading Zones



X What to do now?

X - Keep Section 04,08,12,13,14,15,16 and isolate them from the rest of the map.

X - Replan the core



X - Manta Sound For Rain skips and is too loud maybe?

X - Generator Text is fucked up because of rotation maybe? Experiment

X - Items inside the generic hideout need to be set to "can not step up on", remove chair from the middle, place candles at the top of X the napsack not at the foot end

X - remove night stand table from generic hideout


X - Fix Weather FX for both intact huts

X - Add large ferns along the path

X - Add additional pines across the 1st segment, to maximize the effect of the shadow/light play


what's great? It's no longer boring, pathways are manageable, hideouts are plentiful, player has lots of options to make decisions


X - green, green bushes are oversaturated (i think it's bush04 ?!)

X - Siren needs much lower random patrol location radius

X - Tree monks need to be set up in front of hideouts to prevent player from cheesing them by standing outside

X - Tree monks need to update player location at night time as well and give that information to the siren

X - weather fx need to be removed for broken huts (hideout and non-hideout versions)

X - non-hideout forest houses (the old ones) need to be included together with randomized loot chests

X - all weather fx need lower probability

X - rocks and cliffs inside the lake to create a more interesting landscape, it's boring right now

X - There's still an overall shortness of firewood ... no idea how to remedy that .... maybe a firewood loot pile as random loot? Woodcutter huts or woodstacks? 

X - Trapezoid foundations need footstep sounds

X - Pines need darker texture

X - Firewood Birch Texture is waaaay too bright, oak firewood is way too dark

X - Vinegar needs emissive texture

X - crates in small huts need depenetration velocity set

X - Stock Up on Firewood Needs To Appear Either On Top Or In Front of the woodstack

X - Distinction between day and night time underwater is necessary

X - All hideout doors should be locked by default

X - Nightevent code for locked doors needs to be adjusted

X - Wardrobe is tooo emissive

X - Monks & Tree Spirits need slightly brighter emissive



X IMPORTANT - more crate groups with loot, more places for the player to collect loot (disable automatic spawning of these things, also disable hut spawns, add it all manually)

X IMPORTANT - Add large decidious trees along the pathways for light/shadow break, desperately needed

X - Deal with soulspawner FPS drop

X - Remove trapezoids from hideouts that dont need it so no footstep confusion happens

X - Add and update map to Yamas House

X - Skylight during "Fog" weather is waaaayyy too bright, fog should be even thicker

X - Height scattering of exponential height fog during rain needs to be massively reduced, dont change z level of fog during weather fx, it causes problems left and right

X - conduct additional siren testing, a lot of testing was just done in a regular gameplay environment, but siren wasn't sufficiently tested during attack and in various situations


DEMO 0.5.0 Feedback


X ????? - FPS drops still happen

X - Be 100% certain that the reward chest opens at sunrise

X - Siren appears to be unreliable, make sure she spawns

X - Set version number to 0.5.1

X - Trapezoids determined collision!!!! Add them again and set them to default material!!!!!

X - Add Control scheme to the pause screen

X - Add more spirits and monks to the forest or increase detection range

X - optimize tree spirits and monks

X - Plants and trees fade in and out unreliably, extend their fade range so it's more gradual

X - Crate emissive is too high

X - Reduce Fog, Add Void Dragon Howl To Fog


DEMO 0.5.1 Feedback


X - Rename it to V 0.5.2

X - There is an indoor volume at the generic hideout campground

???- Ravens need a separate scene anchor tied to the siren so they don't move into the ground when the siren attacks

X - Sirens don't reliably de-spawn at daybreak. Add a second safety check in the overworld global variable collector with a timer to check for time of day, kill them at 6:00 am, and at 7:00 am as well. Sirens should only respawn after 8:00 am. Set a preventive branch check with time of day at the monks and tree spirit watchers.

X ???- The door at the lake hideout with the boardwalk was unlocked for some reason. That should not be ... 



X Then when you're satisfied with Section01, create blueprint maps that are loaded in with each section. Add all non-connected BPs like hideouts, treespirits a.s.o to this map


X IMPORTANT: The "Unlock All Doors" Code is executed at sunrise, that's why all the huts are unlocked!!!! It needs player presence as a condition for execution!!!


X Afterwards create indoor functionality, chest spawns and interior randomization incl. weather fx for the village houses

X - Start with island buildings, that can be dealt with a SINGLE indoor volume

X - create weather fx and indoor volume

X - create intelligent shadow spawn night event (no lightsources, they count as non-hideouts)

X - add collision for stairs a.s.o.

X Once this line of buildings is done, copy paste the code and move over to hideouts with multiple indoor volume overlaps (create bools for these overlaps)





Tutorial feedback

X - one nightstand is rotated towards the wall

X - 4th textprompt in compass room doesnt spawn (and doesnt spawn in others as well?)

X - since daylight shadows are set to "enable actor collision" on safety, the compass, which reacts to haunting doesn't show danger accurately

X - Implement Rise Demon

X - prevent player from falling into the water when being consumed by the king

X - The king needs to be higher at start for spawn

X - The king needs post process FX

X - WidgetTutorialDecider needs to decide on a spawn point when player selects tutorial beforehand, including a segment to spawn in and then transfer that info to player character

X -> Then king needs to access it to determine player respawn in the forest

X - During the first shadow tutorial tell him that they rip his light away when he comes too close and tell him again to use alt to check his own lightforce

X - Chameleon Communication Is Flawed

X - King Suck Is Broken If Player Is Safe (Remove Distinction between safety)

X - Shorten Text Prompts Or Move Them To The Top And Switch Them With "This hideout is dark"

X - Move Vinegar bowl away from lamp in 6th room

X - First Shadow Needs To Be DIRECTLY IN FRONT OF A LIGHTSOURCE

X - Remove "Can Step Up" from Tables

X - Crouch Textprompt

X - Add a longer textprompt before the king encounter, explaining indirectly why the king himself is not affected by the light

X - Player will ask why does it say "Black Won?" Chess reference needs to be in the tutorial as well. Maybe chess tiled floor? Large life sized pieces?

X - (doesnt work due to overlap with door locked prompt) Inventory prompt needs to NOT be located near the key, but in the entire room, replace the shift and the item text prompt with a room global one that gives the player all of that info

X - "Press C again to get back up"

X - Increase Tutorial prompt range of King Message And Of Other Messages

X - The intelligent shadow in room02 does not trigger, because player is initially safe when he enters his range of vision ....

X - Check haunt volume of swimming man, is it centered? Is it set to 100% light extinction?

X - player death must not affect death count and light fade

X - When Yama takes his keys away, make sure the UI adjusts his key number as well!!!

X - Maps are loading in now WHILE the player is game over, maps are also NOT loading correctly

X - Player collision update on lamp leads to indoor/visibility checks as well ..... causing the entire building to glitch out (remove it all put it back as it was)

X - Swimming Man's haunt volume needs to be smaller

X - Create custom collision for round tables or set them to simple collision as complex, player still steps up on them

X - Lamps stay haunted after being touched by a shadow, upon end overlap the haunting and the flicker needs to stop!

X - dont put keys on the same table as lamps

X - Music Serenade CAN NOT BE GLOBAL, it needs to be controlled through radios or external sound sources

X - Yama should only destroy itself once all maps are unloaded

X - King And Tutorial Need Music Cues Implemented, consider writing a piano piece for yama, that moves into multiple layers when he's present or when shadows are present

X - Consider the serenade that merges with Rise Demon Attack V1 when Yama appears

X- The light is fading is somehow being triggered AFTER tutorial is set to false. WHY?????

X - get up from crawl, second prompt required!

Freitag, 27. Januar 2023

0.5.2 Tutorial & Feedback

Finally finished the tutorial:


The last two weeks were among the most vomit-inducing horrendous, demotivating and frustrating weeks since the start. Including learning in the first week of 2015 how to not make my character fall through the map.

When you work on something where you can see results, that's fulfilling. Adding content, adding events, adding items, features, animations, enemies .... that's awesome. But preparing existing models and "embedding" them into the code is a nightmare. Adjusting shadow spawn points and collision volumes and fixing unexplainable bugs sucks. But adding new features is optional, making the game accessible and fixing bugs is mandatory.

Giving new players a tutorial is absolutely essential. But up until now I was too self-absorbed to realize just how important it actually is. But there was also another reason: I was scared of what would happen to the existing code, when I would start fooling around with a new tutorial area and how the existing game-over system would handle the tutorial. 

Then I came across some delightful new bugs, that came into existence since UE4 made an update to their branch blueprint segments, that were now no longer functional in a packaged game. To everyone reading this: "Equal Text" now only works in a packaged game, when the text you want it to be equal with, is a manually created "Text Variable", which then needs to contain the same text as the other side of the branch node as "value". When you write text into the "Equal Text" node it works fine in editor. In a packaged game UE4 suddenly goes: "WHAT IS THAT? I HAVE NEVER SEEN THESE MAGICAL RUNES BEFORE? "

So you play the game in editor and all is fine and then you package it, and it's all messed up. So you change something to see if it's fixed in packaged mode now as well, and it's not. And you do this over and over and over and over again until days later you've finally nailed it down. And then you switch one node, and it works. 

And you feel nothing.

And there is no visible improvement. The game looks exactly as it did before. But you know what you did was absolutely necessary. But you still feel fucking nothing.

Now there are five types of houses in the village and they look a little bit different, have furniture, plants and loot. Great. And now when it's raining and you sneak inside of them, it doesn't rain inside the house anymore. And at night four different types of shadows spawn to keep things interesting. Awesome. Minus 20 hours.

When Yama eats you at the end of the tutorial, the maps are loading correctly now. Great. Minus 6 hours.

You wanted to implement respawn points, so that the player could die to tutorial shadows with minimal progress loss, then after a massive round of testing you realize, that it leads to a multitude of issues. So you prevent him from dying during the tutorial and cap his health (so he can get hurt, but not die). Then you realize how much of your code was tied to the player having a minimum amount of health and experience the consequences of this tremendous fucked up change. So you adjust it and give the player 0.1 health when he actually should be dead in the tutorial, in order to avoid everything getting fucked up. Minus 5 hours.

You consider adding music to the tutorial. You have a track in mind, but want it to be played through various radios spread out across the tutorial area. You add the code and new blueprints, you realize UE4 is a pile of shit engine, that doesn't play sound at the exact moment, when you tell it to play sound. You try ten different methods to make it work. They all fail. You finally figure out a way to do it, but then end up deciding that music in the tutorial is actually incredibly distracting. Minus 5 hours for fucking around.

In the tutorial you tell the player how shadows extinguish lamps to track you down. You want to add one of the intelligent shadows, that track down the player. You adjust the code, so he doesn't spasm out during daylight. You realize player collision does not update when the lamp is extinguished by a shadow (which usually is not a big problem, because during night events shadows move around and change location, thereby updating collision). This time it's a problem though, because this lazy fuck of a shadow just chills around on the floor doing nothing. You spend an hour adjusting the code of the lamp so it updates player collision at the exact right time and then you realize, that the change you made causes the entire house to glitch out, because the collision channel that checks whether the house is in visibility range of the player, is the same as the one checking whether the player is detected by shadows. So with the flicker of each lamp, the house disappears and re-appears again. Like some kind of surrealist disco.

And suddenly a thought occurs: "Dude, you need to update your social media channels." But what the fuck am I going to post? "Hey guys, I thought about adding something, then did, and then removed it again. Watch my tik-tok where I rhythmically scream into a pillow to the sound of the collision volumes glitching out!"

You decide to remove everything including the original shadow, as he is not vital for understanding this part of the tutorial. Minus 5 hours.

Each variable you add to the player code takes 10 seconds to load. Why? Because the code became bloated over time. It craves optimization. But it can only be optimized once I know for sure, which parts of it I won't need in late game inside the mansion. Or I will destroy an incredibly complex and important part of the game. And then Yama will once again spawn in the middle of a wood beam. So waiting it is. 

Next fun part: 

Testing has shown that the nights are too long. So I'll need to adjust the timers across the board. Given that everything is connected with everything else, including weather events, it will be a fucking bug-fest.

I can't wait for a weather event to stop the sun from rising and moonlight shining down on the player at 9:00 am, with the generator timer stuck at - 99:59 seconds, ticking down into negative infinity with lightning speed for some reason, while the fireplace is spouting smoke from a misfired night event.