Item Work, Combat Ranges, and Bug Fixes

Today was an interesting day, mainly because it involved a wide range of work. Some pretty significant changes, too.

However, the first order of business was to tackle a few bugs players recently found. Namely, there were some problems in the recipes for the cryo light and HVAC systems. As it turned out, these problems were bigger than just those two situations, so a few fixes were in order. Quick recipes, in particular, had some issues that I didn't notice before.

I also made some changes to items such that identifiable items each have two prices now. Before, anything unidentified would always be $0.25 at the store. Now, each item has it's own value, which should be more appropriate. Also, the junk store should always be stocked with identified items.

Next, I started working on adding a new item to the game: the large branch. Up until now, we've had twigs and medium branches. However, I wanted to add a travois to the game (man-sized for now, not dog/horse-sized), and that meant having something a bit larger. It also meant a few recipe changes to allow for the new large branch, including the tarp shelter, and roasted meat on a stick.

The large branch also gives me the opportunity to explore something else I've been meaning to do: rework weapon/battle ranges. Up until now, most melee items had a range of 0, and the rifle had a range of 4-5. Tackle had a range of 1, and most battles started with combatants about 2-4 spaces apart.

However, I wanted to try adding a few different melee ranges, to differentiate things like a pocket knife from a crowbar. If you've ever been threatened by an animal while out walking, you'll appreciate the difference an extra 2-3 feet of weapon reach makes. Holding a pocket knife is a helluva lot less comforting than a sturdy branch or crowbar.

So I started prototyping a new set of ranges that looks something like this:

IMAGE( New attack ranges, a visual primer.

In this new system, range 0 represents grappling or co-location. There aren't really any moves that take advantage there yet (except the enfield horror's trample), but that's where sitting on one's opponent would be.

Range 1 is a short melee range, like swinging a fist or a pocket knife. Cleavers and wrenches would be here, too. They're longer than a fist, but not appreciably. And kicks fit in here as well.

Range 2 is for longer tools, like the crowbar or a branch. Swords, baseball bats, and other melee weapons would also fall here. They're the kinds of weapons you'd feel better about keeping a wild boar at bay with.

Range 3 is for polearms and the like. The large branch fits here, as would things like spears, or a shovel. Tackle will also work from this range.

Range 4 is just out of all melee weapon range, and is the maximum range for things like luring, and throwing debris/obstacles.

From there, we have a pretty big jump up to pistol and thrown object range (rocks, grenades, throwing knives). And then a huge jump up to rifles and such. The idea here is that combatants might quickly get out of pistol or thrown range in a few rounds of flat-out running, but for practical purposes, there's no getting out of rifle range. For rifles, if they can see you, they can shoot you, and nothing short of leaving the hex, hiding, or cover will help.

Escape will still work like before, with chances getting better as range increases (among other things, like visibility, movement rates, and other conditions). However, I'm expecting that "retreat" and "desperate retreat" will start to become more distinct now. The former is only available when out of enemy weapon range. It's deliberate, and controlled, and should work more often. The "desperate" retreat should usually be available, even in weapon range, but the chances are lower. It's more wild, and luck-based, but it also carries a small chance of increasing range simultaneously with the escape attempt.

The other piece of the puzzle is the new hex ranges. Each hex will now have a different minimum and maximum engagement range. When encountering an enemy, the battle will start somewhere between these ranges, instead of always 2-4 hexes apart. For ruins and forests, this might be in the 3-6 range. Suburbs and cities might be more like 3-15. And open plains are 20-30.

I'm hoping that this makes each hex type more distinct as a battleground. For example, open plains are now extremely dangerous when creatures have rifles. Targets are pretty much at their mercy without clever cover use, hiding, or lucky escapes. Open plains make for easy travel, but getting caught by a bandit with a gun is going to hurt more.

Conversely, forests and other "close" hex types are harder for travel, but it's easier to lose one's pursuer if need be.

This is all in theory, of course. I just finished rewriting the data and systems to match the above. I have yet to test it. I'm hoping that I can keep a lot of what's fun about the current system, while adding a bit more distinction in range bands. Plus, this might also open up the opportunity for hiding to become more useful. I might add the ability to re-enter hiding/sneak mode from time-to-time, making another alternative to flat-out escape.

These changes should also pave the way for more weapon types, which are a perennial favorite among player requests. And if I'm really ambitious, maybe this will be a good time to look into things like "aimed shot," "surrender," and looting unconscious enemies.

So yeah, as I said, an interesting day. A lot of intertwined systems came to the fore when I started looking into the large branch. Stuff I've been putting off until it was time to work on new items. And now that time has come!

Have a good weekend, all. And see you Monday!


Rovlad's picture

There's still an infinite battle loop bug, you gonna fix that before going into feature creep?
There's also the plot but I'm sure that's out the window right now because ooh, something shiny.
Also luring someone in a trap, while beneficial, is not very realistic when you do it like 5 times in a single battle.

MrMakeveli's picture

You sound a little bit like an asshole. Not saying you are, but you should be aware how you are coming across in case that's not your intention. "I'm sure that's out the window now because ooh, something shiny": is this directed at the developer? Other players? Either way, the impression is that we are simple folk easily distracted by dumb, pointless things. Is it wrong to want some new content? It's been awhile since that's been the primary objective, is that ever ok? Maybe you can give him your list of desires and schedule and then he can develop in the exact order you'd like. Make sure you add ETAs too so he can keep a good pace. Better? Everything ok now?

dcfedor's picture

Hey Rovlad,

I know from your previous posts that plot is pretty important to you, so I can understand why the delay in more playable plot is frustrating. It's the single-highest voted feature, and I think most players agree that they'd like to see more playable plot.

That said, plot is probably one of the things I do that is least visible on a day-to-day basis. Thursday's post is actually a good example of this. I'm reluctant to be specific when talking about plot work, as it might spoil the story for some players. But the work is ongoing, at least in a structural sense. Specific details are on hold until the player's in-game tools are defined, as adding new tools could invalidate pre-existing encounter design.

I'm a bit surprised you didn't jump in on that post about plot, given your interest in the subject. But perhaps you just missed it.

As a rule, though, plot is a high priority for me. It's something I consider to be a necessary feature before the game can be considered finished. The timing of the feature is more a reflection of it's position on the dependency chain than its importance.

Re: the infinite battle loop bug, I definitely want to fix this. The one thing that trumps all else in my priority list is game-breaking bugs. If there's a way to reliably reproduce that bug, let me know. Being able to cause the bug intentionally is necessary to catch it in the debugger, and later to verify that it's fixed once the code changes are made.

Finally, regarding your lure feedback, are you saying that lure is too commonly available? In my mind, lure was meant to be using the surroundings to slow down and trip up one's opponent. Like jumping the gap between two rooftops in a chase, or rounding a blind corner and elbowing one's pursuer as they emerged. With that in mind, I figured it made sense that this happened several times in an engagement, as long as the opponent still had fight left in him.

But it's always possible that lure comes up too frequently, or battles are lasting too long, or maybe even lure isn't effective enough.

Dan Fedor - Founder, Blue Bottle Games