Jump to content

Ironwail - The superfast Quakespasm fork is here


Recommended Posts

Can't run that, but moving things to compute is interesting. Could you use a name change though - Calling it just QuakeSpasm is just confusing. QuakeSpasm-Supercharged or something.

Share this post


Link to post
9 minutes ago, Redneckerz said:

Can't run that, but moving things to compute is interesting.

Yeah it requires OpenGL 4.x (probably 4.3 onward) support to work (which is around post 2012-ish hardware)

 

9 minutes ago, Redneckerz said:

Could you use a name change though - Calling it just QuakeSpasm is just confusing. QuakeSpasm-Supercharged or something.

Agreed. I wish the author had given it a different name.

Edited by ReaperAA

Share this post


Link to post
Just now, ReaperAA said:

Yeah it requires OpenGL 4.x support to work (which is around post 2012-ish hardware)

 

Agreed. I wish the author had given it a different name.

Ironically my GPU (HD4600) is post-2012, but it isn't directly supported (Skylake is a minimum).

 

It needs a name change though, FastSpasm? QuickSpasm? I dunno but when the gains are this big you can't just settle for the same name.

Share this post


Link to post

I've just gotten back into playing Quake recently using Quakespasm Spiked so I'll be curious to see where this goes- not that I tend to have performance issues but any optimization is a great thing in my book! The author's name sounds familiar, but I can't place it in my memory banks.

Share this post


Link to post
3 hours ago, Redneckerz said:

Can't run that, but moving things to compute is interesting. Could you use a name change though - Calling it just QuakeSpasm is just confusing. QuakeSpasm-Supercharged or something.

Or maybe perhaps QuakeSpasm-QuadDamage or QuakeSpasm-Megahealth, if you're looking for consistency.

Share this post


Link to post
  • 1 month later...
On 12/7/2021 at 4:15 PM, HavoX said:

Or maybe perhaps QuakeSpasm-QuadDamage or QuakeSpasm-Megahealth, if you're looking for consistency.

Its going to be Ironwail(For now). Version 0.3.0 released.

 

Changelog:

Spoiler
  • tentative new name; too edgy?
  • added fallback path for slightly older GPUs (see updated requirements below)
  • more CPU & GPU rendering optimizations (e.g. +~20% on ad_tears)
  • more loading time optimizations for complex maps
  • new software emulation mode (r_softemu 0=off / 1=subtle / 2=balanced / 3=raw)
  • support for lightmapped liquids (r_litwater 0/1)
  • fixed various vid_restart issues and simplified it to be practically instant
  • changed vid_vsync, vid_fsaa and gl_texture_anisotropy to apply immediately (no vid_restart required)
  • fixed various stability and Intel compatibility issues (big thank you to @j4reporting for all the testing!)
  • added lightstyle interpolation for reduced eyestrain (r_lerplightstyles 0/1/2) - thanks, @mhQuake!
  • added more options to the video menu
  • r_scale > 4 now allowed on high-res screens
  • fixed 'texture not aligned to 16 pixels' crash in mg1/horde2
  • added code to handle sky textures with non-standard sizes and warn about them (e.g. ad_tears)
  • updated SDL2 to 2.0.18

 

Interestingly, requirements have been lowered:

Before 0.3.0:

  • AMD Radeon HD 7000 series (GCN1, 2012) or newer
  • Nvidia GeForce 600 series (Kepler, 2012) or newer
  • Intel HD Graphics 500 series (Skylake, 2015) or newer

Ironwail 0.3.0:

Minimum GPU

  • NVIDIA GeForce GT 420 ("Fermi" 2010)
  • AMD Radeon HD 5450 ("TeraScale 2" 2009)
  • Intel HD Graphics 4200 ("Haswell" 2012)

Recommended GPU

  • NVIDIA GeForce GT 630 or newer ("Kepler" 2012)
  • AMD Radeon HD 7700 series or newer ("GCN" 2012)
  • Intel HD Graphics 620 ("Kaby Lake" 2016) or newer

Good luck for me since i am rocking a HD 4600. I guess this might go a long way in providing a Quakespasm fork with modern rendering paradigms.

Share this post


Link to post

Great news. Changed the thread name to indicate the current name for the fork.

Edited by ReaperAA

Share this post


Link to post
3 hours ago, Redneckerz said:

Its going to be Ironwail(For now).

Why, that's even better! I've been keeping an eye on this for a while, too.

Share this post


Link to post

I just tested Ironwail out and I'm pretty sure it'll be my go-to from now on, but I'm a bit curious about the dynamic lighting. Does it use whatever the Quake EX port uses or something different? 

 

Also, what features might be planned for future releases? I can guess Quake EX model support will happen, but I'd love to see some sort of addon/expansion/mod launcher built into it somehow. Like how you can select expansions in Quake EX, rather than needing a separate launcher or shortcuts with command line stuff. 

Share this post


Link to post

Ironwail is a great name. Quake has some edge to it, so it's fine if a port has an edgy name, it feels thematically appropriate.

 

A launcher front-end, so you don't have to manually load expansions and mods with the console, would be a SUPER cool feature!

Edited by ChopBlock223

Share this post


Link to post

Although YouTube's video compression hides most of the effect... Ironwail's new dithering options allows it to render Quake 64 a bit closer to how it appeared on the Nintendo 64! It also has a palette rendering mode which is closer to the software rendering mode of Quake, and I like using that for modern maps. I think this shall be my go-to port for custom maps now!

 

Share this post


Link to post
19 minutes ago, Immorpher said:

Although YouTube's video compression hides most of the effect... Ironwail's new dithering options allows it to render Quake 64 a bit closer to how it appeared on the Nintendo 64! It also has a palette rendering mode which is closer to the software rendering mode of Quake, and I like using that for modern maps. I think this shall be my go-to port for custom maps now!

 

 

I tried Quake 64 with the dithering and palette modes too, it looks great. I'd imagine Dimension of the Machine looks pretty good with the dynamic lighting too, though I personally couldn't tell the difference.

Share this post


Link to post

@Immorpher offtopic but can you tell me where you got those color lighting files from. I too am using colored lights with the official maps, but they don't have as many lights as your version have

 

Or are they just part of Quake 64?

Edited by ReaperAA

Share this post


Link to post
19 minutes ago, ReaperAA said:

offtopic but can you tell me where you got those color lighting files from. I too am using colored lights with the official maps, but they don't have as many lights as your version have 

I think he's using this.

Share this post


Link to post
7 hours ago, ReaperAA said:

@Immorpher offtopic but can you tell me where you got those color lighting files from. I too am using colored lights with the official maps, but they don't have as many lights as your version have

 

Or are they just part of Quake 64?


These colored lights are indeed part of Quake 64. It was the first to add colored lights to Quake I believe! Unfortunately the Quake 64 texture resolution is low and it has reduced geometry. It would be awesome if one day we could take the Quake 64 colored lights and add them to the original more-detailed PC maps.

And here's a bonus! This is a map from the Quake Xmas Jam 2021 running in Ironwail. This jam was based upon Arcane Dimensions. And here I am using Ironwail's strict palette rendering mode.

 

Edited by Immorpher

Share this post


Link to post
  • 3 weeks later...

Version 0.4.0 of Ironwail is released.

 

Downloads:

Changelog:

Spoiler

Changes from previous release:

  • added support for multiple game and basegame dirs (from QSS, contributed by @neogeographica)
  • added support for Unicode characters in basedir
  • changed config file name to ironwail.cfg (config.cfg will be loaded as a fallback when ironwail.cfg is not present)
  • changed screenshot prefix from spasm to ironwail
  • changed r_softemu 3 menu background to look more like the one in Quake 1.06
  • changed r_softemu 3 mode to replicate the alias model UV distortion from the original software renderer
  • restored r_showbboxes functionality
  • added map status to window title
  • added fps limit menu option

Bug fixes:

  • fixed a bug that caused an edict leak after loading a savegame in some cases
  • fixed a bug that caused physics to run in sync with the renderer when using the default host_maxfps limit
  • fixed a bug that caused water to be drawn as opaque instead of transparent in some cases

 

Share this post


Link to post
  • 3 months later...

Because i can, i just jump ship to the latest version. No worry, you get a changelog of both. Happy Quaking!

 

Version 0.6.0 of Ironwail is released.

 

Downloads:

Changelog (0.6.0):

Spoiler

0.6.0:

Changes from 0.5.0:

  • compatibility with Quake 2021 rerelease update 3
  • Note: if you have Quake on Steam, you can unzip this release anywhere and simply run the executable to play the game, including any add-ons you may have already downloaded
  • added Mods menu - you can find it directly in the main menu for mods that use standard menu graphics, and in the Options menu as a fallback (e.g. Alkaline)
  • added basic UI mouse support
  • added weapon bindings to the Controls menu and enabled scrolling
  • added new HUD styles and new hudstyle cvar (set to 0 for classic HUD)
  • support for monster counts > 3 digits in the intermission screen
  • enabled looking up/down using the mouse wheel; cl_mwheelpitch adjusts pitch increment per tick (default 5)
  • ability to show the old taunt messages when quitting (cl_confirmquit 2)
  • tweaked savegame comment, window title and status bar text for maps with no description
  • added cl_titlestats cvar (1 = show map stats in window title, 0 = use simple window title)
  • added con_notifycenter, con_notifyfade and con_notifyfadetime cvars
  • increased default particle limit from 2k to 16k
  • optimized particle rendering (based on code from @mhQuake)
  • added r_showbboxes 2 mode with PVS test
  • changed r_showbboxes to use different colors for different entity model types; you can use a negative value (e.g. r_showbboxes -1) for the old style (all white)
  • added optional copy argument for the viewpos command; when present, viewpos text will also be copied to clipboard
  • changed unknown command console behavior to show all options containing the entered string instead of simply saying 'unknown command'
  • changed default protocol to 999
  • changed QuakeC random function to never return 0 (work-around for a bug in the original QuakeC code that caused enemies to be frozen and immune to damage after spawning); set sv_gameplayfix_random 0 for the old behavior

Bug fixes:

  • fixed a bug that caused stuttering on elevators and ramps in some cases
  • fixed gl_overbright_models 0 mode to match QS
  • fixed suboptimal bmodel item instancing
  • fixed maps with no lightmap information being rendered as pitch-black (instead of fullbright) in multiplayer mode
  • fixed chase cam on jumbo maps (e.g. shib8)
  • fixed LAN config menu layout in Arcane Dimensions
  • fixed 'Unknown command "Max"' message in Arcane Dimensions

 

Changelog (0.5.0):

Spoiler

Changes from 0.4.0:

  • added Steam Quake folder detection: if you have Quake on Steam, you should be able to unzip this release anywhere and simply run the executable to play the game, including any add-ons you may have already downloaded
  • Note: you can use the mods console command to view a list of available mods, and the game command to switch between them
  • (e.g. game terra or game udob)
  • added the ability to install the engine in its own subdirectory alongside id1 (without having to use -basedir)
  • re-enabled title demos by default (can be turned off with cl_startdemos 0)
  • renamed engine pak file to ironwail.pak and removed entity patches from it
  • added simple underwater sound filter (snd_waterfx 0 to disable)
  • further reduced heap usage: peril/tavistock can now be played without having to use -heapsize
  • added supersampling support for increased image clarity (AA mode: full video option)
  • added texture mip lod bias support (gl_lodbias, set to auto by default) - @temx
  • added dot crosshair (crosshair 2) - @swim32
  • changed UI scale slider to also update crosshair scale
  • r_lerpmodels & r_lerpmove are now saved to config
  • fov is now saved to config - @temx
  • added freelook cvar - @mhQuake
  • enabled always run option by default
  • changed initial resolution from 800x600 to current display resolution
  • automatic initial UI scale based on resolution instead of fixed 1.6
  • increased initial brightness/contrast a bit
  • removed lightmap clamping
  • improved palettization accuracy
  • limited particle trail emission rate
  • disabled mip-mapping for MDLs
  • added support for Quake 2021 re-release quad/pentagram dlights
  • added Quake 2021 re-release horde cvar
  • improved mod folder detection (skipping folders without relevant content)
  • optimized mipmap generation (for texture-heavy maps)
  • reduced lightmap VRAM usage
  • reduced VRAM usage for BSP textures with fullbright pixels
  • added experimental support for texture compression (gl_compress_textures)
  • improved imagelist VRAM usage estimation
  • increased maximum packet size in singleplayer mode
  • added version info resource to executable
  • improved mouse movement precision with non-integral sensitivities
  • added tab completion for load/save command arguments
  • removed the need to quote a multi-word key binding, e.g. you can now use
  • bind l toggle r_showlightmap instead of bind l "toggle r_showlightmap"
  • changed quit confirmation prompt
  • added cl_confirmquit cvar (off by default)
  • removed vestigial gl_overbright code - @swim32

Bug fixes:

  • fixed truncated screenshot names (oops!)
  • fixed SZ_GetSpace server crashes - @temx / vkQuake
  • fixed missing soundtrack in the first demo of SoA
  • fixed demos being recorded to local.dem when also specifying a starting map
  • fixed intermission camera angles during demo playback
  • fixed ambient sounds not playing at high framerates
  • fixed sky rendering with r_skyfog > 1
  • fixed black sky with gl_fullbrights 0

 

Share this post


Link to post

The mod menu is probably my favorite new feature for version 0.6.0 since I downloaded it. Mods and expansions are listed by their given folder name in your Quake directory (like hipnotic, rogue, mg1, dopa, etc), and right clicking or hitting Enter will start the selected mod/expansion if the folder has the appropriate files. 

Share this post


Link to post
54 minutes ago, Eddie 2077 said:

The mod menu is probably my favorite new feature for version 0.6.0 since I downloaded it. Mods and expansions are listed by their given folder name in your Quake directory (like hipnotic, rogue, mg1, dopa, etc), and right clicking or hitting Enter will start the selected mod/expansion if the folder has the appropriate files. 


Ya the dev Andrei Drexler has been very keen on making it newcomer friendly! Because of that it has won over so many people. It's just really convenient too!

Share this post


Link to post
14 minutes ago, Immorpher said:


Ya the dev Andrei Drexler has been very keen on making it newcomer friendly! Because of that it has won over so many people. It's just really convenient too!

 

Definitely! And once it gets support for the rest of the remastered content (particularly the new weapon/enemy models), it will probably be a great sourceport for those who want or have to use a sourceport instead of the 2021 remaster. 

 

Share this post


Link to post
  • 8 months later...

Is it worth a bump? I believe it is, despite being a little older.

No new version, but a spicy screenshot on Arcane Dimension's ad_tears map, taken on a 15W Core i5 4210u from 2014 and its integrated HD Graphics 4400. Just to showcase why it makes sense optimizing old renderers for newer hardware. @hobomaster22 take a look, if you want to :)

 

FYsteNhWQAcCZiG?format=jpg

 

Original Tweet:

 

Share this post


Link to post

No joke, Ironwail makes my Intel Celeron N4020 CPU (1.10Ghz, 1101 Mhz) with UHD Graphics 600 feel like a beast rig. All while a couple of modern source ports for Classic Doom struggle to run here.

Share this post


Link to post
6 hours ago, taufan99 said:

No joke, Ironwail makes my Intel Celeron N4020 CPU (1.10Ghz, 1101 Mhz) with UHD Graphics 600 feel like a beast rig. All while a couple of modern source ports for Classic Doom struggle to run here.

The power of Quake being a 3D renderer i guess. (Without going into the whole Is Doom 3D or not debate). Doom's renderloop wasn't as forward looking as Quake, much in the same way Quake 3's renderer was quite forward looking (It had support for multiple processor cores. Except back in the day, that mean't an actual physical second processor instead of just a processor core.)

 

I really should test Ironwail out again with Arcane Dimensions. It probably flies.

 

What kind of fps are you getting? UHD 600 is pretty gnarly on the low end, but HD 400 (or even Atom Z3735F!) is far worse than that even.

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