Devlog Week 17

Here’s a summary of week 17:

1- I added debris and dirt to the main train material. It has 4 layers : cigarette butts, small pieces of paper, bigger pieces of paper, and dirt. It uses RGBA vertex colors for masking

Vertex Color painting

2- I programmed some basic “interactive” environment props, like doors opening when you approach them, and cameras looking at the player. They weren’t complicated, but it’s good Blueprint practice

Interactive doors and cameras

3- I added more dream shenanigans, mostly things changing when you’re not looking. There’s also a small chance they will change in front of your eyes.

Dream Shenanigans

One of the methods I used is a custom decal shader that takes an atlas texture and pics a random portion when you’re not looking. I can set the number X and Y subdivisions, so it can be any numebr, 6×1, 2×2, 4×2…etc.

I couldn’t find a way to easily change the decal material properties at runtime, but I knew that each decal actor has a color attribute I can set and then reference from the shader, and I know that one can be edited in runtime. It’s usually used to set the color and opacity of the decal, but there are really no rules. I still kept the RGB components to set the color, but I used the Alpha component to control which decal to pick. After that it’s just a matter of setting a random value to the Alpha component from the level blueprint (or the player character blueprint, or any blueprint really) when it’s not in the camera field of view.

4- Finalized the lighting and environment of this portion of the scene. it’s missing NPCs and some small props and events, but the environment and lighting itself is done. I used static lighting for performance reasons. I am getting ~40-50fps on my laptop (just an integrated intel GPU) without having to make any visual sacrifices, which I’m happy about. I’m getting up to 200FPS on my desktop with a 2070 Super.

Cinematic render

5- I experimented a bit with sounds for robot voices. I made it so NPCs (or a random placeholder object in this case) pick a random sound from a list and slightly change its pitch with every few characters printed on the screen. Here’s a compilation of the sounds I made myself

Random robot sounds

I also commissioned “Terra Marique” to experiment a bit, and he did a good job. I didn’t have a clear vision in the beginning and wasn’t entirely sure what I wanted, but I got a good result I’m happy with.

Better robot sounds

6- I made drafts and sketches related to the NPC dialogue system. There’s nothing worth showing, but I have an better idea on how to proceed.

This week (#18) will be mostly spent implementing the system and experimenting with it. After that’s done, I can finally start making NPCs and implementing the story and interactions. After that I am not entirely sure what I’ll work on, the player/NPC models or an environment blockout, but it’s probably 3D art related, since I missed doing that.

Thanks for reading, and have a great week!

Leave a Reply

Your email address will not be published. Required fields are marked *