6 ms·
Dagor Engine and Tools source code from Gaijin Games KFT
- filterfiber 3y agoIs this an old build or the modern engine? According to steam charts they have 70.1k players in-game right now. I'm intrigued that the 11th highest current player count on steam has native linux support and open sourced their engine? They provide sample files too, I'm not saying they have bad motivations in any way, I'm just curious as to why they decided to do this now. Either way I applaud it!
- gpm 3y agoI would take from the commit messages that this is up to date as of Sunday.
- meheleventyone 3y agoThis looks like Dagor 4 from that message whereas I think the latest version is 6?
- gpm 3y agoTrue (at least google confirms that), but the files have headers that look like // // Dagor Engine 6.5 // Copyright (C) 2023 Gaijin Games KFT. All rights reserved // (for conditions of use see prog/license.txt) // Which suggests the repo is just misnamed... which really isn't uncommon. Also seems unlikely there would be active work if this was an old version of the engine, and a lot changed between the 2023-09-15 import and the 2023-10-22 update.
- dijit 3y agomy engine branch of a 2 year old game in development is “UE4” despite the fact that we are running 5.2. At previous companies where we developed a game engine at the same time as the game we were building it for; after releasing the 4th game on that engine it still had the binaries named the codename of the original first game. So, renaming things can be hard or overlooked.
- MROPKHACKER5 3y ago[flagged]
- SXX 3y agoTheir possible motivation for releasing code as open source is to allow some other Russian companies like VK Group to build their IP on it without having any deals with them directly. Just now VK Group announced their in-home game engine will be based on this code. I can guess that Gaijin Entertainment had some contracts with companies in Russia, but after moving their business out of Russia it's now easiest way to fulfill the terms of some IP licensing deal. Yandex is doing the same thing, but other way around by releasing more and more of their code as open source. It let them to cleanly trasfer IP from Russia-poisoned company to their Israel company.
- shakow 3y ago> has native linux support It does, a game or two of Warthunder are my guilty pleasure while waiting for some CI pipelines to finish.
- Cthulhu_ 3y agoIsn't linux support mandatory / a given if they want to run on the Deck or is that a clever emulation layer?
- sho_hn 3y agoMost games supported/available on the Deck use a Windows API emulation layer.
- Xiol32 3y agoWine, thus Proton, is not an emulator.
- sho_hn 3y agoI was expecting this reaction, of course, but that's why I specifically wrote "Windows API emulation layer", which it definitely is. The recursive acronym name was chosen first and foremost because it's funny, but also to make the point that it's not emulating all of Windows, and definitely isn't something like dosbox or Dolphin in terms of implementation strategy. This is true, but we shouldn't allow it to break our language, no matter how much we love the clever meme!
- viccuad 3y agoAt that point I would just call it a reimplementation instead of emulation.
- smoldesu 3y agoProton includes DXVK, and that is a high-level emulator for DirectX by most definitions. Wine isn't an emulator because it doesn't have to be.
- cloudwalk9 3y agoTo add to the other replies, interesting to note War Thunder itself has had native Linux support since before the Steam Deck. I think it was mostly half-assed/broken until they implemented Vulkan. Now it's flawless in my experience.
- euos 3y agoRussia is self-isolating right now. They are trying to standardize on one engine that does not have ties with West. E.g. they do not want to be at mercy of Unity or Epic. This is a bid for that piece of government sponsorship.
- kgeist 3y agoOpen-sourcing software and uploading it to a site owned by a US-based company is the opposite of self-isolation.
- foota 3y agoMy question is, did they have to apply for an ITAR license?
- rangestransform 3y agounrelated but it would be cool if someone opensources, say, rocket flight control software and get that part of ITAR deemed unconstitutional
- cdibona 3y agoPsu open sourced guidance software in the mid 2000s and it found its way into other drone corebases and into a variety of missiles, including the quassam 4. Since it was open source and developed in public ,the itar folks determined it was okay to release.
- cdibona 3y agoIt might have been OSU , not sure, it's been a long time.
- Metacelsus 3y agoThere are a lot of Kerbal Space Program mods that do this.
- gpm 3y agoITAR is an American law restricting the export of military technology... this is a Hungarian, formerly Russian, company. Why in the world would they need an American export licence?
- btgeekboy 3y agoI assume it’s a tongue-in-cheek reference to how the War Thunder forums have recently been used for multiple leaks of US military classified information.
- 3y ago
- teaearlgraycold 3y agoI’m curious what game developers have to lose by open sourcing their code. When I imagine a world where games all have their source available (but without textures and models so you still need to pay for it to play), I can’t see financial losses for the people selling the game. And especially for games where modding is encouraged the lack of OS releases is surprising.
- geek_at 3y agoThe obvious problems that might occur are: - Hackers finding exploits easier when they have the source and can run a debugger on real variable names - Companies from countries with less respect of copyright can create clones of your game and might outearn you As a developer I'm welcoming this move though
- teaearlgraycold 3y agoThe first issue wouldn’t apply to single player games. But the second might be the big one that scares publishers/developers. I really wonder how consequential that would be.
- bayindirh 3y agoA lot of black magic is done in game engines to get that level of performance with that level of quality. Carmack always (ab)used the hardware to the highest level in its code to get that performance/quality ratio and this is why he always kept the latest engine closed. Unreal engine also had tricks up on its sleeve since Unreal Tournament days, however I don’t know the exact details. IIRC, it was about lighting and shadows mostly. I had two friends who wrote their own engines. One built a company around that. Other one did visual simulations. Former one told me about the war stories which he battled against NVIDIA drivers, how driver behave the way it wanted, and how he had to abuse it to get the performance it wants. Also both AMD and NVIDIA drivers sometimes implement alternate paths to fix some engines’ performance and artifacts. He also told how some big studios’ developers abused the driver in a way which can be only defined as “hacking”. I don’t remember the details, but they modified some data in place to bypass the graphics APIs to gain performance. Of course that is pretty brittle. Latter friend told me how he had to optimize calculations, do great yet cheap approximations and abuse the strong parts of a GPU to get the performance he wanted. So, a lot. All of these are considered black art and trade secret. Crytek should have some patents about some of the rendering methods they have developed even. They stopped sharing tech demos to prevent being copied, too.
- purpleidea 3y ago> updated from dagor4 repo on 2023/10/22, rev 0c5bf9c1d82d7491c925febbb… old code base
- lf-non 3y agoThe daScript repo [1] in the same org is quite interesting in its own right and makes some ambitious claims to performance [2]. [1] https://github.com/GaijinEntertainment/daScript https://github.com/GaijinEntertainment/daScript [2] https://dascript.org/#performance https://dascript.org/#performance
- brucethemoose2 3y ago> LLVM-8.0.1 The benchmark must be 2019-2020, but thats still very interesting.
- pelasaco 3y agoI'm the only one missing docs?
- gpm 3y agoThere do appear to be some docs embedded in the source. https://github.com/GaijinEntertainment/DagorEngine/tree/main/prog/engine/_docs/render https://github.com/GaijinEntertainment/DagorEngine/tree/main... I haven't built them/don't know how complete they are. At a glance I would guess not very.
- two_in_one 3y agoThere is a bunch of *.rst files which are readable. On Ubuntu ReText opens them. Build/install probably just moves them around and/or may be converts to html . There is not much in there.
- sho_hn 3y agoNote this repo contains full source for numerous third-party libraries that aren't BSD-licensed.
- pnw 3y agoI don't see anything in /prog/3rdPartyLibs that isn't open source of some variety though?
- Karliss 3y agoNot every open source license is the same. Being open source doesn't mean do whatever you want. Not all pairs of open source license are compatible with each other. BSD license is one of the least restrictive open source licenses, engine depending on libraries that have different licenses means that the developer using the engine will potentially need to comply with more complicated license requirements compared to the case where everything was BSD licensed. There are also a couple of folders non open source software: * ATL -> Copyright (C) Microsoft Corporation All rights reserved. Nothing said about granting permission to copy,modify or redistribute * PIX -> Copyright (C) Microsoft Corporation. All Rights Reserved. Nothing said about granting permission to copy,modify or redistribute * reflexStats -> Copyright (c) 2021, NVIDIA CORPORATION Any use, reproduction, disclosure or distribution without an express license agreement from NVIDIA CORPORATION is strictly prohibited. * PoissonGenerator -> Author Sergey Kosarevsky, no license text mentioning of granting any rights to do anything with it * A couple more folders with no license information at all.
- tonfreed 3y agoOh boy another avenue for people to leak classified operational data
- MROPKHACKER5 3y ago[flagged]
- MROPKHACKER5 3y ago[flagged]
- CrimsonCape 3y agoAny idea why Gaijin has developed two fully-featured scripting languages? I see Quirrel and daScript in their Github page.
- corysama 3y agoI would guess a combination of tech evolution, legacy code and disagreements between design departments. I once worked at a gamedev company that had an in-house scripting system and a purchased system from an engine fire-sale (not a fire-engine sale). The in-house one was better for complicated situations, but was relatively a lot of work for large volumes of simple situations.
- MindSpunk 3y agoQuirrel is, as far as I've been able to tell, a fork of Squirrel. daScript is all their work though.
- versteegen 3y agoThey fill two different niches, daScript is statically typed, AoT compiled and attempting to outperform LuaJIT, Quirrel is dynamically typed and better for writing game logic. Note that Quirrel is a fork of Squirrel (in early 2019), which is a language very heavily inspired by Lua (you could say Lua-done-over) with a very similar embedding API, but much more like a typical OO language rather than quirky (which makes it very similar to Javascript). Squirrel was most famous used by many Valve games like Portal 2 and L4D2, and I recommend it. Quirrel attempts to make Squirrel more Python-like, easier, add tooling like static analysis and tests, and to continue development, as Squirrel has only received the odd bugfix for years and been neglected. I've been watching Quirrel for years, and development has been picking up. They seem to have about 1.5-2 people working on it fulltime. The language is diverging more and more from Squirrel (and further towards Python) and getting bigger.
- emmanueloga_ 3y agoI found a nice video that shows the progression of their games: "History of Games Gaijin Made Before Warthunder" [1]. 1: https://www.youtube.com/watch?v=Ls00Dsm6Cig https://www.youtube.com/watch?v=Ls00Dsm6Cig
- corysama 3y agoLoL! I really gotta make an update to the marching cubes example code... https://github.com/GaijinEntertainment/DagorEngine/blob/main/prog/gameLibs/metaballsSystem/marchingCubeTables.h https://github.com/GaijinEntertainment/DagorEngine/blob/main... https://github.com/GaijinEntertainment/DagorEngine/blob/main/prog/gameLibs/metaballsSystem/metaballs.cpp https://github.com/GaijinEntertainment/DagorEngine/blob/main... When I said "There are many ways that this code could be made faster", I meant it :P A good start would be to use Surface Nets instead https://0fps.net/2012/07/12/smooth-voxel-terrain-part-2/ https://0fps.net/2012/07/12/smooth-voxel-terrain-part-2/
- nabakin 3y agoI disagree with the title change on this post. It is much less clear what is happening here. For those new: the engine of popular game War Thunder has been open sourced under the BSD license.
- SXX 3y agoYeah, I specifically editorialized the title because few people on HN possibly know Gajin Entertainment and no one know what "Dagor Engine" is. I pretty certain that even people who play the game have no clue how their internal tech was called. A lot of people know War Thunder itself though.
- ShadowBanThis01 3y agoBut the title doesn't say that... Also, posting a descriptive title isn't "editorializing." It's exactly what should be expected (if not required) of any post here.
- Vt71fcAqt7 3y ago>please use the original title, unless it is misleading or linkbait; don't editorialize.
- ShadowBanThis01 3y agoThe "original title" is what you type in.
- ShadowBanThis01 3y agoKeep downvoting facts.
- dragonwriter 3y agoA title which fails to lead to any understanding is almost as misleading as one which leads to the wrong understanding. Possibly more, depending on how wrong the wrong one is.
- Eduard 3y ago"Dagor Engine and Tools source code from Gaijin Games KFT". For anyone wondering about this word soup: KFT == kft. == "korlátolt felelősségű társaság" == Hungarian limited liability company. "Gaijin Games" is a Hungarian kft.
- euos 3y agoSure. Yandex is Cyprus. JetBrains is Czechia. Eastern European gamedev circles had been joking about surprising resurgence of studios in Armenia, Cyprus and others over the last year.
- globalnode 3y agoNot wanting to sound too disrespectful (although I AM getting cranky about this issue), but I find a lot of open source projects on github that are at least moderately complex (which a game engine certainly is), are useless as-is. There is no documentation and it would likely be easier to just write your own code from scratch. I can see how if you get stuck with say quaternions then you may dive into another persons project to get some tips but even then, without documentation you're better off just learning the math from a book and rewriting from scratch.
- w4rh4wk5 3y agoI'd say this is far from useless. Especially when building your own engine, you can look at other implementations and reuse elements that you need. The company I work for specializes in video game ports. Getting only the source code, without documentation, or a back-channel to ask questions on a regular basis is standard for us. Still, we manage to get by just fine. I am thankful for every piece of code that is opened up, especially when it's published under a permissive license. The devs likely don't have any intentions to build / support a community around this release, which is perfectly fine. No one is stopping you from building your project / community around it either. Think about it like Doom / Quake engines, they are pretty popular as well, but didn't come with a lot of documentation or support from id software.