SaboTagE by Paradox (atari) [web]

                  _____   _____  _____  _____  _____  _____   ______
                  >____> <____< <____/ <____< <____< <_____> >_____<
                 ____                            p a r a d o x
     ________   /___/               ____________                ________
    /    ___/          ____        /_____      /               /    ___/
   /____/       _____ /   /__  _______  /_____/ _____   _____ /____/
       _____ __/    //      /_/     _/ ____  __/    /__/    /_____
   ___/    //______//______//______/  /   / /______//    __//    /___
  /_______/ S  a  b  o  T  a  g  E   /___/         /____/  /________/

  S a b o T a g E

  by Paradox 2016

The usual:

  This demo is being released under "Creative Commons
  4.0" license: You are free to share and to adapt
  under the following terms:
  ( ) Attribution - You must give appropriate credit,
      provide a link to the license and indicate if
      changes were made. You may do so in any reason-
      able manner, but not in any way that suggests
      the licensor endorses you or your use.
  ( ) NonCommercial - You may not use the material for
      commercial purposes
  ( ) ShareAlike - If you remix, transform, or build
      upon the material, you must distribute your
      contributions under the same license as the
  No member of Paradox can be held responsible for any
  damage occuring to your STE, monitor, other involved
  or non-involved hardware, physical or mental health
  before, while or after watching this demo.


  We promised on the SillyVenture 2014.
  We (almost) delivered on STNICCC 2015.
  We did what .tSCc. did and was very successful with:
  Showing a preview on the party to be released later.
  A lot later.
  Anyhow, this is it. The final release version of
  "SaboTagE" following the preview from the ST News
  Internation Christmas Coding Conference STNICCC 2015.
  Minimum Requirements:
  -  Atari STE
  -  2 Megabytes of RAM (about 1.8MB needed)
  -  Double sided, double density disk drive
  -  Colour monitor or TV set
  Also runs:
  -  From Harddisk (if available)
  -  On an Atari MegaSTE 
  -  On an Atari Falcon030 both RGB and VGA
  -  On the Hatari Emulator
  Does not run on:
  -  Atari ST or STf, Mega or MegaST
  -  Atari TT
  -  STEem Emulator
  -  SM124 or compatible monochrome monitor
  Tested on:
  -  Atari MegaSTE, 4MB, TOS 2.06, from disk and harddisk
  -  Atari Falcon030, Nemesis, 14MB, TOS 4.04, VGA and RGB
  -  Hatari 1.7.0a on Mac OS X 10.6.8, set to 2MB STE mode

  Does not require:
  -  Satandisk, Gigafile or other ultra-fast external disk
  -  15MB on your harddisk
  -  14 Megabytes of RAM
  -  MC68060
  -  Windows 7, 8.1 or 10 and Direct X 10.0

Credits per screen:

    Code:     The Paranoid
    Music:    505
    Graphics: Dan and The Paranoid
    Details:  This is actually a "low-res" c2p effect
              based on pure BLiTTER magic - every tile
              is being calculated individually using a
              double sinus function.

    Code:     RA, picture converter by Zerkman,
              MPP-emulator for Falcon030 by The Paranoid
    Music:    505
    Graphics: Dan
    Details:  It took a long long time to finally get
              this to run flicker-free on the STE along
              with the music replayer in Timer D. On the
              Falcon, an emulator simulates what the STE
              displays (even though rather slowly).
              Thanks to Zerkman for the helpful MPP-to-
              BMP converter C-code.
  Zooming In on Lucy:
    Code:     The Paranoid
    Music:    505
    Graphics: Dan, The Paranoid
    Details:  Sort of slow and only updates every second
              line at a time, but it runs in regular
              resolution along with a secondary effect.
  Reflection in monitor:
    Code:     The Paranoid
    Music:    505
    Graphics: Dan
    Details:  Nothing special
  5 Guys:
    Code:     The Paranoid
    Music:    505
    Graphics: Dan, The Paranoid
    Details:  BLiTTER induced blur. That's what SMUDGE-mode
              was designed for. I guess.
  Fire in the sky
    Code:     The Paranoid
    Music:    505
    Graphics: Dan
    Details:  An offset effect that can be combined easily
              with a 1x1 fore- or background. Also known as
    Code:     RA
    Music:    505
    Graphics: Dan
    Details:  BLiTTER-based parallax scrolling with BLiTTER-
              based sprites and about 60% CPU time left...
  Interlude Picture
    Code:     The Paranoid
    Music:    505
    Graphics: Dan
    Details:  None
  Ominious Sphere
    Code:     The Paranoid
    Music:    505
    Graphics: Dan
    Details:  Presumed to be the last effect The Paranoid would
              ever write on the STE and therefore internally 
              referred to as "last ever". Turned out it wasn't.
              Anyhow, it's a BLiTTER-based feedback effect.
  3D Drone
    Code:     The Paranoid
    Music:    505
    Graphics: Dan, The Paranoid
    Details:  A BLiTTER sprite of a texture-mapped animated 3D
              object in regular resolution with background.
  Interlude Picture
    Code:     The Paranoid
    Music:    505
    Graphics: Dan
    Details:  None
  Interlude Animation
    Code:     The Paranoid
    Music:    505
    Graphics: Dan
    Details:  None
  Alpha layer 3D fan
    Code:     The Paranoid
    Music:    505
    Graphics: Dan, The Paranoid
    Details:  Have you also seen "Supernatural" by "Evolution"
              on the Falcon and have you also asked yourself
              why the fan in the 3D room doesn't move?
              We repaired it. On the STE. Not on 68060.
  3D STE
    Code:     The Paranoid
    Music:    505
    Graphics: The Paranoid
    Details:  Z-shaded and texture mapped. On STE. 'nuff said.
  Neon Cubes
    Code:     The Paranoid
    Music:    505
    Graphics: Zweckform, The Paranoid
    Details:  No, it's not just a bitplane effect. Count the
              number of colours and the cubes that can overlap 
              freely and with the background. Not to mention the
              semi-transparency of the cubes.
  Subpixel Rendering
    Code:     The Paranoid
    Music:    505
    Graphics: Zweckform, The Paranoid
    Details:  In "maikever", Earx showed real-time anti-aliasing
              on the ST on a wireframe object for the first time.
              We thought this was so impressive that we decided
              to do a sub-pixel texture mapper on the STE.
    Code:     The Paranoid
    Music:    505
    Graphics: Zweckform, The Paranoid
    Details:  In "Sure Trip 2" DefJam showed off displaying
              z-buffered gouraud-shaded 3D objects. We were so
              impressed that we decided to do it with depth-
              shaded, texture mapped 3D objects.
  Reflection in monitor
    Code:     The Paranoid
    Music:    505
    Graphics: Dan
    Details:  None
  Gaussian Blur BLiTTER Greetings
    Code:     The Paranoid
    Music:    505
    Graphics: The Paranoid
    Details:  Using a 7x7 Gaussian Blur Matrix generated in the
              spreadsheet application of OpenOffice. That's what
              modern computers are good for. Serving STE demos.
  Final Effect
    Code:     The Paranoid
    Music:    505
    Graphics: The Paranoid and Dan
    Details:  One of the oldest effects in the demo, by the way.
              The BLiTTER generates the lightflare in max2p.
    Code:     The Paranoid
    Music:    505
    Graphics: The Paranoid (+ "Barcode Generator" on Android)
    Details:  Be quick and scan it before it transforms

    Code:     The Paranoid
    Music:    505
    Graphics: Dan
    Details:  Designed together by 505 and Dan. Converted from
              PNG to STE native 4 plane format by RA.

The oh-so-famous Paradox demo release FAQ:

? Why do i have to watch the intro screen for 11 minutes?
! You don't have to. Press space to enter the main part.

? It stutters when loading from floppy disk. Why?
! We have arranged the loading so that loading from disk
  should not affect the demo in any visible way. However,
  on badly fragmented disks, this might still occur.
  Please copy all files to an empty disk to make sure the
  files are not fragmented.
? Why does it stop somewhere and exit to the desktop?
! You seem to lack some files. On a file-not-found error,
  it simply terminates. Please make sure to have all files
  in the "DATA"-directory to run this demo.

? I have checked but all files are there. It still crashes
  after loading something. Why?
! All data on the disk is ICE-packed. If a file is corrupt,
  it is likely that the demo freezes or crashes when
  trying to depack the data. Please download the demo anew
  and try again.

? What's so STE-specific about this demo?
! A lot. The BLiTTER is being used in most of the effects
  shown in the demo. All graphics by Dan use the extended
  palette of the STE wisely and so do the screens donated
  by Zweckform. Hardware scrolling is used in three parts
  and the trusty YM2149 is being supported by an STE-DMA-
  channel most of the time.
? I am trying to watch the demo on my video beamer but i
  only see greyscales. Why?
! Just as any other Paradox demo, the demo requires 60Hz
  PAL display. From our visits at the famous SillyVenture
  parties we know that some video beamers do not decode
  colours correctly when being switched to 60Hz.
  Please use a video beamer capable of PAL60.
? All of this can be done on a 1MB STf, too!
! Most probably not. First of all, the STf lacks the
  BLiTTER, the palette, the hardware scrolling and the
  DMA-channels being used in this demo. Then, the demo
  has to load a lot of data in advance because there are
  only a couple of seconds in the demo where there is 
  time to load at all. Getting all this down to 1MB while
  running memory intense effects such as the max2p or the
  depth shaded texture mappers is close to impossible.
? Haven't i read on Wikipedia that you're all irrelevant?
! Yes, we remember. The so-called "expert on the matter"
  who declared us irrelevant is now back to worship the
  fire - or something - and wasn't so happy about being
  reminded of that event.

? This demo looks like a lot of time was spend on the
  graphics, the music and the code. Where can i read more
  details about how this demo evolved?
! Just read on.

Statements on the graphics by Dan:

  Info on the graphics in SaboTagE

  The production of SaboTagE took us about 3 years.
  Starting in 2011 from the very first rough script over long
  terms of silence and a very busy period in 2015, the goal was
  to finish a demo with a solid storyline and never-seen-on-STE-
  effects by the end of 2015. The Paranoid und myself started
  putting together the storyline around some rough drafts of
  impressive STE-Effekts. A solid storyline or a consistent
  design had not exacly been one of Paradox strenghts in the
  past. Powerpoint and wunderlist did not do the trick to get
  the whole thing moving. With a bunch of metaplan-cards on the
  floor of my place we finished the script and set the deadline
  for december 2015. With the following text i will give you an
  insights into making this production.

  Welcome to the Intro-Screen: The intro-effect is called:
  leather-tiles. Have a close look! This piece of code must
  have pushed The Paranoid close to madness, because the idea
  for this screen is totally graphics-designer based. I had no
  idea about coding this. It takes basically no advantages of
  the common code-memory-restrictions-stuff. The leather-tiles
  are far off the standard-size and were done in various 
  versions of brightness. The shiny gold logo is a mixture of
  handwriting with a tablet in Photoshop with heavy usage of
  the addons and full redo in NeoChromeMaster. The idea for
  the transparent font is based on the movie: The call. 

  All pictures in the demo are based on rough pencil sketches.
  -> MPP-Picture <-
  The next screen shows Lucy and Cookie sitting in front of
  the cybernetics laptop: This picture was one of the early
  pieces done for the SaboTagE Demo. The wobbling Paradox logo
  in the window is meant to give a brief hint of how the demo
  will evolve. The instruction for the coder was: "Irgendetwas
  mit Licht", which roughly translates into "Something with 
  light". So The Paranoid came up with this wobbly crazy
  zoomer. None of us had ever visually told a story, so conider
  this a firstie. The next screen was our idea to push the 
  story forward

  Lucy and Cookie as a reflection in the laptop screen: The 
  picture had to be repainted dozends of times. The first one
  was simply ugly, the face barely recognizeable. I still needed
  more practice in painting faces and anatomy. The second version
  turned out better, i added Cookie as Lucy's sidekick, but did
  not stick to the right palette. If you take a close look at the
  font you will recognize its transparency. Therefore The
  Paranoid forced me to move the whole thing down to 8 colors.
  If i was ever close to smashing my pc, it was then. In the last
  version i added the rim of the screen, still fuming.

  Next screen is: The shady five guys. The picture was finished
  on the outline-party in 2011 in the Netherlands, originally not
  considered for SaboTagE in the first place. The Paranoid helped
  with the halo for the guys. The guys symbolize a rogue force,
  not willing to let cybernetics take over the conrol. The sign
  at the left bottom reads: "find the one they can not control".
  The inscription of the sign was done by The paranoid. Lucy
  heads for the cybernetics building to see what was happening.

  The Screen is called "Fire in the sky". That one was a lot of
  back and forth. The code for the screen originates to the
  early versions of "Superstar Tennis" by Paradox, a game planned
  that never materialized based on a perspective engine by RA.
  Piecing together the palette was tough with all the mixing and
  overlaying. Even though the pic might look simple, the whole
  tool-chain was necessary to finish it. Painted in Grafx2, STE
  color-correction in NeoChromeMaster. 

  Cybernetics building damaged: Another full handmade 320*200
  pixel-screen , done in Grafx2. The text-Displayer on top was
  added to enhance the story telling. 

  Last Ever: It's my last picture for SaboTagE. Practicing 
  sketching and anatomy led to the final version of this screen.
  The Helicopter-Screen: Graphics for this 4-color background
  screen is inspired by the artist kuvshinov-ilya, i follow on
  tumblr. Figuring out a fitting perspective for the flying path
  of the helicpoter was a huge challenge. In the end i figured
  out the perspective in Blender 3D and did a 3 color version
  of it based on the sketch. The Paranoid did the textures for
  the helicopter. 

  Impossible: While the foreground is hand-painted, the inside
  of the building, that is revealed by the spot is done in
  Blender 3D. Lighting a pushing the contrast was done in
  Photoshop and putting it all together was done in Grafx2,
  which became my favorite tool in the production. 

  Underground and Entrance: With these pictures i settled my
  current workflow. First: Sketch with pen and paper, Scan it
  using the iphone, Photoshop for scaling and contrast, Grafx2
  for shading and finally NeoChromeMaster for finishing the

505 on the keys:

  So here it is - Sabotage. This demo has come quite a long
  way. I remember emails circulating back in 2010, discussing
  ideas on this prod. Dan created the storyline and then the
  years just passed. A lot of code snippets and graphic
  drafts were exchanged, mostly created by Paranoid and Dan,
  then dumped again, modified and stored on dusty trusty hard
  disks for years. In some cases the existing material was
  used to built completely different demos from it (e.g the
  Blue Period demo in 2011). And as often when a project
  takes too long, the startup enthusiasm is blown out and it
  gets really tough to catch up and complete everything. To
  speak the truth, at times I didn't really believe that this
  demo would ever be finished and lost interest in it myself.
  Real life came across and the project was in rather
  paralyzed state.
  However, in 2014 Paranoid and Dan magically became super
  active again, created a basic preview of the demo and
  suggested the others to get their homework done after all.
  Hats off to the two, working on the prod with such
  constant force. The past months were just a good flow of
  exchanging ideas, previews and collaborative fine-tuning,
  which I really enjoyed and which also creates a perfect
  surrounding for working on a soundtrack.

  For the music, I used gwEms maxYMiser (2 MB version) in its
  special STE 1-channel native sample frequency mode and one
  timer for effects, as in most of the recent Paradox
  productions. MaxYMiser is always good to come back to. This
  tool has enriched the possibilities to create music for STE
  demos so much, that I cannot thank you enough, gwEm!

  Anyhow, seeing the finished demo now and realizing that we
  were able to keep this project going for about 6 years and
  actually completing it in the end - that is "the best part
  of the creation" for me.

  That said, see you next time - whenever ;)

A few words of raZen alias RA:

  It was a very long and stony way but finally its done - the
  release of SaboTagE! :-)

  Due to some private circumstances i couldn't contribute so
  much i wanted. Hence Paranoid had to code the demo almost on
  his own - respect for this maximum output!
  It was also awesome how much work Dan did for this demo in
  graphics and design.
  Thanks to 505 for his marvelous soundtracks - my personal
  favourite is the one in the end part.
  I was really pleasantly surprised that one member of the
  first hour - Zweckform - was active again for SaboTagE.
  Welcome back buddy!

  There are some rumours that this will be the last
  production of Paradox. Sadly it's true that Paranoid won't
  do anymore for the STE or Atari at all. However this doesn't
  automatically mean that Paradox is dead.
  Paradox is still alive and i heard there could be something
  in the pipeline - just don't expect it too early. ;-)

  See you all!

Closing statement by The Paranoid:

  So, finally it's done. The first thoughts about this demo
  were being shared between Dan and me around 2010 and then,
  nothing happened. In 2011 and 2012, a few ideas were being
  spread but that's about it. Early 2013, we decided to engage
  the demo, hoping to finish it that year and if not, then in
  2014. We failed in 2014 as well, merely releasing the
  little teaser and promised it for 2015.
  We didn't manage to release it in 2015 either but at least
  we managed to show a preview at the famous STNICCC 2015.
  But this time, we wanted to do it right. So we took our
  time in fine-tuning the demo for some more weeks, the weeks
  turned into months but i, personally, think it was worth it.
  Especially as it's going to be my last demo on the STE.
  Without wanting to sound arrogant, i broke all the barriers
  i was eager to break. Texture mapped 3D objects in full
  resolution with background. Fully interpolative max2p-blobs
  in full resolution. Texture mapped and depth shaded 3D
  objects. Sub-pixel rendering. Depth shaded texture mapping
  with Z-Buffering. Animated outdoor 3D scene with lighting.
  And all that on an 8MHz STE with 2MB of RAM, running from a
  double density disk drive.
  I also think we helped a bit in making the STE more popular
  in the little Atari scene. DHS, Live!, BlaBla, NoExtra,
  and even Oxygene and Checkpoint did things for our beloved
  STE - not to mention that for a while, Hatari was being
  debugged against Paradox demos.
  Having said that i am curious what other barriers other
  people will break on the STE. Be sure i will be following
  the little but wonderful Atari community.
  But i will be out of the race.

  Or in other words:
      move.w #PARANOID,-(sp)   ; Set value
      move.w #76,-(sp)         ; Function PTERM()
      trap   #1                ; Call GEMDOS
      addq.l #4,sp             ; clean up

by Paradox 2016 
Alive on a dead machine 
that's Paradox!