Live data from Hacker News

Far Cry 1.34 source code (2006)

archive.org

211–220 of 547 posts

Re: Far Cry 1.34 source code (2006)

#211
post #126

Earlier quoted context omitted.

In general, open-source all abandonware. Here's a few examples of non-game old software that would benefit the society if open-sourced: Windows 9x and classic Mac OS. No one has sold these OSes for 20+ years and they turned out to be evolutionary dead ends. It would make sense to release their sources so people could learn from them and run them on new hardware more easily. Flash Player. Adobe has stated in no uncert…

> Trident, the Internet Explorer engine. Not really dead because it’s still shipped with enterprise Edge for sites that enable IE mode: https://learn.microsoft.com/en-us/deployedge/edge-ie-mode

Also i think that people from Spyglass INC would not be very happy.

Re: Far Cry 1.34 source code (2006)

#212
post #155

Has someone managed to compile this? In the reviews on the linked web page the user 'MobCat' states that it does not compile

12 out the 22 projects with VS2022, but that's most likely just the start, as there are dependencies shipped as binaries, which most likely require a recompilation for compatibility.

Maybe it's easier, if one uses the matching, old compiler version.

Re: Far Cry 1.34 source code (2006)

#213

Earlier quoted context omitted.

Depends, if it’s code calling a console SDK API then you are bound by terms of the NDA to not publicly share it — forever. Even just function names! More realistically, a drop of source code is basically painting a big target on your company to get sued by a troll. I’ve wanted to release my game’s source but am terrified of this.

> Depends, if it’s code calling a console SDK API then you are bound by terms of the NDA to not publicly share it — forever. Even just function names! This is not true. API itself (function names and parameters) does not hold copyright. Otherwise you wouldn't have open-source applications on any proprietary OS, since they have the function calls of proprietary APIs inside. What can be copyrighted are the header files…

> What can be copyrighted are the header files itself: these you can't redistribute, as you can't redistribute the binary that is linked to the executable.

Note that while the exact header file is covered by copyright, the "information"/"facts" the header file describes (e.g. said function names, parameters, constants, etc) is not - at least as far as EU is concerned anyway (BTW the case you most likely have in mind wasn't for substituting proprietary parts but for interoperability between parts - i.e. it would still be valid for substituting one proprietary part with another proprietary part). This is also why different compilers for Windows have a "windows.h" (or language equivalent) with each having its own copyright but describing the exact same API.

(obviously this is for unsubstitutable fact-like information a header file contains and does not apply for any code like macros or inline methods like in C++ classes/templates)

Re: Far Cry 1.34 source code (2006)

#214

Earlier quoted context omitted.

I guess this is legally unfeasible. Take a look at the splash screens next time you're loading a game - especially AAA but also smaller ones too. There will beone page with a bunch of logos. Havok physics is the one that comes to mind but there's loads more. Each of these is a plugin with proprietary code. They would need to be stripped out before the code could be released, which would probably be a lot of work. And…

I'd be fine if they put up their code with the proprietary parts removed. They can just include a FIXME stating that the physics engine/video player etc. is missing. If the community picks up the code, they can just replace the missing parts.

I've worked on games before. We ported our game to havock between versions. That took 8 months for one dev. The code review was 3 weeks. Ripping ours out was a month by itself. There were several libraries like that. The sound system was similar and we had to upgrade it every game which was similar work to havock. Heck there was a really simple font to bitmap lib/utility we used and that would have taken several months to replace. A month to rip out.

I moved us from PlayStation 3 to PlayStation 4 for our debugging UI and literally just removing all the calls to the old debugging UI system was something like 2 weeks my only goal there was to get it to not compile. Wiring up all 3,900 debug UI connection points to the engine with access to all the rest of the game engine library and having written parts of both systems in the engine and the debugging library and the new UI library still took me almost 2 weeks I did it with both systems working at the same time which was actually easier than doing a full rip out. The studio I worked at tried really hard not to use proprietary libraries and it was a big deal for us using havoc but we needed to they ended up going back for the next title. They also wrapped literally every library with shims to make it easier to Port but things like physics engines are just basically impossible to wrap fully as our sound engines and font libraries the implementation details leak into everywhere.

The suggestion you're making is a very large amount of work probably on the level of several engineers for several years on a Triple-A title now you're talking like a million dollars for the company to open source it and locking up some good devs for a year or more. There's literally no economic trade off in doing that unless you can come up with a way to make one.

Porting would be an okay economic trade off there.

Re: Far Cry 1.34 source code (2006)

#215

Earlier quoted context omitted.

> anti competitive practices from Windows You would more likely be amazed by all the dumb hacks in the system for backward compatibility, mostly for other companies' software. https://devblogs.microsoft.com/oldnewthing/20050824-11/?p=34...

It seems dumb and it is dumb, but it’s also an important feature of Windows that your terrible app from the 90s can still run today with minor changes generally. Less so if it’s win16 but anything win32 is good to go. Also, Linux has a similar philosophy as Linus has eloquently described in the past. [1] [1] https://lkml.org/lkml/2012/12/23/75

> It seems dumb and it is dumb, but it’s also an important feature of Windows that your terrible app from the 90s can still run today with minor changes generally.

This is a myth which is mostly not true from some time.

Re: Far Cry 1.34 source code (2006)

#216
post #2

I wish companies would just opensource really old engines for educational purposes. Maybe take game assets resize everything to 1/10th so that it looks like sht but can still be used as placeholder. Would boost the pipeline of talent for the entire industry

My own personal and private opinion is that I wish the legislation would opensource things that are not being actively sold where the owner is a corporation. You still have registration in USA, so if you register then you have to deposit, if you register with corporate ownership then you pay a yearly renewal, if you stop paying the deposit goes to public domain. Simples.

And how much does that deposit need to be?

Re: Far Cry 1.34 source code (2006)

#217
post #7

Earlier quoted context omitted.

Old engines are very far from the current way is doing things. You might learn a lot, but you won't learn what you need to program modern games

It‘s still interesting to see how certain challenges have been solved back in the day. Or as a case study in what _not_ to do today. For example, Quake‘s ingame console commands were stored in a linked list. I believe looking up a command was a linear search through that list. You wouldn‘t do it like that today.

The game studio I did did many many things in linked lists or arrays still because literally searching an array is still much much faster than computing out hash algorithm when the total number of entries is less than a thousand and it gives you memory predictability. So generally when you're searching it almost all of it has been loaded into RAM especially if you limit the size of the items in the length list which games almost always do and you list limit the size of the array which games almost always do almost everything in a good game engine is fixed size arrays for repeatable performance. I was surprised by this as well when I moved from doing Ruby and Java apps into AAA game studio but the engineers were kind and explained it to me and showed me the math and I was like yep that is way faster. I also didn't appreciate the things like cash coherence that they highly leveraged to make every frame sing

Re: Far Cry 1.34 source code (2006)

#218
post #2

I wish companies would just opensource really old engines for educational purposes. Maybe take game assets resize everything to 1/10th so that it looks like sht but can still be used as placeholder. Would boost the pipeline of talent for the entire industry

You can take a look at Amazon Lumberyard which is free. It's based on CryEngine, which is behind Far Cry.

Note that Lumberyard became "Open 3D Engine" (yes, very inspired name) which is Apache 2 licensed:

https://o3de.org/

https://github.com/o3de/o3de/

AFAIK all development in Lumberyard has ceased and moved to O3DE.

Re: Far Cry 1.34 source code (2006)

#219
I remember that the initial levels of Far Cry 1 were amazing jungle/beach scenarios that enabled a lot of different strategies for overcoming the smart human enemies.

The last levels, however, were all inside claustrophobic buildings with weird monsters running around.

If all levels had the feeling of the first ones, it would be my favorite game of all time.

Re: Far Cry 1.34 source code (2006)

#220
post #219

I remember that the initial levels of Far Cry 1 were amazing jungle/beach scenarios that enabled a lot of different strategies for overcoming the smart human enemies. The last levels, however, were all inside claustrophobic buildings with weird monsters running around. If all levels had the feeling of the first ones, it would be my favorite game of all time.

I agree. Wasn't it zombies? The first levels set a great feeling and atmosphere, everything was mysterious, and then it felt like they ran out of ideas and were like "hm yeah let's add zombies, because that's not totally something overused". And yes, I don't even remember the later levels and didn't even finish the game.
Post reply on HN