Beneath a Steel Sky (1994)

Beneath a Steel Sky (1994)

wrOngplanet Jul 28, 2020 @ 8:28am
ReShade CRT-shader, and improved MIDI music
I've been at this for hours, and (somehow) I finally got it working! Writing this post just in case others are interested. Btw I haven't tested this a lot though, and I'm not very familiar with ReShade or ScummVM. Hope it isn't too messy.. It's not as complicated as it might seem actually!

Basically this is just to try and get a somewhat more CRT screen "feel" of the game on a present-ish day LCD / (O)LED display, using ReShade.

And just because, also to get a not-so-retro sound (for some reason). IE better sounding music (MIDI). This is built into ScummVM, you just need to tinker with a few settings (and download a soundfont).

A side effect is that the .bat file in the game folder is ignored. It can be deleted - don't do it though (just in case). Even Steam overlay and the game timer works. (Edit 1: I guess they updated it so that's why it works)


A couple of screenshots for comparison (I haven't experimented a lot with ReShade settings, so they might not be optimal. Ymmw. My monitor is 2560x1440 native btw)

Normal:
https://steamcommunity.com/sharedfiles/filedetails/?id=2180378901

With ReShade and a CRT shader applied:
https://steamcommunity.com/sharedfiles/filedetails/?id=2180379375


In short (ish):

Download and install ReShade[reshade.me]
  • Point it to scummvm.exe inside the ScummVM folder of the game installation folder (Steam's game properties - Local Files tab - click "Browse local files" gets you there so you see where it is. Copy/paste the address bar for simplicity, or just browse manually).
  • Select OpenGL, just click OK a couple of times, then unselect all shaders then re-select the CRT shader (or just keep em all). Ok, then exit the installer.

For MIDI, download a soundfont. I currently use Arachno SoundFont[www.arachnosoft.com].
(Suggest using the "Plain SF2 decompressed format" link).
Another page[ftp4.se.freebsd.org] with lots of soundfonts, apparently the 8MB AWE 32 soundfont "8mbgmgs.zip" is good (search for it on the page).
  • Extract the .sf2 soundfont file somewhere (maybe the game install folder).


Start File Explorer (just use Steam Game Properties - Local Files - click "Browse Local Files"), go into ScummVM folder of the game installation folder.
Start scummvm.exe manually. You need to add the game first (click "Add Game..." - just go into the SKY folder and click "Choose").

Then click "Edit Game...". Basically select "override global graphics / audio / volume / midi" settings on each tab, and adjust settings:
  • Graphics tab: Set "Graphics mode" to "OpenGL". You'll probably want "Fullscreen mode" as well.
  • Audio tab: Set "Music device" to FluidSynth
  • Midi tab: Select and browse to the soundfont file you downloaded.
  • Volume tab: Might need to experiment with the different volume types. I'd suggest having Music, SFX and Speech in increasing order, see BASS.ini below.
Click OK.

You need to start the game via ScummVM at least once. ReShade should also start with it (may take a moment, be patient). Default key is "Home" to bring up the ReShade menu (Tip: Don't do it during the intro, or in the F5 / ctrl-F5 menues - it gets slow / stuck!).

When adjusting and testing settings you need to run scummvm.exe like this, "outside" of Steam (double clicking it from Windows' File Explorer).


To make make the settings in ScummVM stick when you start the game from Steam, you need to copy over some settings from scummvm.ini. I recommend using Notepad++ to edit them, but Notepad works too.

scummvm.ini is probably located in (Windows Vista/7/10):
  • C:\Users\USERNAME\AppData\Roaming\ScummVM\
(Change drive letter and USERNAME as needed ofc.)

Find the [sky] section in scummvm.ini. You can just copy over all the lines in that section, replacing all lines in the [BASS] section of BASS.ini in the game install folder.

One exception is that you might want to keep the "guioptions=" line in BASS.ini, if you use another language than English.


Here's my (Edit 4: new) BASS.ini file for comparison.
[scummvm] fullscreen=true updates_check=0 versioninfo=2.1.2 lastselectedgame=BASS last_fullscreen_mode_height=1440 last_fullscreen_mode_width=2560 [BASS] filtering=false description=Beneath a Steel Sky (v0.0372 cd) extra=v0.0372 cd speech_volume=201 midi_gain=100 talkspeed=60 alt_intro=false gfx_mode=opengl path=D:\Games\steamapps\common\Beneath a Steel Sky\SKY\ subtitles=true multi_midi=false fullscreen=true gameid=sky mute=false soundfont=D:\Programs\Soundfonts\Arachno SoundFont - Version 1.0.sf2 sfx_volume=151 music_volume=100 music_driver=fluidsynth opl_driver=auto aspect_ratio=false speech_mute=false

That should be it (I think). There's been some back and forth with this whole thing, but I hope I got it right.



Oh, and this is the (temporary / demo) ReShade CRT preset I tested with. It's an .ini file (maybe save the below in an ini file, save it in the ScummVM folder. For easy import into ReShade - Just click the preset name line at the top and select it!). Or just adjust / play with the settings manually. Optimal settings are also depending on your display and resolution.

(One important thing is that CRT's "Angle" setting needs to NOT be zero, or else the screen is black for some reason. I just have it as a very small value).

CRT_test-preset.ini
PreprocessorDefinitions= Techniques=AdvancedCRT TechniqueSorting=Daltonize,DisplayDepth,UIMask_Top,UIMask_Bottom,LUT,Curves,Deband,AdvancedCRT [CRT.fx] Amount=1.000000 Angle=0.003000,0.000000 Brightness=0.900000 CornerSize=0.009000 Curvature=1 CurvatureRadius=1.423000 Gamma=2.200000 MonitorGamma=2.200000 Oversample=1 Overscan=1.000000 Resolution=1.642000 ScanlineGaussian=1 ScanlineIntensity=2 ViewerDistance=2.031000 [Curves.fx] Contrast=0.650000 Formula=4 Mode=0

Hope I got this somewhat right.



EDIT 1: Minor corrections.
EDIT 2: Changed some values. Minor edit.
EDIT 3: Fixed Arachno MIDI sound link + tweaked CRT preset slightly (bit brighter).
EDIT 4: Simpler explanation of ini settings. Slight CRT preset tweak again. Other minor stuff :)
Last edited by wrOngplanet; Jul 31, 2020 @ 12:20am
< >
Showing 1-6 of 6 comments
Zeikar Jul 30, 2020 @ 8:19pm 
Interesting concept, can you make this replace the existing exe so it's run as the Steam game and not Non-Steam game?
wrOngplanet Jul 30, 2020 @ 11:36pm 
It does run as a Steam game. It's just when adjusting and testing the settings for the game in ScummVM, you need to run ScummVM "outside" of Steam (double clicking on scummvm.exe in the game installation\ScummVM folder. Maybe I should have been more clear about that).

But as said above, you'll need to copy over some settings from scummvm.ini to BASS.ini for these settings to stick when starting the game from Steam.

The section in scummvm.ini you need to look at is under the [sky] line.

Testing just now, you can actually just copy all the lines in the [sky] section in scummv.ini and paste them under the [BASS] line in BASS.ini. The only difference was a lack of "guioptions=lang_English" (for me), so maybe keep that line in BASS.ini (especially if you're using another language than English).
ShadowNate Jul 31, 2020 @ 1:39am 
Nice thread!

I use the FatBoy SoundFont ( https://fatboy.site ) but I think I'll try the Arachno one for comparison.

Also a think to note, ScummVM and this game support MT-32 and MT-32 emulation, so if you have the device or the files required for the emulation, you could also use that as a sound device via the ScummVM settings for the game. It sounds quite alright.

Last, via the ScummVM settings you could set the game to start using the Floppy intro, which skips the graphic novel of the CD (default) version but has a really powerful music track right from the start :)
wrOngplanet Jul 31, 2020 @ 1:58am 
@ShadowNate

Thanks! I'm going to test the FatBoy soundfont for comparison too.
Nice tips! I have to try the floppy intro as well now :)
That "Crt mode" is pretty aggressive. Looked way clearer with less scanline crap on my actual CRT. This game wasnt made in the 1960's. and even since the 80's monitors have looked much different than televisions in respect to scanlines as well. You are recreating something that never was. If this makes your experience better, cool, but it's not the 'retro' one, or even closer to it.
wrOngplanet Aug 4, 2020 @ 6:59am 
Originally posted by T3n pounds of flax:
That "Crt mode" is pretty aggressive. Looked way clearer with less scanline crap on my actual CRT. This game wasnt made in the 1960's. and even since the 80's monitors have looked much different than televisions in respect to scanlines as well. You are recreating something that never was. If this makes your experience better, cool, but it's not the 'retro' one, or even closer to it.
I guess it's a bit agressive as you say. Ofc shader settings are adjustable, like higher resolution (less visible scanlines) etc. If you balance it right I think it looks good. Even if it's not 100% as it was on a 1084S monitor say (which I had - or other CRTs ofc).

And yes I think it made my experience with this game better. I first played through it a couple of weeks ago without the shader. Then later on when it released on Steam I played through it again with the shader (I just forgot about it earlier).
Last edited by wrOngplanet; Aug 4, 2020 @ 6:59am
< >
Showing 1-6 of 6 comments
Per page: 1530 50