Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
|
Forum Index : Microcontroller and PC projects : Wolfenstein 3D - version 0.7a
Author | Message | ||||
MauroXavier Guru Joined: 06/03/2016 Location: BrazilPosts: 303 |
Released version Version 0.7a of Wolfenstein 3D: https://github.com/mauroxavierneto/wolf3d_cmm2 Here is the current changelog: - Requires firmware 5.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 - Fixed stuck doors To-do list for the next version: - Implement frame time speed to all entities - Fix zoom window - Fix weapon on zoomed window - Fix objects on the 2x pixel detail mode - Implement fire trajectory to a correct collision Advice: This game has sensible images for some people. Have fun! Edited 2020-12-15 06:45 by MauroXavier |
||||
epsilon Senior Member Joined: 30/07/2020 Location: BelgiumPosts: 255 |
Super impressive! Where are all the raving reviews? This is by far the biggest in-progress project that I have seen on the CMM2 so far. And it's already running much smoother than on the PC I originally played this on :-) It's all there, the sound track and sound FX, the level transitions... I'm curious about how you're approaching this. Are you porting a code base to MMBasic or are you re-implementing, just re-using the existing assets? What about the level designs? Are those imported from the original game? It looks exactly like I remember, but it has been a very long time... I did run into an abort when I got attacked by a dog on level 2: 'Error in ENEMIES.INC line 268: 27 is invalid (valid is 1 to 5).' Epsilon CMM2 projects |
||||
MauroXavier Guru Joined: 06/03/2016 Location: BrazilPosts: 303 |
Iīm not using any part of the original source code, itīs a total reimplementation with the original assets. About the levels, I used an editor called HWE to read the original file and exported to FLR file format, that is more simple to read. The error you found in the ENEMIES.INC I will fix it soon, something in the code to keep in the screen the images generated by the IMAGE_RESIZE command probably is not right. About the reviews, I really appreciate your comments, but people already commented about it in the first versions. Currently, I believe that the community is more interested in new original things, and positively my Wolf3D port is far to be something original, itīs only a proof of concept that I continue to work on in my free time. Maybe my new game, "Into the Darkness", will be more interesting in the future ;) Letīs keep our retro hobby alive! |
||||
PeteCotton Guru Joined: 13/08/2020 Location: CanadaPosts: 311 |
I respectfully disagree. I think your Wolf3D is an amazing project and each version helps push the boundaries of the CMM2. We might not be always commenting, but we do very much appreciate the love and care that you put in to this (and all of your other) projects. Please keep up the good work. |
||||
Cyber Senior Member Joined: 13/01/2019 Location: UkrainePosts: 161 |
This is fantastic! As all your other creations, Mauro. I have an impression that proportions in youtube video are a little bit stretched horizontaly. But just a little bit. May be it's youtube upload or video capture issue. But even if I compensate stretch, it still looks like wide screen aspect ratio to me. I wonder how does this looks on 4:3 screen. I don't have CMM2 to try it myself. Can you make a photo of monitor screen? |
||||
MauroXavier Guru Joined: 06/03/2016 Location: BrazilPosts: 303 |
Thanks for your kind words, it's motivating to read a message like yours! Before my objective was to make source codes that could teach something to the community, but when I saw some sources from other people, I perceived that it would be very time consuming for me to keep my codes so clean, then I changed my mind about my objective. Now my objective is always to push the CMM2 to the limits, this is the motive for almost all my games doesn't reach 60 and even 30 FPS (maybe Final Fight will keep 60 FPS). Of course, performance is a target too, but I prefer to give more effects and complexity to the game than simply it to keep an always smooth FPS. Many friends of mine said that a Wolf 3D port from C to MMBasic would be impossible and I believe they were almost right, but a reimplementation from scratch showed that is possible and what's CMM2 is capable of, and obviously, all these thanks to the amazing optimization work from Peter Mather. It was purposeful as 640x400 and 320x200 are 16:10 resolutions and I think it's okay to stretch it in the video. If I had uploaded in 4:3, it would show black bars in all boundaries, as in the CMM2 the 640x400 and 320x200 resolutions keep borders in the top and bottom of the screen. You alright about 320x200 in the case of the Wolfenstein 3D, as ID Software programmed it to stretch it in 4:3 CRT display (what was a standard in DOS games). In a 4:3 monitor, the Wolf3D is a little wide stretched using borders in the CMM2 if you compare it to the aspect ratio of the original game. If you see the last Gauntlet video, will see I kept the 4:3 aspect ratio, and in the case of Demo X, it was made for a widescreen aspect ratio. PS.: When I back to my house I will make some photos of my 4:3 monitor. |
||||
toml_12953 Guru Joined: 13/02/2015 Location: United StatesPosts: 323 |
I don't seem to be able to die. Once my health has reached 0%, I can keep moving around. I don't remember this happening in the original game. |
||||
NPHighview Senior Member Joined: 02/09/2020 Location: United StatesPosts: 187 |
Mauro - I had the chance to download and play the game recently, and found it to be very immersive, and reminiscent of Castle Wolfenstein that I played decades ago! Congratulations. I'm looking forward to seeing your upcoming enhancements. - Steve ("NPHighview") Johnson Live in the Future. It's Just Starting Now! |
||||
MauroXavier Guru Joined: 06/03/2016 Location: BrazilPosts: 303 |
By now you canīt die, it will be implemented in the next version with the save and load slots. Thanks for your testing and comments! There are some enhancements that will come in the next version that the original game did not have, stay tuned. |
||||
Plasmamac Guru Joined: 31/01/2019 Location: GermanyPosts: 500 |
I Hope i can learn a lot from the code Plasma |
||||
SimpleSafeName Senior Member Joined: 28/07/2019 Location: United StatesPosts: 284 |
"Error in DOORS.INC line 13:Index out of bounds" Which occurred right after I had gotten stuck by a door (again) :) Other features were that I was able to shoot through doors, and if an enemy happened to be standing there, he was toast. The most comical one was where I was goofing around and shooting at barrels and I heard an "Arrggh" and eventually went into a new room only to find a dead guard there. LOL! And in one spot the enemy figured out how to shoot *ME* through a wall. That wasn't as much fun... :) Have fun! I just discovered this tonight, and I certainly had a great time! Thanks! John |
||||
NPHighview Senior Member Joined: 02/09/2020 Location: United StatesPosts: 187 |
John and Mauro - Just powered up the CMM2 and ran this again. Strangely, I just encountered the same error (on Level 2, shot a wolf, and on the 2nd shot, got the error.) Very nice! - Steve Live in the Future. It's Just Starting Now! |
||||
SimpleSafeName Senior Member Joined: 28/07/2019 Location: United StatesPosts: 284 |
At first glance, there seems to be some memory corruption going on in certain conditions. Qbert suffers from this as well. |
||||
MauroXavier Guru Joined: 06/03/2016 Location: BrazilPosts: 303 |
This problem of shooting through walls occurs because the code was preliminary and only checks the coordinates of the screen, without looking at the map. I will do a back porting of this part of the source code of Into The Darkness and this should be resolved. |
||||
Print this page |