Colour Maximite 2 - Wolfenstein 3D v0.7a
HTML-код
- Опубликовано: 12 сен 2024
- Wolfenstein 3D version from scratch for Colour Maximite 2
- Requires firmware 5.05.06 or up
- General optimizations in raycaster to use the optimizations of the new firmware
- Implemented perspective correction on the textures
- Now players move at the same speed using frame time, independently of how much CPU the raycast engine is using
- Implemented z-buffer
- Fixed weapon rendering
There are many bugs that you will see in this video, I hope you enjoy it ;)
Source code:
github.com/mau...
PS: You will see some video artefacts and some VSYNC issues because of my crap USB capture card. In the real hardware, you see none of this.
I love the audio squeals between loading sounds legit and the port is superb.
This is indeed really, really good! who would have though to see this done with a Basic interpreter !!
So many friends of mine said it would be impossible to make it work in a 400 Mhz machine using interpreted language, but as the CMM2 have some hard optimized commands for image processing, it turned the task easier to the interpreter.
Amazing Mauro! Where can we get a copy?
Thanks!
is the source code:
github.com/mauroxavierneto/wolf3d_cmm2
That looks really good. Congrats.
Thanks!
is good
Superb!
Thanks!
Crazy it's in BASIC.
I must confess that at the beginning of this development I almost thought it wouldn't be possible, but with a few tricks here and there (and some persistence), and especially by Peter Mather's highly optimized firmware, a 100% Wolf3D made in MMBasic has become a reality.
@@MXRetroDev you have really got me considering getting one of these. I used to program speccy and C64 machine code graphics/music demos 30+ years ago In Z80/6502, and to think I could do more than that with BASIC .. sweaty palms.
Just a couple of questions (1) Do you know why the audio is noisy before the game? and (2) What version of Wolfenstein 3D does that music come from?
1 - The CMM2 can reproduce some noises related to the CPU processing when the board isn't grounded correctly or have some ground loop issue. I have both the cases as my house don't have real GND in the power plug (very common in Brazil).
2 - It's not from any Wolfenstein game, I got the music from MOD Archive site, using freely distributable musics for non profit projects. In the next version I intend to insert the credit to the authors, as I did the same in Gauntlet and Demo X.
Feel free to make any questions.
Slightly lo-res but very nice work! Do you think DOOM is possible?
The lo-res for Wolf3D was necessary as a raycast engine is a bit intensive to an interpreted language.
In the case of Doom, if implemented a BSP algorithm in a good optimized way, the CMM2 can receive a total reimplementation, not a direct port from the original source code, and in any case at best would be like the version from Jaguar or 32x, not much beyond this.
In the future, I will try it for sure, if anyone doesn't try before me.
@@MXRetroDev Neat. Does the CMM2's BASIC include texture mapping commands or anything specifically for 3D rendering?
@@basicforge Not exactly commands totally dedicated to 3d mapping. It has some commands that help you:
- Total 3D support (X, Y, Z, camera, z-buffering, flat lightning, etc) for flat polygons.
- Commands to apply perspective (warp) in the horizontal or vertical axis in images, and if you unite both the axis then you can make a full textured mapping, but the 3D part is up to you (calculations and z-buffering, for example).
- Commands for zoom and rotate images (something as a SNES).