Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I tried to convince EA to let me do that. Didn't work.

EA really, REALLY doesn't want to update SC4, they don't want to fix its easily fixable bugs, and don't want to share the source either, despite the most important parts of it being Open Sourced recently (EASTL is notable)

SC4 to start of, was never finished, while modding the game and then trying to fix its bugs, I found out a ton of features people want, DO exist, but are partially implemented, for example the game even calculate the wind effects on the ground, but does nothing with the result of the calculation.

It also has a advanced modding system using dlls, theoretically you can make dlls using the game APIs and greatly modify its behaviour but the API documentation is heavily secret, asking individual EA (ex)employees about it resulted in them telling me it is secret, and asking EA itself got my questions outright ignored (different from other requests, where they reply declining...)

And it has bugs because the devs went so cutting edge at the time, that they used everything they could of the hardware, that immediately moved from under them:

1. It uses RDTSC for its original documented purpose: count clock cycles. Meanwhile right after launch Intel decided that RDTSC was supposed to count time instead, and changing what it does, breaking some features of the game, and causing crashes, the game still crashes often because of this.

2. The game uses DirectX 7, mixing DirectDraw and Direct3D, it used all the features it could at the time, it was running really poorly in a laptop of mine, so I went to check and found out that nVidia some 2 years after the game launch decided that DX7 is so outdated that they wouldn't bother supporting it at all, and whenever a game asked questions to the videocard using DX7 APIs, it would lie, so SC4 on my nVidia based laptop would get a lot of lies as answers to queries to the video card capabilities, and attempt to do poorly supported things, resulting in severe graphical artifacts and performance issues.

To me the treatment of SC4 by EA just serves to show that EA is a company that doesn't care for quality that much.



> whenever a game asked questions to the videocard using DX7 APIs, it would lie,

This makes me wonder if Wine would run it better. Usually, Wine only "lies" if Windows itself does and if not doing so will cause things to break.


It does.

Putting Wine DLLs on SC4 folder make it run better even on Windows. Ditto for a couple other games (for example Arcanum: Of Steamworks and Magick Obscura)


Do you know if/how GOG.com copes with the different bugs in SC4? If they haven't implemented those fixes, you may even have a better chance talking with them rather than directly with EA.


Thank you for your efforts!


Are you aware of any OpenTTD-like projects for SC4? If EA won't play ball that seems like pretty much the last option left.


There aren't any, sadly.

Closest SC4 sucessor for now is the game "New Cities" that is fundamentally different, and proprietary.

Open Source there is an early SimCity clone, but it is not a clone of SC4 specifically, and it is a lot more simple.

There were multiple attempts by multiple people on starting such projects, but all of them failed fairly early, the task is seemly just too daunting, in fact this is part of the reason why the game got released in a unfinished state, in an interview a programmer that worked on SC4 at the time said they "coded themselves into a corner", and were unsure how to fix it, EA then gave them the ultimatum of "release now or never", reimplementing SC4 itself thus seems to be too hard.

OpenTTD was much easier, in part because TTD itself was written in assembly, so when you decompile it, you are seeing the actual source for most part, there are no C++ craziness going on, no virtual tables or crazy jumps.

SC4 was written in C++ with a ton of non-standard stuff, Paul Pedriana is a mad genius, so unless you have supernatural amounts of patience and time, you won't understand a disassembly of SC4, you need the source to do anything substantial.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: