Dark Bit Factory & Gravity
GENERAL => Challenges & Competitions => Topic started 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.
-
Very nice and cool tune well done :)
-
Tune is ripped mate :)
-
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.
-
Tune is ripped mate :)
i know i just liked it :goodpost:
-
Come on, how I could not like this. Chippy (I know), low res font and that fading snow on the floor, so stylish.
-
it really cool.... but betrays something.... ;)
-
Very nice m8 i am loving the snow ;D
-
Tune is ripped mate :)
Luckily I played it on my PC with no speakers!
-
Its a nice looking blizzard!
Where were you gonna take it?
Maybe slowly build a bob snowman from all the falling snow ;D :snowman:
-
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 !!!
-
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).
-
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.
-
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!
-
The snow whirling round and then landing and melting on the ground is lovely!
Jim
-
Hi Shockwave!
Wanted to test but Antivir said... Virus... TR/Crypt.xpack.gen
???
-
Seems to be an xpack prob...
Very nice intro shocky...
the falling snow looks great!
-
Thanks Energy.
Honestly there's no virus! :)
-
Btw, for anyone who wanted to know how the effect was done, here's the source with just the snow effect left in.
'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
-
I was really amazed by the text. It was really cool how it cut in and out. Father even liked it!