12 ms·
This is good for modding but don't be misled, this is the TF2-specific code which sits on top of the still-closed-source Source engine. For example you couldn't
by jsheard 2y ago
This is good for modding but don't be misled, this is the TF2-specific code which sits on top of the still-closed-source Source engine. For example you couldn't port TF2 to a new platform with this, at least not without reimplementing Source or wrangling it into working with one of the leaked Source codebases and dealing with the legal fallout of that.
- chamomeal 2y agoI didn’t realize source wasn’t open source. Aren’t titanfall and apex legends made with a modified source engine? I guess respawn licenses it from valve?
- deleted 2y ago[deleted]
- klaussilveira 2y agoHard to understand their stance on keeping Source closed. It is not an exciting engine to work with in any way. There are at least 3 major open source alternatives today, way more powerful and easier to work with (O3DE, Godot, Wicked). Only people that have been involved with Source in the past decades would enjoy working with it. The community around the engine is vibrant and well-versed in the caveats of the Source workflow. With a GPL release, just like Carmack did with id tech, the amount of creative projects from indies would sky rocket. No longer bound by obscure deals.
- SXX 2y agoI pretty sure you'll soon get reply about how making it open source will increase cheating. So for those people it's important to know that Source engine source code was leaked many many times and anyone who will spend 5 minutes will find sources.
- doctorpangloss 2y agoThe guy is saying Godot is comparable to a game engine with hundreds of millions of dollars of product development. I wouldn’t be worrying about what other people might say.
- Me000 2y agoIt almost worked on me.
- doctorpangloss 2y agoIndeed it’s possible for Godot and Source to be good game engines and also not at all substitutes for each other. The kind of discourse that litigates why that fact is true doesn’t serve curiosity or add knowledge.
- 6SixTy 2y agoConsidering that Source is ancient and likely hasn't gotten an update from at least 2013 for TF2, the bar is low for how complete an engine needs to be for level comparisons.
- ZeWaka 2y agoAre you considering Source 2 in this assertion? That piece of software has received quite significant development effort.
- 6SixTy 2y agoI'm not. Source 2 is very modern even by caveman gamer standards.
- enragedcacti 2y agoI'm not really disagreeing with your point but I think in general Valve has kept their games that share an engine on the same trunk, so TF2 should be on a pretty recent version of source. The update accompanying this release includes the bicubic lightmap and radial fog implementations from the HL2: 20th Anniversary update. For Source 2 it ends up being a constant source of leaks where strings for engine features of in-development games get shipped out in Dota 2 and CS2 updates. We learned tons of stuff about Deadlock that way. https://www.teamfortress.com/post.php?id=238643 https://www.teamfortress.com/post.php?id=238643
- chefandy 2y agoUE makes their engine source available even if it’s not under a permissive license.
- davikr 2y agoIndeed, I wish the first iteration gets released as GPL or something like that eventually. I get not wanting to open-source Source 2, but the original is another thing entirely.
- jsheard 2y agoMost in-house game engines built after a certain point use a non-trivial amount of third party code, including console stuff which is under strict NDA, so it's a huge hassle to open source them. Most iterations of the Source engine use Havok physics for example. IdTech probably was only open sourced because Carmack pushed for it, but it helps that IdTech of that vintage was all in-house code exclusively targeting the PC. I think the only thing they had to cut out for legal reasons was the patented shadowing algorithm in Doom 3.
- ThatPlayer 2y agoEven the original Doom source code release was the Linux source code because the Dos version of the game uses a 3rd party audio library, DMX.
- dcrazy 2y agoI believe DMX was also used for Descent, and the company successfully shut down open source projects to reverse engineer the file format. Interplay was also extremely protective of their full-motion video codec, which only got well-documented after the release of Baldur’s Gate II.
- phire 2y agoId were using a 3rd party sound library for Doom to handle the nitty-gritty aspects of DOS sound hardware, so the open source release was based on the linux port of Doom. People had to port it back to DOS. They couldn't release the windows port of Doom either, as that had been done by Microsoft, and would therefore include Microsoft copyrighted code. With Quake, Id did their own windows port, so it was possible to release the source code for winquake.
- stevage 2y ago> as that had been done by Microsoft, and would therefore include Microsoft copyrighted code. How does that follow? Normally copyright would transfer to the company paying for it.
- 0x457 2y agoProbably because for it to be really opensource it has to have a proper documentation and other resources. if someone just does a `git push` and changes license it won't be much help to anyone until there is a proper documentation.
- klaussilveira 2y agoSource has extensive documentation for years, both by Valve and modders. Mostly unified and indexed here: https://developer.valvesoftware.com https://developer.valvesoftware.com
- deadbabe 2y agoIt will be easier to understand when you see the hundreds of Jira tickets to wade through to get it released and the fact they have better shit to do that contributes directly to revenue instead of trying to open source an old game engine that only a handful of people will even care about.
- kllrnohj 2y ago> Hard to understand their stance on keeping Source closed. It is not an exciting engine to work with in any way. Source uses Havok, which is a licensed middleware. Convincing Havok to be also open source is likely a nonstarter. Repeat for any other middlewares they might have used, such as Adobe's ScaleForm used by CSGO, and it quickly is just an endless legal nightmare. idTech handled this by either spending time to rip out those components, allowing for a partial open source release which is what you're ripping on Valve for doing right this moment, or by avoiding using any licensed middlewares at all which is a significant development limitation that not everyone can get away with. As Source 2 replaces everything with in-house developed alternatives, it's possible we might see that open sourced in the future. Who knows.
- klaussilveira 2y agoYou are right. But I wonder how much of Havok is there, given that Valve had its own thing: https://developer.valvesoftware.com/wiki/VPhysics https://developer.valvesoftware.com/wiki/VPhysics
- meibo 2y agoMost commercial engines that use libraries like havok will wrap them in some sort of internal library like this one to shield themselves from types from the middleware leaking into engine code, implementing convenience wrappers, and making it easier to update/swap them at some point if they ever wish to. There is a third-party implementation of vphysics based on an open source physics engine, for example - so for Valve that seems to have been successful: https://github.com/misyltoad/VPhysics-Jolt https://github.com/misyltoad/VPhysics-Jolt
- magicalhippo 2y agoHavok also strikes me as a rather difficult piece to replace. A physics engine will often have hardcoded handling of special cases, and things can be sensitive to lots of numerical details. Haven't played TF2 but at least HL2 relies heavily on physics for gameplay, so while replacing the rendering engine might lead to rendering artifacts which can be annoying but tolerable in many cases, replacing the physics engine will probably lead to game-breaking issues. One could reverse engineer it, but then you're into copyright territory...
- keerthiko 2y agoIMO the source engine codebase is probably chock-full of duct tape and cruft, full of undocumented, legacy, bespoke, hacky and deprecated stuff that it's not worth the dev resources for valve to bring it up to an OSS standard worthy of their reputation. Contributing to this is probably - custom external hooks (eg: homemade test framework, patchnotes publishing, steamapp backdoor integrations, hardware-specific firmware interfaces, 3rd party closed source SDK hooks) - assumptions about Valve's server architecture/implementation for most multiplayer stuff used by Valve games, the codebase(s) of which are probably as vast as Source itself and closed-source too - bespoke engine modifications made for specific games like HL2 or CS1.6 which hasn't been touched for a decade, the authors of which may not be accessible to document them trivially Adding sufficient documentation to a massive closed-source system meant for internal use, over multiple decades, to bring them up to par for functional OSS publication is a monumental feat that honestly probably isn't worth the risk of bad publicity from the modder community who'd just be mad about how unusable it would be.
- keyringlight 2y agoSupposedly there's a texture of a coconut included in source games, along with either a filename or tagged with a comment to say that if it's removed then the game will break and noone knows why.
- ZeWaka 2y agoThat was a throwaway false joke on Reddit that the community has spread, this isn't true. It's just an unused texture from an old update.
- account42 2y agoAre you implying Valve has a repoutation for high quality code? Because I don't think user of Steam or their games shares that view.
- thaumasiotes 2y ago> There are at least 3 major open source alternatives today, way more powerful and easier to work with (O3DE, Godot, Wicked). My general impression from lurking on these kinds of threads (with no relevant personal experience) was that Godot is a good 2D engine but not a good 3D engine. Do you find it comparable to the other two?
- SXX 2y agoIDK about Wicked, but with certain non-photorealism styles you can easily make well performing 3D game on Godot. You can check their showreel and there are plenty 3D games in it: https://www.youtube.com/watch?v=n1Lon_Q2T18 https://www.youtube.com/watch?v=n1Lon_Q2T18
- sho_hn 2y agoRoad to Vostok is probably the most relevant Godot-based 3D game, since it's a FPS. https://www.youtube.com/watch?v=Atb3yFNazmU https://www.youtube.com/watch?v=Atb3yFNazmU https://www.youtube.com/watch?v=SFIOmb1hseA https://www.youtube.com/watch?v=SFIOmb1hseA
- jsheard 2y agoCruelty Squad is also a successful FPS title built with Godot, but its deliberately hideous aesthetic probably makes it the worst possible way to sell anyone on the merits of the engine.
- cheeseomlit 2y agoI unironically love cruelty squads aesthetic, its one of my favorite indie games in recent years. Even the store description calls it a "sewage infused garbage world"- and it is, but its also oddly charming, and perfectly suits the game's theme and atmosphere. Though its probably not very enjoyable for those with epilepsy
- 2y ago
- deleted 2y ago[deleted]
- rozab 2y agoIf those engines are so capable then why do no AAA games use them? Source is still (kinda) used in games like Apex Legends
- Nition 2y agoValve has given Facepunch the Source 2 license for S&Box[1] which will indirectly allow making games in Source 2. That's as far as they've gone towards releasing it as a game engine so far. [1]https://sbox.game https://sbox.game or https://store.steampowered.com/app/590830/sbox/ https://store.steampowered.com/app/590830/sbox/
- djmips 2y agoThey've given out Source 2 to others AFAIK.
- jamesfinlayson 2y agoTo who? It seemed like Source 2 licensing wasn't really on their radar. https://vghe.net/source-2-engine.html#source-2-engine-games https://vghe.net/source-2-engine.html#source-2-engine-games shows Valve almost exclusively.
- svelle 2y agoIt was on their radar. There's an old slide deck where they talk about releasing source 2 for free akin to unreal. But they scrapped that idea and gave the code to facepunch/Garry instead, for s&box to fill that hole.
- jamesfinlayson 2y agoAh okay - I wasn't really paying any attention when Source 2 first came out but looking back now it hasn't been used for a whole lot of games.
- djmips 2y agoYes, OK I worked on Source 1 game (external to Valve) and before I left I was told that it was going to be moving to Source 2. I guess it left me with the impression that it was going to happen - apparently not? I followed up and it turns out that game moved over to UE.
- greenchair 2y agomaybe its release could lead to more attacks or cheating?
- lawlessone 2y agoThey are probably still working on something with it?
- jamesfinlayson 2y agoYes, there are still a bunch of their games running on Source. I can understand Dota 2 and Counter-Strike: Global Offensive being moved to Source 2 but the rest will stay as it's not worth it.
- pmarreck 2y agoI filed a bug based on this: https://github.com/ValveSoftware/source-sdk-2013/issues/624 https://github.com/ValveSoftware/source-sdk-2013/issues/624
- Imustaskforhelp 2y agoso sad that people are shaming you for writing this , I think you spoke the silent part out loud , but that takes courage. I thank you man. PS: I am the guy who wrote the long paragraph about crowdfunding. After reading the hackernews , it became evident that yes it would be nice for foss source code but its never gonna happen because its gonna take effort and money for valve for what? they might not do it , because I guess they are there for making money ? I believe that crowdfunding is the way to go , Instead of forcing companies to give what we want for free , we need to provide an incentive for them. This crowdfunding could also be a great PR for valve itself as well. Crowdfunding is the win-win situation I could think of , but oh I am more than happy to eat my own word , if I can get source's source code and really run team fortress 2 fully open source.
- Imustaskforhelp 2y agoBut in my honest opinion , that rm -rf lawyers part was just a little bit less thought out and unprofessional and git push origin --all Maybe remove that part if you really want valve to listen to this professionally please ?
- pmarreck 2y agofair enough, on it, was trying to be funny
- DiggyJohnson 2y agoIs there any relationship between those OS engine and the source model?
- lloeki 2y ago> Hard to understand their stance on keeping Source closed Forget Source, what about GoldSrc. ... which was based on Quake which is now GPL. There's Xash3d which lives in a kind of licensing limbo because it was developed mostly from scratch except for some header files which could now be replaced by GPL QuakeWorld ones yet the current Xash maintainers can't do anything about it because they're tainted by non-clean-roomness. Even if the above issue was solved, this is about the engine; the HL1 game code (the "SDK") is open but licensed by Valve in a way (MIT-ish permissive with a non-commercial clause) that is incompatible with the GPL. This makes both legally undistributable as binaries together.
- jamesfinlayson 2y agoYes, open-source GoldSource would be wonderful. I steer clear of Xash3D because of it's legal grey area too.
- __jonas 2y agoIt's a fair question to ask but I wish people wouldn't spam the project with embarrassing LLM slop filled issues like this: https://github.com/ValveSoftware/source-sdk-2013/issues/624 https://github.com/ValveSoftware/source-sdk-2013/issues/624 I don't think it reflects well on this site either
- novabridge 2y agoEver since I joined the industry, I've heard that many companies are reluctant to open source code because it's so bad that if they did, no one would dare use their products. I guess Source is one of them.
- eddieroger 2y agoAside from the good middleware licensing arguments, if my memory serves me, Valve employees get to shift their work to what interests them at the time, and who knows what tidbits of could-be versions of HL3, Portal 3, or other interesting but unannounced (let alone unreleased) games could be in there.
- AlienRobot 2y agoWhen Winamp published their source code on Github, not only did they breach third party licenses, but they also had to deal with trolls who across the entire Internet that wanted to make a show out of them. It's hard to blame developers for avoiding open sourcing when you may not get anything out of that except for criticism.
- xandrius 2y agoI am not sure I'd even remotely compare Source to Godot, never touched the other ones though.
- JojoFatsani 2y agoIs there still some structural Source underlying the cash cow of CS2?
- jamesfinlayson 2y agoProbably - it seems like Source 2 is an iteration on Source, and certainly there are some Source 2 back-ports in Source, but I suspect the engine has undergone much more change than the game code.
- thetoon 2y agoMaybe that's where a project like Nuclide could step in? I'm always a bit confused between their projects' names, but I've read somewhere they had progress on the HL2 front.
- pityJuke 2y agoWhat is Nuclide? I've found https://github.com/VeraVisions/nuclide https://github.com/VeraVisions/nuclide and https://github.com/eukara/freehl https://github.com/eukara/freehl.
- johnnyanmac 2y agoI'm still a bit confused on why Source is close sourced when Valve moved on to Source 2 over a decade ago. I suppose it'd becsuse there's some basic overlap, but they still also feel comfortable releasing their gsmes' source?
- EMIRELADERO 2y ago> when Valve moved on to Source 2 over a decade ago. I feel like that's irrelevant, because the same logic can be used to justify having Source2 open as well. After all, what value is there in keeping the game code private at all? The only things I can think of are a) anticheat, b) NDA'd 3rd party code, and c) protecting important secret sauces made by the company itself a) and b) are both solved by simply not releasing those portions of the code, while c) is a bit moot. Any competitor can already (legally) RE the binaries and recreate any juicy proprietary algorithms, unless they're patented. But in that case they would be protected even if the source was released so it's still the same situation.
- LegionMammal978 2y agob) can get dicey, depending on how hard the 3rd party in question wants to defend their copyrights. Google v. Oracle was resolved on the basis of being transformative, not on the basis of class and function declarations being too insignificant to copyright. So if you can't even keep the 3rd-party headers, you're left with a bunch of function calls that you have to piece together the meaning of.
- EMIRELADERO 2y agoYou could just strip out all mentions of the 3rd party component on the codebase. Let the community figure out how to plug in a replacement.
- nemothekid 2y ago>Let the community figure out how to plug in a replacement. Far more likely the community kicks up a huge stink about how Valve released a crippled engine.
- progbits 2y agoGiven the leaks, the fact it's been over 10 years since last major game released using Source 1, and the fact most of the rendering code (probably the most valuable bits, aside from physics) in Source2 must have been rewritten given the new developments in game graphics; makes me wonder if there is any reason for them to keep it closed source. Do you think they will release it at any point? Maybe there are licensing issues where they don't have the rights to all of it and couldn't easily opensource it. Or maybe there is in fact still too much secret sauce left there?
- bayindirh 2y agoThere's always "too much secret sauce". I remember a time when CryTek published papers about how they implemented things, now they don't. There's always in-house ways to deal with graphics drivers and certain effects. Remember how Source 1 was the only engine which was able to render HDR with measly ATI 9600XT, without a performance penalty most of the time? You carry this know how in evolved form for generations, and it gets buried under as the foundation of the new things you're building on top of it. This is what I remember from a friend who implemented his own game engine and created a company for it, and half the woes were making the graphics drivers and processors behave as they said in their manuals.
- kvirani 2y agoIsn't UE4/5 fully source available?
- bayindirh 2y agoYou need to get a license to get the source. When you pay for the license, you also agree that you won't share that source. ID's engines are always called "The world's most expensive xcopy". You always get the source, but you never share it. Same model. Get the license, get the source. See the relevant page at: https://dev.epicgames.com/documentation/en-us/unreal-engine/downloading-unreal-engine-source-code https://dev.epicgames.com/documentation/en-us/unreal-engine/... From that page: > This page provides detailed instructions for subscribers to download the source code for Unreal Engine (UE) from the Unreal Engine GitHub repository, and to get started working with the code. (Emphasis mine)
- beeflet 2y agoGood news everyone! They've already tried to reverse engineer the source engine for TF2 for some success! https://www.youtube.com/watch?v=09CvpQrnTEY https://www.youtube.com/watch?v=09CvpQrnTEY
- chedabob 2y agoDamn, was hoping this would bring TF2 back to Mac. Haven't had a good LAN party in the office since Apple dropped 32-bit support.
- andrepd 2y agoDo people even do LAN parties anymore? x)
- jsheard 2y agoThey do, but "LAN" has become a bit of a misnomer since few games actually have real LAN play options anymore. If you're playing modern titles then you end up with a bunch of PCs or consoles in the same room all connecting to a remote server over the internet. Internet connections are a lot better than they were back in the day at least.
- wholinator2 2y agoDang, wouldn't you run into serious internet problems with that? Do modern games use that much data? Could a single internet service handle 6 simultaneous connections?
- FreebasingLLMs 2y agoReally is not that much data involved (not counting downloading the game itself). Streaming multi-player game data to/from an individual player can range from like 10kbps to 100kbps depending on the game and scale involved. Remember you are only sending the deltas (and occasional entire refreshes).
- superb_dev 2y agoLatency is a lot more important than throughput for online games
- 2y ago
- lnauta 2y agoI'm still not quite sure how to take this, does this mean that: We can not fix problematic netcode (this is a running joke in the TF2 comminity) We can fix game balance issues (that could also be fixed through configs)?
- jamesfinlayson 2y ago> We can fix game balance issues (that could also be fixed through configs)? I think some of these fixes were through something a bit more complicated like sourcemod which hooks various methods.
- xyst 2y agoSource engine is so outdated at this point anyways. Valve should use the profits from their cash cow, CSGO, and use it to invest in retooling with open source engines such as GoDot or Bevy. I remember downloading a leaked version of the source code for source engine, and in general it was laughable at how awful it was. I dont know if it was ever discussed mainstream but only based on recollection of IRC chats. I think it was about 6 months out of date, but even so it would explain why HL sequels would become vaporware despite years of teasing the community by Gabe Newell himself.
- somehnguy 2y agoThey're already using Source 2 - https://en.wikipedia.org/wiki/Source_2 https://en.wikipedia.org/wiki/Source_2
- celsoazevedo 2y agoIn case you're not aware, CSGO was replaced by CS2, which uses Source 2.
- daelon 2y agoIt's just Godot, fyi.
- djmips 2y agoIt's pretty easy to criticize the Source Engine source code but y'know it worked!
- shdh 2y agoSource 2 is quite a decent engine. Their level building tools with Hammer are top notch. Volumetrics, physical sound, pbr, great snapshot based networking. Godot doesn't really come close.
- anacrolix 2y agooh that's lame :(
- jheriko 2y ago[flagged]
- Imustaskforhelp 2y agocan we not create a legal open source "source emulator". I am asking this from a total legal standpoint.
- ripdog 2y ago"Emulator" is the wrong word, but the answer is yes. The word you actually meant was "re-implementation" - writing a completely new, clean-room program which reads Source data files (levels, assets, scripts) and allows the user to play a Source game is perfectly legal. It is necessary to avoid distributing any copyrighted material, so the user must provide the game assets from a legitimate copy for using the program to be legal. In addition, the 'clean-room' must be maintained by ensuring that no contributors to the re-implementation have ever seen the source code for Source, or they become tainted with forbidden knowledge. Indeed, it's quite common for beloved old games to be re-implemented on new codebases to allow easy play on modern OS's and at high resolution, etc. See https://github.com/Interkarma/daggerfall-unity https://github.com/Interkarma/daggerfall-unity, https://openrct2.io/ https://openrct2.io/, https://github.com/AlisterT/openjazz https://github.com/AlisterT/openjazz
- zamalek 2y agoA somewhat notorious example of "never having seen the proprietary code" was the whole Mono and Rotor fiasco. Rotor was a source-available implementation of .Net (Framework, Core didn't exist), with a highly restrictive license. If memory serves, someone had read the Rotor source and contributed to Mono: causing a legal nightmare.
- jamesfinlayson 2y agoEh, I think someone tried to do this with the GoldSource engine a few years ago and got shut down by Valve's lawyers before too long.