Project Bob (Ravenous' Uncle)

Ok, so preliminary testing puts 4000 npcs at around 3.3gb of ram usage just to start the game, i expect this number to double by the time your 1000 days in. Also i don’t know how renpy’s rollback function is going to play into how much it will expand. The reason im sharing this is, first like some of you have pointed out 10,000 npcs is fairly high for an npc count, however even though 500 seems like a large amount, it does not allow for diversity as you progress. 500 starts to get to the point where the simulation of the city and people allows for great enough diversity, in version 1.4. The real problem with smaller npc counts, is you have issues with the number of fellow feeders and feedees. Unless, everyone starts becoming a feedee or feeder at which point were exiting realism.

So, I guess this gets in to some of the other changes and additions to the game that i have been working on while completely going through the entire game to allow for the npcs to do everything the player does(including all events you see). The city has been divided into six what im calling districts. Some only have jobs while others have jobs and housing. Not all jobs or housing can be found in all of the districts. Also you cant get to all the districts with the bus and walk travel options, further segmenting the city. In order for each district to really start to feel like its own ecosystem there really needs to be at least 300npcs in each one meaning you need 1800 npcs(~1.2gb starting memory) to fill all 6. I’d really like to see 500 per district but then were up to 3000 total npcs(~2gb starting memory).

What’s the point of sharing all of this? Well obviously first off, i have created a ram consuming monster. I am currently considering multiple ways to tone back the simulation to reign in the amount of objects in memory, the main culprit being the humans, ie the player and the npcs. The bigger thing is i realized to balance the economy i can’t just let the player pick the number of npcs because i have to have the correct corresponding amounts of housing and jobs, in each district which gets tricky to do if its all variable at the start depending on what the player picks. So i have decided that im going to set a number and that will be it, allowing me to hard code what’s there.

So wrapping this up im targeting the game to use 3-6gb of ram. Few things this does, first it most defiantly kills me ever releasing a html build, also kills building this for ios and andriod. While those were never high on my list of things to make work going down the advanced npc route has sort of closed off those options.

5 Likes

How long is it supposed to take to earn your degree? I feel like I’ve been going to the classes for it for a long time but haven’t gotten it yet. A useful feature for a future update could be to implement a count of how many classes needed for a degree, similar to the experience needed counter already in game.

5 Likes

For version 1.4.2 250 classes for the degrees and 50 classes for the certificates. A counter of sorts is on the to do list, has been for a while but i have had plans of changing how the school system works so the plan has always been to add it after the change so i don’t have to rework it later.

3 Likes

::eyes 32GB memory kit sitting in corner of room::

1 Like

Another little thing I’d really like to see in the next release build (I’ve mentioned this before but I’ve just started a new run so I’m reiterating) - absolute control over the PC’s behavior. None of this “You decide to do x (in contradiction to the daily plan)” stuff. At most, the PC should express their opinion of your choice if it differs from what they want. (eg “You’d rather an ‘active’ exercise routine today.” or “You’d much prefer a hearty diet today.” or “You resent being made to walk when you’re so overweight.” as a few possible levels of expressed discontent.) And take hits to happiness accordingly.

1 Like

Ok so this is back to the shared control of the ai, and should it get removed:

Short answer is no. (all of you who have followed this thread and don’t wanna see my rant should stop here)

Slightly longer answer is go read quite a few of my previous posts on why not. (if you haven’t followed and cant take no for an answer then i guess go read the rest of the thread)

Responding this specific request for change: (to my rant about this specific suggestion)

This would really not work for various reasons:

Starting with the happiness hit for each option, would have to be variable to even start matching the variability of the ai decision making depending upon situation. Unless i showed you the unhappiness hit of a decision before you make it this would be extremely frustrating for the player. I’m not open to showing that before hand, because it encourages min maxing of stats during play, which i dislike and am trying reduce the ability for players to do. I personally think games that encourage people to make stat tables for items in game along with showing all character stats, such that people can make optimal builds, extremely tedious boring and just suck the life out of the game. Generally i find this is because the difficulty of playing the game is just then replaced with the tedium of making an optimal character to crush what ever task it was built to do. Were are no longer playing a game and just solving math problems, using stat tables, at this point.


all

the

other

reasons

why

It would end with at the max unhappiness setting of it really trying to discourage certain actions, it would be called game breaking, and i would get comments wondering why i even offer the option in the first place, or to remove the system all together, all of which i have already discussed and went through. Again see earlier posts.

The system gives you a choice, however just like in real life, your choices don’t always lead to the outcome you planed was going to happen, for various reasons. People chose to go on diets all the time, sometimes they succeed in following through on that choice and eat the proper amounts, other times they fail to follow through(for various reasons) and have that ''cheat day", or several in a row. Same the other way, example lets look at the story of another game Forks, the main character Alex had chose to start “caketime”, multiple times in the past, but has failed to follow through. When she made that choice i’d be fairly sure she didn’t plan to not follow through, it just happened.

The game gives you a choice, that’s different from guaranteeing an outcome. I really need you all to understand choice being different from a guaranteed outcome.

Edit: So when looking at a choice outcome branch tree, there is simple ones like 1 choice leads to 1 outcome. For example picking sandwich means you always get a sandwich. Or you could add a variable into the mix for instance having a variable for the type of sandwich meaning the choice of sandwich could lead to lets say 6 different sandwiches. Now lets get way more complex and look at my game where you have a character with 150 plus tracked objects(some form of variable) for the character. some of these objects are complex like lists and dictionaries of other objects, that can have multiple values. When looking at a choice outcome branch tree if you assume more than one variable here is influencing the outcome of that 1 choice you made can lead to an array of outcomes, variable dependent. The problem and complaint i continue to get, is that there are outcomes that you all desire and expect and ones you don’t desire or expect. What it seems is wanted is a 1 to 1 equivalence for each choice to an outcome(when this happens you ''feel in control" choices led to an expected outcome). With suggestions on how to balance doing this by suggesting systems like the one suggested to balance the fact that were ignoring a bunch of the correct or more reasonable outcomes given the objects(variables) at play, by adding a penalty in trade for ignoring it them. So what’s the point of pointing this all out or discussing it. My point is this is a simulation of what would or could happen in the game. I don’t intend the player to be able to just skip bad or undesirable outcomes for a trade at the time of choice, for pre determined penalty. You are free to make a choice, however the outcome is what it is, desirable or not.

I really hope to not revisit the topic of shared control with the ai again. This design choice of this game with the shared control with the ai, as i thought i made i clear earlier, its not getting removed and is here to stay. As i said in the past, i’m open to hearing feedback as to the balance of the ai and if its making reasonable decisions, however if you suggest removing it, going forward depending on my mood i may either go on another rant or just ignore you. Either way i can guarantee you i will continue doing exactly as i please, which i have also tried to make clear earlier.

6 Likes

I apologize for (unintentionally) beating a dead horse. I’m not in the habit of reading through large threads and didn’t know this topic had been brought up in the past. The last thing I want to do is piss you off, because I really enjoy this game (outside of that nuisance mechanic) and I want to see it completed. So I’ll drop the issue and not bring it up again.

1 Like

Well crap. Buying yourself a car is not a good idea in 1.4.2 = P

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/travel.rpy", line 46, in <module>
  File "game/travel.rpy", line 118, in travelcar
KeyError: 1

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "start_day.rpyc", line 12, in script call
  File "travel.rpyc", line 3, in script
  File "C:\Users\Mike\Desktop\Bob-Alpha1.4.2-pc\renpy\ast.py", line 914, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Users\Mike\Desktop\Bob-Alpha1.4.2-pc\renpy\python.py", line 2028, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/travel.rpy", line 46, in <module>
  File "game/travel.rpy", line 118, in travelcar
KeyError: 1

Windows-7-6.1.7601-SP1
Ren'Py 7.3.5.606
Bob Alpha1.4.2
Thu Jan 21 03:00:54 2021

(Thank the gods for autosaves!)

1 Like

Thanks for the bug report i really do appreciate it, but the new version i’m working on will be alpha 2.0, it is so drastically different considering i have now touched almost every line of code bringing in the new npcs, that any 1.4.2 bug reports at this stage are useless to me.

So just a little psa, while i do really want bug reports and feedback, please hold off on ones from version 1.4.2 and before.

While i can’t make any promises or an expected date as to when i will be able to release alpha version 2.0, know i am nearing the finish line of development for it. The pieces of the puzzle are all falling into place, the game now not only runs but completes a day cycle although some things are still not in place. Right now a lot of work is going into code optimization to make sure turns don’t take too long. For example eating with the old code from 1.4.2 took ~330seconds for the player and all 3000 npcs(mind you that’s ~.33 seconds per human, in 1.4.2 this only ran for the payer meaning it was not noticeable), now with the re jiggered code it only takes ~1-4seconds for all(lets just say my first attempt after learning python used some really bad and wasteful design choices). There’s a lot of cleanup to do.

9 Likes

Looking forward to it, sir. Wish I could help, but I haven’t done any real coding since college and I never learned Python = P

1 Like

Few random thoughts im looking for feedback on:

  1. Should you be able to try on clothes in the online store, if you vote other please explain.
  • Yes
  • No
  • Other

0 voters

  1. Should jobs require specific clothing?
  • Yes
  • No

0 voters

  1. Only because its already been done in other games, i have so far left it out of the game. Should there be a modeling job?
  • Yes
  • No

0 voters

3 Likes

Honestly surprised at the poll results for the first question about trying on clothes, i had figured id get some others which would be no with suggestions on how to balance the fact that you can’t try on clothes with some sort of system. Just to be clear trying on clothes in store through a day action would still be there, just shopping online from home would have it removed.

My idea was to give the exact clothing size based on their known body measurements, which would be a double edged sward one would be that you could shop online if you knew your body measurements, but you would have to measure your character to know.

1 Like

I mean, i’d say yes with the downside of a return time/policy like most online retailers do for clothes anyways lol

3 Likes

Just my two cents, but to be honest I just voted no seeing as its a little self-evident that you can’t try on clothes before you order them online. Gives the player more incentive to go out and buy them in person, the discount you get in earlier builds doesn’t really entice me like extra functionality can.

Regardless, your thoughts regarding measurements certainly have potential. The idea that your character can buy clothes that are too small because they’re working with outdated measurements is really interesting to me.

4 Likes

I would say just having the mesurements somewhere on the interface to make it so you buy the clothes you need would be nice. Having them be based off your last recorded weigh in would be a nice touch.

1 Like

Ok so seeing the responses to the polls i have come to 3 decisions on these topics:

  1. You won’t get to try on clothes in the online store, there will be tools to help you try and pick the right size.
  2. specific clothing for jobs in version 2.0 will probably not have this implemented yet but its now for sure on my list of things i wanna implement.
  3. I will be adding modeling even though i’m against it, see more about jobs below.

So i know i said earlier i was not going to make it so the npc count be able to be chosen before start of game however after much testing this really wouldn’t work for everyone, memory usage was all over the place. So i have implemented a system to create a specif number npcs, housing, and jobs at start of game based upon the setting in your preferences. This will not allow you to change mid game. However it will allow you to change it before start of the game(loading a save will still not change the count). There are 3 settings for now, i may expand this later(system is in place more about learning what is needed).

Jobs have been completely overhauled to accommodate the npcs and allow for competition. There are now industries, and building. Each building can host multiple different jobs. Each district has different building types it can house. Meaning to get a certain job you must go to that district which has the correct building. The number of jobs in game is finite so npcs can take your beloved job and your forced to wait until they move to a new job. The new system will allow for expansion in the future into how jobs will affect your character. Like giving the managers the ability to set policies in buildings around what type of snacks are available. Or dress code policy. There will be a sex industry that houses the requested modeling job along with other jobs. My plan is that different buildings will prefer different size of models and in order to hold the modeling job your size will have to conform to company policy. This plays into future plans, where you can become the manager and then dictate policy and watch as models(npcs), conform to your policies.

With work experience, while it will remain the same for 2.0, i have plans that experience will be industry specific and will mean that you cant just jump from one industry to the top of another late game.

7 Likes

Amazing stuff as always, really appreciate the focus on autonomy of both the player character and npcs in the world, I think it really adds to the feeling of a living world unlike other games of this ilk.
Not to pester, but is there any particular reason you’re against the modeling job? Beyond being done before, I mean.

1 Like

Well for starters i can’t relate to it so it will be hard to write for. Then we get to its cliche to have it in the game. Also as a job it assumes a great amount of body awareness, and for the purposes of this game would pose a great many hurdles to properly integrating into the game. The biggest of which is modeling is a subjective job when it comes to pay. Remembering that I’m going for realism here, how do i implement valuing the model to be able to pay them. Most games in this fetish work on the assumption that everyone in the world of the game likes fat people and wants to see the model fat or fatter, or as a piece of cake did have a fans system, which after so long gets out of wack due to fan numbers only increasing which would probably not happen in real life, for most models. In order to have a modeling job i fist have to create a proper model thats realistic for paying the model. All the other jobs in this game so far don’t require near the complexity or forethought as to how to do something so simple as determine their pay. What about the context under how most people get hired as a model its not just looks but personality or how they carry themselves, do they have the right appearance on camera. How do i measure that in game or make it such that you can nudge whatever is tracking this in the right direction? Am i painting the picture of how the modeling job is the least clear cut job to implement, from a realistic standpoint.

2 Likes

Thorough as ever, I can understand the lack of desire to add so much work for such an unrewarding system. It’s ultimately your decision to take things in a given direction, but it might be prudent to consider that in any sort of poll regarding content in a game like this, people are always going to vote for more content without consideration for implementation or workload. Just hoping you don’t overwork yourself on things you’re not really interested in for the sake of the mob.

2 Likes

i feel like i know the answer to this but just in case.

How important is saving?
  • very important
  • somewhat important
  • could do without
  • i don’t use it

0 voters

1 Like