Forensic Friday 18: Soundtrack in the works; Productivity & Accountability
Welcome, fans and friends to Forensic Friday 18. Forensic Friday 3 weeks in a row! Completely unheard of! And we have some interesting stuff to talk about! So strap yourself in your seats, and get some popcorn, because this is going to be a good one! Ok, now that all my overhyping is out of the way, lets get down to business and review this week’s case file…
The start of a beautiful friendship #
Continuing from last week with now implementing NPC friendships! NPCs are now able to see around them (more on this later) and passively change their own ratings of other NPCs. Similar people who spend time around each other now slowly increase their friendship score, while time spent apart causes friendships to slowly deteriorate. This deterioration depends on how good a friend they are - if they’re best buddies then spending long periods of time won’t have as much of an effect as a 1 time encounter would. The graph below shows this relation.
Traits have also been implemented as of today. The list of current traits is as follows:
gun_lover, gun_hater, athletic, unfit, fast_learner, slow_learner, likeable, unlikable, mentally_strong, mentally_weak, physically_strong, physically_weak, stoical, needy, brave, coward
Each trait has passive benefits/disadvantages. For instance a likeable person has an easier time keeping on good “friendship ratings” than someone unlikeable, while someone athletic will be able to move faster than someone unfit. I expect this list of traits to expand as we think of more ideas for useful and unique traits - both good and bad.
Finally, I’ve started work on the final planned part for all NPCs, hanging out! It’s all well and good having the stats lying around about how good 2 NPCs are as friends, but now it’s time for them to act upon this. Our plan is during recreational time, friends will hang out with one another, again increasing their passive friendship score, as well as just increasing overall moods etc. This is where it will be decided how in-depth we want these relations to go. Hanging out is just one of a long list of activities NPCs will hopefully be able to do together in the future.
And that brings us up to speed with NPC shenanigans, once hanging out is finished, then prisoner specific development can start, exciting times to be an NPC!
Research Continues #
I have been continuing to finish the research and experimentation aspects of the game. It should take a week or so to finish, ideally a weekend, but there are just a couple of design choices we need to think through to save any future pain later down the line! Not much else to discuss regarding this developmental thread!
The Anomaly Pipeline #
Ever since anomalies have been added to the game one thing I have been hoping to talk about is a little snippet into our current thought process of how we want to approach anomalies going forth. The general gist of what we have considered so far is the idea that we want things to be very modular. Anomaly behaviour can be very complex and convoluted; and it may very well end up being that we need to create separate behaviour scripts for each anomaly. However, to avoid unnecessary repetition of logic, it would be great we everything was built of modules. Though anomalies have many differences, some anomalies share certain behaviours, so creating a module and assigning it to both anomalies would be a whole lot easier and sensical than hardcoding the behaviours for each anomaly. It would also allow us to easily experiment and create new anomalies separate from those found in anomaly documents.
But you may ask, how do you plan on creating these modules? That’s a great question I’m glad you asked! Well we will likely start with the most simple anomalies and condense all it’s behaviours into modules. We would aim to make these modules as generic and extendable as possible, whilst making them highly customisable. Then from these modules, we can very easily select the next anomaly to implement. It’s as simple as selecting an anomaly that would require the least amount of new modules to be created i.e. we would implement anomalies in order of most shared behaviours. Well, at least for the most part. We may start by making 10 anomalies we like first, then stick to this rule! But overall this would maximise the rate at which we introduce new anomalies to the game whilst minimising the time spent creating them. But the most interesting consequence of using this design paradigm is the potential for prototyping new anomalies by mixing and matching modules and tweaking their parameters. We then could theoretically create “infinite” anomalies!!!
Productivity & Accountability #
We are really trying to up the productivity on this development cycle. The first cycle to actually run concurrently with our university studies! This brings many challenges and setbacks but we have developed methods to combat these bumps in the road. One of which, and perhaps the most effective, is a daily hour log of the work we do every day. The idea is that we try our absolute best to do at least 1 hour a day, and naturally, once you get into the groove you tend to do more, but worst case, at least you’ve done an hour. The worst case is really that we completely skip a day in reality! But we have a solution to this. We also log our skips and why we had to skip. This helps us get in the mindset of “Did I really have a good reason to skip today?” which helps us realise any bad habits or mishaps that we could address; at least things within our control! That’s all I wanted to say on that, below you can see a small snippet of what our log looks like. I had the idea of making the log publicly visible in the server, as a transparent account of what we do day to day, but I am still dwelling on the thought. Some of the skip reasons are quite personal!
Lastly, in this brief aside, we’d like to share some of the music that has been cooking in the kitchen!
We are also planning to FMOD to implement dynamic sound. But more about that in the future!
Case Closed #
Anyways, that’s all for this week, hope you pleased with the updates and expect more next week! Until next time, sayonara!