Home Artists Posts Import Register

Content

Asynchronous Part:

One of the issues that many erotic games have is dealing with complexity in their mechanics. Whether it's Inform7, Twine, or a number of other engines, detailed mechanics lead to increasingly bogged-down games. It's actually become so commonplace, that people start to assume that complex games can't be built by indie developers without suffering from slowdown that impacts game play. Thankfully this isn't necessarily the case.

So what are the solutions?

The most common way for small games to handle complexity successfully is processing things only as they are interacted with, and keeping most things separate to avoid complex interaction. Another common method is giving the appearance of complexity, but having most things "hard coded". Some great games work this way, but it isn't viable for highly-interactive environments or interdependent mechanics. Many use a combination of these approaches.

Games that are truly complex suffer from slowdowns, because the above solutions aren't feasible. (without exactly naming names, FC and TQ are examples of complexity resulting in slowdown.)

I believe that part of the solution can be found in the form of asynchronous programming methods. These are used in more advanced games, and in game engines built around 3d play. To put it simply, in Twine and some other IF engines, processing occurs in a "single line", often in-between the points of player interaction. This is the biggest reason why AW is using the 'day system' for periods of sleep, and the 'week planner' at the start of each week. 

Having these points in AW, where play is constrained, allows for asynchronous functions to be viable. The problem with slowdown in the previously mentioned games isn't that it takes 15 or 30 seconds to process everything, it's that this processing takes place while the player is waiting to do something. My plan is to take advantage of JavaScript's async functions to process the changes to all the NPCs populating the world while the player is busy with other aspects of game play, like planning social events or choosing which outfits to wear on which day.

As far as I know, this is a first for a twine game. (With exception of the Sugarcube "timed" macro, which is a rather limited implementation with a specific purpose.) Unfortunately, trailblazing means that the useful help available online is limited. It's going to be interesting!

All of this starts in Stage 2, but I'm discussing it now because the refrain "this isn't possible, just look at X, and it only does Y!" does start to get a bit old. ;)

Finally, the Art Part: 

A peak at AlexW95's line art. He's got a few variations he's working on (with different facial expressions), that are pretty cool.

Arteria's work in color. Main issue is that it's the wrong time of day, but it's a great start.

Complete images have been posted on Discord, if you want to take a look. (In the announcements channel.)


Files

Comments

Cody Renton

Another brand new thing in Twine from ThaumX? Is it Wednesday already?

Doug Dastardly

LOL! It looks like Paulie Shore

Anonymous

I know TQ... but what's FC?

Anonymous

Sweet! I love both!

Tat Beard Dude

In this day in age, with multi-core procs being so commonplace, why not have the program identify proc type and power, then relocate the "background" processes to the secondary cores? As long as the comp has enough ram to support (again most do these days) there should be no drawback.

Anonymous

I see! Thanks for letting me know. TQ is Trapquest: <a href="http://www.trapquest.com/" rel="nofollow noopener" target="_blank">http://www.trapquest.com/</a>

R

Maybe hosting the game online on a dedicated server would be an option when it's bigger? I'm not sure if that would do anything for performance, but players would not have to download a huge file every time there's an update (it's small right now, but that could change). You could change the password every time there is a new update pushed to the live server and give the new password to your patrons if that's a concern. Passwords are easy to share, but so are HTML files.

thaumx

I think you'll like the post I made after this one. It goes into more detail on the tech stuff.

thaumx

There is some optimization to be done with images, which will cut down on size. A little later on, I will be splitting images into a separate download. This will prevent the need for frequent large downloads. Unfortunately, running a game of this size online comes with a whole host of problems, and also would take a good deal of time to work on.

Ai dude

A similar game called "Ethos of Darkness" tried to run it online. Didn't work out.