Free your creativity - IOMBCC (Development MSX Forum)MSX Resource Center PassionMSX MSX2 contest              
              
English Nederlands Español Português Russian         
 News
   Frontpage
  News archive
  News topics

 Resources
   MSX Forum
  Articles
  Reviews
  Fair reports
  Photo shoots
  Fairs and meetings
  Polls
  Links
  Search

 Software
   Downloads
  Webshop

 MRC
   Who we are
  Join our team
  Donate
  Policies
  Contact us
  Link to Us
  Statistics

 Search
 
  

  

 Login
 

Username

Password




Don't you have an account yet? Become an MSX-friend and register an account now!.


 Statistics
 

There are 129 guests and 2 MSX friends online

You are an anonymous user.
 

MSX Forum


MSX Forum

Development - Free your creativity - IOMBCC

Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 Next Page )
Author

Free your creativity - IOMBCC

dvik
msx master
Posts: 1303
Posted: March 29 2005, 08:08   
Entry: Rally-X
System: MSX1

After bending the rules a bit (as NYYRIKKI suggested) I added opponent cars to
the Rally-X game. It was a bit tricky to make it fit but I think it turned out ok.
Here is the result:

1 DATA18,C,F,7,7,3,3,3,1,1,1,,,,,,,,,80,E0,F0,FC,5,5,5,5,5,5,5,5,5,,,,,,,,,80,E0,F0,F8,FC,A,A,5,,,,,,,,,,,,,,,,,3F,3F,3F,3F,3F,3F,B,B,B,B,B,B,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,F0,F8,FC,A,5,5,5,5,5,5,5,5,5,5,5,5,,,,,,80,C0,E0,F0,F0,F8
2 DATAFC,A,A,5,5,,,,,,,,,,,,,,,,,1,1,3,3,7,7,F,F,1F,1F,3F,3F,B,B,5,5,80,80,C0,C0,E0,E0,F0,F0,F8,F8,FC,FC,A,A,5,5,,,,,,,,,,,,,,,,,1,1,3,3,7,7,F,F,1F,1F,3F,3F,B,B,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,80,80,C0
3 DATAC0,E0,E0,F0,F0,F8,F8,FC,FC,A,A,5,5,,,,,,,,,,,,,,,,,,,,,,,,,1,7,F,1F,3F,B,B,5,,,,1,7,F,3F,5,5,5,5,5,5,5,5,5,18,30,F0,E0,E0,C0,C0,C0,80,80,80,,,,,,,,,,,1,3,7,F,F,1F,3F,B,B,5,5,F,1F,3F,B,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
4 DATA5,5,5,FC,FC,FC,FC,FC,FC,A,A,A,A,A,A,5,5,5,5,,,,,,,,1F,20,40,B,CF,CF,B,70,70,,,,,,,,C0,20,10,F0,98,98,F0,70,70,,,,,,,,,,,F,10,1F,2F,1F,19,,,,,,,,,,,,80,80,40,80,80,,,,,,,,,,,,,6,F,9,,,,,,,,,,,,,,,,,,18,17,16,,17,1,16,8,,17,9,1:KEYOFF
5 DEFINTA-Z:SCREEN1,3:V=14:COLOR,5,1:VPOKE8192,V:FORI=0TO479:READS$:Y=VAL("&H"+S$):VPOKE14336+I,Y-250*(Y=5)-244*(Y=10)-116*(Y=11):NEXT:FORI=0TO11:READF:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH<VORH>17)*(-128-F):NEXT:P(-I*(I<9))=50-15*(I/3AND1)
6 J=S-J*(J<96-S):H=J/16:IFCTHENVPOKE8208,P(H):VPOKE8209,P(H+1):VPOKE8210,P(H+2):RETURNELSENEXT:X=30:VPOKE14830,3:PUTSPRITE8,(80,159),V,6:PUTSPRITE9,(144,159),V,7:C=10:B=1:FORI=0TO143:VPOKE1024+I,255*(I/8AND1):VPOKE1311-I,255*(I/4AND1):NEXT
7 GOSUB6:PUTSPRITE4,(86+F*10,95),V,4*B:PUTSPRITE5,(118+F*10,95),V,4*B+1:PUTSPRITE6,(96,127),V,4*F+2:GOSUB6:PUTSPRITE7,(128,127),V,4*F+3:PUTSPRITE0,(X+80,156),1,12:U=STICK(0):F=B:S=S-(S<16):GOSUB6:C=C-S:IFC<=0THENB=3*RND(1):C=35+99*RND(1)
8 X=X+6*M+5*((U=7)-(U=3))-3*(B-1):L=X-E/3:M=(X>72)-(X<0):GOSUB6:S=S*(D<73ORL<0ORL>30)*(M=0):N=N+11-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB6:PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:GOTO7


And here is a screenshot if you don't want to run the game:



Alex Ganzeveld
msx lover
Posts: 81
Posted: March 29 2005, 10:18   
Sweet jesus!!! Un f*cking believable!

Restecpa! Incredible how you managed to squeeze Hyper Rally in 8 lines! Why don't you guys team up and create a new MSX game?!
AuroraMSX

msx master
Posts: 1231
Posted: March 29 2005, 11:18   
Quote:

Sweet jesus!!! Un f*cking believable!

Restecpa! Incredible how you managed to squeeze Hyper Rally in 8 lines! Why don't you guys team up and create a new MSX game?!



Heh, next thing we know is they'll redo Fray or ToG in 9 lines of BASIC ;P
ricbit
msx lover
Posts: 116
Posted: March 29 2005, 15:57   
2 DATAFC,A,A,5,5,,,,,,,,,,,,,,,,,1,1,3,3,7,7,F,F,1F,1F,3F,3F,B,B,5,5,80,80,C0,C0,E0,E0,F0,F0,F8,F8,FC,FC,A,A,5,5,,,,,,,,,,,,,,,,,1,1,3,3,7,7,F,F,1F,1F,3F,3F,B,B,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,80,80,C0


Why don't you use RLE here? I estimate you can reduce one or two lines from your already impressive game.
wolf_
online

msx legend
Posts: 4663
Posted: March 29 2005, 15:59   
well, it does add to the obfuscation .. a bit ^_^
dvik
msx master
Posts: 1303
Posted: March 29 2005, 18:45   
Quote:

Why don't you use RLE here?



I did a little count and RLE saves a bit over 300 characters With 300 fresh
characters its probably possible to add sound, and some status info, like
position and speed.

I'll see what I can do
dvik
msx master
Posts: 1303
Posted: March 30 2005, 09:30   
Entry: Rally-X v1.2
System: MSX1

After doing RLE encoded data as Ricardo suggested I was able to put some
more code to the game. So I added a speed meter, rank, customized font,
sound and cleaned up the startup a bit.

Here is the code:

1 DATA0,18,,C,,F,1,7,2,3,2,1,7,,,80,,E0,,F0,,FC,8,FF,7,,,80,,E0,,F0,,F8,,FC,1,FE,,FF,15,,5,3F,5,7F,19,FF,,F0,,F8,,FC,,FE,11,FF,4,,,80,,C0,,E0,1,F0,,F8,,FC,1,FE,1,FF,15,,1,1,1,3,1,7,1,F,1,1F,1,3F,1,7F,1,FF,1,80,1,C0,1,E0,1,F0,1,F8,1,FC,1,FE
2 DATA1,FF,15,,1,1,1,3,1,7,1,F,1,1F,1,3F,1,7F,33,FF,1,80,1,C0,1,E0,1,F0,1,F8,1,FC,1,FE,1,FF,23,,,1,,7,,F,,1F,,3F,1,7F,,FF,2,,,1,,7,,F,,3F,8,FF,,18,,30,,F0,1,E0,2,C0,2,80,9,,,1,,3,,7,1,F,,1F,,3F,1,7F,1,FF,,F,,1F,,3F,,7F,27,FF,5,FC,5,FE,3,FF
3 DATA6,,,1F,,20,,40,,7F,1,CF,,7F,1,70,6,,,C0,,20,,10,,F0,1,98,,F0,1,70,9,,,F,,10,,1F,,2F,,1F:KEYOFF:DEFINTA-Z:SCREEN1,3:V=14:COLOR15,5,1:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=0TO142:READX:READS$:Y=VAL("&H"+S$)
4 FORA=ATOA+X:VPOKE14336+A,Y:NEXT:NEXT:FORI=0TO11:READF:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH<VORH>17)*(-128-F):NEXT:P(-I*(I<9))=50-15*(I/3AND1):NEXT:B=1:FORI=0TO143:VPOKE1024+I,255*(I/8AND1):VPOKE1311-I,255*(I/4AND1):NEXT:FORI=256TO991:REMO
5 J=S-J*(J<96-S):H=J/16:IFCTHENVPOKE8208,P(H):VPOKE8209,P(H+1):VPOKE8210,P(H+2):RETURNELSE:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:SOUND3,V:C=10:N=12800:X=30:VPOKE8192,V:PUTSPRITE8,(80,159),V,6:PUTSPRITE9,(144,159),V,7:SOUND8,8
6 GOSUB5:PUTSPRITE4,(86+F*10,95),V,4*B:PUTSPRITE5,(118+F*10,95),V,4*B+1:PUTSPRITE6,(96,127),V,4*F+2:GOSUB5:PUTSPRITE7,(128,127),V,4*F+3:PUTSPRITE0,(X+80,156),1,12:U=STICK(0):F=B:S=S-(S<16):GOSUB5:C=C-S:IFC<=0THENB=3*RND(1):C=35+99*RND(1)
7 S=S*(D<73ORL<0ORL>30)*(M=0):GOSUB5:X=X+6*M+5*((U=7)-(U=3))-3*(B-1):M=(X>72)-(X<0):IFO+G-S-N/128THENO=S:G=N/128:LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:SOUND0,IAND255:PRINTUSING"SPEED:####mph       RANK:###";S*10;G
8 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:GOTO6:DATA,19,10,,1,80,,40,1,80,11,,,6,,F,,9,30,,,3,32,,18,17,16,,17,1,16,8,,17,9,1


And a little screenshot:



Alex Ganzeveld
msx lover
Posts: 81
Posted: March 30 2005, 09:35   
Yeeeeeeeeeeeeeeeeeeeeeeeeeehaaaaaaaaaaaaaaw!
Alex Ganzeveld
msx lover
Posts: 81
Posted: March 30 2005, 09:35   
Keep it coming! Great stuff.
NYYRIKKI
msx master
Posts: 1503
Posted: March 30 2005, 10:16   
Ok, that is pure BASIC art! You are really pushing the limits of size optimization
Vampier
msx addict
Posts: 493
Posted: March 30 2005, 11:24   
Dvik makes us all look like amateurs
NYYRIKKI
msx master
Posts: 1503
Posted: March 30 2005, 13:28   
I messed a little with your RLE and got you some more free space:

1 KEYOFF:DEFINTA-Z:SCREEN1,3,0:V=14:COLOR15,5,1:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=0TO142:READS$:X=ASC(S$)-65:Y=VAL("&H"+MID$(S$,2)):DATAA18,AC,AF,B7,C3,C1,H,A80,AE0,AF0,AFC,IFF,H,A80,AE0,AF0,AF8,AFC,BFE,AFF
2 DATAP,F3F,F7F,TFF,AF0,AF8,AFC,AFE,LFF,E,A80,AC0,AE0,BF0,AF8,AFC,BFE,BFF,P,B1,B3,B7,BF,B1F,B3F,B7F,BFF,B80,BC0,BE0,BF0,BF8,BFC,BFE,BFF,P,B1,B3,B7,BF,B1F,B3F,B7F,bFF,B80,BC0,BE0,BF0,BF8,BFC,BFE,BFF,X,A1,A7,AF,A1F,A3F,B7F,AFF,C,A1,A7,AF,A3F
3 DATAIFF,A18,A30,AF0,BE0,CC0,C80,J,A1,A3,A7,BF,A1F,A3F,B7F,BFF,AF,A1F,A3F,A7F,\FF,FFC,FFE,DFF,G,A1F,A20,A40,A7F,BCF,A7F,B70,G,AC0,A20,A10,AF0,B98,AF0,B70,J,AF,A10,A1F,A2F,A1F,A19,K,B80,A40,B80,L,A6,AF,A9,_,A3,a,,18,17,16,,17,1,16,8,17,9,1
4 FORA=ATOA+X:VPOKE14336+A,Y:NEXT:NEXT:FORI=0TO11:READF:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH<VORH>17)*(-128-F):NEXT:P(-I*(I<9))=50-15*(I/3AND1):NEXT:B=1:FORI=0TO143:VPOKE1024+I,255*(I/8AND1):VPOKE1311-I,255*(I/4AND1):NEXT:FORI=256TO991:REMO
5 J=S-J*(J<96-S):H=J/16:IFCTHENVPOKE8208,P(H):VPOKE8209,P(H+1):VPOKE8210,P(H+2):RETURNELSE:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:SOUND3,V:C=10:N=12800:X=30:VPOKE8192,V:PUTSPRITE8,(80,159),V,6:PUTSPRITE9,(144,159),V,7:SOUND8,8''''
6 GOSUB5:PUTSPRITE4,(86+F*10,95),V,4*B:PUTSPRITE5,(118+F*10,95),V,4*B+1:PUTSPRITE6,(96,127),V,4*F+2:GOSUB5:PUTSPRITE7,(128,127),V,4*F+3:PUTSPRITE0,(X+80,156),1,12:U=STICK(0):F=B:S=S-(S<16):GOSUB5:C=C-S:IFC<=0THENB=3*RND(1):C=35+99*RND(1)''
7 S=S*(D<73ORL<0ORL>30)*(M=0):GOSUB5:X=X+6*M+5*((U=7)-(U=3))-3*(B-1):M=(X>72)-(X<0):IFO+G-S-N/128THENO=S:G=N/128:LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:SOUND0,IAND255:PRINTUSING"SPEED:####mph       RANK:###";S*10;G''
8 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:GOTO6


[D-Tail]

msx guru
Posts: 2994
Posted: March 30 2005, 17:51   
WOW!!!

What a cool game!

Actually, I was waiting for the end demo to take place, after I got past the finish line. Now it turned out there wasn't a finish line at all... You know, I really like end demos, with 3D ray tracing shit in them, accompanied by some neat OPL4 tunes... I hoped it was RLE'd inside those data lines...

Understatement for wishful thinking


dvik: I worship you! Lead us into the wonderous MSX-BASIC-heaven!
[D-Tail]

msx guru
Posts: 2994
Posted: March 30 2005, 17:52   
PS: After my rank started to decrease below -13, I stopped playing... what is its minimum? Or will it wrap around at -32768/32767?
dvik
msx master
Posts: 1303
Posted: March 30 2005, 19:06   
Cool NYYRIKKI Good idea to put both the length and value in the same data string. It saves quite a lot of space.

I found a tiny bug in the data that generates the grass (just a comma in the wrong place). Here is an update:

1 KEYOFF:DEFINTA-Z:SCREEN1,3,0:V=14:COLOR15,5,1:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=0TO142:READS$:X=ASC(S$)-65:Y=VAL("&H"+MID$(S$,2)):DATAA18,AC,AF,B7,C3,C1,H,A80,AE0,AF0,AFC,IFF,H,A80,AE0,AF0,AF8,AFC,BFE,AFF
2 DATAP,F3F,F7F,TFF,AF0,AF8,AFC,AFE,LFF,E,A80,AC0,AE0,BF0,AF8,AFC,BFE,BFF,P,B1,B3,B7,BF,B1F,B3F,B7F,BFF,B80,BC0,BE0,BF0,BF8,BFC,BFE,BFF,P,B1,B3,B7,BF,B1F,B3F,B7F,bFF,B80,BC0,BE0,BF0,BF8,BFC,BFE,BFF,X,A1,A7,AF,A1F,A3F,B7F,AFF,C,A1,A7,AF,A3F
3 DATAIFF,A18,A30,AF0,BE0,CC0,C80,J,A1,A3,A7,BF,A1F,A3F,B7F,BFF,AF,A1F,A3F,A7F,\FF,FFC,FFE,DFF,G,A1F,A20,A40,A7F,BCF,A7F,B70,G,AC0,A20,A10,AF0,B98,AF0,B70,J,AF,A10,A1F,A2F,A1F,A19,K,B80,A40,B80,L,A6,AF,A9,_,A3,a,18,17,16,,17,1,16,8,,17,9,1
4 FORA=ATOA+X:VPOKE14336+A,Y:NEXT:NEXT:FORI=0TO11:READF:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH<VORH>17)*(-128-F):NEXT:P(-I*(I<9))=50-15*(I/3AND1):NEXT:B=1:FORI=0TO143:VPOKE1024+I,255*(I/8AND1):VPOKE1311-I,255*(I/4AND1):NEXT:FORI=256TO991'IOMB
5 J=S-J*(J<96-S):H=J/16:IFCTHENVPOKE8208,P(H):VPOKE8209,P(H+1):VPOKE8210,P(H+2):RETURNELSEO=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:SOUND3,V:C=10:N=12800:X=30:VPOKE8192,V:PUTSPRITE8,(80,159),V,6:PUTSPRITE9,(144,159),V,7:SOUND8,8'CC20
6 GOSUB5:PUTSPRITE4,(86+F*10,95),V,4*B:PUTSPRITE5,(118+F*10,95),V,4*B+1:PUTSPRITE6,(96,127),V,4*F+2:GOSUB5:PUTSPRITE7,(128,127),V,4*F+3:PUTSPRITE0,(X+80,156),1,12:U=STICK(0):F=B:S=S-(S<16):GOSUB5:C=C-S:IFC<=0THENB=3*RND(1):C=35+99*RND(1)'0
7 S=S*(D<73ORL<0ORL>30)*(M=0):GOSUB5:X=X+6*M+5*((U=7)-(U=3))-3*(B-1):M=(X>72)-(X<0):IFO+G-S-N/128THENO=S:G=N/128:LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:SOUND0,IAND255:PRINTUSING"SPEED:####mph       RANK:###";S*10;G'5
8 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:GOTO6


I think it will be hard to add features to the actual game without it slowing
down too much but maybe we could add a better ending (or rather add an
ending )


 
Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 Next Page )
 







(c) 1994 - 2008 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.