Dev Blog, December 9

From Project: Gorgon Wiki
Revision as of 23:12, 28 September 2017 by BetaNotus (talk | contribs) (Created page with "Posted by Citan on Friday, December 9, 2016 : I missed the dev blog last week, but the patch notes give a pretty good idea of what we were working on! Well, actually, the patc...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Posted by Citan on Friday, December 9, 2016

I missed the dev blog last week, but the patch notes give a pretty good idea of what we were working on! Well, actually, the patch notes don't really go into much detail about the server-side improvements.
While it's definitely not the right time to do major optimization work (not during alpha!), the server's performance had gotten pretty bad. During the Kickstarter, way back when, we had over 200 players online and the server was completely fine -- without any optimizations it could easily have handled 500-ish, and with optimizations we expect to handle 1000 concurrent users. (Of course, when there's 80+ people standing in town, client framerate gets pretty bad, but that's client-side performance, not server-side. Client-side means it's just affecting you; server-side means it's affecting everybody, so it's a higher priority.)
But that was more than a year ago, and server performance has slowly declined as new features were added. Little performance bugs had accumulated to the point that even clicking on an NPC often didn't work for 5+ seconds. So I fixed a lot of those bugs in the previous update, and some more will be fixed in the next update. That should return us to the old server performance levels -- probably better, actually. I also fixed some monster pathing problems in Kur Mountains (which is the area with the most complicated pathing at the moment), and we'll monitor the area to see how it's doing now.


On to the new dev blog! This week I've been working on the Gazluk Plateau, a new higher-level content area. But before I get too far into that, I need to step go back to Kur Mountains and redo how the cold environment works, because Gazluk is just as cold as Kur, if not colder. The cold system needs to work better before I add it to more areas.
Currently in the game, when you're in Kur Mountains, you take damage every second that you're outdoors. If you're below a certain health threshold for too long, you have a chance to catch frostbite or hypothermia. The point of this system is to make Kur a dangerous frozen hellscape that you have to work to overcome. You do that by getting gear and items and abilities that boost your Indirect Cold Mitigation. This reduces, point-for-point, the amount of damage that you take per second. While your indirect cold mitigation is low, you have to struggle to survive in Kur, moving from safe spot to safe spot (the fire places), figuring out how to survive. But, ideally, you eventually become powerful enough that it's only a minor inconvenience.
This cold-weather system worked much better when I first made Kur! But since then, most of the numbers in the game have changed. The biggest culprit is that food is now super regenerative -- it has been for a while, and just recently it was made even MORE regenerative, to the point that even newbie food can easily outpace the damage from Kur's weather. As a stop-gap a while back, I made Kur's ambient damage apply even during combat (because that's the only time that food doesn't mega-heal you, so that's the only time you might succumb to cold), and I raised the ratios of when you get frostbite, etc., so that there's some reason to keep track of the safe spots that can warm you up. But it's not a very good game mechanic anymore. Now you can ONLY die from cold during combat, which is exactly the time when you need to be paying attention to other things. Namely, combat.
I can't fix the current system -- changing the damage numbers doesn't work... unless I wanted to nerf food, which I don't. If it were less important, I'd toss the whole idea of cold-weather out, but environmental hazards are really important! They just need to work better. Why are they important? Because this is a game where you explore and overcome obstacles, and the environment needs to provide some of those big obstacles. But environmental obstacles need to be intuitive, predictable, and manageable with proper preparation.
So I've thrown out the old system entirely. Here's the new system: when you're in Kur, an additional bar will be shown along the top of the screen labeled "Body Heat". While you've got some body heat left in the meter, you're fine. No ill effects from the cold at all. Your body heat drops over time, and when it reaches zero, you get frostbite. And if you stay at zero for too long, you get hypothermia, which is almost certainly fatal unless you get indoors fast.
Your Indirect Cold Mitigation will still play a key role -- it'll affect how quickly you lose body heat. Cold-weather gear like fur parkas will boost your indirect cold mitigation, and they may also boost your maximum body-heat, so you can travel for longer. And some items and abilities will have a chance to boost your body heat, too. Breathing fire seems like it should have a chance of giving you back a point or two... and Ice Magic would likely have some tools to survive in the cold...
I hope that this system will be more intuitive than the old system, because "don't let your bar get empty or you die" is easier to understand than "you take lots of cold damage all the time, but when you're out of combat your food recovers the energy, so it's only when you're in combat that it's dangerous, and if you go below 50% health during combat you might get hypothermia". There's still a random element: the rate of heat loss is not constant, it happens randomly based on your cold mitigation. In colder areas it drops faster than others. (For instance, being submerged in Kur's ocean is much colder than being on land.) But I think the extra GUI bar makes it all a lot more understandable.
I'm still refining it and trying new things, but I wanted to give you an idea of where it's headed. To reiterate, though, my goal is NOT for Kur to be a huge pain in the ass all the time. The goal is for Kur to be a predictably dangerous environment that you have to take precautions for. At low level it's very dangerous, but at high level you only need moderate precautions.
And by the way, I've also added a little bar for the "Hydration" system used in deserts. For a long time I was trying to avoid adding new GUI elements to the current user interface, since it'll all have to be rewritten in the new interface. But adding another bar really doesn't take a lot of time... so that was kind of pointless. (Ilmari's environmental effects don't work very well at the moment, either, but that's a topic for another blog post!)


The other thing on my radar this week has been the revision of Battle Chemistry. I'm still pretty early in that, but the basic plan is to remove the golem and enhance the explodey bits, the mutagens, and the healing powers. I have some ideas for new abilities that will make the skill pretty interesting... well, I don't know how well these ideas will work yet, but I'll find out, and will have more to say about it next week. The current battle-chemistry golem will be moving off to a new skill, tentatively named Engineering.