Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Styg

Pages: [1] 2 3 ... 11
1
Development Log / Dev Log #16: Targeting and Projectiles
« on: March 10, 2026, 02:14:58 am »
See nicely formatter HTML version on the website.

Hi guys,

In this dev log I want to go over the changes that I’ve made to the ranged weapon targeting system, which could also be called the projectile attack system.

This is the system that is used primarily when attacking with any sort of projectile-based weapon, such as firearms and crossbows, but also energy and chemical "projectiles."

The reason I made the changes that I’ll describe below is partly to better integrate it into the new engine, with its 3-dimensionality and destructibility. But, also, I wanted to change the way that the difficulty of using these weapons changes with range and skill. Namely, I wanted for these weapons to still retain good effectiveness at close or point-blank ranges even at low skill levels, so they could easily be used without too much investment both in the early game and as off-spec weapons further into a play-through.



This is how it all works now.

First, in order to be able to fire at any given target, there must be a penetrable path from your firing voxel to one of the voxels occupied by the target—this is called a ranged touch check. In our engine, a voxel is a relatively large cube with the edge length of one meter (so a human takes up two voxels when standing and one when crouched, for example). It’s basically a 3D "tile."

Every object in the game occupies one or more voxels. We use these for low-resolution gameplay mechanics, such as pathfinding and vision. A voxel itself consists of the core, the 6 sides, and 12 edges. These are used to better facilitate smaller or thinner objects such as doors, columns, and such... but that’s not important right now. You only need to remember that the initial range check is done using these.

https://stygiansoftware.com/videos/devlogs/infusion/16/video3.mp4

When firing a ranged projectile weapon, such as a pistol, for example, the game first calculates your attack rating. A lot of things can affect this rating, but it’s mainly determined by your effective skill level (Guns skill in this case), stance (in the case of firearms, it means what aiming device you’re using—iron sight, reflex sight, optics, etc.), and focus.

This is measured against the target’s defense rating. I’m not completely set on how this rating is going to be summed up, but for now it’s an esoteric mix of constant values, distance, momentum, and evasion. Basically, the rating grows with how far, how fast, and how evasive the target is.

These two values are then fed into a saturating (diminishing returns) function that determines the maximum degree of aim vector tilt—meaning, by how much the attacker can be off from a perfect shot. When the projectile is about to be launched, the game rolls a random value from this range and uses it to tilt the vector.

This vector is then made into a ray and traced against the bounding box of the target that the attack was aimed at. Let’s call this a primary target check. It actually consists of two checks, as it’s traced against two bounding boxes—the full and the inner bounding box.

If it intersects with the inner bounding box, which typically consists of the inner 2/3 of the full bounding box, the attack is counted as a hit. During this check, all obstacles are ignored, and we rely solely on the ranged touch check to determine if there’s a clear path to the target. When this happens, it’s called a true hit, and it means we don’t need to do any actual ray marching of the projectile through the world space.

If it does not intersect with the inner bounding box, then the projectile is traced through the actual game space, and it can hit any character or destructible or indestructible obstacle in its path.

If it ends up landing inside the full bounding box of the initial target, it will be counted as a grazing hit (which means it deals half the damage). If it lands inside a bounding box of any other target, it can be a hit or a grazing hit depending on if it also intersects with its inner bounding box.

So, unlike in Underrail 1, where only things like bursts or shotgun attacks could cause collateral damage, in Infusion, any projectile you launch can potentially end up hitting a different target or an obstacle.

It is sort of a hybrid system that allows for true hits that do not account for other obstacles and characters if you aim precisely, but in all other cases forces you to adjust for other targets and obstacles.

I found this system to be superior to true physical simulation when it comes to our engine because the player does not have the fine-grained positioning capabilities for either the character or the source of the projectile (the weapon). We do not want to constantly be ending up in silly situations due to some part of the level geometry unexpectedly fully blocking attack paths.

https://stygiansoftware.com/videos/devlogs/infusion/16/video2.mp4

Now, because we no longer roll a hit chance during the attack but instead tilt the attack vector, this has a couple of (intended) consequences.

First, the targets that are small and/or far away become naturally harder to hit because for any given vector tilt angle, the gap between the traced ray and the target point increases with the target’s distance; and the smaller the target is, the more likely this is to result in a miss.

So, while you might not need that much Guns skill to hit a burrower when up close, hitting a spawn at 10+ range without significant investment in the said skill could only be the result of a lucky shot.

Secondly, it works seamlessly for any kind of thing that needs to interact with the projectile, be it another character, an obstacle (destructible or otherwise), a cosmetic particle, a cloud of flammable gas, a rip in the spacetime continuum, or whatever else we come up with in the future. As long as it can be detected during the ray marching, we can interact with it.

Finally, we can easily use this system for weapons that fire multiple projectiles, such as shotguns, where each pellet becomes a separate projectile.

https://stygiansoftware.com/videos/devlogs/infusion/16/video1.mp4

One downside of the system is that it becomes effectively impossible to calculate exact hit chances for a given attack beforehand. For this reason, as some of you have noticed, I have switched to descriptive difficulty indicators (Easy, Moderate, Hard, etc.).

* * * * * * *
So far I’ve only discussed how the projectile system is used with standard weapon attacks, but it can and will also be used for other things, such as grenade shrapnel, psionic particles, and such. It can be used anywhere where there’s a physical projectile that needs to be traced through the game space while not being affected by gravity or air drag.

* * * * * * *
There are cases where gravity and air drag are significant factors—with thrown weapons, for example, such as throwing knives, grenades, and even simple rocks. For these, I have developed a different system, which I will showcase in a future dev log.

* * * * * * *
Likewise, there’s more to be said about actual damage models of different creatures and how they affect hit chances and damage amounts. This topic deserves a dev log of its own.

* * * * * * *
Obstacles, destructible or otherwise, are also a fitting dev log subject. We actually have quite precise collision mechanisms when it comes to the environment, owing to the fact that we generate low-poly meshes for our pre-rendered assets to be used for shadow maps.

* * * * * * *
Anyway, that’s all for now.

Keep in mind, all these mechanics are subject to further adjustments pending testing, but so far I find this system quite intuitive and fun.

It’s back to the trenches for me now. I hope you found this dev log interesting. Be sure to follow me on X, where I post smaller tidbits of development regularly.

Cheers!


2
Development Log / Dev Log #75: Custom Difficulty and Console
« on: February 13, 2026, 10:08:37 am »
See nicely formatter HTML version on the website.

Hi guys,

We've added a custom difficulty option (Mutant) in the game that you can use to configure the various parameters to your liking.



If you want to play with Dominating's enemy distribution, but don't like the stat bloat, you can change it now.

If you find the easiest difficulty too hard, or the hardest difficulty to easy, you can further adjust them.

If our puzzles give you headache, you can reduce it by changing the puzzle difficulty specifically.

I've even added the ability to change the level cap, but be careful when using this one with the oddity system, as I do not think there's enough experience to level you all the way to the max setting (level 50). This option is only available with the Expedition DLC because of how leveling code is structured.

My official stance regarding the default difficulty has also changed somewhat. I don't necessarily think that Underrail has one default difficulty anymore, but rather that there is a progression from Easy to Hard as the player acquires more knowledge of the game's systems and encounters (and grows in virtue of patience and willingness to suffer).

So to better reflect their purpose, I've changed the names of Easy, Normal and Hard difficulty to Beginner, Veteran and Expert, and changed their descriptions accordingly.



I've also re-enabled the game's command console, but disabled some technical commands that are used in development. I have plans of opening the game for further tweaking and modding in the future and the console will be crucial for that.

Also, I want people to be able to tweak the difficulty in their ongoing play-throughs, so they can use a new console command for this. You will not be able to change the encounter or puzzle difficulty on the fly though, because that is likely to silently break your game and prevent you to finishing parts of it or the entire thing.

Of course, we also fixed some minor bugs.

Here's the full list:

General
  • Added Custom difficulty (called Mutant) that allows you to configure various game system parameters for your playthrough
  • Changed the names of Easy, Normal and Hard difficulty to Beginner, Veteran and Expert respectively
  • Beginner difficulty will now halve the health of all NPCs
  • Re-enabled the command console
  • Added console commands for changing the difficulty parameters of a running game (except the encounter and puzzle presets)
UI
  • Tooltips that are too big for the screen will now pan up and down slowly so you can read the text; hold the SHIFT key to freeze it in place
  • Vehicle status tooltips will now scale properly
Tweaks
  • Shock Shurikens mechanical damage now scales with the Throwing skill; also they will now properly display the same mechanical resistance penalty as throwing knives
Bugs
  • Fixed the bug that caused some special attacks (e.g. Rapid fire) to consider sledgehammers and crossbows to be firearms
  • Enraged psi beetles will no longer try to cast Bilocation on each other
  • Corrected the All-in status effect description
  • Fixed Refurbished AKX not having a unique sprite when equipped
  • [Heavy Duty] Fixed the bug that caused a certain energy weapon components blueprint names not to show up in the list of blueprints
  • [Heavy Duty] Fixed the bug that caused the backblast to sometimes burn the attacker even though there was enough space behind
  • Fixed various sprite bugs
  • Various minor dialog/zone fixes

That's it for now, guys. I hope you like this new feature. We don't have much time to work on Underrail 1 now, as ~98% of our production is focused on Underrail 2: Infusion. If you haven't wishlisted it yet - please do, and keep an eye out on its dev logs in the coming year.

Cheers!

3
Development Log / Dev Log #74: 10-Year Anniversary Update (1.3)
« on: December 18, 2025, 01:53:00 pm »
See nicely formatter HTML version on the website.

Hi guys,

It has been 10 years since Underrail hit its 1.0 version. In celebration, we're releasing a small but important update that touches up the game's visuals and delivers an extra weapon to the Heavy Duty arsenal.

https://stygiansoftware.com/videos/devlogs/underrail/74/loop_uniques.mp4

First, we've created unique sprites for all of the game's unique weapons. These should now be visible when the player equips them, except on a few armor types and when riding jet skis (but we plan to correct this in the future).

https://stygiansoftware.com/videos/devlogs/underrail/74/loop_rocketlauncher.mp4

Secondly, we added a new weapon to the Heavy Guns roster - the rocket launcher. As you might expect, it's a high-powered high-AP area of effect weapon that requires a lot of strength to wield. It can fire 4 different rocket types and there are even some unique ones that have their own payloads.

Lastly, we've started work on localization support. This is going to be something that will remain in slow but active development over the next year, as I slowly migrate all the game's text into external files. As it stands right now, though, most of the UI elements and the dialog can be freely translated.

To learn more about how to do this, visit our Localization sub-forum.

We also made a bunch of other smaller and medium balance changes, with the major focus being on the impact of the intelligence stat.

Here's the full list:

General
  • Unique weapons now have custom sprites when held (except on jet skis)
  • Extracted a good amount of text of the game into .txt files for localization; UI elements, object names, items, abilities, dialogs and more can be localized as of now; further localization support is in development
  • Intelligence now influences the speed at which the player gains level. For oddity system this is accomplished by reducing the oddity requirements at appropriate levels, while in classic mode the amount of experience gained is modified. The effect is not drastic, but should be noticeable.
  • [Heavy Duty] Added Rocket Launchers
Graphics
  • Improved the fog of war and nightvision shaders; you can switch to the old one in video settings if you prefer the old look
Difficulty
  • NPCs now gain 3% crit chance bonus on Dominating difficulty for weapon and psi attacks
  • NPCs health is now increased by 100% (up from 50%) on Dominating difficulty
  • NPCs health is now increased by 50% on Hard difficulty (previously it was not increased at all)
Items
  • Increased the base healing amount of enriched health hypos by about 25%
  • Mining helmet and headlamp enhancements will now project light in a cone in front of the user; range increased
  • [Heavy Duty] Increased The Stunner's hacking requirement from 120 to 150
Crafting
  • Changed the crafting requirement base from fixed 80% of component quality to ranging from 77% to 112% component quality, scaling with the quality itself (curving up); Tweaked the specific modifiers for various components.
  • Metal combat gloves have their strength scaling changed to +10% for STR over 5 (down from 7)
  • Reduced the shield conversion rate of High Efficiency Energy Converter
  • Base energy shield conversion rate increased
  • Circular Wave Amplifier's energy shield conversion rate penalty no longer scales with component quality
  • Increased the Circular Wave Amplifier's effect on shielding values
  • Silencer no longer reduces damage (this change does not affect already crafted/generated pistols)
  • [Heavy Duty] The grenade launcher technical manuals publication used in firearm refurbishing has been changed to also include rocket launchers
Feats
  • Expose Weakness - now reduces resistance and threshold by 30% plus 2% per intelligence (down from fixed 50%) and the effect is halved for non-living targets; cooldown change to 5 turns (up from 4)
  • High-Technicalities now also increases damage from energy edge and electroshock modules
  • Hit and Run - when triggered multiple times in the same turn, the maximum movement points reset point gets halved with each triggering
  • Fancy Footwork - when triggered multiple times in the same turn, the amount of movement points gain is reduced by 1 point each time
  • Cheap Shots - Incapacitation chance changed to 8% (down from 15%)
  • Heavy Punch - Damage changed to 300% (up from 180%); AP cost changed to 150% (down from 200%); now has 3 turns cooldown
  • Cut-throat - Action point cost changed to 15 (down from 25)
  • Pummel - cooldown changed to 1 turn (down from 3 turns)
  • Expanded Psi Capacitance - Now also increase psi regeneration by 1% of max psi reserves
  • Mantra - Psi regen bonus changed to 10 (up from 5)
  • Added Polymath - Immediately grants 15 skill points and additional 5 skill points at every subsequent level
  • [Expedition] Added Specialist (Level 16, Intelligence 10) - Grants 1 additional specialization point per level
  • [Heavy Duty] - Shell Shock now also works with rocket launchers and the skill requirement can now be fulfilled by Heavy Guns skill
  • [Heavy Duty] - Demolition Man now also works with rocket launchers and the skill requirement can now be fulfilled by Heavy Guns skill
  • [Heavy Duty] - Bullet Trance - will only work with LMGs and miniguns
  • [Heavy Duty] - Added Beast of Burden (requires strength 10) - Increases carry capacity by 150
Specializations
  • Added Heavy Punch: Damage - Increases damage by 10% for each specialization point (max: 10)
  • Added Heavy Punch: Action Point - Reduces the action point cost modifier by 10% for each specialization point (max: 5)
  • [Heavy Duty] Added Beast of Burden specialization - Further increases carry capacity by 15 for each specialization point (max: 5)
Psi
  • Forcefield now has resistances that scale with skill
  • Cryogenic Barrier now has mechanical resistance that scales with skill
  • Exothermic Aura now burns off throwing nets and webs that entangle the invoker
  • Psychokinetic Chain - now transfers 20%+0.2% per skill (up from 15%+0.1%) up to max of 50% (up from 30%); max flat damage changed to 30+0.7 per skill (up from 15+0.35); psi cost changed to 25 (down from 35)
  • Psychosomatic Predation - killing the target now also resets the cooldown
  • [Expedition] Stasis can now absorb maximum of 10 damage per effective skill point
  • [Expedition] Temporary Rewind - action point cost changed to 20 (down from 25), cooldown changed to 6 (down from 8 ), reversion delayed by an additional turn
Tweaks
  • Skill-based damage bonus for light weapons (those that have their AP cost reduced by Dexterity, which are: pistols, SMGs, unarmed, fist weapons, and knives) changed from the standard 0.7% per skill to 0.5% per skill
  • Cold effects will now remove a stack of Warmed Up
  • Minimal weapon usage action point cost changed to 5 (up from 4)
  • Added dry-firing sound effects
  • Contamined - damage taken bonus per stack changed to 5% (down from 10%)
  • [Expedition] Plasma grenade now performs one attack with both damage type instead of two attacks; this does not change damage in any way but will make evading it more consistent
  • [Expedition] Heartbreak poison duration will no longer be refreshed with stacking
  • [Expedition] Added new shotgun loading/reloading sounds
  • [Expedition] Putting a Locust Hive in Stasis will prevent it from releasing locusts
  • [Heavy Duty] Added new grenade launcher loading/reloading sounds
  • [Heavy Duty] Reduced damage of grenade launchers across the board by about 20%
  • [Heavy Duty] Adjusted optimal ranges for grenade launchers, will not affect those already crafted
  • [Heavy Duty] Certain truesighted robots now have their truesight sight ranged decoupled (and lowered) from their normal sight range
  • [Heavy Duty] The Gunslinger will no longer give you a certain item unless you reached a certain point in the Compound quest together
Bugs
  • Fixed some old rare save/load bug that might have been the root cause of the rare save data corruption bug
  • Fixed not being able to report one of the Hephaestus Research quest outcomes to Colonel Cathcart in a specific case
  • No longer able to change the zoom level when using cameras, spying endoscope and the like
  • [Expedition] Shattering a target with a spear attack will now properly apply spear guard
  • [Expedition] Fixed reinforced leper serpent skin boots displaying the wrong icon
  • [Expedition] Fixed provoking hostilities when using a certain laptop at The Rig when reloading a game even if the player has been granted access to it
  • [Expedition] Locust hives no longer have knees and ribs (that can be shot and broken)
  • Various minor dialog/zone fixes

4
Localization / READ ME - How to start with localization
« on: December 16, 2025, 02:54:23 pm »
=======================================================================================================================
IMPORTANT NOTE: Localization support is in active development. Not all the text is currently available for translation,
but more and more of it will be added in the future. Refer to this instruction again in future versions.
=======================================================================================================================



CREATING A NEW LOCALIZATION PACKAGE

To create a localization package, you need to do the following:
  • Navigate to the game's installation folder
  • From there navigate to Data\Localization
  • Create a copy of the "template" folder and rename it appropriately (e.g. "deutsche")
  • Inside the newly created folder, open info.txt and replace the existing text with the display name of the localization. This name will appear in the selection box in the options screen (e.g. "Deutsche")


FONT

Underrail fonts should support all the European languages at least. For other languages you might need to replate the font files. You'll have to figure out how to do that yourself for now, there is no support for this in the engine.


SPECIAL SYMBOLS

Whenever there are special symbols such as these in the text - "{0}", "{1}", "{2}", they are meant to hold the text that's being inserted programatically (e.g. damage numbers and such). Make sure that all of these that appear in the original text, also appear in the translated version or the translation might fail.


DIALOG FILES

When translating dialogs do not change the text keyed under "_original" - these are just for reference and for future comparison. The keys that start with "q" denote the "questions" - that is, text that is spoken by NPCs and interfaces, while "a" detones the "answers" - things that the player says.

Keep in mind that there is some stuff in the game that is still hardcoded in English that's being injected in the dialog - we'll get to that eventually.

Also, there is currently no support for cutscene localization.


KNOWLEDGE FILES

These files hold text that is used in various places in the game, but mostly in the UI. Each text segment has its own key that is unique inside that file. You should only translate the text, not the key, of course. In most files you'll just be translating the already existing entries (in place), but in some, you are expected to add your own.

Here is list of knowledge files and what they are used for:

ABILITYNAMES.TXT - Translates the names of all the various abilities in the games (abilities, attacks, psi, etc). You must add the entries here yourself. The key is original name of the ability and the text is the translated name.
AMMODISPLAYINFO.TXT - Names of different ammo types as they appear in the weapon tooltips and elsewhere. You must add the entries here yourself.
BASEABILITIES.TXT - Base ability descriptions. Do not add keys.
CALTROPS.TXT - Caltrop stuff. Do not add keys.
COMBATLOG.TXT - Combat log stuff. Work in progress. Do not add keys.
COMBATSTATTOOLTIPS.TXT - Combat stat window tooltips. Do not add keys.
CONCEPTS.TXT - Couple of minor stuff. Do not add keys.
DEATHSCREEN.TXT - Not used currently.
DEVICES.TXT - Not used currently.
DYNAMICEFFECTS.TXT - Dynamic effects on items. This is work in progress. Will add more keys in the future. Do not add your own keys, it won't help.
ENTITYNAMES.TXT - Used to translate the names of objects and characters. Add your own keys here.
ENUMS.TXT - Translates various enumarations in the game. Do not add keys.
EXPLOSIVES.TXT - TNT usage. Might merge this with something else later.
FEATNAMES.TXT - Feat names. Add your own keys.
FEATS.TXT - Feat descriptions. Do not add/change keys.
GRENADES.TXT - Grenade stuff. Do not add keys.
HITEFFECTS.TXT - Weapon on hit effects. Will add more keys in the future. Do not add your own keys, it won't help.
ITEMBLUEPRINTS.TXT - Blueprint descriptions and names. Do not add keys.
ITEMNAMES.TXT - Item names. Add your own keys.
ITEMS.TXT - Work in progress.
MAPS.TXT - Global map stuff. Do not add keys.
POWERSTATIONS.TXT - Misc. stuff. Will probably merge later.
PSI.TXT - Psi abilities (descriptions). Do not add keys.
QUESTS.TXT - Quests (notes). Do not add keys.
RULES.TXT - Gameplay settings stuff. Do not add keys.
SECURITYSCOPES.TXT - Misc. stuff. Will probably merge later.
SKILLS.TXT - Skill descriptions. Do not add keys.
SPECIALABILITIES.TXT - Special abilities (descriptions). Do not add keys.
SPECIALATTACKS.TXT - Special attacks (descriptions). Do not add keys.
SPECIALIZATION.TXT - Specializations. Do not add keys.
STATICEFFECTS.TXT - Static effects on items. This is work in progress. Will add more keys in the future. Do not add your own keys, it won't help.
STATUSEFFECTS.TXT - Character buffs/debuffs. Do not add keys.
STATUSEFFECTNAMES.TXT - Display names of status effects. Add your own keys here.
THROWINGKNIVES.TXT - Throwing knives. Do not add keys.
TRAPS.TXT - Traps. Do not add keys.
UI.TXT - Most of the generic UI stuff. Inclused short and long phrases. Do not add your own keys.
VEHICLE.TXT - Will probably merge later.
VEHICLESTATTOOLTIPS.TXT - Vehicle tooltips. Do not add keys.
ZONESECURITY.TXT - Zone settings stuff. Do not add keys.
ITEMS\AMMO.TXT - Custom modifiers for different ammo and weapon types. Do not add keys.
ITEMS\ARMORITEMMODIFIER.TXT - Armor Modifiers. Do not add keys.
ITEMS\ARMORS.TXT - Work in progress.
ITEMS\CONSUMABLES.TXT - Consumable usage text. Do not add keys.
ITEMS\CUSTOM.TXT - Some custom utilities. Do not add keys.
ITEMS\FOOD.TXT - Food usage. Do not add keys.
ITEMS\MODS.TXT - Some description for item mods. Work in progress. Do not add keys.
ITEMS\REPAIRKITS.TXT - Repair kits. Do not add keys.
ITEMS\SHIELDEMITTERS.TXT - Shield emitter stuff. Will probably get merged later. Do not add keys.
ITEMS\UTILITIES.TXT - Various utility usage. Do not add keys.
ITEMS\VEHICLEPARTS.TXT - Some vehicle part general text. Do not add keys.
ITEMS\WEAPONS.TXT - Crafted/generated weapon text. Work in progress. Do not add keys.
ITEMS\WEAPONSUBTYPES.TXT - Custom weapon stuff. Do not add keys.

5
Development Log / Dev Log #15: Steam Page Launch & New Gameplay Video
« on: October 27, 2025, 11:50:05 am »
See nicely formatter HTML version on the website.



Hi guys,

UnderRail 2: Infusion Steam page is official up, so you can go ahead and wishlist the game! Also, check out our new 10 minute gameplay video.

We plan to release the game in Early Access at some point in the future. I do not know the exact date, but if I'd have to guess it should takes us about a year and a half to get all the stuff we want in there. I could be wrong, though, so don't hold me to this. I'll let you guys know months in advance as we get closer to the release.

For our new Steam audience: you can real all the old Infusion dev logs here, while all the new ones will be posted on Steam as well.

So go ahead, wishlist the game, if it looks like something you'd enjoy playing and also spread the word about it, it helps a lot.

That's it for now. In the coming weeks we have some work to do on Underrail 1 (check it out on Steam as well) as it's nearing its 10 year anniversary, but after that we're going back into Infusion trenches with Early Access as our next big goal.

In the meantime, be sure to follow me on X, where I post smaller tidbits of development regularly.

Cheers.

6
Development Log / Dev Log #14: Low-Tech / High-Tech Rifles
« on: October 16, 2025, 07:55:24 pm »
See nicely formatter HTML version on the website.

Hi guys,

The humble bolt-action rifle and the mighty plasma rifle differ in power, availability and reliability, but both have their place in Underrail.



The low-tech option that is the bolt-action rifle is cheap, both in base parts and mods, it requires reasonably low mechanical skill to craft and maintain and its basic ammo is relatively cheap and plentiful. It does moderate amount of damage in early game (of course, keep in mind that damage of a firearm is going to heavily depend on the ammo) and it will never jam.

The game will also feature some some late-game anti-materiel models that will pack quite a punch, so investing in bolt-action rifle feats will be useful in late game as well.

https://www.stygiansoftware.com/videos/devlogs/infusion/14/RifleCrafting.mp4

The downside, of course, is that it's turn-bolt operated and requires a separate action to reload after every attack, so the rate-of-fire, and hence the overall damage over time, is rather low.

Plasma Rifle, on the other hand, is a formidable late game weapon. It has a powerful energy attack that melts through most enemies with ease. Only the most heavily armored robots or those targets sporting an equally high-end energy shield can shrug off such an attack.

In a way, it is not as different from bolt-action rifle in the way it operates - it fires a single powerful blast and then has to cooldown for a period (during which the character can perform other actions) so it has a low rate of fire. The power and the cooldown are determined by the number of capacitors used in its creation as well as general quality of components.

It's heavy, expensive, hard to create and maintain, its components are rare and expensive, and it can malfunction if not maintained properly or if damaged by elements.

On paper it is a far superior weapon to the simple bolt-action rifle, but overall, it's hard say. It will depend on the time, place, and, of course, the target.

https://www.stygiansoftware.com/videos/devlogs/infusion/14/RifleFighting.mp4

The comparison of these two weapons should give you a good idea about how I plan to approach balancing different armaments in Infusion. The power is not everything at all stages of the game. The cost, availability, reliability, skill requirements, the way weapon operates and more - it all plays into how good a weapon is.

That's it for now. We're very close to releasing that new gameplay video. It's going to be a short trailer of various things we have in the game at this stage. In the meantime, be sure to follow me on X, where I post smaller tidbits of development regularly.

Cheers.

7
Development Log / Dev Log #13: New Crafting UI
« on: September 27, 2025, 06:02:31 pm »
See nicely formatter HTML version on the website.



Hi guys,

Recently I've updated the item crafting and modding windows to be in line with the new UI aesthetics.

There are no more category filters, but you can sort by the blueprint name or category and can mark a blueprint as your favorite in order to be bump at the top of the list. Additionally, there's the search bar that you can use for filtering now.

https://stygiansoftware.com/videos/devlogs/infusion/13/Crafting.mp4

The item/view modding window can be accessed by right clicking an item in your inventory and selecting "Inspect". In this view, crafted items will show their components that you can mouse over to inspect individually and you can add/remove/replace components from those slots that are marked as "moddable", but you cannot change any of the basic components here.

For example, you can add or remove various firearm attachments, such as scopes and muzzle devices, but you cannot remove the barrel or any other basic component that would cause the item to stop working altogether. For that, you'll have to disassemble the item completely.

In the future, crafting and disassembling will require specific workbenches and you'll not be able to do it on the fly, while modding will be available anywhere.



Also, you can now inspect items that do not have 3D models as well. For those, we make high resolution renders so you can see more details.

That's it for now. We continue to work towards that new gameplay video. In the meantime, be sure to follow me on X, where I post smaller tidbits of development regularly.

Cheers.

8
Development Log / Dev Log #12: Graphical Improvements
« on: September 14, 2025, 08:29:25 pm »
See nicely formatter HTML version on the website.

Hi guys,

In the last several months, I implemented a number of significant features into the rendering engine. I'll try to keep it light with technical details as I go through the features/changes.

1. Shadow Maps / Dynamic shadows.

If you look at the old Infusion screenshots or watch the gameplay video, you'll notice that the shadows are only projected onto the floor and that they are always square. This is because I used a makeshift 2D ray tracing technique to give an illusion of real shadows when rendering the floor. So the floor was the only type of asset that had some sort of per-pixel shadowing, while other entities, such as walls, creatures and regular objects were either fully lit or unlit by a given light source (though normals were still taken into account) and this was determined through low resolution voxel ray tracing (similar to how player's vision works).

Naturally, this combination was inconsistent, inaccurate, and not very good looking. So instead, I switched to doing the good old tried-and-true shadow maps. I won't go into implementation details here as there's nothing new and interesting, the shadow mapping technique is well known and documented, so you can look it up yourself if you're interested.

One thing I will mention, though, is that this technique is meant for 3D games and our environment assets are mostly 2D pre-renders so they don't preserve the geometry required in order to project shadow maps. So, in order to make this work, we had to generate low-poly mesh for each pre-render asset that could be used for this purpose (and possible other purposes later). This meant that Mac and co. had to go through the old assets and generate these meshes. While all the new assets are now produced with these meshes included, the process is still ongoing for the old assets. For this reason, I cannot show you a direct comparison for how the old screenshots would look now, but you can see the effect of this technique on the new areas.


 
I think the impact is significant.

While this is one of more economic ways to deal with shadows, it can still be quite GPU expensive as is the case with any type of light simulation. A lot of 3D games, especially older ones, baked shadow maps into textures for static lights and objects in order to reduce costs. We do not have an equivalent in our 2.5D engine. This might cause some performance problems later on older machines, but for now I think just providing options for shadow map resolution and smoothing should be enough.

2. Liquids

We can now place bodies of various liquids into our areas. The surface is simulated through blending two moving normal maps along with screen space reflections (SSR). Later, I'm planning to implement dynamic ripples caused by objects fall in/jumping out or creatures moving through them. Another feature that would be nice to implement at some point is volumetric lights in liquids.



Liquids also affect gameplay as they can slow-down characters depending on the liquid's density, potentially deal damage (acid and the like), and even drown characters if they fail to keep their heads above the surface level. This opens a lot of level design opportunities where player will have to lower/raise liquid levels in order to accomplish some task or just mess with the enemies.

Some enemies, however, are completely unaffected by normal liquids, such as the slimes from the gameplay video. So, while you can easily outrun this damage resistant aberrant lifeform on dry land, this is not the case if you're waist deep in wastewater.

Furthermore, in the future we're going to have enemies that inhabit and move exclusively though liquids.

3. Specular lighting and SSR

Unlike with the 3D character and creatrure models, which are rendered using PBR (physically based rendering) technique, the environment is rendered using the more traditional diffuse texture base which has some lighting and shadowing baked in. This gives the game certain amount of traditional lean towards the old-school prerendered RPG classics.

One of the problems, however, is its limited interaction with the dynamic lighting system which made it hard for the viewer to distinguish between glossy and matt surfaces. The metal surfaces, which are common in Underrail, were particularly affected. It was hard to distinguish them from plastic surfaces. To fix this problem, we incorporated roughness texture in our rendering pipeline, which is used to calculate specular lighting component. Also, roughness is used when tracing screen space reflections for opaque objects - which allows the viewer to see reflections of environment and characters on high-polished metal surfaces.


 
Later on, I would like to implement SSR for glass surfaces as well, but due to the fact that these are forward-rendered, there are important performance issues to consider here.

* * * * * * *

That's all for now, but don't worry, we've been working on more than just graphical improvements and I'll show that stuff in a future dev log. In the meantime, follow me on X, where I post smaller tidbits of development regularly.

Cheers!

9
Development Log / Dev Log #11: Bartering and Inventory Tetris
« on: May 12, 2025, 11:40:23 am »
See nicely formatter HTML version on the website.

Hi guys,

A while back we made a the change from the Underrail 1 style of inventory to a tetris grid based one. Originally, I was planning on keeping the previous inventory implementation because it was simpler and easier to integrate with other game mechanics. Also, not having to go through all the item management code would have saved me some development time. However, as we started adding all the different armor pieces and such, the difference in item scale and inability to render finer details on bigger pieces in the inventory made me realize this is not going to cut it.

It made inventory both aesthetically unpleasing and hard to read.



I was always planning on adding item volume mechanic to Infusion, so in addition to managing weight of your haul, you'd also need to manage the volume. You'd not be able to go around carrying a ridiculous amount of light items even if your character is quite strong.

However, now that we switched to a tetris style inventory, instead of giving every item "volume" stat, we can control its volume through its size on the grid and stacking behavior (how many instances and be stacked together).

Every character will start with 8x8 inventory grid, but will be able to expand that by wearing a backpack, waiste pouch or some other similar container. Each container will act as a separate grid (or a number of them, if it has multiple compartments), so when you, for example, drop a backpack, all the items that you have stored in that grid will remain inside the backpack and you can retreive them all at once when you pick up the backpack again. This will come useful when you have to quickly ditch some weight in order to escape an enemy or perform some athletic feat.

Before someone gets some funny ideas - no, you will not be able to put an item container into another item container, unless the former is empty. So - no infinite space through container nesting.


Other containers you encounter in the game will also use this grid system, limiting their storage capacity through volume. Depending on the type of container, they may also have different grid configurations. Some containers, such as shelves, will have multiple smaller grids, which may limit how big of an item you can store there.

* * * * * * *

I also made a new UI for bartering. The system itself remains mostly the same - with merchants only being willing to buy limited amount of specific merchandise.


(still missing some icons in the top left section)
Unlike before, this demand now "refills" bit by bit as time passes, instead all at once at set intervals. Also, there are no longer any hard-coded restocking mechanisms, so each store will have its own restocking logic.

Ocassionally, merchants will have discounts or mark ups on certain merchandise that would last for limited time or until the circuimstances change. Sometimes, you may get a personal discount from a merchant or they might even allow you to choose something for free as repayment for a favor.

Finally, all the items the store has will be present physically in the store somewhere, so all you theiving sons of rats will have a chance to get your greedy paws on it for free. Of course, the more valuable something is, the harder its going to be to get to it. Don't expect anyone to keep their super steel bars just lying on a shelf for everyone to see.


(note how we have different icons depending on the stack size)

Speaking of while, there will be two primary currencies that are going to be used in Infusion - Stygian Coins and United Stations Dollars. Nothing new here, except that we added a new denomination for each with 1/10 of the value - so 10 Stygian Chips have the same value as 1 Stygian Coin, and same for US Dime and US Dollar. Also, we added "Cerberus Bars" which are basically 1kg of super steel and can be used for trading when making a larger purchase.

That's it for now. Let me know how you like the UI changes. In the meantime, follow me on X, where I post smaller tidbits of development regularly.

Cheers!

10
Development Log / Dev Log #10: Lockpicking and Hacking
« on: February 25, 2025, 02:34:52 am »
Hi guys,

It has been exactly two months since the last dev log, which is also the shortest interval between two log entries this game has ever seen. We've been developing very rapidly and there's a lot to show, but for now I'm going to focus on lockpicking and hacking mechanics.

That I decided to make these mechanics more complex should come to no surprise to the people that have been following the development of our games. When I originally shared a sneak peak of lockpicking on X it caused a bit of a controversy. It is well known that among the menagerie that is the RPG gamer collective, "minigames" are not look upon with favor. I think this is mostly due to the concrete implementations and not so much the concept. However, I want to take a step back from "minigames" completely and argue that it is not what Infusion's lockpicking and hacking mechanics are, but are instead just normal gameplay mechanics that are being elaborated to a level of detail that is not traditionally seen in RPGs.

I will concede, however, that there are elements of our implementation that could be considered "minigamey", but I would say that is inevitable whenever you try to engage with some real-world mechanism that is too complex and needs some amount of simplification and abstraction in order to transform it into an engaging game mechanics.

First, let me explain the fundamentals of these new mechanics.



In Infusion, you'll pick the mechanical locks of doors, safes and containers manually, using tools such as lockpicks and tension wrenches. Locks will vary in type and configuration. On the screenshot you can see a typical pin tumbler lock, that I'm sure you're used to seeing in your average medieval walking simulator RPGs. It sports two types of pins that behave just a bit little differently.

In order to pick this lock, you'll have to tinker with it a bit and figure out the wrench tension at which all the different pins are set. This will require a bit of patience and paying attention to visual cues. The more skill you have in hacking, the more obvious these cues are and also you have to be less precise with the alignment.

Once you get a feel for this type of lock and learn the particularities of different pin types, and as long you keep investing into your lockpicking skill and some quality lockpicks, you should start getting quite good at this. But, don't worry, we'll introduce different, more complex, lock types as the game progresses, such as the disk detainer lock. These will become more complicated to solve, but we'll also provide you with more tools that can assist you.

If this sounds appealing and you choose to go down the lockpicking path, by the end of the game, both you and your character should feel like seasoned burglars. Lockpicking (and hacking especially) is no longer going to be just a simple numerical check, but will instead try to immerse you into a role of a professional lockpicker.

This is the point of this mechanic, as well as of all the new mechanics and complexities we're bringing into Infusion - we want the player to have a distinct experience based on skills, feats, gear, and chosen play-style. We want them to feel like they are their character.

On the other hand, if you don't like lockpicking (or any other mechanic), don't worry, we'll have plenty of other things for you to do. In Infusion. Lockpicking will not be as dominant of a skill-check as in Underrail 1. A lot of times you'll be able to circumvent, cut, smash or shoot your way through a locked door. Lockpicking is oftentimes going to be just one of the ways to solve a problem and the exclusive content here will probably be limited to a number of higher end safes that do not have keys anywhere in the game.

Also, because lockpicking is a slower and more involved action now, we'll be sure to distribute the locked objects more sparesly with higher concentration of loot and other rewards behind individual locks.



Hacking is somewhat of a bigger beast. Actually, hacking is just a part of the new computer system.

For the purposes of the game, I implemented a simple operating system inside the game and a command shell on top of it you can use to interact with it. And to use the shell, you'll going to need a keyboard and a monitor, which both have actual implementations in the game. For now, those function perfectly, but later I'll start removing keys from some of those and maybe shading in some dead pixel areas on the monitor as an added layer of suffering immersion, randomly I think (have fun doing anything in command shell without the A key and a crack down the middle of the monitor).

Also most of the computers in the game are going to be connected into a single network and you'll be able to access them remotely and you'll be able to share files with NPCs, and they will sometimes hack into your computers....

Now, you may think I've gone off the deep end with these features, but I intend to go even further. I'm yet to make a graphical UI for applications that are going to run on these computers and more. The reason I'm doing all this (apart from that it's fun) is so we can use this system to implement any kind of machine and computer interaction that we want seamlessly into the game. In Underrail 1 we mostly relied on the dialog system for this and it was very limiting and clunky. In the long run, I believe, my work on these features is going to pay off tenfold.

So what can you do in this new computer system:
  • Browse files, copy them to your own personal computer, sometimes sell them to information brokers
  • Control doors, gates and various machinery that's connected to the system
  • Obtain new software, including new hacking tools
  • Install new hardware and software on your personal (hand-held) computer that will give you new gameplay functionalities, such as motion tracking radar
  • Communicate remotely with other people
  • And more



When it comes to hacking itself, it will be similar in lockpicking in some ways. Your success will depend on your knowledge of the hacking software, its quality as well as your hacking skill. Your software's version (quality) grants you a bonus to your hacking skill check, but may also act as hard requirement to getting past some security measures. E.g. you'll not be able to beat mid-game encryption software using early-game decryption software, regardless of your skill, so you're expected to keep up with your software quality throughout the game.

When your combined hacking skill is not quite enough to hack something smoothly, you'll usually be faced with some sort of raw stream of data you'll have to make sense of in order too boost your check. Various additional software might come in handy here.

Later, I intend to make some graphical tools a less hardcore hacker might use instead of the command shell, but the latter will always provide you with most effective hacking skill and the greatest variety of tools.

Like with lockpicking, there is an idea here of sort of becoming an actual hacker within the game's world. The computer system implemented here is no minigame, it's something that exists and runs within the game's world at all time and its workings are part of the lore and aesthetic in the game.

* * * * * * *


The way we handled lockpicking and hacking is the way we're going to go about most of the mechanisms (machines and such) in the game. We're not going to use dialog for anything else but the actual dialog. Whenever we require some intricate interaction with a machine or an item we're going to implement interfaces in the vein of those seen above, using computer system where appropriate.

You can also tell we invested a lot into the minute details. You can see what's on the computer monitor even without opening its interface. With the big enough display, you could actually read the text. This is a separate engine feature that we can use to render all kinds of dynamic displays in the game, which is important considering what we plan to do with the environmental story-telling.

Also, you can see when a lockpick or key are left in a lock. The appearance of the lock is going to correspond with the lock type. You can see the exact data storage device (USB-like thing) that's currently inserted into a computer, and so on.

We have a general design philosophy when it comes to these things - we believe that the narrative, the aesthetic (audio-visual) and the mechanical (gameplay) aspects of some part of the game should be closely integrated and so amplify and feed-off each other. We believe this maxes out the immersion and gives the player the most authentic experience.

* * * * * * *


That's it for now. Let me know how you like these new systems and stay tuned for more dev logs. In the meantime, follow me on X, where I post smaller tidbits of development regularly.


Cheers!

11
Development Log / Dev Log #9: New Combat System
« on: December 25, 2024, 10:18:03 am »
Hi guys,

As I mentioned in the previous dev log, our next goal with Infusion was to produce a short gameplay video that would feature some exploration and combat. The said video is finally here. This is a big milestone for us as the game is finally in a good enough state to be seen in motion, but also with this video we're revealing probably the biggest (and potentially the most controversial) change - the new combat system. Check out the video below.

https://www.youtube.com/watch?v=HmPsCNMuUg8

Before I get into the details of the new combat system, I would like to say a few words about the state of the engine and Infusion's development in general.

I think we are finally at the point where we have all the fundamental visual and gameplay features in a stable and robust state, ready to have the content piled on top of them. Of course, a many smaller secondary systems are yet to be migrated from the previous game or re-implemented completely, but these are much easier and faster to develop.

For example, this year I spend a lot of time transitioning the engine from tile-based to voxel-based space, allowing for true verticality, which in turn allowed for free-form movement in 3D space for player, creatures and objects. So now we can have platforms above and below, flying (and maybe later swimming/diving) enemies, dynamic climbing and falling, etc.



But because a lot of other mechanics rely on spatial structure, I had to rework those as well, including movement, sight, light, combat interactions and AI in general. For this reason, this was not the direction I wanted to take the engine initially, but the more we discussed the gameplay features we wanted to implement in this game, the more apparent it became that no half-measure would suffice.

The story is similar with a lot of visual changes to the game. What often started as a smaller change to the rendering engine, eventually revealed itself as inadequate, prompting me to make a more radical re-implementation.

But in the end I regret nothing. The heavy lifting is now done and both the engine and the game will be better off for it. In the coming months and years, I expect us to make rapid visible progress as we transition from the tech phase to the production phase of the development.



Now onto the combat changes.

In Underrail's design I drew from what I considered to be the high point of western RPG tradition and tried to build up and out from there. This was the case with combat system as well. I adopted the action/movement point design with sequential turns that worked well (enough) in a number of classical RPGs, adjusting it for my specific needs. Over the years, however, I came to realize that, while it's a solid way to approach party-based combat, it has some significant disadvantages when it comes to single character RPGs, even more so when coupled with free-form exploration:

Reactivity, or rather lack of it. As Underrail veterans know all too well, if you happen to stumble into combat with multiple powerful enemies and lose an initiative roll, you are going to get "100-to-0-ed" more often than not, probably getting stunned in the process as well. This is because giving a long turn to a powerful character in this system, without any opportunity to react to or counteract their actions, puts the party on the receiving end into considerable disadvantage. While in party-based combat, you could tolerate having one of two of your characters nuked or temporary disabled, if you are controlling a single character, this is often an unrecoverable situation. To a lesser extent, same is true with the player character getting the jump on the NPCs, though often, unlike the player, they can afford to lose a unit or two.

Dual time modes. Every active thing in the game requires two implementation for polar opposite modes. One is the real-time mode where things happen simultaneously and can and should be reacted to immediately, and the other one consists of long sequential turns where each actor can only react to the end state of the previous turn. This goes beyond the combat itself and goes into general AI and the behavior of the environment itself.

Slowness. This system scales badly with large number of participants if the player is controlling only a single character. The ratio of player waiting to player acting gets worse and worse with each NPC added to the encounter. Even worse, because there is a need to keep all the combat turn-based in order to avoid having to implement and maintain real-time combat AI, sometimes in Underrail you are just a passive observer of third-party combat.

The new combat system is designed to address all these and more. It is a combination of traditional roguelike combat, where turns are still sequential but short with atomic actions, and simultaneous turns combat. So here is the basic rundown of how it works:

Under normal conditions, game is in real-time mode.
When required due to the presence of hostile entities, the game will transition in and out of combat mode. Usually player will not be able to activate combat manually except under special conditions.
In combat mode, everything is paused until the player performs an action. The action takes a certain amount of time and this amount is granted to all non-player participants to use for their new or ongoing actions (such as moving, attacking, activating special abilities).
When exactly this time is granted to the NPCs is critical as sometimes they might act immediately to interfere with the player. This time may also be granted in bulk or in smaller amounts (e.g. channeled abilities such as bandaging).
Player is free to act and give additional time to NPCs unless he is "blocked" by an ongoing relevant NPC action. An enemy trying to move out of players melee range is relevant and player must "respect" their available, a neutral crab roaming on the other side of the map is not relevant and it can do what is pleases.
NPCs usually won't block each other. Meaning they will act simultaneously for the most part.
Because NPCs are just executing their real-time AI while stopping for time allowance, there is no need for a separate AI implementation, and they can also take the time when player is acting to "think" about their situation. That is, their AI state machine is running at all times.
Hopefully this grants you some clarity regarding what you saw happening in the combat demo. This is the basic gist of the system, but, of course, the devil is in the details. The amount and the, uh, timing of the time transfer between the player and NPCs, as well as determining which actions are sequential and which are blocking and under which circumstances - these things are going to be critical. I am going to tweak and shuffle these things all through the rest of the development with the aim of making combat as fast, fluid and fun as possible while still keeping it cerebral and tactical. You should be able to go fast and furious when you can and as slowly and deliberately when needed. And you should be able to transition between those seamlessly.

The extent of the combat changes goes further than just time management, though that is the most radical one. There are others factors and considerations, such as focus, momentum, stamina, range, different speed categories to replace action/movement points modifiers, different combat stances and attacks, etc, etc. I will go into more details regarding those in future dev logs.



So what's next? After we take a short break for the holiday season, we're going to into full production next year. We want to produce more environments, areas, equipment, creatures, more of everything. At the same time I will be working on re-implementing all the basic game mechanics of the previous game, such as lockpicking, hacking, trading, as well as redesigning some of the character progression stuff such as feats and, of course, the leveling system itself.

Our aim is that by the end of next year, we have enough material to create a Steam page and start hyping the game up properly and gathering those precious wishlist additions. At some point in the future, we are likely to release the game in Early Access, as we did with our first game. At the moment, I cannot give any precise of broad timeframe of when that might take place, so don't ask. What is important for us is that we ensure that the game functions well, that it's fun and that there's enough content so you can get some of your moneys worth at least.

In the meantime, stay tuned for more dev logs and follow me on X, where I post smaller tidbits of development regularly (also, thank you very much for all the positive feedback and support you've shown us there so far).


Merry Christmas to everyone celebrating the birth of our Lord and Savior on either calendar and a Happy New Year!

Cheers.


12
Development Log / Dev Log #8: Weapons and Trash
« on: March 20, 2024, 05:40:24 pm »
See nicely formatter HTML version on the website.

Hi guys,

We've been busy working on Infusion and we have some stuff to show you.

Firstly, we implemented basic crafting for two melee weapons types - sledgehammers and combat knives.

Currently, for both of these weapons, we only have basic metal variations - steel, tichrome and tungsten. We have the model done for a special "flame sledgehammer", but the mechanics are not there yet.



Sledgehammers are crafted from two components - the head and the handle. The type, material and quality of the head is what has the most influence on the resulting sledgehammer. Handle can affect ergonomics which is a special stat that affects various other stats, but we're going to leave that one for a later dev log.



My idea with sledgehammers is that, outside of energy weapons and explosives, they are probably going to be the most powerful damage-wise, but the trade-off is going to be clunkiness, which makes the weapon impractical in many cases compared to more traditional melee weapons, such as knives, swords and mace-like weapons. Sledgehammers are going to be easier to dodge because of slow swing speed and due to their heaviness they will require you to spend a lot of stamina, especially if you're going to use the powerful overhead slam attack. However, if you are Chad who invests in strength, you'll probably be able to pull some crazy damage numbers, especially with the larger heads.

This brings me to the concept of innate weapon-specific attacks - that is, each weapon will have a number of different attack types, these are available by just having the weapon, without requiring a feat. If they have no cooldown or special condition, which will usually be the case, they can be toggled to be used as an auto-attack when you click an enemy. Well, actually, there is no such thing as an auto-attack anymore, every attack is some specific attack type of your current weapon.



For example, in case of Sledgehammers these would be: swing, overhead slam and pummel. You can imaging how these different attacks work and their different properties. I will not go into it right now, except to say that the pummel takes advantage of a new engine mechanics which allows weapon items to have sub-weapons nested in them. That is, when you attack with the handle of the sledgehammer, it's a completely different weapon with its own stats. This feature is going to come handy when we start implementing all sorts of unique, makeshift and hybrid weapons that can be used in different ways.

* * * * * * * * * *

Next, we implemented the basic combat knife variations. Here, crafting is a bit more interesting because of the number of different handles, guards and pommels.



Knives have two basic attacks: swing and stab. The former being an easier, faster attack, while the latter being a bit slower and more stamina draining but having bonus armor penetration. Depending on the type of knife blade, these attacks can have wildly different effectiveness, especially when it comes to the amount of armor penetration the stab attack will grant.



All these numbers are just my initial estimates of how these blades should work. They will be adjusted through testing and spreadsheet number crunching.

* * * * * * * * * *

We've also implemented assault rifle crafting. We only have a single frame type, but a lot of different attachments. I'm going to showcase it in a separate dev log at a later time, because there's a lot to be said. We've went quite deep when it comes to firearm customization as you might have seen from my past activity on Twitter/X.

* * * * * * * * * *

Lastly, here's a couple of environment screenshots of Infusion's sewers. These are all WIP and not actual areas that are going to be in the game, but they do a good job of demonstrating our visual style. Our lead environment artist MacOrion has been hard at work on producing grime and trash as it's very important to use that the game's visuals properly convey one of the central themes of the setting - which is infrastructural collapse and decay.



* * * * * * * * * *

We continue to work towards our next immediate milestone, which is, as I mentioned before, getting the game into a state where we can produce a short video demonstrating some exploration and combat.

That's it for now. In the next dev log, I'm probably going to be showcasing leather armor, which is in the works right now.

Follow me on Twitter, where I post smaller tidbits occasionally.

Cheers.

13
Development Log / Dev Log #7: New Armor Mechanics
« on: November 17, 2023, 02:11:47 pm »
Hi guys,

It's that time of the year again. All the stars and planets are in the right position and it's time for an Infusion dev log.

We already showed you the extent to which we upgraded the visual aspects of the engine, but the mechanical changes that I've done so far and am yet to do are just as extensive, and perhaps more radical. I'm going to talk about them one by one, in separate dev logs, as I continue to test, tweak, and refine them.

Our immediate goal with the engine and the game is to (re-)implement a number of items and mechanics, get a few areas together, and get the game in a state where it can be played for real, so to speak. Mainly so I can better asses how all these changes work in practice, but also so we can produce a short demo video and show you the game in action for the first time.

* * * * * * * * * *

So, anyway, let's get to the changes to the armor mechanics and damage resistance in general.

In Underrail, the damage resistance was divided into percentual resistance and flat threshold. Incoming damage would be reduced either percentually or by flat amount, whichever would reduce more damage in any given case. This caused a lot of balancing problems. Threshold was generally either useless or overpowered (especially when stacked in early game), while resistance was hard to progress with armor quality, as its percentual nature made it already scale innately.

All these problems really came to forefront when I was implementing different types of shotgun shells in Expedition. Balancing usefulness of different shells in this system was just impossible and it took a lot of tweaking to make it even remotely decent with liberal use of seemingly arbitrary threshold and resistance ignore factors. At one point I was tempted to just implement a completely different interaction for the shells specifically, but decided against it for the sake of consistency.

Another problem with the old model was that all resistances stacked globally. Meaning: resistances from boots and helmets were equally effective as body armor and they all aggregated when it came to interacting with incoming damage. This made me really hesitant to put a lot of resistances on helmets and boots because, on one hand, I didn't want them to make the high resistance armors completely broken by just maxing (or near maxing) out all the resistances and, on the other hand, I didn't want these items, because of their high resistances, becoming mandatory for characters that use ligher armor in the body slot.

There are other problems too, but these are the main issues, I think.

So how does the Infusion's new system differ from the old one?



In Infusion we're going to have a lot more gear slots, mainly from separating body armor and helmets into multiple component slots. This will provide the player with a lot more damage resistance sources. But unlike in the old system, these resistances will not stack. Instead, they will all interact with any given attack separately. So whenever you're struck somewhere on the body, the game will check what armor covers that spot, and it will interact with that armor piece. If there are multiple pieces, it will go through each of them separately, from the outer toward the inner. E.g. you might have some minor resistances on the overcoat that will interact with an incoming bullet or a stab before your torso armor.

For now, I have no intention to allow the player to choose which part of the target's body they're attacking (Fallout style), but there will be different special attacks / stances that will influence this (e.g. decapitate). Also, elevation and size of attacker and the target will also play a role here. So, for example, attacking someone from an elevated position will give you a better chance to hit them in the head and worse (if any) chance to hit their feet.

Different types of creatures will have different body part arrangements. For humans it is as follows: Head (5%), Torso (55%), Arms (10%), Legs (including the pelvis) (25%), Feet (5%). The number in brackets is the current working chance to hit distribution for a generic ranged attack. These numbers will vary for different attacks and situations, but it should give you some general idea what areas are going to be most important to cover with armor in most situations.


(enlarge image 1) (enlarge image 2) (enlarge image 3)

Depending on the armor design itself, it may end up covering one or more body parts. In the example of an armored rig/vest, which is the only crafted armor at the moment that's implemented, in addition to covering the torso, it can also provide some additional protection to arms and legs.


(enlarge image 1) (enlarge image 2) (enlarge image 3)

Let's go through the examples above. The armor on the left only provides cover to 80% of the torso part. Like the icon indicates, it does not cover the stomach all the way down. We'll talk about the intricacies of coverage later.

The armor in the middle, however, also sports sleeves and a groin guard. The groin guard covers the rest of the belly in the torso part and also covers the groin area, of course, which falls under the legs part. The sleeves cover the shoulders area of the arms part.

The armor on the right has sleeves, but no groin guard.

Regarding coverage, the way we're going to determine at which point an attack lands in a given body part, and so if it interacts with an armor segment that provides partial coverage, is still under consideration. The tooltip here provides just the coverage percentage, but the icon itself is trying to further illustrate what area of the part is covered. Having 20% coverage in arms at the top (shoulders) is not the same as at the bottom (hands) as both of these can be layered over. It doesn't make much sense that, if you are wearing gloves and shoulder pads, a bullet attack can go through both of these.

The way I treat the coverage number, which is esentially a floating point pair (e.g. 0.8-1.0 for shoulders, 0.0-0.2 for hands), is that 0 is the lowest point of the body part and 1 is the top point of the body part and 0.5 is the middle.

* * * * * * * * * *

Now, if you are an RPG mechanics connoisseur, as you surely must be if you made it this far into the dev log, you might be looking at that armor at the left and thinking how fun it's going to be to get hit by stray bullet to the torso right below your endgame crafting-maxxed armored vest and instakilled 20 hours into your ironman DOMINATING run. And I share your enthusiasm for suffering. However, as this kind of experience might not be pleasurable for most players, there are some additional considerations that I'm going to have to give to this.

One of the mechanics that are in place right now is that there is such a thing as grazing shots, which are basically hits that deal about half as much damage. They occur when the attack roll is within the graze part of the hit chance, the size of which is determined by attack-to-defense ratio. I don't want to get into too much details regarding this right now, as the topic is extensive and this dev log is already too long (it warrants its own). What is relevant for the example above is that the farther you are into the graze area of the roll, the farther the hit lands from the center of the body part.

So, basically, the lethal bullet hit described above would deal half the damage, giving you a better chance to survive. Whether this will be enough to make these situations acceptable, remains to be seen through testing. Just know that I am aware of this potential problem with the system.

So what about other body parts? Are we going to have to cover every bit of our body with heavy armor to avoid the similar scenario? What about getting hit with a plasma gun critical to the pinky toe while wearing tabis? Well, first of all, the chance to get hit in the feet is quite low, outside insects biting you or stepping on caltrops or acid.

Additionally, each body part has its innate damage taken modifier and they are currently set to these values: head - 150%, torso - 100%, arms - 40%, legs - 60%, feet - 25%. So the armor value of your footwear is not nearly as important as your body armor, while if you don't wear a helmet to a gun fight, you're taking quite a risk.

All these numbers are subject to change, of course.

* * * * * * * * * *

The last point I want to cover are the armor values themselves. As you might have noticed, the old format of percentage resistance / flat threshold is gone. What we have now is resistance / soak / material type.

Firstly, ignore these particular numbers, they are just random placeholders. I haven't gotten to writing real component specs yet. That said, let's go through all these values.

Resistance is the first line of defense, so to speak. It is checked against the incoming damage in order to determine what percentage of it will go through the armor. The formula goes something like this (there's also armor penetration, armor bypass and other mods, but for simplicity's sake, we're going to ignore those for now):

damage_done = incoming_damage * (incoming_damage / (incoming_damage + resistance))2

So if the resistance and damage values are the same, the incoming damage is multiplied by 0.25. That is, quarter of it goes through. If the incoming damage is twice the resistance, it's multiplied by 0.43, and for the other way around it's 0.1.

This formula is subject to change, of course, pending testing. But the general idea is that the ratio between damage and resistance is what determines the percentage reduction instead of it being fixed on the item. This makes the resistance much easier to scale/progress.

After the formula above is applied, soak value is deducted:

final_damage_done = damage_done - soak

So, unlike threshold, soak will now be an important stat throughout the playthrough as it is always applied at the very end, reducing already percentually reduced value.

The final property of damage resistance is the material type. I haven't started implementing this yet, but the idea is that this will modify the inputs to the formulas above, and maybe even formula itself, depending on the type of the attack and the type of material. For example, kevlar is going to be really good against bullet attacks, but not that good against other attacks.

* * * * * * * * * *

That's it for now. There are a lot more mechanical changes that are either implemented or are being implemented, so expect more dev logs in the near future. But then again, I always say that and then skip nearly a whole year without posting.

Also, follow me on Twitter, where I post smaller tidbits occasionally.

Cheers.


14
Development Log / Dev Log #73: Version 1.2.0.0 and the incoming DLC
« on: October 12, 2023, 02:20:26 pm »


Hi guys,

In preparation of the coming release of Heavy Duty DLC (which you can wishlist now on Steam or GOG) we are pushing version 1.2.0.0 out on the main branch today. You can find the list of changes down below.

In one of the dev logs back in 2022, I hinted at a possiblity of us releasing a small DLC that would contain some important mechanics that we originally planned for a bigger DLC that would follow after Expedition. These mechanics were the new weapon types. As I said then, instead of making this large DLC we decided to move on to Infusion and basically rework the entire engine.

However, we didn't want to just leave those out permanently. While I was busy working on the new engine, along with the 3D artists, I decide to have the level/quest designers, who could not do any substantial work in the new engine yet anyway, work on a short, but unique, side-mission that we could then package with the weapons as a smaller DLC.

That way we could freshen up the game without disrupting the work on Infusion significantly. Granted, it did take some of my development time to code the new weapons (because at that point we only had the spritesheet renders) as well as some of the artists' time when creating the new tilesets. However, the majority of the work was done by the two level designers that had time to spare anyway.

So I hope you all enjoy the new weapons, I found them very fun during testing, as well as the new adventure. I can now confidently say that this is probably maybe the last big content update to the game until we're finished with Infusion. Of course, there's still the question of improved Steam Deck support and localization tools. Also it wouldn't hurt to add a couple more unique weapons, spears in particular...

Anyway, here is the list of changes in this patch. It does not include the DLC stuff that's coming later.

Features
  • New seasonal events
Items
  • Increased the cost of Hexogen
  • Scopes, crossbow superstring, pneumatic reloader and laser sight are now stackable
  • Praetorian heavy armor acid resistance changed to 0% / 5 (down from 20% / 10). This was a mistake, regular metal armors have minimal fixed acid resistance
  • Praetorian heavy armor health bonused changed to 35 (up from 20)
  • Reduced the mechanics required for a number of different gun barrels (7.62, 8.6, .44, 12.7)
  • Increased durability of TT 3000 from 690 to 2220, and Balor's Hammer from 1770 to 3570
NPCs
  • Rathound King and What now have custom combat taunts
  • Doctor Merrick will now treat injured players
  • Gorsky is now immune to fear
  • [Expedition] Becket will now sell spears and offer them as a reward; also, he will now always buy some medical items per restock (was random before)
Tweaks:
  • Reduced the spread angle for assault rifle/SMG bursts
  • Echoing Soliloquy persuasion buff will now work a lot more reliably on higher difficulties
  • Tchortlings will now despawn (go back to their wretched holes) if the player returns to Hollow Earth zones without being affected by the Eye of Tchort debuff
  • Protectorate Dreadnought's minigun now behaves like a proper minigun; also, the shoot rocket ability's AP cost has been reduced from 30 to 20, whereas cooldown has been increased from 2 to 3 turns
Bugs
  • Item macro stacking (1000 = 1k, 1000000 = 1m...) will now properly work with the new UI settings (was Classic-only)
  • Fatal Throw should no longer provide any benefit when throwing acid vials
  • Fixed the UI bug with certain vehicle slot background icons in some UI sizes
  • Updated HARP rocket explosion to use the same sprites as High Explosive grenades, instead of the old one
  • Commando will no longer trigger when destroying inanimate objects
  • Certain special acid attack will now count towards "Acid Trip" achievement
  • Fixed being able to tell Lt. Garren that a certain sneaky person is located somewhere despite the fact that he isn't
  • Fixed Leo sometimes not leaving his hiding place properly and thus not being accessible for the rest of the playthrough
  • Fixed Epione Lab cameras sometimes tracking the player despite them having been allowed access by the front guard
  • Fixed Gorsky staying in Tanner's office even after certain events that should prevent their conversation from happening have taken place
  • Fixed being able to pickpocket femurs from hunchback mutants
  • Fixed certain Mushroom Root parts being selectable from outside of the actual sprite
  • Fixed thrown oil barrels doing acid damage on direct impact
  • Fixed being able to daze machines while under the influence of Scrapperac
  • Fixed the game not acknowledging you had paid for the Wormhole access if you did so through a mercantile check
  • Fixed Tchortling Sower Tentacles sometimes dropping their bio attack weapon items for the players to pick up
  • Fixed SRO assault squad not returning to home base upon victory
  • If the player manages to survive the electric shock and subsequently kill the other runners in the Gauntlet's final area, they will no longer be able to enter other lanes and go out of bounds
  • Buying drapes for your house will now properly remove 300 charons from inventory (as stated in Jyles' dialog) instead of 350
  • Death of reclined characters lke the wounded sec-trooper will no longer be displayed as destruction in the text feed
  • [Expedition] Fixed not being able to disembark at a destroyed wall section in Port Ceto during certain events
  • [Expedition] Updated Elemental Bolts feat description to include energy bolts. The text remains the same for the base game, as it does not feature this kind of bolts
  • [Expedition] Fixed the camp defense quest note not being marked as completed in certain situations
  • [Expedition] Fixed not always getting extra xp for doing the final pirate mission solo (and some other minor dialog inconsistencies)
  • [Expedition] Fixed Ladelman not selling vehicle repair kits
  • [Expedition] Fixed quests related to joining the expedition not always being marked as failed when the ship returns to the Black Sea without the player
  • [Expedition] Fixed a broken electronics check when attempting to fix an Abandoned Waterways Facility console
  • [Expedition] Fixed not getting a bonus for revealing a certain threat to the expedition
  • [Expedition] Fixed behavioural issues with Ladelman and Doc Savage when they join the camp defenses at the beach
  • [Expedition] Fixed a broken option to call for reinforcements during kidnapping negotiations
  • [Expedition] Fixed the respawning jet ski in Abandoned Waterway Facility
  • [Expedition] Fixed The Rig guard dogs engaging players riding jets skis (will occasionally growl at them only)
  • [Expedition] Fixed junk jets taken from members of a few factions still displaying red/protected cursor
  • [Expedition] Room 3 at The Rig will no longer display red/protected cursor even if Murky gave you its key
  • [Expedition] A certain persuasion option will no longer break Todd's dialog
  • minor dialog/zone fixes

That's it for now, guys. Look out for the DLC coming November 1st!

Cheers.

15
Announcements / Underrail: Heavy Duty DLC
« on: September 29, 2023, 04:39:37 pm »
Hi guys,

It is our pleasure to announce a second DLC called "Underrail: Heavy Duty."

Trailer: https://www.youtube.com/watch?v=dpaFg6mnlak

This DLC focuses primarily on three new weapon types - light machine gun and minigun, both of which fall under a new skill called Heavy Guns, and grenade launcher which is a part of the existing Guns skill. These weapons will add a number of new interesting play styles.

In addition to this, the DLC will feature a high-level side-mission that is designed to provide a challenge to Underrail veterans. You'll be pitted against one of the most formidable fighting force in Underrail. On higher difficulties, especially, this mission will serve as an ultimate test of your particular build.

That's it. The DLC is out November 1st, but you can wishlist it now on Steam or GOG.

Cheers.

Pages: [1] 2 3 ... 11