XaiJu
eromancer
eromancer

patreon


May Progress Update!

Hey guys!

Finally, a monthly update on the 1st!  

We’ve made some good progress this month, but there’s not quite enough implemented to merit a battle test release this time around. I’m kind of holding out to see how smoothly Malise’s armor damage implementation goes. We’re off to a good start though, as just yesterday TK hit the first major milestone in getting things working for that. 

Some of the big accomplishments include a working and automated portrait lighting system, a functioning (but still work-in-progress) double-teaming system, and major progress on Ven and the Splicers’ overhauls. 

Unfortunately, Ubercharge has had to be on limited availability most of the month after receiving a lot of pressure from his college to get moving on his project for his masters’ degree, and will likely be in the same boat for a while longer. What time he has will be devoted to critical issues and helping TK with Malise’s armor damage, which is the most difficult thing we’ve got going on tech-wise. The good news however is we have yet another new artist warming up :D. Mr. Kittyhawk is a 3D generalist with experience in Substance / Zbrush / and Maya, so he’s a good fit for our pipeline. He’s currently working on improving some of Onyx’s clothing assets and will then likely move on to some map assets and clothing for the Syndicate characters. Currently he’ll be helping out part time, until sometime in June when he will start with us full-time.

One more thing! Some people had asked about including spoiler warnings / etc. for our posts, which makes a lot of sense to me. I’m therefore adding warning tags and censors to the fun images that are in plain view, so make sure to click through the links for the uncensored stuff. 

I think that’s it for the overview stuff, so here’s the contents for this month’s post :D.



Malise Armor Damage Concept

Here are the full uncensored versions of our first Malise armor damage concept!

Malise Armor Damage Concept (Zipped)

Malise Armor Damage Concept (Open Suit)

Malise Armor damage Concept (Wide Open Suit)

It’s important to note the word ‘concept’!  This is a hand-painted composite I made to test out the general look/positioning of the damage.  I have a few alternate versions as well that I didn’t flesh out. We’re currently in the initial stages of working on the 3D version, but there are a lot of things that make this difficult. Not only do we need to need for the damage shape/lines to look good with the structure of the suit, we need for it to be positioned appropriately so it doesn’t look weird when joints bend so that we can minimize the number of joint correction models TK has to make. To top it off, we have to validate our solutions for overcoming the problems that originally kept us from doing armor damage in 3D (as of yesterday though I believe we’re past the biggest hurdle :D).  Point is, we may end up with a different design, and will almost certainly have to troubleshoot some issues.  

One other thing I wanted to point out is that we are planning on making armor damage and lust sickness completely independent of one another, meaning you can end up with additional variations that weren’t possible in previous versions of the game (hence the three configurations above). I’m not certain if APL had implemented this yet in the code, so this may come a bit later.



Light Mixer System Part 1

This was the backbone of my work this month. It’s also a lot to explain, so bear with me :o. 

I’ll start off by saying our ideas for drastically cutting down the workload for lighting are working, and the image above shows just that :D (note that these examples are just to show the flexibility of the system, and aside from the first one don’t correspond to any environment in game).  All nine of these lighting examples were accomplished with *a single render* that took about 15 minutes.  I was able to put all of the lighting configurations together in about a 60-90 minutes while getting used to the grading controls of the compositing software.  This workflow will absolutely allow a single person to manage the ridiculous amount of character lighting our new art style demands for the remainder of the project.

Here’s how the entire process is accomplished:

It was an unexpected detour, but I spent the majority of a week furthering TK’s previous research into Nvidia’s Light Path Expressions. This is a coding framework for the Iray rendering engine that makes some great black magic possible (of course, there’s almost zero documentation available so there was a lot of painful testing involved... for anyone familiar with regex it’s similar). Luckily the work paid off. We’re now able to render all necessary images for step 1 of this process in parallel, meaning it cuts the rendering time by 90% for a pose. Tack on another unrelated trick I learned and we’re at 95% reduced rendering time for portraits. It’s a huge weight lifted off me considering I’d previously have to be rendering around the clock to make this system work.


Light Mixer System Part 2

Implementing the light mixer was one thing, but automating it was the next major accomplishment. 

I started by wiring up the light mixer to all existing portraits and creating the ability to save light presets and apply them to any new render sets. I also now have the ability to change the lighting on all game portraits simultaneously via master faders I created. There will be one of these for the left portrait, right portrait, and enemy group, meaning for any given environment there can be three variations of the preset. I also learned how to use logical expressions in the compositing program in order to code some extra control into the light mixer. This will allow for certain lights to remain on at a minimum level for specific poses that turn out too dark in a given preset. An example of this could be Malise’s attack pose, which is one where we’d always want at least some light on dat booty. I’ve re-lit and re-rendered all of Malise’s poses for compatibility with the light mixer, and am happy to say it works well; not only this but the poses look great in the different lighting setups I’ve tried. I’ll still need to adjust a couple and re-render for things I didn’t consider, like Malise’s left-hand gun making a shadow on her face when the right side light is on.



Automation Network Expansion

After having implemented lighting into the automation network, I spent a day last week expanding said network for the remaining base poses for Neon and Malise’s first outfits. I’m glad to say the system works, with everything updating as expected. Here’s the top level of the network, and here’s another look at it showing the control lines (purple lines are Python script controllers, green are lighting expression controllers). To give you an idea of the scale of the artwork needed for the full game, imagine 100 or so of those big blocks just for the character and H portraits.

Each image is assigned to a keyframe on a timeline, meaning for example if I want to see “Malise in her idle pose wearing her first outfit with no status effects” I’d go to frame 509. Upon realizing how much time I’d have to spend scrubbing around the timeline looking for a specific pose during editing, I decided to code a Python script that would automatically generate and (more importantly) update frame label numbers for each image.   

There’s still some additional scripting I can do to speed up future expansions, but it’s coming along nicely. 



Malise Lust Stage 3 Preview

Now that I’ve bored you to death with the inner workings, how about some results? 

I finished setting up / re-rendering all of the existing Malise poses for the new lighting system, and made a preview set of renders for her Lust stage 3 poses (uncensored). Excuse the clipping on the collar, it’ll be fixed in the final version!  

If you recall, she was all wet n’ juicy in the old version, and I still have to add that. I did some tests and determined simulation would be overkill, and that it’s probably best to use textures and simple stringy models where necessary for this. I’m not quite done with it yet, as naturally this led to….



More Texture-Based Liquid Experiments

After waffling some on what program to use, we decided I should learn Substance Painter so that I can paint more detailed liquid textures when necessary.  Substance Painter will allow me to use alpha stamps such as this as a starting place, and I can pretty easily paint across the various clothing items / skin sections. 

The alpha stamp method was a huge help for painting liquid in the old art style (in 2D), so being able to use them again for 3D got me to thinking about other ways I could implement them. 

As it turns out, it’s pretty easy to make some good effects with them just by creating a bump map, using the alpha stamp as an opacity mask, and rendering it on a simple shape or even a plane with the appropriate liquid material assigned. In 3D game terminology this is pretty much a decal. For our purposes, I could hop into Maya or even simply position them in Daz to get some extra stringy/drippy/puddle effects. Some things worked better than others – for instance liquid sprays only really look good with clear liquids, since subsurface scattering won’t work on geometry that doesn’t have actual volume (you end up with what looks like a dirty pane of glass instead of a spray with depth). Here are some of the better results I was able to get:

This method should prove pretty useful for all the spit, slobber, squirting, and so on that made the old artwork so delightfully messy. Most importantly, it works with the new lighting system, so the liquid won’t look out of place between environments like it would if we had to paint it in post.


Render Optimization

Yet another thing I spent some time on this month was experimentation with a program called Altus Denoiser. I mentioned above that I was able to cut render-time needed to use the light mixer for portraits/enemies by 95%. While this is great, larger cutscene images (ones that will get close-ups in game for example) will still require an hour or more for a clean render. This is especially true for images with a lot of liquid since subsurface scattering is slow. Combine that with the fact that the super messy scenes require multiple liquid renders for compositing, and the need for faster rendering becomes apparent. This Altus program seems promising, as it’s able to take two low quality renders (with some extra passes for input) and create a high-quality, noise-free version. My best test showed I could take two 7 minute renders and get one of similar quality to a 38 minute render. I suspect that ratio will improve even more with more complex scenes. It’s not very compatible with the light mixer since I’d have to manually process all the various light group renders (unless I can figure out how to script it), but I never really intended to use the light mixer for cutscenes anyways.  That said, as I’ve come to use it more, it’s become quite invaluable for quickly drafting lighting, but that can be done with garbage-quality renders :D.


AltairPL’s Programming Report

My part of ToDo list in the monthly update is pretty long, and I was able to only do the small part from it, but I'm still pretty happy with the progress.

April started rather poorly for me, since I had some real-life stuff on my head, but one good thing that came out of it was the much-needed break from coding, especially from all the battle stuff.

My work this month started with the battle sprites overhaul mentioned in the monthly update. Everything is now much cleaner and less convoluted, so adding and changing stuff later won't be as much of a chore as it would be with previous version. It's still not finished though, since one of the plans for it was to move UI/info elements to dedicated classes to make it easier to implement and change visuals, like for example the UI idea Ero posted in the monthly update. I decided to leave it for later and shift my attention to double-teaming, since its visual side was already taken care of during finished part of the battle sprites overhaul.

Now that I think about it, I'm sure we could/should come up with a better name than double-teaming, since the way it's implemented allows for pretty much unlimited number of stacking enemies... and I think Ero already has plans for holds with three enemies at once. Anyway, shortly after shifting my attention to the multi-teaming(?), I've noticed that some hold stuff was still poorly done and it could/would kick me in the butt later, and since it was kinda in line with the multi-teaming stuff, I decided to do both at the same time. The idea was nice, but of course something had to get in my way. In this case, this something was a prototype for H-stat tracking, which was tied to the previous approach. I had only two choices here - either completely yank it out and implement it somewhere along the line or to add it to the current workload. Again, it was somewhat related to the stuff I was doing, so I chose the latter.

To be honest, I think I got a bit carried away with it, but hopefully people who like stats will appreciate it. The prototype was only tracking number of stages of H-skill chains (hold, H-skill, finisher), so I've also added tracking of target body parts for the last two stages (H-skill, finisher). This required some careful planning, but I think it came out rather well... at least for now.

After getting H-stats tracking out of the way, I was able to finish making changes to hold stuff and finally start implementing multi-teaming logic. Since no art dedicated to multi-teaming exists yet, I had to use some old enemies and art for testing by making copies of all needed database elements and adjusting it accordingly. After that it was pure coding, testing, coding, testing, ... this is approximately where things blew up.

It started pretty good and I managed to implement pretty much everything needed for it, but my fears came to light when something blew up in my face. While recently testing the last batch of edits made to action conditioning, I stumbled upon an isolated issue with one of the skills. Said skill is not really needed and was added by me some time ago as a proof of concept, so I just swept the issue under the carpet thinking we won't have any similar troubles. I couldn't be more wrong. Multi-teaming handling for an already-holding enemy (waiting for another enemy to join the fun) is affected by the same exact issue, which threw a wrench into my gears and made me lose all my momentum. The problem is that the responsible code is part of something much bigger and complicated and every possible solution I could think of would require a lot of time and effort to implement and neither of them is perfect.

Luckily, we’ve now partially resolved it by identifying a discrepancy between my vision and Ero’s vision for the multi-teaming design. I had been working on a design that would have an enemy wait for another enemy to join in if it was available, but after discussing it with Ero we’re now looking at a system that utilizes a “window of opportunity” for additional enemies to join in. Since for most areas there will be a limited number of enemy configurations, this should present an overall better mixed bag of H-attacks.  

I already have a rough draft of the new version working, and currently only have a couple major issues left to fix. Some of these may be pretty confusing without seeing it in action, but here’s my progress/known issues list for this new version:

Fixed! issues:

Fixed? issues:

Known issues:


Hard Drive Requirement Estimator

I finally took a couple days to create a spreadsheet for estimating hard drive space requirements for the full game.  This is very important for a game utilizing giant libraries of pre-rendered graphics and is something I’ve needed to do since we started looking at lighting variations. The purpose of making the sheet was to identify features that could cause exponential spikes in space usage, and to provide a test environment for finding solutions to alleviate these spikes. Another reason is that I want to try to be able to fit the game on mobile platforms, so scouting for optimization possibilities is another use for it. I’m glad I took the time to do so, as we’ve found some areas we can improve on. I’m not ready to report on a lot yet, but I can say we will absolutely need some JPG compression.   Some good news though is that the automation network will help with that, since I can keyframe greater compression onto less important graphics :D. 



Splicer Clothing Progress

We still have a lot of clothing assets left to finish for the Splicer overhaul, but some good progress was made.  Here’s a series of images detailing the progress and final results for what we have so far. 



Ven Overhaul Preview

Last but certainly not least! Earlier this week I made rough draft for Ven’s new Genesis 3 body model so that we can show off the progress on her overhauled outfit. We're currently using Malise's skin textures, but here’s where TK and I are currently at with it (uncensored).  I expect the textures/materials to continue to change somewhat as we add in the other components, but it’s good progress for sure.

TK sunk most of his time this month into remodeling / retexturing her armor for use in the new rendering engine, but the results are really top notch. Here are some additional images of the assets in various stages of completion.


To Do List

Though I wasn't sure how much we could get done out of it, last month’s to-do list may have been overly optimistic since quite a bit of it still stands. I’ve broken down the tasks a bit better though. Where Malise’s armor damage is at when I finally get around to updating Neon’s base files will determine the release of and what content will be in Battle Test 4, so I’m not going to explicitly list it. Hopefully things go smoothly though!

Eromancer

TK

AltairPL

Ubercharge (on limited availability)

Sculpting Girl

Mr. Kittyhawk

Translator

May Progress Update!

Comments

No, they aren't paying for it...my mom monitors my bank account because nosy parents. Side note, I make about 300 a week at a certain non-fastfood burger place. (Can't name them for privacy and personal safety reasons.)

Carter Parks

Can you approximate when you'll be able to release a full demo of the game?

- Insert judgmental stare. - Looking for a place to live, so you do have an income somehow from somewhere, yet parents are paying for the Patreon to an H-game......why the fuck didn't I think of that?!

I'm liking what I see so far, (and is it just me, or does Malise's chest look just a BIT smaller than before?) ...No need to worry about me tapping out anytime soon, Ero...long as I keep my monthly patronage below 10 dollars, I can avoid any "unnecessary questions" from the "powers that be" (read "awkward conversations" and "parents", respectively...Fuck all your judging stares...I'M WORKING ON MOVING OUT...just can't find a damn apartment cheap enough for earning ~$800 a month.)

Carter Parks

Those are actually just simple image stamps done up with PBR materials and some tweaking :D. I'll have results from Substance Painter and new breakthroughs that TK and Uber have achieved with Houdini in the next IC update.

We'll be making it all much clearer eventually :D.

There are timing settings for that. Setting During Action and During Input to 0% will make the fights traditionally turn based, whereas leaving During Input at 100% makes it more real-time.

MangoFishSocks

sth i just thought about it: will there be a real turn based fighting system as well in the next battle test? like the enemy also waits for my turn and stops... not like that he attacks during my choices...plus the action combat where all is realtime... i kinda missed the turn based fight at the last battle test

"IN PROGRESS: Finish remodel of Onyx’s crop-top shirt" keep up the nice work :D

Totally 100% understand the grad school thing. Take care of yourselves, and your real lives first, otherwise there's no game! Otherwise, progress looks amazing!

I just can't stop supporting you. I really think it/it'll worth the wait!!

Faithel

it been so so so so so so so long since we can get to play a "part" of the game ==

Sometimes I wonder why I keep surporting this game when the last major playable demo has been so far back. But then you come around with those renders and remind me. This is some damn quality at display.

Brewster

Looks like you were quick with the work on liquids and learning its program on such short notice since the last Inner Circle Update, Ero. All of the liquid tests look great, even the in-progress pics of Malise getting her hands and legs sticky where the spit is just a flat plane. With some minor repositioning and bending of some strings for gravity it'd look very realistic already.

MangoFishSocks

keep up the good work :D

myself yourself


More Creators