2016-10-31

Fucked Up Burger Shack 3.10

3.10 is a rebuild of version 3.9 using a newer version of Unity 5.4.2f2, which seems to have fixed the strange blurry textness. I also added in text resizing to help with readability and such. I kind of did this fast without testing the build, so if anything is horribly broken feel free to leave a comment.

2016-10-30

Fucked Up Burger Shack 3.9 Public Release

Version 3.9 of Fucked Up Burger Shack is now available for download. This update mostly includes fixes for a bunch of issues people brought up, and some other things.

I should also have version 4.10 wrapped up within the next few days.

NOTE: When updating from previous versions, you'll have to move or delete the previous source folder so that the new source can be exported. That's the path for game files set when the game first begins.

2016-10-23

The MILF Problem

I've had my code hat on for the last few weeks. I've added text resizing, copying the current game output to the clipboard, and most importantly I've added nested embeds. Embeds are the only way to describe the Randos that get generated by the system without having to write countless variations by hand. The big problem with the implementation of embeds before was that they could only handle putting simple text in place of an embed call. Now embeds can call other embeds so that I can put descriptions inside of descriptions. This helps out in a lot of ways, but most notably it solves the MILF problem.

I really don't want to go into all the details of it, but basically the babe embed was always outputting MILF/DILF for Randos due to how text gets selected. I've been doing a massive overhaul of all descriptors to use the new embed nesting. I'm still tweaking things, adding word banks, fixing issues and trying to package everything together nicely for the next update.

Here are some exports of the Babe descriptor for a variety of Randos courtesy of the copy output shortcut:

    █ Babe: 'drop dead gorgeous daddy'
    █ Babe: 'bachelors graduated Venus'
    █ Babe: 'confident peach'
    █ Babe: 'big, ripped & shredded goddess'
    █ Babe: 'late twenties, early thirties Venus'
    █ Babe: 'average height, size-zero coquette'
    █ Babe: 'Middle Eastern DILF'
    █ Babe: 'small, small bull'
    █ Babe: 'barely legal fox'
    █ Babe: 'average, average weight siren'
    █ Babe: 'barely legal sex kitten'
    █ Babe: 'Latina seductress'
    █ Babe: 'Native American flirt'
    █ Babe: 'African seductress'
    █ Babe: 'barely legal fox'
    █ Babe: 'Asian Adonis'
    █ Babe: 'early twenties siren'
    █ Babe: 'forty plus cougar'
    █ Babe: 'late twenties, early thirties MILF'
    █ Babe: 'high school educated siren'
    █ Babe: 'middle class Aphrodite'
    █ Babe: 'plain looking siren'
    █ Babe: 'barely legal fox'
    █ Babe: 'stunning arm candy'
    █ Babe: 'stunning Aphrodite'
    █ Babe: 'high school educated baldy'
    █ Babe: 'White gigolo'
    █ Babe: 'mixed race cougar'
    █ Babe: 'tiny daddy'
    █ Babe: 'Native American bull'
    █ Babe: 'average weight, puny vixen'
    █ Babe: 'MILF'
    █ Babe: 'barely legal bull'
    █ Babe: 'barely legal flirt'
    █ Babe: 'normal looking MILF'
    █ Babe: 'average height, bulky bull'
    █ Babe: 'middle class DILF'
    █ Babe: 'Indian gigolo'
    █ Babe: 'college quitting bull'
    █ Babe: 'barely legal boy toy'
    █ Babe: 'barely legal gigolo'
    █ Babe: 'Indian gigolo'
    █ Babe: 'Black flirt'
    █ Babe: 'middle class bull'
    █ Babe: 'siren'
    █ Babe: 'mixed race minx'
    █ Babe: 'Black siren'
    █ Babe: 'average height, very big DILF'
    █ Babe: 'middle class cougar'
    █ Babe: 'femme fatale'

Here is a dump of some other important descriptors:

Rando Description:
    ░ Ass: 'dark chocolate petite heinie'
    ░ Breasts: 'hanging sweater stretchers'
    ░ Pussy: 'dry, youthful twat'
Rando Description:
    ░ Ass: 'Indian petite ass'
    ░ Breasts: 'stacked, soft implants'
    ░ Pussy: 'dark chocolate snatch'
Rando Description:
    ░ Ass: 'White petite booty'
    ░ Breasts: 'barely bouncy, micro itty bitty titties'
    ░ Cock: 'straight, heavy dainty dick'
    ░ Balls: 'perfect, fertile lady grapes'
Rando Description:
    ░ Ass: 'tiny bony derrière'
    ░ Breasts: 'itty bitty titties'
    ░ Cock: '!!Rule Not Found!!, jailbait lady phallus'
    ░ Balls: 'stuffed, sterile lady family jewels'
Rando Description:
    ░ Ass: 'average sized muscular gluteus maximus'
    ░ Breasts: 'bulky chest'
    ░ Cock: '8 inch, cut dick'
    ░ Balls: 'nuts'
Rando Description:
    ░ Ass: 'Black thick keister'
    ░ Breasts: 'naturals'
    ░ Pussy: 'virgin twat'
Rando Description:
    ░ Ass: 'plump, Middle Eastern bubble butt'
    ░ Breasts: 'sporty chest'
    ░ Cock: 'straight phallus'
    ░ Balls: 'rocks'
Rando Description:
    ░ Ass: 'dark brown muscular posterior'
    ░ Breasts: 'average, ripped & shredded chest'
    ░ Cock: 'extra thick big black cock'
    ░ Balls: 'donkey, fertile itchy and scratchy'
Rando Description:
    ░ Ass: 'big, vanilla bubble butt'
    ░ Breasts: 'soft, perfectly sized naturals'
    ░ Pussy: 'White, virgin beaver'
Rando Description:
    ░ Ass: 'dark chocolate thick booty'
    ░ Breasts: 'buxom udders'
    ░ Cock: 'dark chocolate, straight lady pecker'
    ░ Balls: 'fertile, perfect lady grapes'
Rando Description:
    ░ Ass: 'average sized round rear end'
    ░ Breasts: 'lean chest'
    ░ Cock: 'cut, mocha cock'
    ░ Balls: 'loaded, fertile walnuts'
Rando Description:
    ░ Ass: 'Black round derrière'
    ░ Breasts: 'soft, very wiggly naturals'
    ░ Pussy: 'youthful snatch'
Rando Description:
    ░ Ass: 'White badonk'
    ░ Breasts: 'bloated chest'
    ░ Cock: 'gigantic schlong'
    ░ Balls: 'stuffed orbs'
Rando Description:
    ░ Ass: 'Asian muscular ass'
    ░ Breasts: 'bulky chest'
    ░ Cock: 'middle class tadger'
    ░ Balls: 'fertile, picturesque balls'
Rando Description:
    ░ Ass: 'big round ass'
    ░ Breasts: 'soft, barely jiggly boobs'
    ░ Cock: 'solidly thick femme BBC'
    ░ Balls: 'fertile lady grapes'
Rando Description:
    ░ Ass: 'Asian petite ass'
    ░ Breasts: 'muscly chest'
    ░ Cock: 'middle class, !!Rule Not Found!! organ'
    ░ Balls: 'loaded rocks'
Rando Description:
    ░ Ass: 'badonk'
    ░ Breasts: 'overdeveloped naturals'
    ░ Pussy: 'top notch kitty'
Rando Description:
    ░ Ass: 'small muscular ass'
    ░ Breasts: 'bulky chest'
    ░ Cock: 'straight phallus'
    ░ Balls: 'sterile spunk bunkers'
Rando Description:
    ░ Ass: 'small flat bottom'
    ░ Breasts: 'soft, developed, jiggly udders'
    ░ Pussy: 'mixed race, !!Rule Not Found!! slit'
Rando Description:
    ░ Ass: 'vanilla donk'
    ░ Breasts: 'highly underdeveloped cup cakes'
    ░ Cock: 'cut cutie length'
    ░ Balls: 'sterile lady balls'
Rando Description:
    ░ Ass: 'big thick buns'
    ░ Breasts: 'slightly milky, very jiggly, soft udders'
    ░ Cock: 'heavy femme rod'
    ░ Balls: 'fertile lady stones'
Rando Description:
    ░ Ass: 'African donk'
    ░ Breasts: 'impossibly milky, very jiggly naturals'
    ░ Pussy: 'puss'
Rando Description:
    ░ Ass: 'very big wide rear end'
    ░ Breasts: 'soft naturals'
    ░ Cock: 'dark brown lady schlong'
    ░ Balls: 'fertile lady nuts'
Rando Description:
    ░ Ass: 'European muscular booty'
    ░ Breasts: 'barely jiggly, ripe, soft bee stings'
    ░ Cock: 'working class, 9 inch sex'
    ░ Balls: 'little, fertile lady nuts'
Rando Description:
    ░ Ass: 'light brown round ass'
    ░ Breasts: 'big, tight chest'
    ░ Cock: 'rod'
    ░ Balls: 'baby, sterile family jewels'
Rando Description:
    ░ Ass: 'dark brown round buns'
    ░ Breasts: 'soft naturals'
    ░ Cock: 'dark chocolate, perfectly thick femme big black cock'
    ░ Balls: 'lady itchy and scratchy'
Rando Description:
    ░ Ass: 'Latino petite ass'
    ░ Breasts: 'tight chest'
    ░ Cock: 'dick'
    ░ Balls: 'donkey, sterile acorns'
Rando Description:
    ░ Ass: 'Latino petite ass'
    ░ Breasts: 'tight chest'
    ░ Cock: 'dick'
    ░ Balls: 'donkey, sterile acorns'

These are all very much work in progress (notice the !!Rule Not Found!!s, 'average's,) yet I really like the kinds of things this new system can support. A few favs:
  • 'average height, size-zero coquette'
  • 'barely bouncy, micro itty bitty titties'
  • 'dark chocolate, straight lady pecker'
  • 'average sized muscular gluteus maximus'
  • 'big, vanilla bubble butt'
  • 'overdeveloped naturals'
  • 'dark chocolate, perfectly thick femme big black cock'
  • 'mixed race minx'
  • 'buxom udders'
  • 'big, ripped & shredded goddess'
  • 'White badonk'
  • 'impossibly milky, very jiggly naturals' ... I better stop ^_^

2016-10-17

Text resizing


 

I've finally gotten around to adding the ability to resize text in FUBS. It should make the game playable for folks with retina and high DPI displays, and just generally help readability. Text very much blows in Unity, but no turning back now, etc.

2016-10-16

FUBS Modding Part 1: NPC Gender modding

It's about time I write up something about modding Fucked Up Burger Shack. If you read through and follow this nonsense you will have a mod file that will alter the game to produce Randos of different genders at a fuzzy rate of your choosing.

First we need to find the source files that FUBS exports. By default these are at a path like ~/My Games\Fucked Up Burger Shack



Inside the 'Fucked Up Burger Shack' folder there should be a 'source' folder.



That is where we can mess with the game. In version 2.8 you will see two folders inside of 'source', 'FUBS' which has most of the source of the game, and 'RandoEngine' which has the source files for NPC generation and descriptions. In later versions the descriptions are in a third folder named 'Partners'.



Our task is to change the probabilities of genders appearing for the Randos that you run into in FUBS. There are different ways to approach this, so we will start with the easiest, deletion.

Deletion

Navigate to /Fucked Up Burger Shack/source/RandoEngine/Generation/Bio/
and open up the 'Tier 01 Bio Gender.fate' file.



This is a .fate file which is really just a text file. I'll be using SublimeText to edit the file, but any text editing app will work.



So the gibberish at the top of the file between /* and */ on lines 1 to 14 are comments that can be ignored. They are entirely optional.

Line 16 '@contributor p4p @end' is a command to the system that credits the person who worked on the file. This is related to the credits for the game, but for now it can be ignored. It is also optional.

Line 22 marks the start of the first rule in the file. You can think of a rule as a container that defines text to display to the player and commands to run in the system. Rules also have a set of criteria attached that help determine when they will be displayed or run.

Breaking down this line it starts with '::', marking it as the start of a new rule. This is followed by a space (' ') and 'Gender'. Gender is the title of the rule. In this case we won't ever see the title because this rule is only used to set variables rather than display text.

Next there is another space and then a bunch of gibberish between two square brackets, '[rule($R == ^REGenGender && $prefMen == ^yes)]'. The meaning of this stuff is to say that this rule applies when the variable '$R' is equal to the value '^REGenGender', and the variable '$prefMen' is equal to '^yes'. Notice that '==' means is equal to and each of these statements is separated by '&&'.

So elsewhere in the game when we are looking for rules that can set gender, we use a command that sets the variable '$R' to '^REGenGender' and the system will return one matching rule. When playing, the preference for if you will fuck/be fucked by men also sets the variable '$prefMen' to true or false (yes or no) behind the scenes. Boolean values have different representations for whatever reason, so true can be written as '^yes', '^true', '1', and false may be written as '^no', '^false', '0'.

Line 23 is where the body of this rule starts. The '>' character marks the start of a command. This gives an instruction to the system to do something. In this case we are using 'set' which assigns a value to a variable. This set command will give the variable '$REGenderBiological' the value '^biologicalMale'. Notice that a single '=' is used for assignment.

Line 24 is another set command that assigns the value ^male to a different variable '$REGender'. FUBS uses these two variables along with many others during generation to build random NPCs. Looking forward in the file we see two other rules for women that follow the same format, but assign different values for the '$REGenderBiological' and '$REGender' variables.

Back to the major point here, we want to modify the game by deletion. So if we were to delete this file, when the game does a search for a rule where '$R' is equal to the value '^REGenGender', it will never find anything. This would lead to an error and generally be bad. Instead we can just delete at most two of the three rules if we wanted. For example, we could eliminate men and trans women by deleting their rules (lines 22 to 32).



Keep in mind that in the case that we have deleted the men and trans women rules, and the player does not set the preference for fucking women or being fucked by women, the game will have an error because the criteria of the women rule are not met. In other words '$prefWomen == ^yes' must be true for the rule to be selected. To fix this we can just remove that criterion (by deleting '&& $prefWomen == ^yes' in line 23) and ignore the players preferences completely.



Rules at minimum require a single criterion for the '$R' variable, which determines when the rule will be used. Looking at the original version of this file, each of the three rules have an equal chance of being selected at random since they all have two criteria. During a game the system does a search of all defined rules and will select the best possible match, or if multiple rules match the system will randomly pick one. By default this means you have an equal likelihood of encounter men, women, and trans women.

The best possible match is determined in part by number of criteria, so more criteria will always beat less. The system uses priority, but more on that later. When multiple rules match, weighting comes into play.

Weighting


In previous versions of FUBS I used weighting to determine how frequently players could encounter men/women/trans women in the game. 'weight' is another command that we can include in the body of a rule to help the system pick from several possible rules. A greater weight means greater likelihood that a rule will be selected. By default rules are defined with a weight of 1.

So now lets add this command to weight the three gender rules.

> weight 1000




I don't think of weighting as an exact science, it's more about what seems right where many rules potentially exist. In other words, I couldn't give you an exact probability of a rule being selected using weights, but a rule with weight 1000 will be selected nearly always compared to rules with the default weight 1. Over time I've moved towards the AFCOR concept from biology for weighting (https://en.wikipedia.org/wiki/ACFOR).

A – The species observed is "Abundant" within the given area.

> weight 1000
C – The species observed is "Common" within the given area.
> weight 750
F – The species observed is "Frequent" within the given area.
> weight 300
O – The species observed is "Occasional" within the given area
> weight 100
R – The species observed is "Rare" within the given area.
> weight 1
It's tempting to give super big numbers for weights, or negative values, but they either won't work or will fuck things up.

I am guessing that most players have a particular ratio they'd like for how frequent different genders appear, even if it is just to emulate population statistics, so weighting effectively allows this. But having changed the file, it is a problem to have to redefine these rules across game updates, so this is where priority can help.

Prioritizing


When FUBS is updated you have to delete the previous source folder so that the new source can be saved in it's place. Yeah that's kind of tedious (it's on my list), but more importantly if you do make changes to the source you would probably not want to redo them each time. One solution to this is to make your own .fate files and use prioritized rules where needed.

Taking the weighted gender rules from before, lets copy the entire file into a new .fate file. I created a new folder under 'source' and named it 'My Stuff', then created a file .fate named 'Gender stuff.fate'



Now when I update the game I can just move 'My Stuff' to a safe location, delete the old source, and add 'My Stuff' back after the new source has been copied in.

At this point the game would have six gender rules to choose from. Depending on the weights used it is probably more likely that the weighted rules will be selected, but we can use the 'priority' command to enforce it.

Just as it sounds, the priority command will prioritize a rule above others during selection. It looks a lot like the weight command and by default all rules start with a priority of 1. Add the following command to your custom rules.

> priority 2



Again you shouldn't add negative priorities or add super big numbers for priority.

So here is a summary of what the system will now do:
  1. First it will search for rules where '$R' is equal to the value '^REGenGender'.
  2. It finds six rules (three from the original file and three from our mod file).
  3. It keeps the priority 2 rules, but discards the original rules with the implied priority of 1.
  4. Each of our rules has the same criteria count so they will all be evaluated.
  5. If the player has enabled all of the genders ($prefMen == ^yes, $prefTransWomen == ^yes, $prefWomen == ^yes) then all three rules are available for selection.
  6. The odds of each rule being selected are in the favor of trans women, women, and then men, since the weights are set as 1000, 750, and 300 respectively.

And there you have it. You now have a mod file that will alter the game to produce Randos of different genders at a rate of your choosing. This is the first post I've made like this so hopefully it isn't a complete mess.

Here is a copy of the final file https://mega.nz/#!lR8WAAaS!7XO6LEyWhBZLKNRDY663mO9MX7bAwZD_F5qZDNSbbSU

2016-10-09

Fucked Up

Something is broken in FUBS, I have no idea what it is, but I'm carrying on anyway.

This week I was working on a new chikan event. Thing is, the feeling of groping an absolute stranger's ass deserves an accurate and detailed description. Something like this:

'Admiring how the lean babe's skin tight yoga shorts accentuate her bubble butt, you brazenly squeeze her ass cheek with your hand, delighting at the soft feel of cotton and ass flesh.'

That kind of thing is important, so I went through all of the upper/lower clothes and underwear that Randos wear and added new stats to them for things like fit, exposure type, texture, fabric, fun bits coverage, etc. After painstakingly defining these things for like 100+ items, I opened up the game to test it and the screen froze on the debug page.

After a bunch of tinkering with the source I couldn't find the problem, so I just rolled back the changes but the error was still happening. Then I fiddled with the code for the game to try and see if I could spot something, but came up short.. Just as I was ready to write a post about burning everything to the ground, I tested the game one more time and the freeze was mysteriously gone -_-.

So something horrible is definitely lurking in the source of FUBS or the code that runs it, but I have no idea where or what is. I'm not going to worry too much about it because I don't want to sink time into it. I have lewd to write!

2016-10-03

Fucked Up Burger Shack 3.9

Finally an update ... and it's mostly bug fixes. I suppose fixing issues is important, but September was a real drag for me. I like pretending everything works 100% so that I can continue adding things, but then people find issues here and there and I'm all like making tasks lists and junk. I want to spend my time writing Chikan, not doing Kanban! I honestly can't even bring myself to write about all the bug fixes, so here is the halfhearted change list.

Version 3.9
Features
    • General
        - Added debug links to test story events
        - Added location Sex Shop
    • Events
        - Added SIM 01
        - Added RANDO 02 sauce failure path
        - Added RANDO 05 auction
    • Randos
        - Added Ass Shape generation based on weight, muscularity, race, etc. and updated ass descriptions.
        - Added Cock Curvature generation
        - Added preference for hormone levels in order to generate more pleasing Rando's
     
Changes
    • Events
        - RANDO 03 remove cum farting line
    • Randos
        - disable MILF/DILF babe descriptions for better balancing
        - increase hair length for feminine men

Improvements
    • General
        - Update to Unity 5.4.1
        - Increased scroll sensitivity
    • Events
        - DAY 1 Add fast option select instructions
        - REM 03 "You are such a dirty." statement was vague.
    • Randos
        - Flatten the odds of babe descriptions for more variation

Fixes
    • General
        - prevent depositing and withdrawing negative or zero values from the bank because apparently that's something cubano tried -_-
    • Events
        - RANDO 02 "on pants" typo
        - RANDO 02s fix trans woman content
        - RANDO 03 added missing stat bars on event exit
        - RANDO 03 fix trans woman content
        - REM 01 dead link
        - REM 03 rule name conflict causing loop
    • Randos
        - womb description fertile typo


This is also the first release that I'm putting on Patreon before making it public. I'm hoping folks won't mind this too much, since 3.9 doesn't have much new stuff... okay there is something kind of nice, but it's nothing major at all >_>. Next release things will be more balanced since I'll have something to make public along with the Patreon early access.

My goal for October is to focus solely on events. All of the events. I want to get to the point where every work action leads to something lewd. All of the lewd. I have a bunch of fleshed out plans for scenes, and I shouldn't have to mess around with Rando generation or descriptions to get them done. Of course, my plan for 2.9 was to just do bug fixes, then it all piled up and I ended up adding the curved cocks and stuff just to ease my mind.

Oh and as for the worst of the bugs, the mysterious memory leak, I can only hope that it was related to something in Unity itself. I've updated to a newer version of the Unity Editor that has supposedly patched some memory leaks. Hopefully this is the root of the issue, but I honestly don't even know.