Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 18:52 28 Mar 2024 Privacy Policy
Jump to

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: Brazil
Posts: 303
Posted: 06:35pm 14 Dec 2020
Copy link to clipboard 
Print this post

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: Belgium
Posts: 255
Posted: 08:52pm 16 Dec 2020
Copy link to clipboard 
Print this post

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: Brazil
Posts: 303
Posted: 11:12pm 16 Dec 2020
Copy link to clipboard 
Print this post

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: Canada
Posts: 311
Posted: 06:08am 17 Dec 2020
Copy link to clipboard 
Print this post

  MauroXavier said  
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 ;)


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: Ukraine
Posts: 161
Posted: 06:46am 17 Dec 2020
Copy link to clipboard 
Print this post

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: Brazil
Posts: 303
Posted: 11:33am 17 Dec 2020
Copy link to clipboard 
Print this post

  PeteCotton said  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.


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.

  Cyber said  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.


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 States
Posts: 323
Posted: 05:15am 22 Dec 2020
Copy link to clipboard 
Print this post

  MauroXavier said  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!


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 States
Posts: 187
Posted: 05:38am 22 Dec 2020
Copy link to clipboard 
Print this post

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: Brazil
Posts: 303
Posted: 11:32am 22 Dec 2020
Copy link to clipboard 
Print this post

  toml_12953 said  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.

By now you canīt die, it will be implemented in the next version with the save and load slots.


  NPHighview said  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.

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: Germany
Posts: 500
Posted: 01:20pm 22 Dec 2020
Copy link to clipboard 
Print this post

I Hope i can learn a lot from the code
Plasma
 
SimpleSafeName

Senior Member

Joined: 28/07/2019
Location: United States
Posts: 284
Posted: 06:33am 13 Apr 2021
Copy link to clipboard 
Print this post

  MauroXavier said  

- Fixed stuck doors


"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 States
Posts: 187
Posted: 10:42pm 13 Apr 2021
Copy link to clipboard 
Print this post

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 States
Posts: 284
Posted: 05:42am 03 May 2021
Copy link to clipboard 
Print this post

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: Brazil
Posts: 303
Posted: 11:10am 03 May 2021
Copy link to clipboard 
Print this post

  SimpleSafeName said  "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... :)

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


To reply to this topic, you need to log in.

© JAQ Software 2024