pouët.net

Searching For The Silver Lining by Fulcrum [web]



                                 .:- - - - -:.
                                 .: FULCRUM :.
                       : _____.:\|\_________/|/:.____ :
    _    ._      _  _._:_\   ___ '           '___   /_:_._  _      _.    _
          ...  . .....\| \\:.  .    . :: .    .   :// |/..... .  ...
    .      \           |  \: :..  .         . ..: :/  |           /
  _/|___  _/|____    _/|__ '    _/|____   _/|____ ' _/|____     _/|_____  _
__\_ ._/__\  \  /____\   /     _\  ___/___\  __ /___\  \  /_____\_.    /____  _
\ `    __/ `  \'    \ `   \ ___\ ` \     \   |/    \ `  \'    \ ` .   ' .   \
_\     \  \   |\     \_   |\    \  |\     \_ '.     \_  |\     \_ |\     \   \_
 /__    \ /______     /____     /__        /___\     /_____     /___\     \___/
    \  __\fulcrum\ ___\|   \ ___\  \ ______\    \ ___\|sim1\ ___\2o14\ ____\
  _  \|:::::::::::\|  ':    \|  '   \|     '     \|   ::    \|::::::::\|   '
      '         ::::.:.:     '       '            '   :.:.::::         '
                     :         .p.r.e.s.e.n.t.s.        .
                     :                                  :
                     .                                  .
            . ..::::::Searching For The Silver Lining 1K.           :::::::. .
       .. . .........:----------------------------------:.......... . ..
        '            :                                  :    .        '
  ...................:                                  :.../_  /_............
                                                             /   /

                                  .Credits.
                                  ---------
                      Code, music: Seven
                      tools used:  Crinkler, custom tools

                                .Requirements.
                                --------------
     * To run perfectly, the compo version of this 1K should run at exactly 60 FPS.
       Otherwise it will run slower or faster than it was designed for. To ensure this,
       you need:
        - A very fast video card with lots of Pixel Shader 4.0 compatible shader pipelines.
          It was designed to run in 1280*720 mode on a RTX 2080 (which was in the compo
          machine). Sorry for the high hardware requirements but a 1K doesn't leave much
	     space for speed-optimisations.... The intro should work on Nvidia and AMD cards.
     	  - V-Sync set to Always On in the drivers
     	  - AMD Optimize Power or the equivalent Nvidia feature that limits the FPS to 30
          should be turned off in the drivers.
	* The safe versions should run OK everywhere. Besides the added timing code, they are
       also compiled with safe crinkler settings (no UNSAFEIMPORT, TINYHEADER or TINYIMPORT)
       and the shader has all int->float conversions etc so there are no compile-time
       warnings.
     * 200 MB ram (for the Crinkler decompression)
     * Tested on Windows 7 and 10, might even run on Windows XP
     * 1 kb diskspace

                                  .Thank You
                                  ----------
           - Blueberry and Mentor for the 6 extra bytes from Crinkler 2.2.
		- Nimitz (shadertoy user) for inspiration 
           - Ash and Algorias/Horology for some quality control on the colors/design.
		- Professor Duncan Lockerby for the Molecular Music Box algorithm
           
                              .About the intro.
                              -----------------
This intro was made in a hurry, because sometime real life doesn't go according to plan.
Hence the title of this production... Luckily the toolchain is mature enough at this
point to save a lot of time.

Finding an interesting topic for a 1K is always difficult, you don't want something
trivial, but you don't want to find out at the end you're 50 bytes over the limit and
have to cut a lot to make it fit. One source of inspiration was a news video of an
airplane flying close to the eye of a hurricane, which I wanted to remake as an effect
someday. I had forgotten about that until I saw the "Protean Clouds" shadertoy entry 
by Nimitz ( https://www.shadertoy.com/view/3l23Rh ) which is very fast and beautiful,
but I couldn't wrap my head around his advanced stepping technique, or even be sure
which parts were specific for his scene (a deformed tunnel). So I went with what I knew,
normal raymarching to the edge of a cloud and then taking small steps accumulating light
and opaqueness. It's probably smaller, and the compo machine has the latest and greatest
videocard, so speed isn't important, right? (Famous last words...)

I originally wanted to have something inside the hurricane, maybe a castle (obvious
Ghibli inspiration ;) ), but nothing that fit in 1k looked remotely good. So I switched
tracks to a progression from a dark, stormy night to a peaceful sunny above-the-clouds
view. That allowed me to reuse the same noise function for both the macro shape of the
clouds and the micro whips and curls.

There is no actual light scattering at all, the clouds are faked by having a dark opaque
center mass, surrounded by a layer of light-emmiting fluff that grows less transparent
deeper inside the cloud. There are 3 additional evaluations checking the local
neighborhood for (self)shadowing, but tweaked so only the tops of the clouds get really
bright, to suggest sunlight. There's no classic lighting used at all.

The cloud function uses 5 octaves of sine-based noise, quite similar to the 2nd Stage
Boss 4k (remember those explosions?). A downside to this class of noise functions,
as compared the more classic "interpolate between gridpoints", is that AMD cards run
them much slower than Nvidia cards, an AMD RX 480 only reaches half the speed of the
about-as-fast GTX 1060... (could be different in newer generations). But again, it's
smaller, and the Assembly orgos let you pick between NVidia or AMD compo machines,
so in a 1K that's an easy trade-off.

My last 1Ks had sound effect but not really music, so I wanted to try the Molecular
Music Box alorithm I had read about ( www.tomsnively.com/music/mmb.html ). I managed
to put it in the intro, but didn't have much time to play around with it. Also, the
frequent Counterstrike competitions on the bigscreen with the loud excited Finnish
commentators made the main hall a bad spot to experiment with music.

And of course the RTX 2080 in the compo machine wasn't twice as fast as my laptops
1060, as I had hoped based on various review/benchmarks, so another round of speed vs
quality tradeoffs was needed to get a reliable 60 FPS on the compomachine. Given that
the audience voted the intro to the 1st place, I think the quality reduction wasn't
too bad.

Greets to Digimind, p01, HBC and all other 1K intro makers, for making this an
interesting and tense competition!

                      .                                  .
                   .:._\  _\.............................:..
                    : \   \                              :
                   ::  '   \ Fulcrum memberstatus:       ::
                    :      ------------------------      :
                   :.   seven.....................code   .:
                    :   coplan...................music   :
                    :   el.blanco................music   : 
                    :   ranger.rick..............music   :
                    :   the.watcher.........code,music   :
                    :   yncke.................graphics   :     
                    :   miss.saigon..............music   :
                    :   kneebiter.................code   :     .
                     ::                                ::     /     .
  ....................::......... . . . . . ..........::...../_    /_.......
                     :                                  :     /     /
       .: . .........:          visit us at :           :..../..... . :.
                    .:         ---------------          :.  '
           ' ''::::::: . http://www.fulcrum-demo.org/ . :::::::' '
                  .  :       .          .             . :
                _/|__:     _/|___     _/|_____      _/|_:_
               _\ _   \_ __\_ ._/__ __\_.    /______\.__ /__        -
         _     \  |\    \\ ` .____/_\   .   ' .   \ ` \|    \ -    _
      _    -   _\ |_\    \\_  \|    \\  |\     \   \_  '     \_         _
                /____      /_  '     /____\     \___/____     /
                 demo\ ____\ \ ______\sim:1\ ____\tlp.ttn\  __\
                      \|    ::\|            \|  ::     .wt\|
                       '   .::.':.   DEMO   .: .::.        '
                                / - - - - - -\
                   ascii:..sim1/theloop,.titan,.wanted.team

                                    - - -

                       : use AMIGA TOPAZ fonts, please :

                                      -