Live data from Hacker News

Far Cry 1.34 source code (2006)

archive.org

81–90 of 547 posts

Re: Far Cry 1.34 source code (2006)

#81
post #34

CryEngine is open source now, isn't it?

Kinda, Amazon purchased the code and forked it as Lumberyard. Then they realised their own studios didn't want to use it and their game-dev projects failed, so they donated the engine to the Linux Foundation.

But the engine didn't even support Linux yet, so they spawned a new Open 3D Foundation for it, and renamed the engine Open 3D. I haven't heard of anyone using it seriously yet.

Re: Far Cry 1.34 source code (2006)

#82
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

What should really happen is a law that video games get declared public domain and have their source code released after 10 years. All assets and dependencies would get automatically released under a license allowing for their use in that game and derivatives of it.

As it is, the source is mostly just lost to time, making humanity poorer.

Re: Far Cry 1.34 source code (2006)

#83

Let's see how many antipatterns: - Multiple inheritance - Over-abstraction - Excessive identifier prefixing and suffixing - Use of friend - Use of bit fields instead of bools - Inconsistent mixture of custom and built-in int types - Direct storage of pointers instead of reference-counted containers - Custom (and likely broken) _smart_ptr - Cancerous coding style that adds too many lines - Functions with 7+ arguments…

Have you shipped many game engines?

Re: Far Cry 1.34 source code (2006)

#84
post #53
post #9

Earlier quoted context omitted.

Falcon 4.0 (1998) had a source code leak after Microprose went bankrupt and just like Doom it also had many community forks. Its still alive and kicking today as Falcon BMS.

Oh man, I remember building a new PC for Falcon 4.0. I think I still have the manual binder somewhere. I didn’t actually stick with it for that long in the end - I should check out what the community has done in the meantime!

They have added VR support. Crazy.

Re: Far Cry 1.34 source code (2006)

#85

Let's see how many antipatterns: - Multiple inheritance - Over-abstraction - Excessive identifier prefixing and suffixing - Use of friend - Use of bit fields instead of bools - Inconsistent mixture of custom and built-in int types - Direct storage of pointers instead of reference-counted containers - Custom (and likely broken) _smart_ptr - Cancerous coding style that adds too many lines - Functions with 7+ arguments…

Bit fields saved me an immense amount of pain when packing together state variables for a renderer, so I wouldn't write them off as being bad myself.

Re: Far Cry 1.34 source code (2006)

#86
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.

Does Quake 3 also use a linked list for the console commands? That game even has command completion, whereby pressing tab after typing a couple of characters, the console fills in the command you most likely wanted. The console in Q3A is extremely fast IME.

Re: Far Cry 1.34 source code (2006)

#87

Earlier quoted context omitted.

> Would Assassin's Creed Valhalla exist if we had 100 clones of Assassin's Creed III? Probably, unless they all had the budget to create a shit ton of new assets and replace the old ones. And the code was released with a license that allowed commercial use.

> Probably, unless they all had the budget to create a shit ton of new assets and replace the old ones. Isn't that what we're getting from AI generated content? Note, I'm not saying that a random person will create something better. I'm just saying there might be a risk of saturating the market if you can play 100 versions of the same game for free.

This isn't how the games industry works for games at thia scale (or any other media). They are events. Millions of people having the same experience at the same time and having a common cultural touch point.

The 100s of clones would be more like fanfic. A set of people would get very into them, search out the good ones (perhaps better than the original), or revel in the terrible ones. But then the whole community still comes together to watch the latest marvel film anyway.

The main effect would be to build and maintain the community for the next commercial version.

Re: Far Cry 1.34 source code (2006)

#88
post #46
post #7

Earlier quoted context omitted.

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.

I don’t know about quake, but in quake 2 it consisted of a big list of: else if (strcmp(cmd, “somecmd”) == 0) somecmd() I remember reading it at the time and being inspired by the simplicity of it. It didn’t need to be more complicated than it was, and so Carmack didn’t make it more complicated. That was in stark contrast to a lot of the object oriented c++ design stuff that I was also reading at the time. So much of…

Here it is:

https://github.com/id-Software/Quake-2/blob/372afde46e7defc9...

Re: Far Cry 1.34 source code (2006)

#89

Let's see how many antipatterns: - Multiple inheritance - Over-abstraction - Excessive identifier prefixing and suffixing - Use of friend - Use of bit fields instead of bools - Inconsistent mixture of custom and built-in int types - Direct storage of pointers instead of reference-counted containers - Custom (and likely broken) _smart_ptr - Cancerous coding style that adds too many lines - Functions with 7+ arguments…

Makes me think I shouldn't care as much about perfect code and best practices and focus more about actually shipping things.

Re: Far Cry 1.34 source code (2006)

#90
post #12

I remember when Far Cry came out. Around the time, Doom 3 and Half-Life 2 were the most anticipated games for quite a while, mostly because they promised graphics far ahead of anything released so far. But as they were delayed multiple times, Far Cry stole a lot of their thunder when it came out months before them, with similarly impressive graphics. We don't see technically ambitious PC exclusive games like this any…

Huh? That doesn't seem right. We absolutely have ambitious games on pc that bring generational leaps in graphical fidelity. Like the Witcher 3, which was absolutely stunning when it first released. Similarly (although originally a console exclusive) Red Dead Redemption 2 looks incredible on PC. We also have releases like Hellblade: Senuas Sacrifice which pushed the limit of what was possible to achieve with limited r…

It depends what your reference point for the rate of progress is. The release date of Crysis is closer to release date of Doom than today, but visually Crysis holds up dramatically better than what Doom did at the time of Crysis release.
Post reply on HN