Free your creativity - IOMBCC

Página 11/29
4 | 5 | 6 | 7 | 8 | 9 | 10 | | 12 | 13 | 14 | 15 | 16

Por NYYRIKKI

Enlighted (6011)

Imagen del NYYRIKKI

31-03-2005, 00:41

To be honnest, I think that great part of the data can be thrown away. If you look at the actual data bytes after RLE, it is mostly just 8bits from "000000001111111100000000" string scrolling towards start or end. If you make a custom routine for this, you have to store only few bytes+car graphics anymore. I hope you understand, what I mean...

Por dvik

Prophet (2200)

Imagen del dvik

31-03-2005, 00:52

Most of the bytes in the data are the sprites that makes up the road. As you
said, they could probably be generated using a simple routine instead of data.

Btw, when does your version end?

I think this merged version has all the features from both versions. As you
see there is quite a lot of free space. After the change I did, there is no more
data which means that its easier to restart the game. Maybe we should add some highscores as well Wink

1 DEFINTA-Z:V=14:S$(0)="A18A0CA0FB07C03C01H00A80AE0AF0AFCIFFH00A80AE0AF0AF8AFCBFEAFFP00F3FF7FTFFAF0AF8AFCAFELFFE00A80AC0AE0BF0AF8AFCBFEBFFP00B01B03B07B0FB1FB3FB7FBFFB80BC0BE0BF0BF8BFCBFEBFFP00B01B03B07B0FB1FB3FB7FbFFB80BC0BE0BF0BF8BFCBFE"'
2 COLOR15,5,1:X=V:S$(1)="BFFX00A01A07A0FA1FA3FB7FAFFC00A01A07A0FA3FIFFA18A30AF0BE0CC0C80J00A01A03A07B0FA1FA3FB7FBFFA0FA1FA3FA7F\FFFFCFFEDFFG00A1FA20A40A7FBCFA7FB70G00AC0A20A10AF0B98AF0B70J00A0FA10A1FA2FA1FA19K00B80A40B80L00A06A0FA09_00A03"
3 KEYOFF:SCREEN1,3,0:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=256TO991:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:FORB=0TO1:FORI=1TO212STEP3:Q=ASC(MID$(S$(B),I,1))-65:Y=VAL("&H"+MID$(S$(B),I+1,2)):FORA=ATOA+Q
4 VPOKE14336+A,Y:NEXT:NEXT:PUTSPRITE8+B,(80+64*B,159),V,6+B:NEXT:FORI=0TO11:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH0):M=(X>72)-(X<0):O=S:G=N/128:LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:PRINTUSING"SPEED:####mph       RANK:###";S*10;G
8 SOUND0,IAND255:GOSUB5:L=X-E/3:N=N+9-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB5:PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:T=T-1+(Z\20):Z=0:NEXT:SCREEN0:PRINT"Time:";TIME\60;"RANK:"G

Por dvik

Prophet (2200)

Imagen del dvik

31-03-2005, 02:24

I found out that the merge I did was a bit broken Sad ... but here is an update Smile :

1 :DEFINTA-Z:V=14:S$(0)="A18A0CA0FB07C03C01H00A80AE0AF0AFCIFFH00A80AE0AF0AF8AFCBFEAFFP00F3FF7FTFFAF0AF8AFCAFELFFE00A80AC0AE0BF0AF8AFCBFEBFFP00B01B03B07B0FB1FB3FB7FBFFB80BC0BE0BF0BF8BFCBFEBFFP00B01B03B07B0FB1FB3FB7FbFFB80BC0BE0BF0BF8BFCBFE"
2 COLOR15,5,1:X=V:S$(1)="BFFX00A01A07A0FA1FA3FB7FAFFC00A01A07A0FA3FIFFA18A30AF0BE0CC0C80J00A01A03A07B0FA1FA3FB7FBFFA0FA1FA3FA7F\FFFFCFFEDFFG00A1FA20A40A7FBCFA7FB70G00AC0A20A10AF0B98AF0B70J00A0FA10A1FA2FA1FA19K00B80A40B80L00A06A0FA09_00A03"
3 KEYOFF:SCREEN1,3,0:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=256TO991:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:FORB=0TO1:FORI=1TO212STEP3:Q=ASC(MID$(S$(B),I,1))-65:Y=VAL("&H"+MID$(S$(B),I+1,2)):FORA=ATOA+Q
4 VPOKE14336+A,Y:NEXT:NEXT:PUTSPRITE8+B,(80+64*B,159),V,6+B:NEXT:FORI=0TO11:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH0):S=-S*(S>0):LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:PRINTUSING"SPEED:####mph       RANK:###";S*10;N/128:SOUND0,IAND255:GOSUB5:L=X-E/3:N=N+9-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB5
8 PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:NEXT:SCREEN0:PRINT"Time:";TIME\60;"RANK:"G

Por dvik

Prophet (2200)

Imagen del dvik

31-03-2005, 03:24

Sorry for spamming the poor forum with code updates Wink

I found a couple of small bugs in the last version. I also added a
nice ending to the game. Feel free to change the ending if you like
This is probably my last post before my short vacation.

Happy racing Smile

1 :DEFINTA-Z:V=14:S$(0)="A18A0CA0FB07C03C01H00A80AE0AF0AFCIFFH00A80AE0AF0AF8AFCBFEAFFP00F3FF7FTFFAF0AF8AFCAFELFFE00A80AC0AE0BF0AF8AFCBFEBFFP00B01B03B07B0FB1FB3FB7FBFFB80BC0BE0BF0BF8BFCBFEBFFP00B01B03B07B0FB1FB3FB7FbFFB80BC0BE0BF0BF8BFCBFE"
2 COLOR15,5,1:X=V:S$(1)="BFFX00A01A07A0FA1FA3FB7FAFFC00A01A07A0FA3FIFFA18A30AF0BE0CC0C80J00A01A03A07B0FA1FA3FB7FBFFA0FA1FA3FA7F\FFFFCFFEDFFG00A1FA20A40A7FBCFA7FB70G00AC0A20A10AF0B98AF0B70J00A0FA10A1FA2FA1FA19K00B80A40B80L00A06A0FA09_00A03"
3 KEYOFF:SCREEN1,3,0:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=256TO991:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:FORB=0TO1:FORI=1TO212STEP3:Q=ASC(MID$(S$(B),I,1))-65:Y=VAL("&H"+MID$(S$(B),I+1,2)):FORA=ATOA+Q
4 VPOKE14336+A,Y:NEXT:NEXT:PUTSPRITE8+B,(80+64*B,159),V,6+B:NEXT:FORI=0TO11:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH0):S=-S*(S>0):LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:PRINTUSING"SPEED:####mph       RANK:###";S*10;N/128:SOUND0,IAND255:GOSUB5:L=X-E/3:N=N+9-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB5' 2005
8 PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:NEXT:A=TIME\60:FORJ=0TO999:LOCATE6,4:PRINTMID$("              Game Over   Time ="+STR$(A)+"s             ",J\6MOD42+1,16):NEXT:SCREEN0' dvik and NYYRIKKI

Por dvik

Prophet (2200)

Imagen del dvik

31-03-2005, 04:33

I'm terrible sorry for posting yet another listing but I did some improvments to
reduce the flicker in the last version.

So once again, here is the code:

1 DEFINT A-Z:V=14:S$(0)="A18A0CA0FB07C03C01H00A80AE0AF0AFCIFFH00A80AE0AF0AF8AFCBFEAFFP00F3FF7FTFFAF0AF8AFCAFELFFE00A80AC0AE0BF0AF8AFCBFEBFFP00B01B03B07B0FB1FB3FB7FBFFB80BC0BE0BF0BF8BFCBFEBFFP00B01B03B07B0FB1FB3FB7FbFFB80BC0BE0BF0BF8BFCBFE"
2 COLOR15,5,1:X=V:S$(1)="BFFX00A01A07A0FA1FA3FB7FAFFC00A01A07A0FA3FIFFA18A30AF0BE0CC0C80J00A01A03A07B0FA1FA3FB7FBFFA0FA1FA3FA7F\FFFFCFFEDFFG00A1FA20A40A7FBCFA7FB70G00AC0A20A10AF0B98AF0B70J00A0FA10A1FA2FA1FA19K00B80A40B80L00A06A0FA09_00A03"
3 KEYOFF:SCREEN1,3,0:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=256TO991:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:FORB=0TO1:FORI=1TO212STEP3:Q=ASC(MID$(S$(B),I,1))-65:Y=VAL("&H"+MID$(S$(B),I+1,2)):FORA=ATOA+Q
4 VPOKE14336+A,Y:NEXT:NEXT:PUTSPRITE8+B,(80+64*B,159),V,6+B:NEXT:FORI=0TO11:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH0):S=-S*(S>0):LOCATE0,1:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:GOSUB5:PRINTUSING"SPEED:####mph       RANK:###";S*10;(N-75)/128:SOUND0,IAND255:L=X-E/3:N=N+9-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB5'
8 PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:NEXT:A=TIME\60:FORJ=0TO999:LOCATE6,4:PRINTMID$("              Game Over   Time ="+STR$(A)+"s             ",J\6MOD42+1,16):NEXT:SCREEN0' dvik and NYYRIKKI

Por Manuel

Ascended (19219)

Imagen del Manuel

31-03-2005, 12:41

Man, there's still plenty of space left! Smile
Compacting the data even more should indeed be possible! Smile As long as the decode routine is short enough Smile

The question is: do you still have inspiration to *do* something with that space? Smile

By the way: doesn't the timer go wrong on 50Hz machines?

Por NYYRIKKI

Enlighted (6011)

Imagen del NYYRIKKI

31-03-2005, 13:09

Just few stupid changes, that makes sound worse and handling of the car "more realistic" Still under development...

1 DEFINT A-Z:V=14:S$(0)="A18A0CA0FB07C03C01H00A80AE0AF0AFCIFFH00A80AE0AF0AF8AFCBFEAFFP00F3FF7FTFFAF0AF8AFCAFELFFE00A80AC0AE0BF0AF8AFCBFEBFFP00B01B03B07B0FB1FB3FB7FBFFB80BC0BE0BF0BF8BFCBFEBFFP00B01B03B07B0FB1FB3FB7FbFFB80BC0BE0BF0BF8BFCBFE"
2 COLOR15,5,1:X=V:S$(1)="BFFX00A01A07A0FA1FA3FB7FAFFC00A01A07A0FA3FIFFA18A30AF0BE0CC0C80J00A01A03A07B0FA1FA3FB7FBFFA0FA1FA3FA7F\FFFFCFFEDFFG00A1FA20A40A7FBCFA7FB70G00AC0A20A10AF0B98AF0B70J00A0FA10A1FA2FA1FA19K00B80A40B80L00A06A0FA09_00A03"
3 KEYOFF:SCREEN1,3,0:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=256TO991:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:FORB=0TO1:FORI=1TO212STEP3:Q=ASC(MID$(S$(B),I,1))-65:Y=VAL("&H"+MID$(S$(B),I+1,2)):FORA=ATOA+Q
4 VPOKE14336+A,Y:NEXT:NEXT:PUTSPRITE8+B,(80+64*B,159),V,6+B:NEXT:FORI=0TO11:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH0):X=X+5*M+U-(S*(B-1)\4):LOCATE1,1:SOUND9,V:SOUND1,83:GOSUB5:PRINTUSING"SPEED:####kmh     RANK:###";S*10;(N-75)/128-70:SOUND0,255-S*14:L=X-E/3:N=N+9-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB5
8 PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:NEXT:A=TIME\60:BEEP:A$=SPACE$(14):FORJ=0TO999:LOCATE6,4:PRINTMID$(A$+"Game Over   Time ="+STR$(A)+"s"+A$,J\6MOD42+1,16):NEXT:SCREEN0' dvik and NYYRIKKI

Por NYYRIKKI

Enlighted (6011)

Imagen del NYYRIKKI

31-03-2005, 13:29


Btw, when does your version end?

It was meant to end, when you are quite a near first position Smile that's why it now starts from position 30 instead of 100 Smile

Maybe we should add some highscores as well Wink

Maybe... I was also thinking something like Chase HQ type of ending, where camera stops and car drives away...

Por AuroraMSX

Paragon (1902)

Imagen del AuroraMSX

31-03-2005, 17:30

How about this one. It's not *really* obfuscated, just a bit hard to read Tongue

0 ' MANDEL.BAS -- by AuroraMSX -- MSX2 and up -- for MSX.org's IOMBCC 2005
1 DEFINTA-G:DEFSTRH:DEFSNGI-Z:DIM A[8],AX[8],BX[8],AY[8],BY[8]:COLOR15,0,0:SCREEN7:FORA=1TO15:READB,C,D:COLOR=(A,B,C,D):NEXT:AW=512:AH=212:KX=-1.5:KY=-.8:LX=1.25:LY=.8:FORF2=0TO1STEP0:AX[0]=0:AY[0]=0:BX[0]=AW:BY[0]=AH:F=0:G=0:CLS:GOSUB4:'A
2 A=AW/4:B=AH/4:FORF=0TO1STEP0:LINE(A,B)-(A+AW/2-1,B+AH/2-1),15,B,XOR:G=STRIG(0):IFG<0THENLX=LX-KX:LY=LY-KY:KX=KX+(A*LX)/AW:KY=KY+(B*LY)/AH:LX=KX+LX/2:LY=KY+LY/2:NEXTF2:DATA7,7,7,7,7,6,7,7,5,7,7,4,7,7,3,7,7,2,7,7,1,7,7,0,7,6,0,7,5,0,7,4:'u
3 G=STICK(0):LINE(A,B)-(A+AW/2-1,B+AH/2-1),15,B,XOR:IFG=0THENNEXTFELSEA=A-(G=7)*(A>0)*(AW/4)+(G=3)*(A<AW/2)*(AW/4):B=B-(G=1)*(B>0)*(AH/4)+(G=5)*(B

Patience is silver, 7MHz is gold, fast emu is gold-plated latinum Smile
Quick manual: [ESC] to stop rendering, then use arrows to select new focus, [SPACE] to restart rendering. [CTRL]-[STOP] to quit.

[edit]Updates-R-us! A slight formatting improvement[/edit]

Por Manuel

Ascended (19219)

Imagen del Manuel

31-03-2005, 18:52

I'd rather have seen it formatted like this: (written by Martijn Leisink)


                               float
                                c,
                         C ,x,X,k,K=0.5, _=
                        2;char o,O,Q,l;i()
                      {k=x+=_;X=C;o=96;while
              (       4>(c=k*k)+X*X&&--o){k=
           2*k*X+x;  X=X*X+C-c;}}main(){char
          I[99]="\040,m,`;b|~P#T`:dl\033[H";
98[I]=0;while(3>((_*=K<0.2?1.1:1)>1e-3?_*=
          0.970:(K-=_)))for(Q=-11;Q<12;){for
           (O=-39;O  <40;x=_*2*Q-(_-1)/2*K,C
              =       (K/2*K-1.3)*(1-_)+O*_,
                      i(),l=o&3,i(),I[O+++58
                        ]=I[l*4+o%4]);puts
                         ( I+(9<-++Q?16: 19
                                ))
                               ;};};
Página 11/29
4 | 5 | 6 | 7 | 8 | 9 | 10 | | 12 | 13 | 14 | 15 | 16