This month has been not ideal for coding, sadly. A lot of my time has been taken up with tests, appointments, x-rays, meetings, so on. While inconvenient, it is all in the interest of hopefully making me more able to work. I’m eager to get back to it, but it would be foolish to continue to ignore my mental health.
I have new antidepressant medication which seems to be working better than the first stuff, and another doctor now looking into my chronic pain, as well as pursuing the first steps towards therapy. A lot of things are up in the air but, as always, I’ll not stop working on CS. I truly appreciate and treasure your support.
One of the few times I don’t feel quite so horrendously guilty about missing an update; My whole household and close family pretty much all got covid at the same time (three cheers for irresponsible weddings). Thankfully everyone seems to be past the worst of it, now. It could have been so much worse had everyone not been vaccinated. Please, get your jabs.
What work I have been able to do has been focused still on character generation. It is quite possibly the most important part of the game in its most basic form, since if nothing else, players should be able to interact with (read: bang) them in fun ways, and all of my fun ideas depend on the game’s deep awareness of characters’ physicality.
Further, I’m doing my best to design generation in such a way that it accepts modifiers during most stages. Not only to make it possible to carry out things like events, but also to allow for some tweaking from the player. For instance, buffing the average size of all dicks, or just some species, or making another species unusually short. Basically I’m saying that I’m conscious of how much time I’m investing into character generation, but I believe its for good reason.
Small update this week since it’s been both a busy time and a bad time for me to have bones. There has been some progress made, newly generated characters are now hooked up so they populate the proper list in game, no longer just visible in the output console. That aside it’s been a bit of a tricky week to navigate, so I apologise there’s not more to talk about this time.
I’m still focusing hard on the character generation system. That and the sex scene systems are the chief parts from CS’s original design that I want maintained for Homestead, and that’s what I intend to do. Once that’s done it’s pretty much half way there.
Apologies for missing last update. I completely blanked on it after the site certificate ran out. Good news though, it’s been updated and should hopefully properly renew itself from now on, so no more expired certificate warnings.
That said, I didn’t blank on the update for no reason. I had a good run of days where I was able to work, and work I did. The character generation script now handles species, sex, gender, and gender expression, and as far as I know competently handles any combination thereof. For instance, some species like bovine people have extra, sexually- dimorphic parts. The script knows the likelihood of, say, a masculine trans-female bovine of having horns, or an intersex fem bovine of having an udder. And it’s also structured nicely so that I can easily add more. If I want to add a female-only race of amazonian dragon ladies, it won’t require drastic refactoring of the codebase to make that happen.
Further, it’s now fully capable of factoring in player preference. If the player wants to steer the recruiters in the direction of masculine or feminine, cis or trans, any particular species, they’ll be able to do that and new hires appear according to those tastes.
This all works based on nicely laid-out dictionaries of data that, as I’ve said before, I plan to make as external JSON files. This will mean that players can fiddle with values all they want to. The next step of the process is scale and sizes and is a bit more complex than what I’ve written already, but I’m confident I can have that done before next update. (That is, as always, my health permitting).
Missed last update due to tummy trouble and am a bit late for reasons. Sorry about that. On the upside, I managed to get a really challenging part of the code done, about which I shall now ramble a bit.
I think I talked a bit last time about trying to make the script that generates NPC’s much more clever, in that it should be able to take in certain kinds of arguments in order to influence how it makes those characters. One of the more basic ways is to influence sex; after all, the general subtext behind hiring these characters is that they’ll be around to bang, and the player’s going to have a preference. However, something I want to avoid (at least until the very endgame) is a kind of build-a-bear feeling where you can pick and choose exactly what you get. From a game-feel standpoint you’re advertising and recruiting, not constructing people.
So, anyway. I spent some time thinking about how that would work and look within the game, as well as how to generalise, in a nice way, genital variety. Once I had those categories, it was a matter of programming it so that these categories, and their masculine/feminine flavours, could be focused on for generation/recruiting. I’ll spare you the math of it all, just know that I don’t do maths well and was very happy to get it working.
There’ll be basic chances for what you’ll see more or less of in the beginning. Your regular house-and-garden variety males and females; your trans people, which can include trans-men and -women in varying degrees of physical transition; and then the more mixed varieties such as intersex. (This is ignoring things like gender identity and expression for now, just dealing with the bodies). Then as the player you’ll be able to put a light, medium, or heavy focus on any of those, and weighted towards masculine or feminine if you choose. As the game progresses you’ll be able to focus on more than one thing, and dissuade some from appearing as well.
Here’s some very exciting console output, do make sure you’re seated. In brackets are the adjusted weights after focus is applied, I tried them in every order and combination with silly values and, to my knowledge, they always return to a total of 1 (so there’s no weird hijinx where one option has a 25% chance to be picked, but out of 125% chance total, which makes it not 25% after all). After each are the picked options for that roll, and they seem to be being chosen correctly.
I’m aware this doesn’t seem like much, but it was actually really hard to do. I already have code in place for attaching necessary parts like boobis and pebus, so the next step is pretty simple. I was just proud of this mathematical little doohickey and wanted to talk about it. Plus yay, I got stuff done.
I’ve not been able to code much lately due to a pretty severe pain period, but have at least been able to sort out some things on the theory level. The main problem I think I’ve solved is how the character constructor class can/should handle the myriad different ways it can be influenced. Achieving a great deal of variety among randomly-generated NPC’s is easy enough with how I’ve built it so far, but the player needs control over how they’re generated as well.
The simple and brutish way would be to generate tons and tons of NPC’s and throw out ones that don’t match, but this way I believe I’ve figured out how to make it tend towards certain things and away from others. That way you can build the dream team of staff characters you want. A ton of modifiers and variables will be able to influence who is available for hire (the generated NPC’s) so it’s another one of those systems thats important to get right. I’m sure a qualified programmer could have figured it out sooner, but I’m just pleased I seem to have an idea how to tackle it.
As an example, you could inform your recruiters to only look for well-endowed prospective hires, or tall, or blonde, whatever. You could run a marketing campaign attracting certain kinds of new hires, or competitors could take some for themselves. Lots more big ideas that I want to do later on, but I think I have a good groundwork so those things will be doable later.
Also, my recent pain charts if anyone’s interested, tending towards red and orange a lot lately. I know how tiresome it must be that I’m always bringing it up, but it’s something I have to live and work around. Sometimes it just won’t let me, but here’s hoping I can get my meds adjusted soon.
I decided that the character generation script needs some rethinking, which will be my current goal. I have a working prototype which is roughly 600 lines, and although it does what I need right now, it’ll require some hacky solutions to make it able to accept procedurally randomised ‘recipes’ for generating new characters. As proof of concept though, it’s been a success.
The challenge now is to refactor the code so that the initial function to create a character can be called in a simple way and have its arguments easily weighted, randomised, and chosen according to preset desired outcomes. This is so the player can tell their recruiter something like ‘Next week, find me more catgirls’, or something of the like, and the next set of generated applicants will be weighted toward that (also taking into account how good the recruiter is at their job).
There are some much more boring and headache-inducing problems that have to be solved for this as well, but that is the main goal at the moment. I think that having some agency over who/what the player has access to is a pretty major point of importance. That, and being able to generate up to a hundred (if needed) characters as quickly as possible on a single button press.
Lastly, obviously the NHS is utterly swamped at the moment, so I’m still waiting to hear back from my pain doctor. I’m in dire need of having my pain meds upped/changed so until that happens I’m even more of a cripple than usual, so please bear with me.
I’ve been chipping away at building the interface for presenting new staff applicants. I’m trying to do it in such a way that most GUI elements I build are reusable, both to make creation of new GUI stuff easier and to help maintain a visual language. Currently my thought is that each week you’ll be able to specify what kind of new hires you’re looking for, either in their experience or physical features. So if you’re looking to fully staff your dairy farm, you can say that only big tiddy folk need apply, for example. That will then affect which applicants you get the following week. This also means having a character generator that can follow rules and perform targeted character generation in various ways. I think my design for it can handle that, but it will likely be a fun, if challenging, problem to solve.
Again though I’ve not gotten as much done as I wanted to. I’ve been in contact with my pain management doctor and hopefully soon she’ll be able to help me adjust my medication, as lately it’s been doing a whole lot of nothing. Doing my best in spite of it, I promise.
I’ve been slowly chipping away at things but sadly the past couple weeks have been exceptionally severe, pain wise, which hasn’t given me much room to focus. A lot of red on the chart my pain management doctor advised me to keep. Mostly I’ve been trying to make notes and consider design thoughts in what moments of not-feeling-like-being-stabbed I have. Thankfully it seems to be easing off now, as always I’ll do what I can. Cold and wet weather seem to make it a lot worse (fortunate I live in the UK, such a famously tropical country) but as spring comes that will also help.
So, character generation is working in its basic form. It’s now able to make characters with bodyparts, save them and reload them. After being without computer for a while I’ve had to spend some time re-acclimatising myself with the code, so I also went around and did some tidying up here and there as I re-learned my way around.
The next step will be the staff management script. I’ve been thinking about ways to go about keeping track of who is working where. It’s important how that information is stored; should work location be stored on each NPC, or the location store a list of NPC’s working there, that sort of thing. One of my more code-savvy friends recommended I look at something called a doubly-linked list, which will take me a bit of reading to understand. As long as only one script is responsible for adding/removing/moving staff around I think it should be okay. Either way, once that’s in place, I can expand things a little, add some logic and code for facilities to actually do stuff and it’ll start looking a bit more like a game. With sexy parts. I haven’t forgotten about the sexy parts, promise.