pouët.net

NeonTube by Desire [web]

           N  E  O  N  T  U  B  E      6 3 b  /  5 2 b 

-------------------------------------------------------------------

H e a d e r

63/52 bytes MSDOS Demo Effect by HellMood / DESiRE
placed 3rd at combined 256 bytes compo at Synchrony 2016
http://synchrony.nyc/

-------------------------------------------------------------------

I n f o r m a t i o n

In the past months, I've done a lot of tunnel-like effects or
similar (just have a look at 
http://www.pouet.net/user.php?who=97586&show=credits)
When it comes down to the 64 bytes category, there seems to be
one demo, which counts as THE tunnel effect, namely "constant
evolution" from ryg/Farbrausch, winning the 64b compo of the
"0a000h" party in 2003. While i was never basing my effects on rygs
code (what becomes apparent when you compare sources) i was asking
myself, how much can i improve on the state of the art tunnel in
64b and/or how small could the size of a percieveable tunnel effect
be? Things i didnt like in "constant evolution" (after being 
amazed, of course ;)

 - Not ESCapable
 Absolutely not a sin back then, but still a nice to have feature
 and of course one of the best ways to make use of spared bytes

 - Not centered
 This bugs me maybe WAY more than it should, but a tunnel has to
 be centered perfectly in the center of the screen. "constant evo-
 lution" does some kind of two pass calculation for each x and y,
 allowing just one offset to be added to either of x and y. ryg
 went for 130, obviously right in the middle of 100 (200 / 2) and
 160 (320 / 2). 

 - Colors
 Hands down, the colors are UGLY. I understand, that the low
 resolution based flickering is toned down by colors which
 have low distances to each other, but still! 

 - Depth perception
 This one is a little bit more subtle. As the tunnel spins exactly
 the distance you "move in", parts of the texture seem not to move
 resulting in a stationary and local feeling.

All the things mentioned above are "fixed" in NeonTube, while the
size is even smaller - 63 bytes. If i go wild and just optimize
for size, ignoring quality and user-friendlyness, the tunnel can
be done in 52 bytes. This does not count for the two bytes needed
for improving the standard VGA palette (making a 50 bytes version
possible, but beeing ugly and pointless imho)

It's noteworthy, that there are - literally - thousands of ways
to fill 12 bytes with extra functionality and features. For the
"nano" competition of Synchrony 2016 i went for smoothness,
tuneable speed, texture completion (no hard cuts on either axis)
and platform compability. The 63b version is by no means the "best"
,nor is it fully size optimized, it's just one you show in a com-
petition, rather than a chunky, misaligned, way too fast running
52 bytes version, which cannot be "ESC"aped :D

A note on compability : All versions are verified to run on DosBox,
FreeDos, and Windows XP Dos. Should run fine on MSDOS, too. If you
experience any errors or problems, don't hesitate to contact me!

-------------------------------------------------------------------

Y o u t u b e

The 63b version is available here :
https://www.youtube.com/watch?v=zxw-XFgdC7s

Note : it's WAY smoother if you watch on a real system. The speed
is actually tuned for real machines, thus improving the smoothness.
If you just have a DosBox at hand, wait for my "easy tunnel config"
extra, or change the speed manually at "add word [bp+si],byte 23"

-------------------------------------------------------------------

T h e   t r i c k s

You're eager to see how the hell it was possible to "beat" an 
already excellent 64b effect by 12 bytes? You'll have to be patient
just a little more :D Seriously, there is a LOT stuff going on in
these tiny bastards, and if i do a writeup, i'd rather do it right
and later, than now and sloppy ;)

-------------------------------------------------------------------

G r e e t s   a n d   R e s p e c t

go to : 

homecoded, rrrola, frag, Baudsurfer, Optimus, p01
Sensenstahl, Whizart, g0blinish, Rudi, orbitaldecay,
igor, Drift, Oscar Toledo, wysiwtf, ryg
 ... and all DESiRE members =)

-------------------------------------------------------------------

C o n t a c t

helmut.toedtmann@gmail.com

-------------------------------------------------------------------