Unreal Engine Indecent Exposure [Development Thread]

Cyamus

Newbie
Apr 17, 2020
32
25
Hey everybody. I'm currently developing an adult open world action adventure game called Indecent Exposure. It's inspired by Grand Theft Auto and Real Life Sunbay. You play a male MC. You have a childhood friend who you used to do small-time crime with when you were younger until you got caught. After serving some time, you decided to go clean and your friend eventually moved to the city of New Leben. After some years, you reconnect with him and he convinces you to fly out to New Leben.

That's basically it for now. I'll figure out the rest as I implement things as it'll go hand in hand with the story. I'm shooting for a GTA-like story with shootouts, car chases, heists, etc. It'll be made in Unreal Engine and I'll be using Daz models for the main characters and any NPC's that's sexually interactive. I'm a programmer and I've been learning and experimenting with Unreal Engine for over a year now. I feel good enough to tackle this project and any future obstacles that will arise. Gameplay will naturally be my focus.

Keeping up with wegs over the years, it's been surprising to see some of the things that are successful. With Real Life Sunbay, I'm quite surprised at how successful it is with seemingly very simple mechanics. I like money and I want to give it a go. I mean how hard could it be? The game is still very early on, but I wanted to start a development thread to keep myself accountable and show off things as I make progress. Also, any thoughts on what you'd like from the game would also be great to hear as it gets developed.

Progress so far:
I've spent the last few weeks figuring out the Daz to Unreal workflow and I finally did it last week. That was pretty much the only unknown that would have prevented me from making this game. Now that I figured it out, I feel like the rest of development will be pretty steady progress. Right now I've got the main character in the game and a girl character. The main character has animations for basic movement. I've got the weapon system in place. I've got one test doggystyle animation added. I also have some clothing in, but that wasn't shown in the following video.


Long-Term Roadmap:
  • Story and Missions
  • Heists and crime for both story and non-story gameplay
  • Multiplayer
  • Lots of sex scenes
  • An immersive world with more stuff added as time goes on
  • Character customization
  • Fun gameplay loops like store robberies or heists
Near Term Priorities:
  • Story Introduction / First Mission
  • Vehicles and driving
  • Vehicle Repossesion to earn money
  • First alpha of the world level
  • Pedestrian and Traffic AI
  • Enemy combat AI
  • A playable demo
I'm planning on the first mission being a vehicle repossession mission. Driving is my current priority which I should get in very soon so that naturally connects. It's also an easy first gameplay loop.
 

Cyamus

Newbie
Apr 17, 2020
32
25
So I got the vehicle code in. A little bit of work needs to be done for having the player character go up to a card and start driving, but the car itself is playable now. It can also hit other people and ragdoll them. There's not a standing up animation right now because that's a bit more low priority work. I feel like the ragdoll is good enough for now. Getting in and out of vehicles should be in tomorrow. That should be quick and I plan on working on designing the world level after that.
 

Cyamus

Newbie
Apr 17, 2020
32
25
Here's a quick drivethrough of the city I have so far. I haven't placed any buildings of interest with interiors yet, but I plan to. There's an Unreal marketplace sale right now so I'll planning to pick up some stuff. Some buildings have gaps right now, but that is something I'll get to fixing. I've outlined the map into 3 sections with a city area, a suburban neighborhood area, and then a rural foresty enivronment. I haven't added the suburbs yet which I plan to do soon. I tried to keep the city small and not get too crazy especially at this stage.
 

Cyamus

Newbie
Apr 17, 2020
32
25
This took a while for a variety of reasons. Was still figuring out workflow, figuring out annoying fundamental stuff, first time actually trying to close out a build, etc. There was a lot of learning in the last month even in the last few days as I had a last minute issue. It's rough looking right now, but I hope things get better over time. Hadn't figured out completely morphs / expressions until recently so characters are pretty stiff right now among other things. I was hoping to post more updates, but this boring grunt work got in the way and took my focus.

If anyone's curious about this last issue, I use the Matrix Demo / City Sample assets for the city part of the map. I had a seemingly obscure issue though of materials / shaders having too many SRVs past the limit of 64 and not compiling properly. This caused the materials to use a default one which made all the related meshes like buildings and roads to appear grey instead of how they're supposed to look. Supposedly 128 SRVs should be the limit, but that might be only available when hardware raytracing is enabled and not software lumen, but I tried that and it still didn't fix it. I just simplified the problematic materials so that it wasn't even an issue. I'm on Unreal Engine 5.3.2 so maybe updating would fix it, but the City Sample Project compiled them just fine, so it doesn't feel like an engine issue.

This update is more of a tech demo. There's not much content. Just 2 missions, a basic vehicle repo activity for money, and a strip club that you can pay to see Vicky dance nude. It's a bit over 15gb right now. You're going to need Windows 10 or above, 2-3gb of ram. From my testing, low to medium preset uses 4.8gb of VRAM and high uses 5.9gb. This is because of a lot of 4k textures. I should be able to cut that down in the future. But besides that, I'm not really sure on the requirements. Your mileage may vary.

Controls should be natural. WASD to drive and move around, left shift to run, space to jump, left click to punch, M to open / close your map. To progress dialogue though, you need to press the X key. I forgot to put that in the settings, but I'm telling you here. Press P to pause the game, ESC should work too. Camera system when you do Vicky's mission should be self explanatory.

Just a heads up, if you get a firewall message when playing, the game technically runs as a listen server host meaning you're technically hosting a LAN game. Doesn't mean it's multiplayer ready, but for parts of the code, I'm coding as if it was a multiplayer game and the code wouldn't work properly if it ran in standalone offline mode. Doing things this way makes it easier for me down the line to add multiplayer. You can just deny the request and the game will run fine. Block it with your firewall, turn off your internet, run it in an offline VM, whatever, it doesn't need an internet connection to play.

Next Update:
  1. Car radio stations
  2. Weapons, specifically pistols
  3. Another main mission where you use these weapons
  4. Another Vicky mission and a new scene with her
  5. Traffic AI
  6. Pedestrian AI
Download: Link expired. Look out for the next update!

Attached some photos of the game too.
 
Last edited:

Cyamus

Newbie
Apr 17, 2020
32
25
Okay so I got the pedestrian stuff in. For various reasons, it's going to be pretty limited. The biggest reason is that world partition and navigation meshes are kinda broken at least for Unreal Engine 5.3.2. It only loads one nav chunk at runtime even though 2 were generated. Tried some fixes, didn't work. 5.4 might've fixed it. I've held back going to 5.4, but if 5.5 is good, I'll try updating to that. The alternative for nav meshes would be to use invokers, but they're heavy on performance. So for right now, there's going to be 10 pedestrians spread throughout the city. They're still kind of heavy so I used an NPC optimizer. In the video, you can see the pedestrian start jittering at the end since it's much farther away from the player. There's more and probably less noticeable optimizations I could do, but this was easiest and I think it's fine for now.
Gonna work on pistols next.
 

Cyamus

Newbie
Apr 17, 2020
32
25
Alright, here are the pistols. Feels complete to me. The video shows visual and sound effects, equip / unequip animations, and camera zoom for aiming. They're also hitscan if you're curious. Haven't planned out the next main story mission shootout yet, but it's been on the back of my mind. I think I'll be adding a gun store this update to buy the pistols. Right now, I'm moving on to traffic AI and radio stations. In terms of sexual scenes for the next update, the plan is one heavy petting scene and one sixty nine scene. I'm hoping by this point though that it'll feel more like a real game since you can do normal GTA stuff of driving around and shooting NPC's.
 
May 9, 2023
101
97
Okay so I got the pedestrian stuff in. For various reasons, it's going to be pretty limited. The biggest reason is that world partition and navigation meshes are kinda broken at least for Unreal Engine 5.3.2. It only loads one nav chunk at runtime even though 2 were generated. Tried some fixes, didn't work. 5.4 might've fixed it. I've held back going to 5.4, but if 5.5 is good, I'll try updating to that. The alternative for nav meshes would be to use invokers, but they're heavy on performance. So for right now, there's going to be 10 pedestrians spread throughout the city. They're still kind of heavy so I used an NPC optimizer. In the video, you can see the pedestrian start jittering at the end since it's much farther away from the player. There's more and probably less noticeable optimizations I could do, but this was easiest and I think it's fine for now.
Gonna work on pistols next.
looking great so far! I snagged this up during one of UE's monthly giveaways and used this plugin for npc/pedestrians, and it's very good, since Ionly need them for cosmetic purposes.



Not sure if it can be modified/built upon if you require more dynamic behavior such as running away from the player or other actions.
 

Cyamus

Newbie
Apr 17, 2020
32
25
I got a simple speedometer in. I also think I figured out how I want to design the shootout mission. I'm trying to figure out what enemy character models I'll use.
Speedometer.png

looking great so far! I snagged this up during one of UE's monthly giveaways and used this plugin for npc/pedestrians, and it's very good, since Ionly need them for cosmetic purposes.



Not sure if it can be modified/built upon if you require more dynamic behavior such as running away from the player or other actions.
Thanks. I came across your thread a while back when checking out development threads. Your project's looking pretty cool too.

I actually have that asset as well lol. I have 3 optimized / optimizer npc assets that I got from UE's monthly giveaways. I'm using NPC Optimizator because it was a component I could just throw on my NPC's and the features seemed to be comprehensive and all the things you would do to optimize them. I figure at worst though they're all more or less the same.

I've only tested pedestrian performance in editor on High preset, but even in editor, spawning like 80 NPC's throughout the map with them not doing anything brings it from 90-100fps average to 65 fps. 15fps of which is because of having randomized characters rather than one fixed character. Using City Sample assets is probably pushing things already on top of having a bunch of empty draw calls. Nanite skeletal meshes will probably bring a decent boost in FPS for NPC's to help that. In a future update, I'll make AI density a slider I think, but not right now. Like I said in an earlier post, invokers are super heavy with that many actors and they're my only option right now. After this next update, I'll look into 5.4 or 5.5, if it's out by then, which I've read have the nav mesh stuff fixed so that I can stop using invokers.
 
May 9, 2023
101
97
I've only tested pedestrian performance in editor on High preset, but even in editor, spawning like 80 NPC's throughout the map with them not doing anything brings it from 90-100fps average to 65 fps. 15fps of which is because of having randomized characters rather than one fixed character. Using City Sample assets is probably pushing things already on top of having a bunch of empty draw calls. Nanite skeletal meshes will probably bring a decent boost in FPS for NPC's to help that. In a future update, I'll make AI density a slider I think, but not right now. Like I said in an earlier post, invokers are super heavy with that many actors and they're my only option right now. After this next update, I'll look into 5.4 or 5.5, if it's out by then, which I've read have the nav mesh stuff fixed so that I can stop using invokers.

Is each npc using the tick event? that is a drastic drop in performance, for a number that doesn't feel like a lot of npcs. I tried using a system that spawned/despawned actors based on distance to player character, and found some success with that.

In regards to nanite, my limited experience as shown nanite to be more trouble than it's worth. the added complexity(and file size) of needing to maintain compatibility wasn't worth it in my case, and I'm using highly decimated versions of most meshes for most static meshes. Same thing with lumen if i'm being honest.

by the way, my discord is spiteworks, I'd love to talk game dev more extensively if you're interested<3
 

Cyamus

Newbie
Apr 17, 2020
32
25
I added songs that you can scroll through and listen to while driving.

Is each npc using the tick event? that is a drastic drop in performance, for a number that doesn't feel like a lot of npcs. I tried using a system that spawned/despawned actors based on distance to player character, and found some success with that.

In regards to nanite, my limited experience as shown nanite to be more trouble than it's worth. the added complexity(and file size) of needing to maintain compatibility wasn't worth it in my case, and I'm using highly decimated versions of most meshes for most static meshes. Same thing with lumen if i'm being honest.

by the way, my discord is spiteworks, I'd love to talk game dev more extensively if you're interested<3
They use behavior trees, but it's really just moveto or a wait task. For a that spawn and do nothing test I described earlier, I just had the behavior trees waiting for 200 seconds which should just mean nothing's ticking. The performance numbers I gave was just in editor and maybe it's not so bad when packaged. That last time I tested a package build, the CPU thread was only 2ms, so if it is a problem, I doubt it would be tick. I'm just erring on the side of caution because I don't package too often. The optimization component for the NPC's really does a lot of good optimizations, so I'm hoping it's just an editor thing.

As for Nanite, I like the technical aspects of how Nanite works and I feel like it should be game ready. I'm also using City Sample assets and using different marketplace assets which would probably make optimization harder without nanite for an open world game. Anything like a GTX 1060 or better can run the UE5 / City Sample project which I feel is fine. I want to use UE5 and it seems like it's just best to use the whole stack of Nanite + Lumen + VSM.

Yeah I'll hit you up on discord hopefully soon. I gotta make a discord.
 
Last edited:

Cyamus

Newbie
Apr 17, 2020
32
25

So I got the traffic logic in there. It uses Chaos vehicles just like the cars that the player can drive. It just gets the road spline that it's assigned and maintains a 20mph speed. It automatically steers based on a point ahead on the road based on how fast the car is going. The black debug boxes in the video are the points on the road spline ahead that it's calculating.

I also converted the sedan car, which is already in the game, into an empty skeletal mesh with nanite static meshes attached. Should be more performant. Wheels don't turn though so I'm not sure if I'll completely switch to it. Traffic definitely will for performance, but for the player, might do something like swapping the vehicle with the one that can turn its wheels whenever you get in a car.

The turning isn't perfect and, similar to Sunbay, I'm just going to disable collision on these for now. These cars are just going to drive around, no stoplights or anything yet. I don't think I'll do it for this coming update.

The only things I have left for this next update is the 2 missions planned and a gun store or somewhere to buy guns.
 

Artemissu

Member
Sep 17, 2021
492
635
Thank you for this project! You don't need to be too ambitious for it (although that would certainly be nice lol), just let us walk/drive around a huge city and shag any NPC we can. Basically Two Horns but Unreal Engine 5.

A punishment system would also be welcome, even if simple. If we can simply walk up to any NPC and bang them without any consequence, it would eventually get old. Part of the fun of Two Horns and modded The Sims 3 is to do your evil stuff while also avoiding the authorities.

The rest (heists, story missions, side-activities and the like) would be welcome, but wouldn't be necessary (imo) to make it a great game
 
  • Like
Reactions: letsgethappy

Cyamus

Newbie
Apr 17, 2020
32
25
Thank you for this project! You don't need to be too ambitious for it (although that would certainly be nice lol), just let us walk/drive around a huge city and shag any NPC we can. Basically Two Horns but Unreal Engine 5.

A punishment system would also be welcome, even if simple. If we can simply walk up to any NPC and bang them without any consequence, it would eventually get old. Part of the fun of Two Horns and modded The Sims 3 is to do your evil stuff while also avoiding the authorities.

The rest (heists, story missions, side-activities and the like) would be welcome, but wouldn't be necessary (imo) to make it a great game
Thanks. It's not a bad idea to make random npc's fuckable. I just don't know if I can make that fun plus the map isn't really that good. It feels more game designy which I think would be hard for me to tackle. I'm not really creative. I'm doing the other stuff because GTA style gameplay feels straightforward. Never heard of Two Horns, but it looks cool. I'll check it out. Maybe it'll give me ideas.
 
  • Like
Reactions: Artemissu

Artemissu

Member
Sep 17, 2021
492
635
Thanks. It's not a bad idea to make random npc's fuckable. I just don't know if I can make that fun plus the map isn't really that good. It feels more game designy which I think would be hard for me to tackle. I'm not really creative. I'm doing the other stuff because GTA style gameplay feels straightforward. Never heard of Two Horns, but it looks cool. I'll check it out. Maybe it'll give me ideas.
I see. Be sure to check out Two Horns though, it's basically a sidescroller GTA with sex, which is why i thought it was relevant as a comparison. But if shagging NPCs won't be possible, that's okay too! Maybe you could make the sexy time a separate game mode (i.e. you go to your safehouse to rest a bit, and you can call for a girl to show up), and treat it as a Koikatsu/Honey Select-like minigame. That could work too.
 

Cyamus

Newbie
Apr 17, 2020
32
25
I see. Be sure to check out Two Horns though, it's basically a sidescroller GTA with sex, which is why i thought it was relevant as a comparison. But if shagging NPCs won't be possible, that's okay too! Maybe you could make the sexy time a separate game mode (i.e. you go to your safehouse to rest a bit, and you can call for a girl to show up), and treat it as a Koikatsu/Honey Select-like minigame. That could work too.
To be clear, it'd be easy to make NPC's like pedestrians that you could just talk to and fuck, but I just don't know if I can make that feel fun. Sex scenes will definitely be replayable. The plan will be that you can initiate sexy time with a character and then you'll be able to select the animations you've unlocked for each character using a UI like how illusion games do it.
As for a separate game mode, that's a good idea. I haven't tried to really light scenes. There's some lighting presets that I found that are really good and make it look like an actual Unreal Engine 5 game. I haven't gotten around to working them into the game though. For a whole separate gamemode, that would be a straightforward copy paste. I'm still working on the foundation of the game though so it hasn't been my priority yet. I think after this next update, I'll have a foundation that I'm satisfied with to do things like that.
I downloaded Two Horns. I like the art style so I'll definitely play it when I have time.
 
May 9, 2023
101
97
Wheels don't turn though so I'm not sure if I'll completely switch to it. Traffic definitely will for performance, but for the player, might do something like swapping the vehicle with the one that can turn its wheels whenever you get in a car.
I don't remember where i saw it from originally, but you could place a flipbook on the tire mesh to give the illusion of spinning, whilethe tire model stays in place
1723845777558.png
 

Cyamus

Newbie
Apr 17, 2020
32
25
I don't remember where i saw it from originally, but you could place a flipbook on the tire mesh to give the illusion of spinning, whilethe tire model stays in place
View attachment 3939326
That's a neat idea. Wouldn't account for wheel turning. It's gotta be that I'm doing something wrong and I would like to figure that out because that bugs me. I could just code it manually to have the wheels turn whenever the player presses A/D for turning.
 

Cyamus

Newbie
Apr 17, 2020
32
25
I'll be making a discord tomorrow and launching the patreon. This next update I feel like has enough to content for a really early in development game so I'm getting everything ready for that.

I've condensed the traffic logic into a single ticking manager class. I didn't benchmark it, but should scale better even if it's just a marginal improvement. I don't have any experience with CPU profiling and I haven't need to bother yet which would be needed to get more performance gains. Hopefully it's not a problem though since the CPU thread should be pretty light still.


I also started working on the gunshop. Was working on lighting last night for it. Made it myself since there isn't anything really available and I didn't want to buy some store model and add weapons. It's not much. Luckily, there's a free shooting range asset which I'll add in the next update so the big section you see here will be blocked off for now. That'll look more professional. I think for now, this place is just for the cutscenes and you can't actually buy anything here yet. I've got a place an NPC here though. Probably a generic one for now.

Gotta start working on the gameplay for this mission and cutscenes. The Vicky one should be straightforward. I think I was making it a fetch quest or a beat up a person quest.

After that, I gotta take a look at bringing down the filesize sometime soon. Unsure how I'll do it. I've capped everything at 4k, unsure how things would look if I just pushed everything down to 2k. It'd be easier if it worked fine just doing it broadly like that.

And then after all that, I should be ready to go for releasing this update.
 

Cyamus

Newbie
Apr 17, 2020
32
25
Lol, the reason the wheels weren't turning or spinning was because I used the old animation blueprint which was for a different mesh. Easy fix. Seeing the traffic in action in the city loooks a little shitty right now and the more I look at the city, I hate it lol. This was always meant to be a first draft, but I probably won't make a new map for a while. I'm just going to add to this for the forseeable future which should feel better as I get more bought professional assets into the world.
So right now, just working a bit more on traffic since I just added it the game level. Takes a decent amount of FPS, so trying to find a balance with it, seeing what optimizations I can do. Trying to work quickly on it to move on to working on missions.
 

Cyamus

Newbie
Apr 17, 2020
32
25
Just a small update. I'm nearly done with the next update for the game. It's content complete right now, but I'm working on dealing with a small input bug. After that I just have to a do a final pass through everything to make sure things get cleaned up. It really should be today if not tomorrow, then it's packaging the game up. I did take traffic AI out because there was a problem and it just needs more time to cook. It looks like trash and I'll probably add it in when I do it right with traffic lights. I also dropped Vicky's second mission just to push this out because I was getting bogged down in tedious shit. The basic enemy AI got done for mission 3.

New stuff I didn't talk about before though is a phone with a car spawning app and and an app to enter / exit sandbox mode. Sandbox mode is just the strip club, but as a nice singular place to replay animations you've unlocked. Added some background noise to fill the air. No sex sounds yet for this update, but I'd imagine I can get something in for the next. I'm just trying to push past inertia and get things done. Hopefully despite that it's still something worthwhile.