pouët.net

Go to bottom

Incoherent Nightmare by arsenic

   - the note -   
for an incoherent 
    doublepack    
                  
   consisting of  
                  
    incoherent    
     nightmare    
(demo by arsenic) 
                  
        and       
donkey kong arcade
 (game by oxyron) 
                  
  brought to you  
    by arsenic    
  at the x-2016!  
                  
------------------
  press space to  
halt the scroller!
------------------
                  
                  
  the reason for  
 picking the name 
    incoherent    
    nightmare     
 is basically the 
fact, that lots of
 ppl did complain 
  about our demo  
 designs here and 
there... we don't 
 try with social  
   critizism or   
  politics... we  
don't try to tell 
 endless stories  
  based on long   
  storyboards as  
some other groups 
 do...   we just  
 want to have fun,
   come up with   
top-notch effects,
and give lotsa ppl
  the chance to   
contribute, which 
   may lead to    
 incoherency here 
    and there!    
                  
  so... we don't  
  give a fuck on  
   artsy-fartsy   
   demo-design    
  discussions at  
    the boards!   
                  
    we believe:   
   demos can be   
beautiful this way
                  
in the first place
 we create demos  
 which we do like!
                  
 but ofcoz it's a 
   nice bonus to  
      please      
 other ppl aswell!
still it ofcoz is 
 a nice bonus to  
 please other ppl 
  with our demos  
     aswell...    
                  
                  
------------------
                  
                  
 let's start with 
    the creditz:  
                  
                  
---- the game ----
donkey kong arcade
                  
code: peiselulli  
gfx: veto         
music+sfx: linus  
                  
                  
---- the demo ----
 general creditz: 
                  
 all demo-musics  
 were composed by 
  linus + fanta   
                  
thanks to you guys
as you had to save
 our ass with the 
 music, just 2.5  
 weeks before the 
     deadline!    
(we did plan with 
 another musician 
   at first. you  
 guys have done a 
    great job!    
                  
                  
                  
 linking slavery, 
   bug-fixing,    
   deglitching,   
 loader, dir-art, 
  molesting and   
 penis and boobs  
   support by:    
                  
    bitbreaker    
                  
                  
 public relations 
    by liesbeth!  
                  
                  
                  
-- basic fadeout -
                  
code: axis        
sprites: sphinx   
                  
                  
--- the intro ----
                  
code: lotus       
gfx+charset: yazoo
                  
additional code by
axis              
                  
                  
---- the menu ----
                  
code: kronos      
charset: yazoo    
                  
                  
-- demo opening --
                  
code: axis        
gfx + anims: yazoo
                  
                  
--- plottunnel ---
                  
code: axis        
gfx: yazoo        
                  
                  
--- cubic bobs ---
                  
code: cruzer      
gfx: sphinx       
                  
                  
-- rotozoombars --
                  
code: cruzer      
sprites: yazoo    
                  
                  
---- keftales ----
                  
code: axis        
                  
                  
-- ship / waves --
                  
code: kronos      
gfx: bitbreaker   
additional gfx by 
sphinx            
                  
                  
-- ship picture --
                  
code: bitbreaker  
gfx: bitbreaker   
                  
                  
- bubbles+kraken -
(fka saufen!)     
                  
code: bitbreaker  
math code: axis   
gfx: bitbreaker   
                  
                  
--- blackmail ----
                  
code: bitbreaker  
polishing the     
truetype font a   
bit: yazoo        
                  
                  
- doubletwister --
aka eddie in jail 
                  
code: kronos      
gfx: sphinx       
                  
                  
-- captain pic ---
                  
code: kronos      
gfx: yazoo        
                  
                  
--- turn disk ----
                  
code: kronos      
gfx: yazoo        
                  
                  
- morph credits --
                  
code: axis        
gfx+chars: yazoo  
                  
photo retouching  
by sphinx         
                  
                  
- the bat-tunnel -
                  
code: axis        
gfx: mactron      
                  
additional gfx by 
yazoo             
                  
                  
- complex vector -
                  
code: axis        
gfx: sphinx       
                  
                  
---- the cube ----
                  
code: bitbreaker  
gfx: bitbreaker   
                  
                  
- steampunk-pic --
                  
gfx: sphinx       
                  
                  
--- add-filler ---
                  
code: cruzer      
gfx design idea by
cruzer            
gfx: sphinx       
                  
                  
- moving crosses -
                  
code: bitbreaker  
                  
                  
--- fpp tunnel ---
                  
code: axis        
                  
                  
-- arsenic pic ---
                  
gfx: yazoo        
code: bitbreaker  
                  
partially based on
our t-shirt motif,
originally created
by sphinx         
                  
                  
- scroller-flood -
                  
code: peiselulli  
gfx+chars: yazoo  
                  
                  
- twister/cycler -
                  
code: axis        
gfx: yazoo        
memory footprint: 
0.25 bob          
angry: bob        
                  
                  
-- sprouts end  --
                  
code: cruzer      
gfx: yazoo        
                  
                  
--- this note ----
                  
code: axis        
gfx: bitbreaker   
chars: yazoo      
music: linus      
text: your mother!
                  
additional code by
bitbreaker        
                  
                  
-- transitions ---
                  
all the ubersmooth
transitions were  
brought to you by:
axis              
bitbreaker        
                  
------------------
                  
4 computers lost  
their life during 
this production.  
(2x axis/2x yazoo)
hail to the       
emulamers!        
                  
one member hurt   
herself.          
                  
one inactive      
zombie member got 
resurrected.      
                  
5 unicorns got    
hurt and broke up 
in tears!         
                  
------------------
                  
special thanks to 
    sphinx for    
  organizing the  
  arsenic-shirts, 
   hoodies and    
    marketing-    
    giveaways     
                  
(arsenic lighters 
and arsenic bottle
    openers!!!)   
                  
finally thanks to 
    mactron for   
     emergency    
 hardware support 
 (and yazoo, who) 
  had to drive a  
   50km for the   
  delivering) ;-) 
                  
tech talk/rant    
                  
the glory list of 
sabotage acts.    
The demo crashes, 
this must be the  
loaders fault.    
                  
but alas, we just 
overwrote the zp  
values with our   
irq while the     
depacker is at    
work! we just     
corrupted the     
stack! we just    
set bits in $dd00 
that were non of  
our business!     
we just turned on 
rom and let our   
irqs end up in the
loader code by    
that...           
think of it!      
                  
                  
now for some tech 
talk on some parts
                  
                  
basic fadeout     
-------------     
this looks like a 
basic sprite zoom.
but due to extreme
zooming, accuracy 
is critical.      
also clipping must
be handled.       
and the animation 
forced us to make 
the zoom in       
realtime and not  
preshifted.       
                  
                  
                  
demo opening      
------------      
this combines     
dither blits of   
the bitmaps with  
color crossfading.
to reduce clashing
the bitmaps sort  
their palette by  
brightness.       
                  
                  
                  
plottunnel        
----------        
shows 1280 plots  
in 50 fps.        
this works more or
less like the good
old plotscrolls,  
but with free     
x-motion.         
the bottleneck is 
the memory        
not the cpu-time. 
the fact that only
half of the plots 
switch per frame  
is hidden with a  
half shifted      
double buffer.    
                  
                  
                  
cubic bobs        
----------        
another variation 
on unlimited bobs 
(hi bob!?)        
                  
                  
                  
rotozooming bars  
----------------  
a combination of  
graham's line     
routine from      
dawnfall/oxyron   
and aeg + axis'   
rotozoomer in 'the
impossible thing' 
                  
                  
                  
keftales          
--------          
this is a         
sideborder plasma 
with colorcycling 
and zoom.         
used tricks are   
plotting 2 pixels 
at once and reuse 
same gfx bytes for
up and down flank 
of the patterns.  
                  
                  
                  
bubbles & kraken  
----------------  
the bobs are drawn
into a single     
growing charset.  
overlapping bobs  
are merged.       
on top is a 8x4   
sprite big kraken 
with multicolor   
char underlay.    
the underlay needs
to be cropped     
when bubbles are  
drawn. the sprites
can't be multi-   
plexed with $d018 
trickery, as the  
screen would need 
to be duplicated  
for that. but by  
using sax for     
writing even and  
sta for writing   
odd numbers,      
pointers can be   
written just in   
time. the ram left
is wasted with an 
animation.        
                  
math:             
all transforms are
done completely   
realtime.         
the major problem 
here is accuracy. 
you need 16 bit   
coords from the   
projection.       
also clipping must
must be done in   
realtime.         
to speed it up    
the vertices are  
delta encoded and 
sorted to move    
only along 1 axis 
relative to its   
predecessor.      
every 3rd bob is  
calced fully to   
avoid accumulating
errors.           
                  
                  
                  
morph credits     
-------------     
the whole effect  
is realtime and   
not animated.     
the texture size  
is bigger than the
screen size to get
the max quality.  
the 10 textures   
dont fit into the 
mem at once and   
need to be loaded 
on demand.        
this uses one of  
coolest tricks    
wellknown to all  
amiga coders -    
incremental lerp. 
that means you can
test which pixels 
move and in what  
direction with    
just a bit-test.  
no 16 bit add is  
needed per pixel. 
                  
                  
                  
the bat-tunnel    
--------------    
a bitmap definer  
with 2 bitmaps    
just for nicely   
showing a picture.
lots of sproutka  
and motion capture
was needed to     
animate the eyes. 
                  
                  
                  
complex vector    
--------------    
realtime and      
dynamic span-fill 
in hires with     
arschloch dither. 
this implements   
correct masking of
overdraw.         
so it can display 
non convex shapes.
                  
                  
                  
sprite filler     
-------------     
160x160 pixel max 
at its biggest    
frame. You have   
seen that in      
snapshot from     
glance? but did it
move in x/y there?
did it move over  
bitmap?           
flat slopes are   
read from slope-  
tables, steep     
slopes are done   
with fixed point  
math that yields  
still enough      
accuracy and is a 
bit faster than   
ram wasting slope-
tables or         
bresenham.        
by supressing     
bad lines during  
display, the      
sprite stretcher  
can work properly 
and bitmap with   
columnwise colors 
can be displayed. 
a well choosen    
writing order of  
the sprite x      
coords delivers a 
glitchfree x-     
movement. vertical
movement is done  
by rastercode that
runs at dynamic   
length and with   
variable entry    
point.            
                  
                  
                  
add-filler        
----------        
using adc to fill 
instead of eor.   
this means that 3 
transparent layers
can be on top of  
eachother at once,
but of course with
some obvious      
limitations.      
                  
                  
                  
zooming crosses   
---------------   
all frames are    
assembled with 16 
different chars.  
the interleaving  
of the crosses    
require 10 lines  
in all zoom steps 
in x dimension.   
y stretching is   
done via fpp and  
two directional   
fixed point math  
to keep accuracy  
high.             
                  
                  
                  
fpp tunnel        
----------        
this effect is an 
fpp x-rotator     
with dithered     
rasterbars for the
colored blocks.   
color-ram is used 
for the side walls
                  
                  
                  
scroller-flood    
----------------  
vic registers are 
manipulated to get
8x16 chars instead
of the normal 8x8 
charset.          
one of this 8x16  
char is changed by
only changing one 
byte.      so the 
screen ram is only
1/2 kbyte in size.
as a neat effect, 
 only one half of 
 the colorram is  
 used for screen  
 display. but the 
best thing is that
 the program can  
decide which half 
 of the colorram  
will be displayed.
that is the reason
why is is called  
d b c - - - double
 buffer colorram. 
 the 500 bytes of 
video and the 1/2 
   kbyte of the   
 colorram can be  
updated easyly in 
 one frame, so a  
sprite multiplexer
 was used to fill 
up the calculation
time of the 6510. 
                  
                  
                  
twister/cycler    
--------------    
another bitmap    
definer.          
this time combined
with linecrunch   
scrolling to look 
more dynamic.     
as nice side fact 
this needs no vsp.
hi bob! ;o)       
it solves the     
wrapping problem  
with storing the  
bitmap and all    
definers twice.   
                  
                  
                  
brussels sprouts  
----------------  
pretty similar to 
the unlimited bobs
in cruzer's first 
release from 1990.
but with a few    
improvements like 
+1 anim frame and 
a much faster bob 
routine.          
                  
                  
                  
   donkey kong    
----------------  
the game is a     
conversion from   
the arcade code.  
in the first step,
there was a       
modified mame     
enginde that runs 
on 6502 instead   
on the z80.       
than the games was
converted line by 
line from z80 to  
6502 until it runs
perfectly on the  
new processor.    
after that, the   
very more powerful
gfx hardware from 
the original      
arcade board was  
replaced step by  
step to our old   
known c64 chipset.
So it plays more  
like the arcade   
board than any    
other version.    
play it on ntsc   
to get a more     
accurate timing.  
                  
                  
                  
   finally some   
     artistic     
 interpretations  
 and thoughts on  
 some parts that  
might clarify that
   focussing on   
 coherence might  
narrow your sight 
  on things. you  
might notice that 
 it puts up huge  
 expectations and 
by that limits our
  freedom of art. 
                  
 let's start with 
 some thoughts on 
 certain elements 
   of the pirate  
       ship:      
                  
    the bottle:   
    -----------   
what is in there? 
  rum? blood? a   
   message in a   
bottle to ask for 
      help?       
   or is it a     
 critizism on the 
masses of rubbish 
  that end up in  
the oceans? there 
   are so many    
options, coherence
would force you to
pick one and stay 
  on that track.  
                  
  the tentacles:  
  --------------  
the front tentacle
 could be seen as 
 having a phallus 
like texture. but 
 it might just be 
 an illusion. all 
other tentacles do
  not show such   
texture, as being 
not close enough. 
 is it our dirty  
thoughts that give
us the illusion or
  is it real? we  
 will never know! 
                  
the nude          
    buccaneer:    
--------------    
she started out as
 a all dressed up 
male first and she
 has still a hat  
 on. is she still 
 nude now? is she 
   nude at all?   
  basically the   
 breasts that we  
 perceive consist 
  of a dozend of  
pixels. where does
 the depiction of 
  nudity start?   
                  
 the figurehead:  
 ---------------  
did she just spot 
us? is she alive? 
many attempts have
been made to make 
  her appearance  
  more vivid. on  
 some steps, she  
   had legs to    
embrace the fore. 
                  
 the cannonballs: 
 ---------------- 
 on real settings 
   we could of    
course never spot 
 the cannonballs  
 in their flight. 
    but modern    
    technology    
  enables us to   
   capture also   
 sport activities 
   without any    
  motion blur. i  
 think, that also 
  art is allowed  
    to capture    
  femtoseconds of 
 a scenery and by 
 that sharpening  
    fast moving   
  objects. there  
had been too many 
   blurry hires   
   images in the  
past. can you spot
    all three?    
                  
  upcoming is a   
   kraken that    
 suddenly doubled 
  its resolution  
  by moving from  
hires over to the 
multicolor sphere.
  as we move our  
 focus, also the  
level on interest 
changes. is it at 
   all the same   
  kraken that we  
  saw before? it  
 lacks at least 2 
     of its 8     
tentacles. was it 
 hit twice before 
it gave up? or is 
  it all just a   
  lusus naturae?  
                  
                  
                  
                  
                  
                  
                  
                  
                  
Go to top