Dev Blog, April 9 2017
by, 04-09-2017 at 03:07 PM (582 Views)
Looks like I missed a dev-blog update or two! Let me sum up:
After the last major snapshot build (the one with Bard in it), we started getting a lot more crash reports than usual. Turns out the way we use Unity, the 5.5 version uses more memory than 5.4. Not a lot more, but we were very close to the edge for a lot of computers, and this pushed some computers over the edge. (I believe it mostly affected laptop PCs with video cards that share video-memory with the CPU's memory, but others were affected as well.)
So the next week was spent improving the game's RAM usage. I un-mothballed a fancy system I'd made for Unity 4 (which stopped working in Unity 5, but became viable again very recently, in Unity 5.4), and after a week of coding furiously, I put up a new snapshot build with the new memory setup. It's definitely helped, judging by the crash reports. There are reports of some new problems for some users, and there are still some reports of crashes when leaving Gazluk Keep, which seems to be a bug related to Unity's occlusion-culling system -- still tracking that one down -- but it was a definite improvement. We'll have some more improvements, and further RAM-reduction, in the next snapshot.
That was an exhausting week, which put us behind a bit in terms of the content I wanted to get launched. So this week we tried to catch up some! The two big-ticket things in the next snapshot are the Serbule graphical revamp and a new crafting skill: Brewing.
The new Serbule revision is coming along well. I especially love the way the new day/night cycle looks! But you'll have to take my word for it today: there are a lot of shader libraries and other graphical tech involved, and we're having some technical difficulties today... so I can't show it off right now. But I'll add some screenshots to the blog's forum-thread in a few days.
Let's talk about brewing! It's probably the most complex crafting skill so far, because it builds on the tech from other skills. (For instance, Cheesemaking gave us cask "technology", which brewing needs; Augmentation gave us recipes that can infuse items with effects, etc.)
Brewing is the first skill that uses random per-player seeding. Basically, you can add certain items to your brew recipe and you'll get a specific result that's random for that character. Other characters who try the same recipe may get different results. I think this adds some fun to the crafting process, as you get to experiment on your own -- and there's no temptation to wiki the "right" brew recipes, since the recipes are unique to you!
But it's not quite as trivial as "put an ingredient in a box and get a random result". It needs to be a little more fair than that: it shouldn't be the case that some players can use dirt-cheap items to get amazing brew, where others have to use extremely expensive items for the same results. I've ended up using fairly constrained recipes to avoid those cases.
Here's an example: a certain testing beer requires two special items (along with the usual beer ingredients like hops and barley). In the first box, players can drop "an apple, grapes, or an orange", and in the other box, they can drop "a guava, lemon, or banana". The results of that combination are random for each player; there are 9 possible results from just those ingredients.
In that example, I broke the possibilities into "low-value fruit" and "high-value fruit" to avoid some of the extremes of randomness. Nobody will get the most-amazing brew with just a couple of dirt-cheap apples, because everybody has to use one low-value and one high-value fruit. Some people will still get better random luck than others -- the availability of individual fruit fluctuates, but generally apples are easier to find than oranges, for instance, and they're both in the "low-value fruit" category -- but there's enough different random recipe sets that it evens out pretty well in the end.
(And of course, not all brewing recipes use fruit! Or have such a limited number of possible ingredients...)
Brewing covers all kinds of alcoholic beverages. They're broken up into beers, wines, and hard liquors. Different kinds of brew have different effects, and they're quite broad-ranging. So you might find yourself carrying a small keg of combat-boosting beer into battle, or you might set up a tap of dance-boosting beer at a party.
There's down sides to drinking too much alcohol, such as hangovers, slurred speech, or just passing out drunk. A new skill, Alcohol Tolerance, helps offset some of that. If you plan to drink in combat, perhaps as a drunken kung-fu master or a beer-rowdy tank, you'll definitely need some alcohol tolerance. Of course, no amount of alcohol tolerance prevents you from becoming an alcoholic! It just lets you be a "functional alcoholic." Just like the real-life drunken masters of yore. I assume.
There's more complexity to the systems than I'll bother trying to explain here -- it's a complicated skill with lots of nooks and crannies. But I think it's turning out really well, and I'm looking forward to getting it in front of players!
I mentioned above that this skill is the first that uses player-specific randomness -- and it might be the only one. The tech is being written with the idea that it might be reused for a few other craft skills, either old ones or new ones. But first I'll see how you like the system! Then we'll play it by ear with regard to future skills.
Anyway, back to work for me. I hope you're enjoying "Armor Weekend" in-game, and I'll have some pics of the new Serbule to show you soon!
Discuss this blog post here: https://forum.projectgorgon.com/show...g-April-9-2017