Hacker News new | ask | show | jobs
by pori 3748 days ago
It's really cool to see an old game engine released like this for historical purposes. Not to mention, it's nice to be able to experiment and see other games become derivatives.

Still, I can't help but feel that the game industry is always a bit behind in FOSS. They don't usually open source anything until a decade or two after the tech is irrelevant. Perhaps it's to prevent competition.

Another thing that bothers me with these releases is how little documentation there is. They put up a repository without much intention of helping/building a community around it, which is a shame.

All that said, they still have the right to approach in this manner. It is their property and they are still generous when making releases like this.

4 comments

Most higher level game code is actually fairly uninteresting (if not to say 'a tangled mess') and wouldn't really bring the programming world forward if open sourced. On the other hand, most of the building blocks and information to build games is in the open and can be contributed to, even if not permissively licensed. And there are a lot of lower level building blocks that are open source with a proper license (mostly MIT).

So basically, the lower you go, the more open source you will find, and the higher up you go in a specific game's code, the less useful releasing as open source would be.

> less useful releasing as open source would be.

Developers would find an immense amount of use in open sourcing their engines like this. It lets the community port them to every OS in existence including your toaster. A great/bad example is gemrb, which was an open source reimplementation of the Infinity Engine that almost certainly incentivized Atari / Bioware to let Beamdog re-release the games with modern engine updates across many platforms due to the free engine's popularity on mobile.

The open source nature of all the id engines is what keeps Wolf3d through Quake 2 games relevant this day. Their engines are bought to every new platform almost as a benchmark for porting software period, and you can play them effectively everywhere as a result. Compare that to abandonware titles like Blood that were their contemporaries, but never saw source releases and thus are effectively dead software that would only run on DOS.

I'd argue almost every console game release since the Xbox would benefit astoundingly from open sourcing their engine code. If we could see the APIs they wrote their renderers against we could reimplement them for modern cross platform tooling to enable native compilation and execution of games we still cannot emulate well because the hardware is similar enough to what we have now that we don't have the magnitudes of ghz to throw at it easily or often. And even older console titles would benefit, because they could be modernized with new resolution support, higher refresh rates, and modern rendering techniques.

This is all around immensely beneficial to developers because it is basically free money - people will keep buying copies for the assets even if they use much better engines you didn't have to put developer hours into making.

> Another thing that bothers me with these releases is how little documentation there is. They put up a repository without much intention of helping/building a community around it, which is a shame.

I hope there's a way to link all the people who used to make mods and maps with this repository.

Or even worse, it's not released until there's noone left to answer about the licensing of the code and assets. The community that took over Microsoft Allegiance's code has been trying for years to find someone able to make decisions about it.
The code is usually terrible in various ways (mostly due to the culture in game dev studios). Even Quake's code, which is quite good, includes various "what the fuck?"[1] comments

[1]: Literally https://blog.dave.io/2011/10/0x5f3759df-true-magic-number/

It's not the culture it's how the industry works.

Unless you are a huge company that can have his own in house engine with it's own team working on it, you will basically start a game from scratch with DirectX and with an engine built only for the needs of your game. You will finish the game, release it, and now you will have to start everything again because the game you just built - with its code - is not advanced enough to ship the next game with the graphics required in 2 years. So rather to have to fight by refactoring 60% of your code you start a new engine again, or else you cut hard in it.

And secondly, a game is here to be consumed for a short period of time. After that the whole product just died. Maybe it will have a few patch, but that's it. Where for a software, it is supposed to be constantly evolving and here to stay a few years, rather to be consumed for say 6 months, and then discontinued.

And lastly because it's an entertainment industry. There is nothing huge happening if a bug comes. No fortune 500 will be down, just the computer of someone somewhere. So it's "better" to ship fast and correct a bug when you see one, rather to spend a big amount of time writing tests that you won't be able to use for your next game anyway.