[HN Gopher] Dagor Engine and Tools source code from Gaijin Games...
___________________________________________________________________
Dagor Engine and Tools source code from Gaijin Games KFT
Author : SXX
Score : 182 points
Date : 2023-10-26 18:47 UTC (4 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| filterfiber wrote:
| Is 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 wrote:
| I would take from the commit messages that this is up to date
| as of Sunday.
| meheleventyone wrote:
| This looks like Dagor 4 from that message whereas I think the
| latest version is 6?
| gpm wrote:
| True (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 wrote:
| my 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.
| SXX wrote:
| Their 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.
| morkalork wrote:
| Open source as sanctions busting. Interesting.
| bayindirh wrote:
| You know, PGP is "exported" as a book to go around export
| regulations. So this is not new.
| SXX wrote:
| None of the companies are actually under any sanctions, but
| obviously having any licensing deals or IP transfers with
| companies located in Russia is legal hazard.
| morkalork wrote:
| Would be difficult to pay with SWIFT cut off?
| SXX wrote:
| Russia is not cut off from SWIFT. There are multiple
| banks that doing USD / EUR payments in and out, but with
| minimal amount of 20,000 EUR and some 200-500 EUR fee.
|
| And you can also transfer bunch of other currencies much
| much cheaper. It's mostly question on whatever you have
| paperwork for bank outside of Russia to accept that
| payment.
|
| PS: Only normal people are affected by those
| restrictions. Companies and super-rich cronies can still
| move their money freely and pay for whatever military
| components they want from EU / US:
|
| https://theins.press/en/politics/266147
| tokai wrote:
| VK Group is definitely sanctioned in the USA & EU.
| SXX wrote:
| No they are not. Otherwise their apps wouldn't be on
| Google Play and App Store:
|
| https://play.google.com/store/apps/details?id=com.vkontak
| te....
|
| https://apps.apple.com/us/app/vk-social-network-
| messenger/id...
| secalex wrote:
| The CEO is sanctioned, which makes dealing with the
| company complicated.
|
| https://sanctionssearch.ofac.treas.gov/Details.aspx?id=34
| 596
| bjord wrote:
| and Gaijin's motivation for having VK build their IP on it is
| that VK will contribute to the development of the engine? or
| does some Russia-only Gaijin subsidiary benefit monetarily?
| SXX wrote:
| I honestly have no insight in their motivation here, but I
| shared my guesses.
|
| From legal standpoint 99.9% of game development companies
| originated from Russia never held any IP within the country
| legal framework to begin with. It was a rule of a thumb of
| doing any IT business: register everything on Cyprus or in
| other functioning country. Usually regional office is only
| received money from holding company to pay for ads, pay
| salaries and minimal taxes.
|
| So unlike giants like Yandex they were never under Kremlin
| direct control and could withdraw out of country rapidly
| without any losses.
| shakow wrote:
| > 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_ wrote:
| Isn't linux support mandatory / a given if they want to run on
| the Deck or is that a clever emulation layer?
| sho_hn wrote:
| Most games supported/available on the Deck use a Windows API
| emulation layer.
| Xiol32 wrote:
| Wine, thus Proton, is not an emulator.
| sho_hn wrote:
| I 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!
| smoldesu wrote:
| Proton 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.
| muwtyhg wrote:
| Deck runs a compatibility layer called Proton [1]. A game
| does not need native Linux support to run on the Deck.
|
| 1. https://en.wikipedia.org/wiki/Proton_(software)
| foota wrote:
| My question is, did they have to apply for an ITAR license?
| gpm wrote:
| ITAR 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 wrote:
| I 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.
| HideousKojima wrote:
| US, French, British, and Chinese so far by my count. I
| might have missed some of the other leaks though.
| btown wrote:
| Is an open source game engine likely to cause those War
| Thunder forum participants with military clearances to
| become _more_ angry in debates (because they can now see
| _how_ the inaccuracies in specifications would impact the
| performance in game) or _less_ angry?
|
| Either way, I doubt the impact is zero. So as something
| that has military effect, it might be covered under ITAR
| after all!
|
| /s
| foota wrote:
| Yes, sorry, I meant to edit this in but forgot :)
| rangestransform wrote:
| unrelated but it would be cool if someone opensources, say,
| rocket flight control software and get that part of ITAR deemed
| unconstitutional
| cdibona wrote:
| Psu 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 wrote:
| It might have been OSU , not sure, it's been a long time.
| Metacelsus wrote:
| There are a lot of Kerbal Space Program mods that do this.
| teaearlgraycold wrote:
| I'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 wrote:
| The 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 wrote:
| The 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 wrote:
| A 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.
| dleslie wrote:
| I've worked on games where a static reference is found in the
| host libraries, and that's used as an offset to stomp on the
| unnecessary parts of the library provided by the vendor; and
| therefore recover slivers of precious console memory space
| for the game.
| Arrath wrote:
| < distant screaming >
| dleslie wrote:
| Still a (well-known) old favourite of mine:
| static uint8_t data[1048576]; /* IMPORTANT: ASK LEAD WHEN
| FAILING CERT DUE TO MEMORY */
| corysama wrote:
| IIRC, Andy Gavin said during the development of Crash
| Bandicoot, he stomped pages in the Sony system/OS
| libraries. As long as the game kept running, all good!
| jorvi wrote:
| > Also both AMD and NVIDIA drivers sometimes implement
| alternate paths to fix some engines' performance and
| artifacts
|
| Nvidia moreso than AMD. An interesting artefact of this (or
| maybe the specific tricks that Nvidia chooses) is that
| Nvidia's cards _need_ to be paired with a strong CPU, or you
| can suffer a performance penalty of up to 25%.
| SpaghettiCthulu wrote:
| How are those two things related?
| bayindirh wrote:
| Driver interrupts the engine instructions, applies fixes
| or other does other processing on the CPU, and renders
| the modified code. Think as a SQL query optimizer running
| real time.
|
| So, you need a fast CPU to keep data flowing to the GPU
| at the correct rate, without much hindering.
| CamperBob2 wrote:
| One reason: third-party libraries and tools that aren't
| compatible with the FOSS license you want to use.
|
| Another reason: you are now much more vulnerable to patent
| trolls.
| qiine wrote:
| Its an interesting question, there are many game dev that just
| don't even think about it and are too busy to dedicate even a
| minute to it,
|
| and there there is the problem of engine using many midllewares
| : https://news.ycombinator.com/item?id=3186440
| sho_hn wrote:
| > Its an interesting question, there are many game dev that
| just don't even think about it and are too busy to dedicate
| even a minute to it,
|
| This has also been my experience.
|
| Similarly, even most popular game _mod_ projects don 't
| release source code, even though they are volunteer/community
| efforts who you would think would act like a FOSS project.
|
| But I find that a lot of the people who work on games have
| more of that artist mindset where they feel a type of
| ownership over the creation that to them is at odds with just
| giving it away "for free". This branch of SW just hasn't been
| socialized the same way.
| frou_dh wrote:
| Well a simplistic answer would be that if you have a better
| codebase than your direct competition then the opportunity to
| crib large parts of your code might end up making their game
| attractive enough that some customers end up buying it instead
| of yours.
| indeyets wrote:
| Not really. Barely anyone buys game for the engine. The story
| and game mechanics are much more important.
| sho_hn wrote:
| In the sim game genre, the two are somewhat intertwined and
| customers are also more aware of what the engine does. Car
| and flight enthusiast sim people absolutely do shop for
| physics, flight model, and so on to some extent.
|
| I don't know where on the spectrum from casual to
| enthusiast sim War Thunder is. I looked at YouTube and the
| game looks graphically primitive, so the engine would have
| to do something else that's impressive.
| meheleventyone wrote:
| If you've made your own engine or significant unique pieces of
| technology that's part of your companies IP which is inherently
| part of the value of the company. Further to that open sourcing
| software takes effort and the more complex the software the
| more effort it takes. Game engines are very complex. Then for
| most companies they are trying to make and ship games which is
| also pretty hard. So open sourcing seems like a lot of work for
| little return. That's often why engines that become open source
| are general at their end of life from a commercial perspective.
|
| Games with modding in mind often do open source relevant bits
| to make modding easier.
| Cthulhu_ wrote:
| Clones with more marketing budget / scummy promotion behind it.
| Not supplying the assets isn't a deterrent, because one they
| can be lifted from your game anyway, and two, there's factories
| producing assets production line style.
|
| While, if you have a successful game, there will undoubtedly be
| clones, you don't have to make it easy for them.
| jowea wrote:
| What's the economic benefit for the company?
| brucethemoose2 wrote:
| Cheap, dirty clones.
|
| You can't even necessarily fight it legally if the clone is
| "distinct."
|
| That being said, I think there's less risk once your game
| "takes off" like WarThunder. Barotrauma is another good example
| where a clone is unlikely now.
| purpleidea wrote:
| > updated from dagor4 repo on 2023/10/22, rev
| 0c5bf9c1d82d7491c925febbb...
|
| old code base
| tiernano wrote:
| That's 4 days ago...
| Yasuraka wrote:
| Literally deprecated, some might say entirely useless and
| that it belongs in a museum
| lf-non wrote:
| The 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
|
| [2] https://dascript.org/#performance
| brucethemoose2 wrote:
| > LLVM-8.0.1
|
| The benchmark must be 2019-2020, but thats still very
| interesting.
| pelasaco wrote:
| I'm the only one missing docs?
| gpm wrote:
| There do appear to be some docs embedded in the source.
|
| 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 wrote:
| There 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 wrote:
| Note this repo contains full source for numerous third-party
| libraries that aren't BSD-licensed.
| pnw wrote:
| I don't see anything in /prog/3rdPartyLibs that isn't open
| source of some variety though?
| tonfreed wrote:
| Oh boy another avenue for people to leak classified operational
| data
| CrimsonCape wrote:
| Any idea why Gaijin has developed two fully-featured scripting
| languages? I see Quirrel and daScript in their Github page.
| corysama wrote:
| I 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.
| emmanueloga_ wrote:
| I 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
| corysama wrote:
| LoL! I really gotta make an update to the marching cubes example
| code...
|
| https://github.com/GaijinEntertainment/DagorEngine/blob/main...
|
| 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/
| nabakin wrote:
| I 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 wrote:
| Yeah, 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.
| wahnfrieden wrote:
| We get to compete on editorializing it for votes here in the
| comments!
___________________________________________________________________
(page generated 2023-10-26 23:00 UTC)