MEGA-Challenge #02: Evolution 2

by snout on 27-06-2007, 20:08
Topic: Software
Languages:

Marco Rossin has sent us the second entry to the MSX Resource Center MEGA Challenge: Evolution 2. Based on his 3D vector graphics engine as used in E3D Evolution he has created a 3-minute gallery of unfilled and filled vector graphics in a 64x48 window for MSX turboR and optional MSX-MUSIC/MSX-AUDIO support.

www.msx.org/downloads/screenshots/871_1.png www.msx.org/downloads/screenshots/871_2.png

In the MSX Resource Center MEGA-Challenge you can win a brand new One Chip MSX computer by submitting either an MSX2 game, a history-themed game/demo or a game/demo that only uses 64x48 pixels. You can find out all details on this challenge right here. You can send in your entries to mega@msx.org until June 27th, 2008, 23:59 CET - the day on which MSX celebrates its 25th anniversary.

Relevant link: Evolution 2

Comments (17)

By hap

Paragon (2020)

hap's picture

27-06-2007, 20:14

Good thing you changed your mind and released your program Smile
(in the other thread it looked like you were implying to cancel it completely)

By Vincent van Dam

Hero (513)

Vincent van Dam's picture

27-06-2007, 20:16

Great! I am glad you released it too, the challenge could use this possitive swing! Smile

By Ivan

Ascended (9095)

Ivan's picture

27-06-2007, 21:00

Now I realize how small is a 64x48 window. It is difficult to create amazing demos in such small portion of the screen.

By dvik

Prophet (2200)

dvik's picture

27-06-2007, 21:03

Nice demo Smile Good to see another entry!

By snout

Ascended (15187)

snout's picture

27-06-2007, 21:03

It is and this demo is a great attempt already! I like the lighting-effects, especially on the cubes and the L-shaped ('tetris brick') object. Nicely done! Looking forward to see more 64x48 action!

By SolidEric

Champion (332)

SolidEric's picture

27-06-2007, 21:28

Nicely done!!

By Huey

Prophet (2644)

Huey's picture

27-06-2007, 21:51

Nice one. Didn't expect this kind of gem for the 'small' category.

By turbor

Champion (424)

turbor's picture

27-06-2007, 22:03

He isn't the only 64x48 entry I can assure you.
Now let's see how fast my mail can be processed and a new 64x48 entry shows up Cool

By Prodatron

Paragon (1788)

Prodatron's picture

28-06-2007, 14:31

Interesting, this demo is using the multipliation/division commands of the R800, right? Just wonder how fast it would be on an MSX2 with alternative routines for these operations.

By MicroTech

Champion (384)

MicroTech's picture

28-06-2007, 15:06

Thanks to everybody Cool

I think the best 3D stuff is inside "3072" in the screen 12 part (really cool if in R800mode)... and with clipping! Wink

@ Prodatron:
Moltiplication is performed with R800's mul instructions - division, when possible, uses the "trick" of multipling by a (precalculated) inverse of divisor.
If you wish I can compile and send you a Z80 version of Evolution 2 (I think there is a strong difference anyway)

By Manuel

Ascended (15618)

Manuel's picture

28-06-2007, 16:33

Snout and Wolf: while you might think that making things for 64x48 is easier, there's also a drawback which MicroTech just mentioned: clipping! And this can be quite complex and troublesome and cost some performance as well.

By Prodatron

Paragon (1788)

Prodatron's picture

28-06-2007, 20:05

@Microtech: Thanx for the offer, that would be very interesting for me. My email is jmika at prodatron dot net. I wonder what takes the most time with this reduced resolution: The vector calculation or the painting? I guess it's very hard to write a fast triangle fill routine for the VDP...

By wolf_

Ambassador_ (9765)

wolf_'s picture

28-06-2007, 20:38

manuel: ofcoz, it wasn't made to be easier, but to have smoother and new effects. While I don't know all the details, but what about using masking sprites?

By turbor

Champion (424)

turbor's picture

28-06-2007, 22:33

I really like the attention that has been put into the movement of the objects. And of course there is a nice variety of objects. I really enjoyed the show Smile

@prodatron: I'll rip the filled triangle routine out of my previous 3D engine for you and mail it to you, since the VDP is drawing the lines while you calculate the new endpoints for the next line segment it is reasonably fast. And you could of course try HMMV instead of LINE when drawing horizontal/vertical lines, you might gain a little depending on the length of the lines. Wink

By NYYRIKKI

Enlighted (5324)

NYYRIKKI's picture

01-07-2007, 22:11

Somehow I always like vector graphics. I enjoyed watching this... Smile

By ARTRAG

Enlighted (6229)

ARTRAG's picture

02-07-2007, 13:53

Finally I tried it!! Very good ! Well done!!
And thanks for releasing it Wink
Now some questions about the implementation:
Do you use precomputed data ?
What is the best engine between E2 and turbor's one for filled 3d?
It could be nice to do some benchmarking (#fps vs #filled triangles etc)
Maybe a new engine could take the best of the two...

By MicroTech

Champion (384)

MicroTech's picture

03-07-2007, 09:45

Finally I tried it!! Very good ! Well done!!
Running Naked in a Field of Flowers

And thanks for releasing it
Thanks to you and Danilo for the music, I think bgm has a really strong impact on the "feeling" a demo can give!

Do you use precomputed data ?
Only a look-up-table containing the reciprocal of the first (most used) 255 integers.
All the remaining is calculated in "real time".

What is the best engine between E2 and turbor's one for filled 3d?
Nice question Wink
I didn't see turbor's engine sources, I imagine turbor's is faster:
- it is completely written in optimed assembly (faster)
- it performs all the math in 8bit (faster but limited)
- the "camera" can only be translated (not rotated) (less calculations to do: faster)

On the counterpart E3D:
- is written 95% in ASCII C and 5% asm (probably could run 2 or 3 times faster if completely rewritten in asm)
- it performs all the math in 16 (32) bit math using R800 mul instructions (less limits than turbor's but only for R800)
- camera can be translated and rotated (more calculations but, IMHO, cooler Cool)

It could be nice to do some benchmarking (#fps vs #filled triangles etc)
Maybe a new engine could take the best of the two...

I like the idea of "creating a standard 3D library" for MSX... but who will use it?

@Prodatron:
Did you receive my mail?