Dark Bit Factory & Gravity

GENERAL => Challenges & Competitions => Topic started by: Shockwave on December 20, 2007

Title: [CHRISTMAS] Blizzard
Post by: Shockwave on December 20, 2007
I have to apologise for this.
I had created a 2D tile set and was planning something more interesting but in the end I had no time with work being so busy..

Excuses excuses :)

Anyway I managed to bolt something together! Thanks to everyone who is participating in the comp and Don't vote for this!!!

No, really, don't.. I am not proud of it.
Title: Re: [CHRISTMAS] Blizzard
Post by: Maxx on December 20, 2007
Very nice and cool tune well done :)
Title: Re: [CHRISTMAS] Blizzard
Post by: Shockwave on December 20, 2007
Tune is ripped mate :)
Title: Re: [CHRISTMAS] Blizzard
Post by: ninogenio on December 20, 2007
and whats wrong with that as a demo?!

i love the snow and the illusion of the ground moving i wouldn't mind seeing how thats done,

anywho i really liked it nice one.
Title: Re: [CHRISTMAS] Blizzard
Post by: Maxx on December 20, 2007
Tune is ripped mate :)

i know i just liked it  :goodpost:
Title: Re: [CHRISTMAS] Blizzard
Post by: Buckethead on December 20, 2007
Come on, how I could not like this. Chippy (I know), low res font and that fading snow on the floor, so stylish.
Title: Re: [CHRISTMAS] Blizzard
Post by: stormbringer on December 20, 2007
it really cool.... but betrays something.... ;)
Title: Re: [CHRISTMAS] Blizzard
Post by: Dr.Death on December 20, 2007
Very nice m8 i am loving the snow  ;D
Title: Re: [CHRISTMAS] Blizzard
Post by: taj on December 21, 2007
Tune is ripped mate :)

Luckily I played it on my PC with no speakers!
Title: Re: [CHRISTMAS] Blizzard
Post by: Tetra on December 21, 2007
Its a nice looking blizzard!

Where were you gonna take it?
Maybe slowly build a bob snowman from all the falling snow ;D  :snowman:
Title: Re: [CHRISTMAS] Blizzard
Post by: benny! on December 21, 2007
Awesome work, Shocky (as always). Like the scroller and rotating snow fx a lot.

Music is awesome, too - even if ripped - very well chosen IMHO !!!
Title: Re: [CHRISTMAS] Blizzard
Post by: Shockwave on December 21, 2007
Thank you for the comments :)

Tetra, this was not going to be the entry for the competition, in fact I was going to make a 2d parallax thing like Shadow of the Beast, the thing that beat me in the end was that I did not have enough time to finish drawing the graphics to a level where I was happy with them.

So, I cobbled this together in literally a matter of hours.

The scroller was taken from a cracktro I made for Unleashed, the only original code is the rotating blizzard routine and it's a bit of a hack.

Anyway, in case anyone is interested, here's as far as I got with the gfx (some of them are really rough but if anyone wants them for anything I will never use them, no credit needed or wanted if you use them).
Title: Re: [CHRISTMAS] Blizzard
Post by: Buckethead on December 21, 2007
That was really a cool idea Shockwave, really good idea... SOTB is so demoish, I can imagine in the snow. Too bad that you don't have the time, cute gfx.
Title: Re: [CHRISTMAS] Blizzard
Post by: DrewPee on December 21, 2007
Shockwave
Love the snow, as already said the tune is excellent! Another great entry into the comp!

Drewpee

ps thanks for the greeting! im famous at last! lol!
Title: Re: [CHRISTMAS] Blizzard
Post by: Jim on December 22, 2007
The snow whirling round and then landing and melting on the ground is lovely!

Jim
Title: Re: [CHRISTMAS] Blizzard
Post by: energy on December 22, 2007
Hi Shockwave!

Wanted to test but Antivir said... Virus... TR/Crypt.xpack.gen
 ???
Title: Re: [CHRISTMAS] Blizzard
Post by: energy on December 22, 2007
Seems to be an xpack prob...
Very nice intro shocky...
the falling snow looks great!

Title: Re: [CHRISTMAS] Blizzard
Post by: Shockwave on December 22, 2007
Thanks Energy.
Honestly there's no virus! :)
Title: Re: [CHRISTMAS] Blizzard
Post by: Shockwave on December 22, 2007
Btw, for anyone who wanted to know how the effect was done, here's the source with just the snow effect left in.

Code: [Select]
    'By Shockwave^S!P
   
    OPTION STATIC
    OPTION EXPLICIT


    #INCLUDE "TINYPTC_EXT.BI"
    #INCLUDE "WINDOWS.BI"

    #DEFINE alphaa(s,d) ((((s and &hff00ff)*(s shr 24)+(d and &hff00ff)*(256-(s shr 24)))and &hff00ff00)or(((s and &hff00)*(s shr 24)+(d and &hff00)*(256-(s shr 24)))and &hff0000))shr 8
    CONST   XRES = 640
    CONST   YRES = 480


    DIM SHARED AS UINTEGER BUFFER ( XRES * YRES )

    DIM SHARED AS INTEGER BX = 7
    DIM SHARED AS INTEGER BY = 7   
    DIM SHARED AS INTEGER BTN = 8
   
    DIM SHARED AS UINTEGER BOB ( BX * BY , BTN)

    DIM SHARED AS UINTEGER FLAKES = 5000
    DIM SHARED AS UINTEGER SNC(4)
   
    DIM SHARED AS DOUBLE   FLAKEX (FLAKES)
    DIM SHARED AS DOUBLE   FLAKEY (FLAKES)
    DIM SHARED AS DOUBLE   FLAKEZ (FLAKES)       
    DIM SHARED AS DOUBLE   FLAKESP(FLAKES)   
    DIM SHARED AS INTEGER  FLAKEA (FLAKES)   
    DIM SHARED AS INTEGER  FLAKET (FLAKES)   

    DECLARE SUB READBOB()
    DECLARE SUB PREFLAKES()
    DECLARE SUB TRANSFLAKES()
    DECLARE SUB DRAWBOB( BYVAL XX AS INTEGER , BYVAL YY AS INTEGER , BYVAL INTENSE AS INTEGER , BYVAL ALPH AS INTEGER , BYVAL FTYPE AS INTEGER )
    DECLARE SUB CLEARBUFFER()
   
   
    PTC_ALLOWCLOSE(0)
    PTC_SETDIALOG(0,"",0,1)                 
    IF (PTC_OPEN("HO HO HO",XRES,YRES)=0) THEN
    END-1
    END IF   


    READBOB()
    PREFLAKES()

WHILE(GETASYNCKEYSTATE(VK_ESCAPE)<> -32767)

    TRANSFLAKES()   
    PTC_UPDATE@BUFFER (0)
    CLEARBUFFER()
   
WEND
PTC_CLOSE()
END

'-------------------------------------------------------------------------------

SUB CLEARBUFFER()
   
    DIM LENG AS INTEGER
    DIM AS INTEGER Y,TC
    DIM PP AS UINTEGER PTR
 
    DIM AS DOUBLE RR=78
    DIM AS DOUBLE GG=4
    DIM AS DOUBLE BB=4

   
    FOR Y=0 TO YRES-1
       
    PP = @BUFFER(Y*XRES)     
    TC=RGBA(INT(RR),INT(GG),INT(BB),115)
    IF Y<290 AND RR>8 THEN RR=RR-1
    IF Y>290 THEN RR=RR+.1
    IF Y>290 THEN GG=GG+.15
    IF Y>290 THEN BB=BB+.2
       
    IF Y>340 THEN BB=BB+.7
    IF Y>340 THEN RR=RR+.3
    IF Y>340 THEN GG=GG+.2

    IF Y>390 THEN BB=BB+.7
    IF Y>390 THEN RR=RR+.7
    IF Y>390 THEN GG=GG+.7


    IF RR>255 THEN RR=255
    IF GG>255 THEN GG=255
    IF BB>255 THEN BB=255
   
    LENG = xres
    ASM
       
        MOV EAX,DWORD PTR[TC]
        MOV ECX, [LENG]
        MOV EDI, [PP]
        REP STOSD
       
    END ASM
   
    NEXT   
END SUB

SUB DRAWBOB( BYVAL XX AS INTEGER , BYVAL YY AS INTEGER , BYVAL INTENSE AS INTEGER , BYVAL ALPH AS INTEGER , BYVAL FTYPE AS INTEGER )
    IF INTENSE<0 THEN INTENSE=0
    IF INTENSE>240 THEN INTENSE=240
    DIM AS INTEGER W , H , X1 , Y1 , YP,FV
   
    SNC(0)=0
   
    SNC(1)=RGBA( INTENSE*.7,INTENSE*.8,INTENSE*.9 ,ALPH*.4)
    SNC(2)=RGBA( INTENSE*.7,INTENSE*.8,INTENSE*.9 ,ALPH*.8)
    SNC(3)=RGBA( INTENSE,INTENSE,INTENSE+15          ,ALPH)   
       
    Y1=YY
   
    FOR H=0 TO BY-1
        X1=XX
        IF Y1>0 AND Y1<YRES THEN
        YP=(Y1 * XRES)
        FOR W=0 TO BX-1
            FV=BOB((W+1) +(H*BY) , FTYPE )
            IF X1>0 AND X1<XRES AND FV<> 0 THEN
                'BUFFER (X1+YP) = SNC(FV)
                BUFFER(X1+YP)=ALPHAA(SNC(FV),BUFFER(X1+YP))
               
            END IF
           
        X1=X1+1
        NEXT
        END IF
        Y1=Y1+1
    NEXT
   
END SUB

'-------------------------------------------------------------------------------

SUB READBOB()
   
    DIM AS INTEGER L,M,N
   
    FOR N=0 TO BTN-1
    FOR L=1 TO ( BX * BY )
       
        READ BOB(L , N)
       
    NEXT
    NEXT
   
END SUB

'-------------------------------------------------------------------------------

SUB TRANSFLAKES()

    DIM AS DOUBLE TX,TY,L,HOLD
    DIM AS DOUBLE FF


    DIM AS DOUBLE RGADD
    DIM AS DOUBLE MO1,MO2,MMM,NNN
   
    RGADD=.018*SIN(TIMER/4)

   
    MO1= COS(RGADD):' GENERATE MATRIX CONSTANT 1
    MO2= SIN(RGADD):' GENERATE MATRIX CONSTANT 2
   
    FOR L=1 TO FLAKES
        ' Delete comments to make flakes stay still when they land :-P
'/        IF FLAKEY(L)<30 THEN
            NNN=FLAKEZ(L)
            MMM=FLAKEX(L)
       
            FLAKEZ(L) = MO1 * NNN - MO2 * MMM
            FLAKEX(L) = MO1 * MMM + MO2 * NNN
'        END IF
       
    next
   
 
    FOR L=1 TO FLAKES


            FF = FLAKEZ(L)+120
            HOLD=FLAKEY(L)
            IF HOLD>=30 THEN
                HOLD=30
                IF FLAKEA(L)>0 THEN FLAKEA(L)=FLAKEA(L)*.90
            END IF
            TX = ((FLAKEX(L)/ FF )*700)+320
            TY = ((HOLD/ FF )*700)+240
           
            IF TX>0 AND TX<XRES AND TY>0 AND TY<YRES THEN
               

                DRAWBOB ( TX , TY , (((-FLAKEZ(L))+80)*2) ,FLAKEA(L) , FLAKET(L))

               
            END IF
           
            FLAKEY(L)=FLAKEY(L)+FLAKESP(L)
            IF FLAKEY(L)>=50 THEN
                FLAKEY(L)=-FLAKEY(L)
                FLAKEA(L)=110
            END IF
    NEXT
   
END SUB

'-------------------------------------------------------------------------------

SUB PREFLAKES()
    DIM AS INTEGER L,R
   
    FOR L=1 TO FLAKES
       
        r=rnd(1)*80
        FLAKEX(L) = R*cos(L/13)
        FLAKEY(L) = (RND(1)*100)-50
        r=rnd(1)*80
        FLAKEZ (L) = R*sin(L/13)
        FLAKESP(L) = .7+(RND(1)*.4)
        FLAKET (L) = INT(RND(1)*BTN)
       
    NEXT
   
END SUB


'-------------------------------------------------------------------------------
'                             Snowflake Thing
'-------------------------------------------------------------------------------

' TYPE 1

DATA 0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0
DATA 0,0,0,1,0,0,0
DATA 0,0,1,2,1,0,0
DATA 0,0,0,1,0,0,0
DATA 0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0



'TYPE 2

DATA 0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0
DATA 0,0,1,2,1,0,0
DATA 0,0,2,3,2,0,0
DATA 0,0,1,2,1,0,0
DATA 0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0

'TYPE 3

DATA 0,0,0,0,0,0,0
DATA 0,0,0,1,0,0,0
DATA 0,0,2,3,2,0,0
DATA 0,1,3,3,3,1,0
DATA 0,0,2,3,2,0,0
DATA 0,0,0,1,0,0,0
DATA 0,0,0,0,0,0,0

'TYPE 4

DATA 0,0,0,0,0,0,0
DATA 0,0,1,2,1,0,0
DATA 0,1,3,3,3,1,0
DATA 0,2,3,3,3,2,0
DATA 0,1,3,3,3,1,0
DATA 0,0,1,2,1,0,0
DATA 0,0,0,0,0,0,0

'TYPE 5

DATA 0,0,0,1,0,0,0
DATA 0,0,1,2,1,0,0
DATA 0,1,3,3,3,1,0
DATA 1,2,3,3,3,2,1
DATA 0,1,3,3,3,1,0
DATA 0,0,1,2,1,0,0
DATA 0,0,0,1,0,0,0

'TYPE 6

DATA 0,0,1,2,1,0,0
DATA 0,1,2,3,2,1,0
DATA 1,2,3,3,3,2,1
DATA 2,3,3,3,3,3,2
DATA 1,2,3,3,3,2,1
DATA 0,1,2,3,2,1,0
DATA 0,0,1,2,1,0,0

'TYPE 7

DATA 0,1,2,3,2,1,0
DATA 1,2,3,3,3,2,1
DATA 2,3,3,3,3,3,2
DATA 3,3,3,3,3,3,3
DATA 2,3,3,3,3,3,2
DATA 1,2,3,3,3,2,1
DATA 0,1,2,3,2,1,0

'TYPE 8

DATA 0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0
DATA 0,0,0,1,0,0,0
DATA 0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0
Title: Re: [CHRISTMAS] Blizzard
Post by: Pixel_Outlaw on December 24, 2007
I was really amazed by the text. It was really cool how it cut in and out. Father even liked it!