Jump to content

Russian Doom 6.3 (October 29, 2023)


Dasperal

Recommended Posts

Logo%20Horisontal.png

 

Russian Doom is a limit-removing source port of Doom, Heretic and Hexen. It has numerous vanilla bug fixes, enhanced 640x400 and 1280x800 rendering resolutions, improved game palettes and offers many optional aesthetic game enhancements along with the maximum possible translation to the Russian language.
 

For more information, visit the Project's Wiki.
 

This is a continuation of the original Russian/International Doom codebase, that was abandoned with the release of International Doom 7.0.
This project is distributed with the @Julia Nechaevskaya permission.
 

Download latest version

 

Changelogs
GitHub repository

Edited by Dasperal

Share this post


Link to post

International Doom wasn't "abandoned", it was just renamed.

 

Thanks for maintaining a "new" fork, can you please integrate a way to change the FOV?

 

edit:

Agree with @Graf Zahl, maybe it's better to change the name?

Edited by CacoKnight

Share this post


Link to post
5 hours ago, CacoKnight said:

International Doom wasn't "abandoned", it was just renamed.

 

I like this name too, thanks for maintaining a new fork, can you please integrate a way to change the FOV?

He isn't claiming ID was abandoned, he's claiming the RD6 codebase was abandoned.

 

IIRC, ID had a lot of its code rewritten for 7.0.

Share this post


Link to post

Roadmap for the nearest changes:

 

1) Rewrite initialization of the render backend
2) WAD selection gui during port execution
3) Distributives for Mac Os. Appimage for Linux. Builds for ARM processors. Create Flatpack after release and try to appear in other Linux repositories (not only for Arch).
4) Rewrite audio subsystem, fix bugs, add support for music packs, cd-music and fluidsynth.

5) Remove necessity of port restart after changing of some options
6) Rewrite text drawing system, add options for text scrolling. Change options menu

Next release may be after these 6 changes

 

7) Language.csv support

8) Level patches and scripts outside of the port code

9) UMAPINFO support

10) Hexen psx support

11) Partial support of ACSe/E and a lot of other stuff
12) Move FPS counter to the exact top right corner, as in GZDoom
13) Move gameplay and graphics features to different menu sections. Move options, which are in "set video mode" section in GZDoom, to "video" menu section. So, to combine Display and Render options and move graphical features there from Gameplay Options.
14) Add options for different text color for different pickup items (for exampe blue for armor, red for weapons, green for powerups etc)
15) Add options for crosshair color
16) Remove vanilla options menu. Because it is weird that some options continue working in "-vanila" mode (for example "customize controls" options), but you can't change them

 

Edited by theleo_ua

Share this post


Link to post
13 hours ago, CacoKnight said:

International Doom wasn't "abandoned", it was just renamed.


I am not saying that International Doom was abandoned, I am saying that the original codebase was abandoned.
In 7.0 release, International Doom was rewritten from scratch in a new repository - JNechaevsky/international-doom.

 

6 hours ago, Graf Zahl said:

It's still not ok to take another's project name without asking.


I asked permission and got agreement, @Julia Nechaevskaya can confirm. I can also provide a screenshot of the conversation in Discord (it is in Russian):

Spoiler

RD.PNG.278bb0c3b956bc22094e456dd09145e9.PNG


More over, it is not really a fork, it is the original JNechaevsky/russian-doom repository transferred to me by @Julia Nechaevskaya.

I chose the name Russian Doom, because it is the original name of the project and because this project preserves translation to the Russian language, no longer present in the International Doom 7.0+.

 

13 hours ago, CacoKnight said:

Can you please integrate a way to change the FOV?


I have to check how to implement it in the software render. If I will be able to implement it, I will probably do it.

Edited by Dasperal

Share this post


Link to post

what about the DOS version?

the latest release goes back to 2020 and the repo has hundreds of more recent commits, do you plan to put a new one out there?

Share this post


Link to post
7 minutes ago, liPillON said:

what about the DOS version?

the latest release goes back to 2020 and the repo has hundreds of more recent commits, do you plan to put a new one out there?


Yes, I plan to release those changes.
But I am not interested in DOS, so I probably won't develop new features for the DOS version of Russian Doom.

Share this post


Link to post

In fact, @Dasperal is now full-right owner of the previous codebase and the whole "Russian Doom" project itself.

 

Not to leave things unsaid and prevent any father misunderstandings --

 

In the first half of 2023 I switched to full-time development of the CRL source port. There was no real plan, just an improvisation and thoughts about what kind of strict features and QoL improvements might be useful to make this port suitable not only for displaying render counters, but also for extending it for some additional game modes, error messages, play state counters and so on. Suitable for normal play as well.

 

Here's how it looked like in the beginning (screenshot, does the menu look familiar?), the codebase was just a draft of Chocorenderlimits 2.0 left by RestlessRodent and barely adapted to SDL2 by myself back in 2018. Some time after the release of CRL 1.0, @esselfortium and other respected mappers came up with valuable suggestions that helped a lot to make this port even more useful.

 

Sometime in March of 2023 I decided to take a fresh look at the old Inter-Doom (6.x) and found myself, let's just say, totally unhappy with its evolving state. The only reasonable solution besides "burn everything to hell and start over" was to give it away to @Dasperal, who helped me a lot and did a huge amount of code improvements at that moment - I just couldn't let myself destroy all his work. It's not just "work", it's a time of real life. And that's what happened.

 

A few days later I decided to make a small-big experiment: to run Sunder MAP15 in CRL to take a look at the render counters in such a complex map, just out of pure interest - what kind of values will appear on visplanes etc. without engine optimizations? Support for such maps should not be done in original CRL, simply to not give false impressions like "okay, it can be run in CRL, then it can be run under Chocolate Doom and DOS version". 

 

So, a copy of the CRL codebase was made for such experiments, and the more code was changed just to load Sunder at all, the more inspiration came to reassemble Inter-Doom entirely. I decided to leave it's translation and resource dependent past behind and redo everything in a more conservative way, not with "features for features and fix all vanilla bugs", but with "actual code, demo and multiplayer compatibility". AFAIR, it took about two months to reassemble as well as review/rewrite my own code. After a huge amount of changes, not much code from CRL itself remained in Inter-Doom, except for the menu API and a few game modes. Nowadays both ports are mostly identical in the upper level code, which is mostly identical to the actual Chocolate Doom code. And believe me, this makes maintaining both CRL/Inter-Doom ports as easy as possible.

 

Just a note: Sunder requires Boom-compatible engine, and both RD and ID are not such kind. But it's Map15 has been used a lot for benchmarking purposes, it's a true paragon for such cases.

 

Guess, that's all the story. I'll principally left untold my tantrums about "I don't understand this, let's remove it!", but it's kinda fun to remember in retrospect.

Finally, I can only wish only best with farther development of Russian Doom! But the only thing I'd like to ask is to don't make any farther posts or requests about RD in ID thread. Despite of being somewhat same in it's features, now it's a different ports with different aims, and once I left RD's code base, I haven't touched it all.

Share this post


Link to post

I'm guessing this means a maintained Heretic and Hexen, previously Russian Heretic/Hexen and then International Heretic/Hexen before the latter ended support. I was using the latter to replay those games and learned about the aforementioned Russian port of Hexen because of Civvie 11's review.

Share this post


Link to post
6 minutes ago, Lila Feuer said:

I'm guessing this means a maintained Heretic and Hexen, previously Russian Heretic/Hexen and then International Heretic/Hexen before the latter ended support.

 

Exactly!

Share this post


Link to post
7 hours ago, Dasperal said:

I have to check how to implement it in the software render. If I will be able to implement it, I will probably do it.

Other devs that made a Crispy fork took the code from DOOM Retro IIRC, not sure this helps and thank you.

Share this post


Link to post
  • 3 weeks later...

I've got game constantly crashing on E1M8 in Heretic (Registered 1.3), sadly.

It happens almost in the beginning, randomly, in place with respawning barrels (I don't know how it's called properly in Heretic)

Should I provide additional information or maybe you can replicate this behaviour yourself and fix it for the next release / patch?

 

UPD:

Jeez, what an absurd, I tried to replicate this crash and send you a log, but somehow it didn't crash.

WTF? :D

Edited by Vanilla+Unicorn

Share this post


Link to post
  • 3 months later...
On 3/13/2024 at 7:55 AM, CacoKnight said:

Decided to give this one another try and maybe keep/archive the settings, https://github.com/Russian-Doom/russian-doom/actions/runs/8224314131 which one runs "better"? clang, gcc or msvc?


They are almost equal, with gcc being a bit more performant and msvc being a bit less performant. The release builds are using gcc.
Other dev builds are byproducts of compilation testing with different compilers.

Share this post


Link to post
  • 3 weeks later...
On 4/3/2024 at 3:43 AM, ASON-Z- said:

Is there a way to install your own soundfonts?


For GUS emulation, you can provide a path to the custom set of GUS patches via "-gus_patches <path>" command line parameter or "gus_patch_path" config variable.
For MIDI, you can provide a path to the custom Timidity config file via "timidity_cfg_path" config variable.

There are the only working options right now.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...