Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411482 Posts in 69370 Topics- by 58426 Members - Latest Member: shelton786

April 24, 2024, 12:01:12 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsCheongsam - Romantic virtual theatre
Pages: [1]
Print
Author Topic: Cheongsam - Romantic virtual theatre  (Read 387 times)
JeroenDStout
Level 0
*

I am Two fools—I know—For loving—and for saying so


View Profile
« on: October 19, 2017, 07:50:32 AM »



About Cheongsam

Quite how they got there is hard to say—Maggie and Michael find themselves in a park. Scarcely knowing one-another, they talk of aeroplanes, violins and their friends; who gave up looking for them and found a pub instead.

In Cheongsam you play Michael, controlling his body pose and facial expressions. An AI controls Maggie, responding to this. Although the dialogue is all set, facial expressions and body posy create the sense that there is a form of human interaction. The joy of the game is, ultimately, to enjoy a story in an interactive manner through the medium of shared performance.

About me & my goals

I am a long-time lurker, new poster! I am Jeroen D Stout, known (hopefully) for Dinner Date. Although Cheongsam shares the 'control a character from within' approach with Dinner Date, the idea of Cheongsam is to create a new idiom of interaction. Most conversations in games have to rely on dialogue trees (low interaction) or are more like little cinematic clips (like in the excellent Tacoma); I am working to make conversation itself interactive.

I decided to start this devlog because I have seen a lot of people whose work I enjoy do it and get a lot out of it.

Devlog

I will post (when-ever I can) things which I am working on. Although the AI is perhaps the more interesting past of Cheongsam, I will keep updates on other things I do, such as the visuals. I will avoid immediately posting a 1000-word post on how the AI works but will try to elaborate in individual posts as I work on it.

Also, things will at times look very rough. If I dare post despite that, I hope you can look past that Smiley
Logged
JeroenDStout
Level 0
*

I am Two fools—I know—For loving—and for saying so


View Profile
« Reply #1 on: October 19, 2017, 06:29:47 PM »

Update 1

Cheongsam takes place around sunset, which creates a lot of challenges for the lighting. It is the classical photography problem: the main scene looks best with a higher exposure.



... but that blows out the sky, which looks better with a lower exposure.



I have seen a lot of games analyse the screen and change exposure based on it, but I feel that does not capture the actual feeling of acclimatising to exposure; and it just ends up with the worst of both worlds, i.e., oscillating between two bad things.

From photography I got the idea of implementing a graduated neutral density filter, which compresses more onto the same screen:



This works well, but the follow-up problem is that anything which is locally brightly lit will not be compressed nicely; and in real life a photographer can select their GND filter per shot. In a pre-rendered or static-shot game this would be an ideal solution; hand-author an exposure gradient for every shot. But in Cheongsam the player can freely look around.

The solution is to define the gradient in another way, by having a number of points which create a gradient that is used as a multiplication:



You can see the yellow-ish gradient at the top right; the red channel of this is the exposure amount.

This still runs into the same problem of dynamic compression, again seen in photography; the image loses a lot of depth because the compression effectively obfuscates information which the viewer is using to convert the image into a mental 3d model. I am thinking of just keeping it subtle enough for the cues to work.

An additional effect which hopefully brings back some of the brightness information is that every point which controls an exposure has an 'excitement'; it has to be seen to fade in, and not seen for a while to fade out. So you get a subtle 'this is bright' fade. But unlike the full-screen exposure method, it does not immediately destroy dark areas:



All in all, it is not a 'realistic' effect; but us compressing vast brightness differences onto a monitor is not a realistic effect. Without the luxury of pre-planning which cinema has; and without the luxury of 'one shot does it all' of photography, a dynamic compression method can be very beneficial.

Another option which I considered (but have not tried) is describing the screen's brightness based on a set of harmonics. This could 'automatically' recognise the bright and dark areas and create gradients. Mainly I have not opted for this because I want hand-authoring control; and I am just sceptical about the quality of automatic methods.

In a game with free-walking (which Cheongsam does not have) an interesting method could be to define the exposure points in the same way we usually define cubemaps; spaced out and interpolated.
« Last Edit: October 19, 2017, 06:39:21 PM by JeroenDStout » Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic