Live data from Hacker News

Far Cry 1.34 source code (2006)

archive.org

101–110 of 547 posts

Re: Far Cry 1.34 source code (2006)

#101
post #45
post #27

Earlier quoted context omitted.

Elder scrolls games are very moddable and people have made total conversions and map extensions. That didn't prevent the sales of newer TES games based on slightly improved engines and slightly better assets (fan-made assets are often still ahead of the official ones, but it takes years of refinement to get to that point).

That and things like Counter Strike / Day of Defeat that started as mods had a large number of maps back in the day. 99% of them were shit and weird experiments. The ones that did rise to the top eventually got incorporated into newer versions, and indeed became games in their own right. DOTA as well, started as a mod for Warcraft 3 and eventually spawned a franchise. Trying to capture ALL the value (in this case the…

> If there is one set of games I wish were released it is Ambrosia Software's catalog.

And Chiral!

Man I'd love a Linux port of that game.

Re: Far Cry 1.34 source code (2006)

#102
post #56

I'm curious about the legal side of copyright and code. If you have a closed source game and copyright expires then how does that affect the sources? Do closed source games not require the sources to be released after copyright expires?

There's no reason why a company would be required to release the source code once copyright expires. Someone finding an old copy of the source could spread it around, but that's about all.

However, with copyright expiring 70 years after the death of the author(s), by the time copyright does expire, the sources will have disappeared.

Re: Far Cry 1.34 source code (2006)

#104
post #76

Earlier quoted context omitted.

Sounds like a real world project that focused on shipping a good game rather than have perfect code. There is a reason perfectionist devs do not run big projects. They focus on minutiae rather than the big picture. Even in my own experiences, one of my most successful projects (eventually acquired by Amazon) was a quickly written hacked together project that solved a big issue well. Over time it became better enginee…

Or maybe, just maybe, 'good practices' simply changed over the span of literally 20 years? Naah, it must simply be those 'perfection vs practicality' dichotomy again. ...Not to mention that your point is the definition of survivor ship bias. Maybe the devs actually were super mad at themselves how the codebase looked cause it slowed down their development. Maybe they initially had 3 more times the ammount of anti-pat…

[deleted]

Re: Far Cry 1.34 source code (2006)

#105

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.

Removing these proprietary parts can actually be a lot of work or potentially impossible without a major refractor, especially if they're foundational to gameplay, like a physics engine.

Re: Far Cry 1.34 source code (2006)

#106

Earlier quoted context omitted.

> it might have been the case, that there were not that many commands anyway, so that the linked list did not noticably slow things down. Also, unlike the game code itself which has to finish running its work in time for every frame, it probably doesn’t matter if running a command from the Quake terminal takes a little bit extra time. Would anyone notice or care about a difference in the amount of time it takes to ru…

> Also, unlike the game code itself which has to finish running its work in time for every frame, it probably doesn’t matter if running a command from the Quake terminal takes a little bit extra time. Except we did, because back then, the console command loop was part of the work done every frame - so your lookup still had to fit in the budget, or the player would see frames being skipped. Which, if memory serves me,…

Single threaded kind of makes sense for machines with single core CPUs. And multiplayer was usually limited because internet wasn’t that good typically being dialup.

Games required more cutting edge machines (maybe 2 years old) I remember getting a notebook with enough power (66mhz, 4 megs of ram) to place doom. Taking my machine to a friends and playing one on one death match over a serial cable.

Re: Far Cry 1.34 source code (2006)

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

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 uncertain terms that Flash is dead. Is there any good reason why the sources need to stay closed if they aren't going to make any further gains, financial or otherwise, from this product and its ecosystem? I mean the Flash Player plugin and standalone app specifically, not the Flash authoring software — that's still alive under a new name, Adobe Animate.

Trident, the Internet Explorer engine. Again, it's dead for good as far as Microsoft is concerned, so why not release its sources for people to learn and hack on?

Presto, the Opera engine. This was leaked and of course I hoarded it, but it would be nice to see an official release.

Winamp. The company behind it pivoted to some kind of streaming social donation thing. It does not seem interested in maintaining the old Winamp app.

Path, the social media thing for "close friends", their mobile apps. The apps were insanely cool, especially at the time of Path's peak around 2013, but the service was shut down a few years ago. Unless they're going to somehow resurrect the service, there's no good reason for the sources for the apps to remain closed. I'd love to take a look at their implementation of real-time photo filters.

Thinking of it, it makes more sense for non-game apps than for games to release sources. Old games do sometimes come out as "remasters" for modern platforms. These usually reuse the engine and sometimes some of the assets. Non-game software, on the other hand, when it's dead, it's usually dead for good.

Re: Far Cry 1.34 source code (2006)

#108

Earlier quoted context omitted.

The example sounds like a quite basic insight into algorithmic complexity or complexity of lookup operation of data structures. A linked list is fine, if you need or want to go through the entries sequentially anyway, but if you need random access, then you probably want something different. I can tell that without ever having looked at something like Quake's console commands implementation. However, it might have be…

> it might have been the case, that there were not that many commands anyway, so that the linked list did not noticably slow things down. Also, unlike the game code itself which has to finish running its work in time for every frame, it probably doesn’t matter if running a command from the Quake terminal takes a little bit extra time. Would anyone notice or care about a difference in the amount of time it takes to ru…

i used it extensively and cannot think back on any time i thought the cmd line was slow

Re: Far Cry 1.34 source code (2006)

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

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

Sure you would! You think those dinosaurs like Carmack didn't know about tree-like structures and hash tables back in the 90s? They did, it is just that (I assume) their main goal was to optimize something that is computed every frame, not once in a blue moon when player inputs a console command, which latency doesn't matter that much anyway whether is is 1ms or 10ms. In fact, toying with advanced data structures for console optimization sound like something junior engineer would get reprimanded for by seniors, if caught up wasting time on it.

Re: Far Cry 1.34 source code (2006)

#110

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…

How did this negatively affect the project?

Don't do that unless you want a random commenter shitting on the code you wrote 20 years ago when it finally leaks it.
Post reply on HN