Text
Sinew Devlog #3
It's been a while since my last post, and a lot has been added, but ironically not all of the last update's goals have been completed. Most of the work done has been mechanics; I ended up changing the player controller a couple times. Originally, I was using Unity's Character Controller component to handle movement, but I decided that I wanted to use a Rigidbody-based movement system instead. Initially my Rigidbody controller used a force-based application, but then I changed it to an acceleration-based system. Switching to the Rigidbody system introduced a lot of challenges, most of which were things that were things that the Character Controller component handled automatically, like slope detection, sliding, and generally the simplicity that a non-physics-based approach provides. Ultimately, however, my controller ended up being great for what I wanted, and I learnt a lot about vector math, and how manual slope detection is done. Honestly, I was pretty proud of how well it came out, and being able to navigate and fix the issues that arose. I also introduced the gun and bullet systems using ScriptableObjects. The only weapon at the moment is the Nail Gun, which I think ended up being great. (Don't mind the overly loud background ambience 😭).
I added shooting animations, sounds, and a nail bullet with its collider towards the head so it sticks through objects.
The nail itself plays a sound when it collides with something (as well as stopping, being parented to the hit object, and instantiating a spark particle effect). Furthermore, I added hand models as children to the weapon: one that simply holds it (I might still add a trigger pull animation) and one that shows up when the player reloads (will probably improve it 😸). I suppose this leads to the enemy I've added, called a sakan. Sakans are EPK workers who have been tainted by biodiesel, the circumstances around their transformation are not yet known.
I was really happy how the model and texture came out, especially considering I did it all with Blender's Texture Paint mode (Texture Masks were a great improvement to my texturing workflow). Rigging and animating was pretty difficult, with the main challenge being a really weird distortion issue when the knee would snap the wrong way after a certain angle. I spent ages trying to figure out how to fix it and tried everything I saw before I just raised the poles way further in the air, something which I did not find online by the way, lol. But I got there in the end and the IK's were super useful in creating the animations.
youtube
The Sakan enemy, which I used to construct the Enemy base class, has several behaviours for its AI: it patrols, randomly picking a point on the NavMesh in its patrol range, chases the player when they are in its sight range (uses a ray cast to check if it is actually visible), and will chase the player's last position if the player gets out of sight while the Sakan is chasing them. Additionally, I added a patience variable that controls how long the Sakan will try to reach the player when the player is "inaccessible" e.g. standing on an object or generally outside of the NavMesh. When the player enters its attack range, it will play the attack animation, which I will definitely improve, but at the moment its attack doesn't do anything (I will just need to add a trigger collider that calls the player's "TakeDamage()" function). I'm pretty happy with how this enemy turned out, and when I add sounds to it (especially when it notices the player) I think it will add a lot to the experience. I also added another enemy, called a Limus, who act as more of a hazard, as they cannot be killed. They have three limbs which can attack independently and emerge in places where there is leaking biodiesel.
youtube
(This video also shows the fire hazard which damages the player - the hazard class has lots of options, but at the moment only "Instant Damage" and "Burn" have functionality). I'm quite proud with how this enemy turned out, but I had a bunch of problems when importing animations which I found were ultimately due to me having a bunch of vertices in the mesh that hadn't been assigned a bone/vertex group/weight, so even though the animations looked fine in Blender, once imported a lot of the mesh was being influenced by the Idle animation, or stretching.
I also made the fluid shader (with help from Alexander Ameye, MichaelsGameLab, & Unity's water shader tutorials) which ended up great.
youtube
I added texture scrolling to make the pipeline feel busier and added waterfalls for the vertical pipes and outfalls. In this video you can also see the updated underground section, which hasn't been fully detailed like I had planned from my last progress update, but I have added the second level to the initial room as well as a ladder (that isn't currently functional).
The only hang up I have with the shader is that the flow direction is just based on a two-dimensional scroll direction, which means that at corners there is a relatively obvious change in direction so it doesn't tile, and I did consider finding a way to warp the UV's to follow a path or curve, but I decided I'd stick with this approach, which I think is fine for my game's retro art style (as well as the pixel filter, post-processing, and movement of the fluid hiding it somewhat).
This is the escape room so far, which is what I'm working on right now, which includes a few new models like the metal sheet, concrete chunks and dirt pile, as well as the fake godray cone for the lights, which I think look great. There is definitely other stuff that I did that didn't make it into this devlog (especially related to the player controller) but I've included the bulk of it. Thanks for reading!
Ader Forþgan!
1 note
·
View note
Text
Project Concept & Progress Recap
Sinew is a dystopian first-person horror game with a PSX style (how original). You play as a "greaser", an engineer who operates biodiesel refineries in the bowels of the Eshkold Petrolum Korputh, a mega corporation specialised in bio-petrochemicals, especially the refinement of biodiesel, its main product. The player's goal is to escape from the "Greaser's Den", and ultimately the grasp of this powerful megacorp.
OK! For the progress recap, I started with a small room with three main objects: the terminal station, the "grease machine", and the "NUMA" chamber.
The initial idea for the project was to have the player locked in this room, and so a lot of the gameplay would be between the terminal and the grease machine, requesting biomass deliveries and then refining them, with particular mechanics to make it more interesting. I eventually realised, though, that this was pretty boring, and I wanted to give the player more exploration in the world (more so just the EPK facility), so I decided to scrap this gameplay focus and have it more level-based; exploring and surviving parts of the facility in order to escape.
So, from here I realised that I really should use a modular tileset for rooms, so I created a new Blender file and did just that!
Afterwards I made a pipe set that the player can crawl around in:
And then afterwards I made a brick tile set for a different area in the facility related to biodiesel treatment:
Throughout the process I also made a bunch of props to populate the environment:
I also made a bunch of grunge textures, hazard sign textures, and more decal textures to use.
Alrighty that's a lot of image spam, but I thought one last sequence of progress pics would be good.
The starting room is definitely not finished, I want to add faux god rays to the ceiling lights, more props (or maybe a different placement and variety of them), and I will most likely do more decal work, but it looks a whole lot better than it did to start with. Enjoy some more screen shots of other areas:
This, of course, doesn't include any mention of any of the mechanics that I've made for the game, which include the character controller (with jumping, sprinting, and crouching), the terminal interactable UI, or the grease machine (as well as other interactable things like power buttons for the terminal tower, the grease machine power switch and compressor button etc.).
This video shows the terminal and grease machines functionality with the compressor level of the grease machine increasing refinement speed but is louder - which is kind of a remnant of the old gameplay loop (where the louder the player is the more likely an enemy will attack/hinder them). At the moment I am deciding how exactly I want this first section to go - with the player doing his job as a greaser - as well as how prominent I want this mechanic to be.
Anyways, that's pretty much all the stuff I've done in the project so far (I definitely should've made this post first, lol). Some of the next things I want to tackle are:
Biodiesel fluid shader for the pipe section
More detail to the hallway section (grunge, decals, props)
Final details to the starting room (grunge, decals, props)
Detailing escape room
Detailing underground brick room
After this stuff is done, I want to then work on enemies/hazards, so the game isn't just a glorified walking(/cowering) simulator, as well as making some more spooky features for the player.
Thanks for reading!
Ader Forþgan!
0 notes
Text
Decal Hazard Signs!
Using "Big guy637"'s CC0 Safety symbols, I added dirt and grime and used a custom brush to etch out scratches in the signs/posters in Krita.
I've used the URP Decal Projector and Decal Materials for these decal prefabs, which at first caused some head scratching because my decals were showing on both sides of a wall (since they are simple planes). But I found that if you enable the Angle Fade in the Shader Graph Settings, and adjust the slider in the inspector, you can get it to be a forward-rendered material only.
Some of these signs also give a sneak peek into the Tsadtung language, a Latin-Common Germanic hybrid language used in the Corporatist Autocracy of Forþgan*, located in Western Europe. *⁽ⁿᵃᵐᵉ ᵈᵉᶠᶦⁿᶦᵗᵉˡʸ ˢᵘᵇʲᵉᶜᵗ ᵗᵒ ᶜʰᵃⁿᵍᵉ⁾
For my next post I'll probably do a recap of my progress so far.
Ader Forþgan! (To Progress!)
2 notes
·
View notes