Sorry! I realize now you must be Sam Vanheer. So, my reply was mostly preaching 
to the choir.

I hope you get better responses.

Best,
Andrew
________________________________
From: hlcoders@list.valvesoftware.com <hlcoders@list.valvesoftware.com> on 
behalf of Sam V <duo...@hotmail.com>
Sent: Friday, July 11, 2025 6:58 AM
To: Discussion of Half-Life Programming <hlcoders@list.valvesoftware.com>
Subject: [hlcoders] Future of mod support


I see this mailing list has been inactive for over a year, but i thought i'd 
take a shot at this:


Is there a future for game modding as far as Valve games are concerned? I'm 
referring specifically to making entire mods, not making maps or models.


When the HL1 25th anniversary updates released we could see there were hidden 
branches for other GoldSource engine games that ultimately weren't released. 
Those branches are now completely hidden due to changes in how Steam handles 
them.

Some changes like the enabling of asserts have made HL1 modding even more 
confusing than before since it now adds more errors that people can't make 
sense of.

There are a lot of bugs that could be fixed, some of the changes made in the 
anniversary update were also imposed on other games (like the weapon bobbing 
change) which isn't what anybody was asking for.


Valve employees have mentioned open sourcing before and we got a response from 
an employee on the Half-Life issue tracker that they would look into it way 
back in 2019: 
https://github.com/ValveSoftware/halflife/issues/2112#issuecomment-482718243

Nothing ever came of that.


Based on how and when Valve does communicate we will never get a response if 
it's negative, so it's safe to assume that somewhere along the line there is a 
roadblock or someone who does not want the engine open sourced.

While it would be nice to have that happen, i don't expect it will. Conversely, 
it would be nice to get a definitive "no" so we can tell everyone to stop 
wasting their time on a dead game, but i doubt that's going to happen.


Instead, i'd like to point out another option. Steam is missing a developer 
feature that would make it easier to manage different versions of a game. Users 
can only install one version of a game at a time and have to switch branches to 
play another version, which requires users to (re-)download changed files.

There is a recently added API that lets developers switch branches on behalf of 
the user but that still involves changes the single copy of the game.


A couple examples:

  1.  HL1 legacy and anniversary versions (made worse because all GoldSource 
games use the engine binaries from HL1 so switching branches for that game 
doesn't change the engine)
  2.  CSGO and CS2
  3.  ARMA 3 current, previous and dev versions 
(https://community.bistudio.com/wiki/Arma_3:_Steam_Branches)


Unity for instance lets you switch engine versions through the hub. If someone 
were to distribute a developer tool like an engine or level editor through 
Steam and there are different versions then you'd have to re-download the 
version you want to use when switching.


Why do i bring this up? To justify having Valve work on making a new version of 
GoldSource. Steam could use a feature like this. And when developing such a 
feature you could develop a new version of GoldSource to test it.

You can make a new engine branch that strips out anything that's non-functional 
or obsolete (some engine functions do nothing, VGUI1 can be replaced with 
VGUI2), HLTV is pretty much useless (HL has a handful of empty servers with it 
enabled, CS servers are apparently glitched and refreshing the server in the 
browser changes the title so it's probably broken), GameUI can be moved to the 
client dll, the save game system can be moved so modders have full control over 
what gets saved and how, and anything game-specific can be moved into the SDK 
(physics, entity networking, loads of stuff).


This new engine branch can have its own version of the SDK, a new Hammer build 
that's compatible with today's operating systems (it would be better if it were 
open source so we can fix it and make it better!), a decent renderer that uses 
modern hardware properly and properly supports custom graphics code (i'm 
talking shaders, buffers, post-processing effects, all that stuff), with higher 
limits, and so on and so forth.

You can eliminate problems like TGA files needing a specific origin setting to 
load properly, allow full-color images everywhere instead of 256 color images 
and streamline a lot of stuff.


Valve games can have new versions made that use the new engine in a 
self-contained manner. You could install the version of CS 1.6 based on this 
engine branch and it would have its own set of engine binaries that are 
affected by neither HL1 nor the engine branch that mods are based on. You can 
fix games without breaking other games and without breaking mods.

You can also make community-made projects obsolete if you tackle the problems 
they were created to deal with.


This would also allow VAC to be turned on again (it seems to be turned off for 
GoldSource engine games, probably due to mods using extra dlls, so you 
shouldn't enable it there) and made stricter than before without breaking mods 
that run on the current engine.

There would need to be a way to have server plugins work with VAC thrown in the 
mix which means you'll have to work with the community to design a good way to 
integrate that and provide functionality that modders need and currently 
implement by way of hooking into the engine.


So you'd have a new version for every GoldSource engine game (HL1, CS, TFC and 
so on) plus a separate engine that mods run on (like Source SDK Base apps), 
with the first version being a clone of HL1 and subsequent updates bringing in 
updated versions of the engine. Instead of having to make a new app for every 
major update you have one app with different versions that can be installed 
side by side. Obviously you'd need a way to locate the right version so mods 
can locate assets and launch with the right engine (and automatically have 
Steam download it if you try to launch a mod that uses a non-installed 
version). Ideally mods would be installed outside the engine installation (like 
Source mods) because that's caused enough problems with overwriting files and 
mods stomping on each-other's third party dlls (like FMOD).


Building tools to let developers work better using Steam is something that 
Valve does very well, using it to motivate developing new versions of these old 
games is a bonus.


I realize i'm probably screaming into the void, but i thought i'd give folks 
over at Valve a good reason to work on these games.

I've spent enough time trying to help people, watching them try to make games 
on this engine knowing what they want to do can't be done without some serious 
hacks, all the way up to basically building a new engine. If open sourcing is 
not an option then this is the best way i can think of to help them.


I've only mentioned GoldSource engine games but you can do this for Source 
games as well, though that would be a lot more work. Source recently got 
updates so maybe it doesn't need more attention, i'd ask Source modders for 
feedback on that.


Now, i've already mentioned this above but i'll say it again. If you won't 
provide support, you can at least tell us so nobody wastes their time trying to 
figure out a way forward in a dead end.

People just want to be creative with these games but the tech is so old it 
belongs in a museum. People aren't porting CS 1.6 to Source to break the law or 
violate licenses, they want a version of the game that runs on an engine that 
can make proper use of even 15 year old hardware and has limits to match.

If you won't provide them with a solution they'll go work on one themselves, 
and then you end up having to shut them down after years of work. Nobody wins 
in a situation like that.


You can solve a bunch of problems here and build a framework that makes fixing 
these games in the future a lot easier. Surely there must be value in that. If 
not, then at least we tried to make this happen. But if any future attempts are 
a waste of time, you ought to tell us.

_______________________________________________

To unsubscribe, edit your list preferences, or view the list archives,

please visit:

https://list.valvesoftware.com/
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives,
please visit:
https://list.valvesoftware.com/

Reply via email to