This guide will walk you through the steps necessary to successfully create a Bar Girl mod.
It it assumed that you are:
- somewhat comfortable reading and editing code
- mostly comfortable editing photos and videos
- going to download the template or use the mod tools site
Getting Started
Some things to consider up front.
- The majority of content for a Bar Girl consists of having a “black version” and a “white version”, so when researching sources for content, you’ll want to source both “bbc” and “bwc” content.
- Since Bar Girls can react both positively and negatively to your interactions, there are often 3 versions of images. For Happy, Unhappy, and Normal. (See the file list for specifics).
Files
Bar Girls consists of:
- Media Files
- The media files are the images and videos of the bar girl, which match the various scenarios within X-Change Life.
- Twee File
- The twee file is written in a Twine/Harlowe 3 format. It contains the main code for the mod, in the form of “passages”, that allow the game to find and display your media files.
Template
You can either download the template and fill in your own values or you can use the community hosted mod tools.
Images
When searching for images, look for professional photoshoots and try to source those from sites that uses the full resolution images (something like 3000×2000 instead of a rescaled 900×600). Starting with a higher resolution source will give you the creative freedom to crop out unwanted sections and allows for easier editing and/or image processing.
Dimensions:
- Square images: 540×540
- Landscape images: 960×540
- Portrait images: 540×960(vertical)
- All images are
.jpg
Effects
The cartoon effect on images comes from an iPhone/Android app called Prequel. The filter is called Cartoon+ Ai. Unfortunately there is not a desktop version of this, and as of currently (0.21), we do not have a reliable PC workaround. Several modders have tried to find a solution but Prequel provides such a unique look that is too difficult to replicate elsewhere.
File List for Images:
File Path | Naming Structure | Dimensions | Description |
img/npc/girls/<character_id> | bar_happy.jpg | 16:9 (960×540) | Displayed in the middle screen when the character interacts with that npc positively at the bar. |
img/npc/girls/<character_id> | bar_icon.jpg | 9:16 (540×960) | Displayed in the middle screen when the character chooses what npcs to interact with. Seen as one of a set of three originally. |
img/npc/girls/<character_id> | bar_normal.jpg | 16:9 (960×540) | Displayed in the middle screen when the character interacts with that npc at the bar. |
img/npc/girls/<character_id> | bar_unhappy.jpg | 16:9 (960×540) | Displayed in the middle screen when the character interacts with that npc negatively at the bar. |
img/npc/girls/<character_id> | portrait_bj_bbc.jpg | 1:1 (540×540) | Displayed in the top right when the npc gives the character a blowjob and the character has the race black. |
img/npc/girls/<character_id> | portrait_bj_bwc.jpg | 1:1 (540×540) | Displayed in the top right when the npc gives the character a blowjob and the character has any race other than black. |
img/npc/girls/<character_id> | portrait_cum.jpg | 1:1 (540×540) | Displayed in the top right when the character has cum on the npc. |
img/npc/girls/<character_id> | portrait_happy.jpg | 1:1 (540×540) | Displayed in the top right when the character interacts positively with the npc. |
img/npc/girls/<character_id> | portrait_sex.jpg | 1:1 (540×540) | Displayed in the top right when the character interacts sexually with the npc |
img/npc/girls/<character_id> | portrait_unhappy.jpg | 1:1 (540×540) | Displayed in the top right when the character interacts negatively with the npc. |
img/npc/girls/<character_id>/strip | 1 1.jpg | 9:16 (540×960) | Displayed in the middle screen when the npc strips. There are three images, progressively removing clothing. |
img/npc/girls/<character_id>/strip | 1 2.jpg | 9:16 (540×960) | Displayed in the middle screen when the npc strips. There are three images, progressively removing clothing. |
img/npc/girls/<character_id>/strip | 1 3.jpg | 9:16 (540×960) | Displayed in the middle screen when the npc strips. There are three images, progressively removing clothing. |
img/npc/girls/<character_id>/sex/orgasm | doggy.jpg | 16:9 (960×540) | Displayed in the middle screen when the npc orgasms in the doggy position. |
img/npc/girls/<character_id>/sex/orgasm | missionary.jpg | 16:9 (960×540) | Displayed in the middle screen when the npc orgasms in the missionary position or as a consequence of oral sex. |
img/npc/girls/<character_id>/sex/orgasm | riding.jpg | 16:9 (960×540) | Displayed in the middle screen when the npc orgasms in the cowgirl position. |
img/npc/girls/<character_id>/sex/post | bad.jpg | 16:9 (960×540) | Displayed in the middle screen after sex if the npc is unhappy after sex – typically as a result of a creampie if the npc has the “no pill” trait or 0 orgasms during sex. |
img/npc/girls/<character_id>/sex/post | good.jpg | 16:9 (960×540) | Displayed in the middle screen after sex if the npc is happy after sex – typically as a result of 2 or more orgasms during sex. |
img/npc/girls/<character_id>/sex/post | normal.jpg | 16:9 (960×540) | Displayed in the middle screen after sex if the npc is neither happy nor unhappy after sex – typically as a result of 1 orgasm during sex. |
img/places/club/dancers | <character_id>.jpg | 16:9 (960×540) | Displayed in the middle screen when the npc dances at the club. |
Videos
The length of a clip can vary, but you’ll typically see 15-30 second clips. You may see shorter or longer, depending on the modder and the clip. As a general rule, if something is really hot, but outside the length suggestion, go ahead and include it anyway.
Dimensions:
- 540×960 / 432×768*
- All videos are
.mp4
Videos in the base game are 540×960, however the displayed media is limited to your monitor resolution. *A lot of modders opt for a smaller 432×768 size, in order to optimize the size of their mod. If file size is not a concern, stick to 540×960. You could even opt to go higher and use a 720p resolution, however users without a 2k or 4k monitor won’t be able to see the full resolution. It could also affect performance as the videos are streamed from the user’s local files on a loop. You can use a free desktop program called “Handbrake” to convert/compress/export your video. Ask in the discord about handbrake settings, there is a template 🙂
Effects
The cartoon effect on videos comes from an iOS app called Clip2Comic, with lines and blackness turned all the way down, and details all the way up.
You can achieve a similar effect on desktop video editors using a “posterize” effect. In DaVinci Resolve, it is in the Effects tab -> Templates -> Fusion -> Looks -> Posterize AFTER you add Brightness/Contrast node. In Adobe Premiere Pro, it is under Video Effects -> Stylize -> Posterize
Prequel technically handles video as well, but it doesn’t always turn out well.
Mapping
As it stands now, if your type of selection during sex scenes is “rough” the file ending in 2 will be the one that plays. Normal or otherwise will play the version ending in 1. The exception to this is blowjobs – there are no options to choose in relation to blowjobs, so there is no “rough” option. Instead, the 1 relates to an earlier stage and 2 relates to a later one. The rest is hopefully self-explanatory. Utilize the existing Bar Girls (Leah, Harley, etc) for examples.
File List for Videos:
File Path | Naming Structure | Dimensions |
img/npc/girls/<character_id>/sex/bbc | pull out.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | bj 1.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | bj 2.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | breasts.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | cum face.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | cum tits.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | doggy 1.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | doggy 2.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | insert doggy.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | insert missionary.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | insert riding.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | kiss clothed.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | kiss naked.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | licking.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | missionary 1.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | missionary 2.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | riding 1.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bbc | riding 2.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | pull out.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | bj 1.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | bj 2.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | breasts.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | cum face.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | cum tits.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | doggy 1.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | doggy 2.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | insert doggy.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | insert missionary.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | insert riding.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | kiss clothed.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | kiss naked.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | licking.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | missionary 1.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | missionary 2.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | riding 1.mp4 | 16:9 (960×540) |
img/npc/girls/<character_id>/sex/bwc | riding 2.mp4 | 16:9 (960×540) |
*Quick note about the “pull out” files. In the base game, there is only 1 pull out file. I’m not sure if this was due to content issues or a leftover artifact from a previous iteration, but regardless the template includes a workaround to include two (one for bbc and one for bwc). So if you are using a base girl as a means for comparison, that is one difference that you will notice in the files. If you follow the file structure listed above, in conjunction with the template, then you will be fine to include both.
Audio
Most of your audio can simply be extracted from the videos that you end up using. You may have to hunt around for specific media though. It should be noted that most audio files are tied to the race of the character (bwc or bbc). The exception is for orgasms – which have two audio files that are chosen at random.
File List for Audio:
File Path | Name Structure |
aud/se/sex/<character_id>/loops/bj | <character_id> bbc.mp3 |
aud/se/sex/<character_id>/loops/bj | <character_id> bwc.mp3 |
aud/se/sex/<character_id>/loops/riding | <character_id> bbc.mp3 |
aud/se/sex/<character_id>/loops/riding | <character_id> bwc.mp3 |
aud/se/sex/<character_id>/loops/doggy | <character_id> bbc.mp3 |
aud/se/sex/<character_id>/loops/doggy | <character_id> bwc.mp3 |
aud/se/sex/<character_id>/loops/missionary | <character_id> bbc.mp3 |
aud/se/sex/<character_id>/loops/missionary | <character_id> bwc.mp3 |
aud/se/sex/<character_id>/loops/licking | <character_id> bbc.mp3 |
aud/se/sex/<character_id>/loops/licking | <character_id> bwc.mp3 |
aud/se/sex/<character_id>/orgasm/cum | <character_id> bbc.mp3 |
aud/se/sex/<character_id>/orgasm/cum | <character_id> bwc.mp3 |
aud/se/sex/<character_id>/orgasm/orgasm | <character_id> 1.mp3 |
aud/se/sex/<character_id>/orgasm/orgasm | <character_id> 2.mp3 |
aud/se/sex/<character_id>/penetration | <character_id> bbc.mp3 |
aud/se/sex/<character_id>/penetration | <character_id> bwc.mp3 |
Using the Template
The template is set up in a way for you to be able to edit and insert your own information. It’s somewhat randomized, but if you’re prefer to manually set the girl’s information you can do that instead.
Be sure to replace “characterid” with your bar girl’s name, as well as ensure the paths are correct. If your IDE allows you to “find and replace”, that would be the easiest way.
Credits
Huge thanks to badrabbit for literally carrying all the bar girl work load up until it was integrated in 0.21. I’ve poured over his examples to come up with this guide, so huge thanks are due to them!