Wolfenstein / DOOM for Oric : has this been done?

Want to talks about games you like, would like to see developed on the Oric, it's here.
User avatar
Symoon
Archivist
Posts: 2307
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by Symoon »

All this is beyond my skills, but congratulations for the results ;)

(Just for the record, I might get some day a listing of Mercenary decompilation of the C64 version).
User avatar
ibisum
Wing Commander
Posts: 1646
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by ibisum »

Symoon wrote: Fri Nov 20, 2020 11:43 am All this is beyond my skills, but congratulations for the results ;)
I also am hanging back, watching these guys push their engines(*) way forward, but I surely can think of parts of the game code I could grok and push forward, as well...


[*-- the Oric has attracted a new breed of interested users, I have to say. There are multiple engines in progress at various fronts.. what a scenario!)
User avatar
jbperin
Flight Lieutenant
Posts: 480
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by jbperin »

Symoon wrote: Fri Nov 20, 2020 11:43 am All this is beyond my skills, but congratulations for the results ;)
What I find great with forums like defence-force or CEO is that we permanently discover some impressive or attractive things made by others that are far beyond our own skills. Opportunities to feel amazed are so numerous.
Very often I feel stunned by what I see here or on CEO forum. And I like that very much.
So I appreciate to know that I may also provide this feeling to some people :-)
It's a way to give back a little part of what I silently receive by contemplating other's work.
ibisum wrote: Fri Nov 20, 2020 12:57 pm I also am hanging back, watching these guys push their engines(*) way forward, but I surely can think of parts of the game code I could grok and push forward, as well...
Hey !! You should start programming next generation Oric games right now.

Look .. you have the Hub .. and the source code of a racing game in which the player position and orientation can be transmitted over internet to some other Oric while receiving other's position and orientation.

As for myself, I think I will soon be able, with this position, to display an avatar at this position in a 3D scene.
It's going to be as simple as something like:
setAvatarPosition(name, X, Y);

So, if someone manages to get the (name, X, Y) information from the hub within 3 kb of code .. I can provide the 3D scene representation.

No need to say that it is likely to be an unprecedented experience.. at mankind scale.

Think of it : There are more people on earth who have walked on the moon than people who have played a network 3D game on Oric.

And it is easier to enter history by coding a game on Oric rather than having to go to the moon ..

So .. :D
User avatar
jbperin
Flight Lieutenant
Posts: 480
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by jbperin »

Sorry guys, nothing of interest in this post.
It's another failure of mine. .. the source code of the video I had posted here : https://odysee.com/Oric3dMusic:a

I wanted to mix many things together (music, colorful 3D, animation) in order to see where I could push things in the direction of a Midi Maze like stuff.

I think it should be possible because most ingredients are here and it somewhat "works". Moreover there remain some CPU cycle to save by porting raycasting in assembly and getting rid of system's keyboard handling at 100 Hz (and replace with Dbug, Twilighte and Chema routine on 50 Hz )

But I'm currently facing too many issues that i can't overcome. I don't manage to have the text written below the hires part of the screen and when I use music, it destroys the text that I put on the first line. It's terribly frustrating.

@Dbug .. Sorry for posting this piece of S**T on the forum .. that's just for memory (and it only weights 77Kb) . .. perhaps, by any chance, someone can help me fixing the text stuff....
YetAnotherFailure.zip
(77.03 KiB) Downloaded 237 times
User avatar
iss
Wing Commander
Posts: 1641
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by iss »

jbperin wrote: Sat Jan 02, 2021 9:25 pmI don't manage to have the text written below the hires part of the screen...
The 3 text lines in HIRES have index 25,26,27 (where the first screen line has index 0 and starts at address 0xbb80), so you need to call AdvancedPrint with 'y' parameter one of the 25,26 or 27. Another problem is this 3 lines are probably filled with 0 (i.e. INK = black) and because there is no PAPER attribute set it defaults to black too => the printed data is invisible. Here is quick and very,very dirty fix, just to illustrate the difference (file main.c around line #90):

Code: Select all

        
        memset((void*)(0xbb80+26*40),0x20,40);
        sprintf(message, "%d.%d   ", kernel_s, kernel_cs);
        AdvancedPrint(10,26,message);
        sprintf(message, "%d.%d   ",kernel_beat,  kernel_fraction);
        AdvancedPrint(20,26,message);
        sprintf(message, "%d    ",getTempo());
        AdvancedPrint(30,26,message);
This should display the data from Oric's "TaskManager" :lol:
User avatar
jbperin
Flight Lieutenant
Posts: 480
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by jbperin »

Hey it works !!

Thank you very much Iss .. You're a boss !!

I was writing black on black :D
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by Dbug »

To catch this type of thing, really nothing beats pressing F2 to enter the debugger, and then look at the memory content ("m address") at the locations you are wondering what the heck happens.
User avatar
jbperin
Flight Lieutenant
Posts: 480
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Full Hires Screen Color Textured Raycasting on Oric

Post by jbperin »

Full Hires Screen Color Textured Raycasting on Oric

Hi all,

Work still in progress but there are some nice enhancement I want to show you:
  • Improved performance (translated some part from C to assembly
  • Enhanced perspective rendering (fixed some disgracious geometric distorsion)
  • Viewport resizable and relocatable at compilation time (all looktup table can be recalculated at build time depending on the desired viewport size).
I made two versions in case you want to test:

- Fullscreen rendering
raycastFS.tap
Full Screen Color Textured Raycasting
(29.82 KiB) Downloaded 221 times
- Viewport rendering
raycastVP.tap
Color Textured Raycasting in a ViewPort
(29.9 KiB) Downloaded 224 times
Here's what the FullScreen version looks like:
video00.gif
video00.gif (255.92 KiB) Viewed 6245 times

Performance are not yet at their top, but it gives an idea of what the render could give.
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by Dbug »

Starting to get there :)
Well done!
User avatar
kenneth
Squad Leader
Posts: 515
Joined: Fri Nov 26, 2010 9:11 pm
Location: France PdD
Contact:

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by kenneth »

:shock: Nice !
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by Chema »

I am getting more and more impressed indeed! Raycasting is a realm I always wanted to explore, but actually never even started. Probably impossible to get to 14 fps which could be needed for a FPS, but a nice dungeon crawler could be done with this...

Congratulations!
User avatar
jbperin
Flight Lieutenant
Posts: 480
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by jbperin »

Dbug wrote: Tue Feb 16, 2021 4:04 pm Starting to get there :)
Well done!
Thank you for your comment.
And thank you even more for your help and support in this making.

You gave me so much valuable advises along my work on it. Thank you.

My next expectedly significant gain in performance should consist in inlining calls to _ddaXXX() in this file with _ddaXXX functions defined in this file.

I plan to save lots of cpu cycles by avoiding jsr / rts in the rendering loop
User avatar
jbperin
Flight Lieutenant
Posts: 480
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by jbperin »

kenneth wrote: Tue Feb 16, 2021 6:41 pm:shock: Nice !
thank you ;-) I'm glad you enjoy :-)
Chema wrote: Tue Feb 16, 2021 8:14 pm Probably impossible to get to 14 fps which could be needed for a FPS, but a nice dungeon crawler could be done with this...
Congratulations!
Yes .. I must confess that I'm a bit disappointed not to be able to reach 14 fps raycasting (even though it was expectable) .. but yes .. there remain some nice possible usage of this technology.
I will soon release source code, design tools and some usage doc.
User avatar
rax
Flying Officer
Posts: 193
Joined: Tue Jul 24, 2018 3:16 pm

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by rax »

So cool :)
Congratulations !
We are waiting :)
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Wolfenstein / DOOM for Oric : has this been done?

Post by Dbug »

Chema wrote: Tue Feb 16, 2021 8:14 pm Probably impossible to get to 14 fps which could be needed for a FPS, but a nice dungeon crawler could be done with this...
That being said, the rendering is done on the entire screen, I know that some games managed to get some performance increase by cheating on the rendered surface, like simulating a cockpit with some areas where the "panes" of the cockpit join, have things like instruments, map, etc... overlap the screen, or even simply reduce the size like in 1337 with some instruments above and below the rendered area.

Now, with texturing, no idea what the actual optimal performance can be...
Post Reply