3D on MSX2/2+ and Turbo R systems.

By Yukio

Paragon (1540)

Yukio's picture

13-10-2007, 17:45

Does anyone own a nice piece of software for 3D graphics or games?
Any good vectorial or polygonal game?

I want something in the molds of Elite.
Maybe some racing game.

There is some programs (even in MSX-BASIC) that could draw that "3D" figures from descriptive text files. Like cubes and pyramids.

Login or register to post comments

By wolf_

Ambassador_ (9876)

wolf_'s picture

13-10-2007, 17:51

Ages ago, Alex Wulms made some tools on a disk, including a raytracer that created Spheres. It took ages!

Wireframe vectorgraphics are doable, tho not exactly fast either -and you want KUN at least-.

Face it, the VDP was never made for that.. Crying

By Yukio

Paragon (1540)

Yukio's picture

13-10-2007, 17:57

If speed is a issue. There could be some educational software.

Games.

Well, in the last case. There is the option to use a fixed view with "isometric" objects and sprites ...

By NYYRIKKI

Enlighted (5776)

NYYRIKKI's picture

13-10-2007, 18:41

I think Elite is still best polygonal game for MSX... If you are looking for nice 3D racing game, check out F-Nano2 or F-Nano2'

About 3D vector graphics in BASIC... Maybe this will help you... How ever you need X-BASIC and traditional Red & Blue 3D classes to view this correctly... Big smile

10 COLOR 3,0,0
20 SCREEN 6
30 OPEN "GRP:" FOR OUTPUT AS #1
40 PSET (190,32),0
50 PRINT #1,"Made By : NYYRIKKI"
60 SET PAGE ,1:CLS
70 PSET (190,32),0
80 PRINT #1,"Made By :"
90 _TURBO ON
100 DEFINT C-Z
110 DIM XP(100),YP(100),ZP(100),LX(100),LY(100)
120 COLOR=(1,0,0,7)
130 COLOR=(2,4,0,0)
140 COLOR=(3,4,0,7)
150 S0=0:S1=1
160 FOR K=0 TO 1
170 RESTORE
180 FOR W=0 TO 9
190 I=W+K*10
200 READ XP(I),YP(I):XP(I)=XP(I)*10:YP(I)=YP(I)*10:ZP(I)=(K*2-1)*5
210 NEXT W,K
220 '
230 AZ=AZ+.08:AY=AY+.065:AX=AX+.097:D=SIN(R/15)*50+110:R=R+1
240 B1=COS(AX):B2=SIN(AX):B3=COS(AY):B4=SIN(AY):B5=COS(AZ):B6=SIN(AZ)
250 SET PAGE S0,S1:SWAP S0,S1
260 'CLS
270 LINE (112,40)-(399,190),0,BF
280 FOR K=0 TO 1
290 FOR I=0 TO 19
300 X=XP(I):Y=YP(I):Z=ZP(I)
310 GOSUB 400
320 LX(I)=X*2+256-K*13:LY(I)=Y+106
330 NEXT I
340 FOR I2=0 TO 9
350 LINE (LX(I2),LY(I2))-(LX((I2+1)MOD10),LY((I2+1)MOD10)),K+1,,OR
360 LINE (LX(I2+10),LY(I2+10))-(LX(I2),LY(I2)),K+1,,OR
370 LINE (LX(I2+10),LY(I2+10))-(LX(((I2+1)MOD10)+10),LY(((I2+1)MOD10)+10)),K+1,,OR
380 NEXT I2,K
390 GOTO 220
400 'x axis
410 Y2=B1*Y-B2*Z
420 Z=B1*Z+B2*Y
430 'y axis
440 X2=B3*X+B4*Z
450 Z=B3*Z-B4*X
460 'z axis
470 X=B5*X2-B6*Y2
480 Y=B5*Y2+B6*X2
490 'X=X2:Y=Y2
500 X=(X+K*5)*D/(Z+120)
510 Y=Y*D/(Z+120)
520 RETURN
530 DATA -2,2 ,-2,-2 ,-1,-2 ,1,0 ,1,-2 ,2,-2 ,2,2 ,1,2 ,-1,0 ,-1,2

... Yes I know it's not optimized, but it works quite ok fps on MSX tR.

By NYYRIKKI

Enlighted (5776)

NYYRIKKI's picture

13-10-2007, 19:41

I know you are all too lazy, so you can just click this link:
http://www.youtube.com/watch?v=oxJPGVqLSEE

By Latok

msx guru (3828)

Latok's picture

27-11-2011, 20:56

I keep stumbling across this 3D BASIC example and I never thanked NYYRIKKI for it. Until now! Kudos!

By PingPong

Prophet (3737)

PingPong's picture

28-11-2011, 19:43

Ages ago, Alex Wulms made some tools on a disk, including a raytracer that created Spheres. It took ages!

Wireframe vectorgraphics are doable, tho not exactly fast either -and you want KUN at least-.

Face it, the VDP was never made for that.. Crying
Because the z80 was?
I think not.

By DanySoft

Champion (450)

DanySoft's picture

28-11-2011, 21:21

You can use this BASIC also build a house, the room in 3D, but not all colors in black and white and you can see zoom, rotate, etc. .... you know that the screen is very small for these giant 3D .... must be patient ....

Wink