Author Topic: OpenXcom code history  (Read 4902 times)

Offline jth42

  • Squaddie
  • *
  • Posts: 5
    • View Profile
OpenXcom code history
« on: April 02, 2019, 12:44:38 pm »
Hi everyone!

I'd like to know more about OpenXcom's history. In particular, the wiki said it was written from scratch, but the game feels a little too similar to the original to be believable I think. Did the OpenXcom devs have the original source as reference at least?

Thanks for your time and effort, Jens

Offline Yankes

  • Global Moderator
  • Commander
  • *****
  • Posts: 3350
    • View Profile
Re: OpenXcom code history
« Reply #1 on: April 02, 2019, 08:34:44 pm »
That is whole point, written from scratch but look and work exactly* same.

There is no original code in OXC, only thing that could be "steal" that sometimes writing of some algorithms was consulted with disassembly of original.

Offline jth42

  • Squaddie
  • *
  • Posts: 5
    • View Profile
Re: OpenXcom code history
« Reply #2 on: April 03, 2019, 11:57:14 am »
Reverse engineering from the assembly is very difficult and the openxcom sources don't look like they are a translation of machine code. The openxcom authors either needed to have at least the original source code to work or the rules will be different.

How can the authors be reached anyway? There's a github repo, but the issue tracking is deactivated and I can't PM the maintainers.

Online Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 9092
    • View Profile
Re: OpenXcom code history
« Reply #3 on: April 03, 2019, 12:08:13 pm »
Yankes is one of the contributors/authors and his answer is correct.

Nobody ever had access to the original source code.

OpenXcom started without reverse engineering, just from information available on Ufopedia.org... which itself did some reverse-engineering :)

Later, when the project got more popular and more people got involved, some parts (especially exact formulas) were reverse-engineered to find out how they worked in the original and re-implemented based on that information. But even in this case, the implementation was new... not the exact "translation of the machine code" as you say it.

Edit: easiest way to reach us is on OpenXcom discord: https://discord.gg/kd5UDeT
« Last Edit: April 03, 2019, 12:31:55 pm by Meridian »

Offline jth42

  • Squaddie
  • *
  • Posts: 5
    • View Profile
Re: OpenXcom code history
« Reply #4 on: April 03, 2019, 05:05:21 pm »
Thanks for your responses guys!

Offline Daiky

  • Battlescape Programmer
  • Administrator
  • Commander
  • *****
  • Posts: 904
    • View Profile
Re: OpenXcom code history
« Reply #5 on: April 26, 2019, 10:25:07 pm »
When I started coding the battlescape for OpenXCom I had great help from people that really turned the original game inside out:
"Zombie" was a guy that took testing to the next level, he spend days letting stuff explode in the game and documented the results. We discussed all this stuff on the weirdest times of the night on our IRC channel, talking about how close openXcom should stick to the original. This ment even trying to mimic "bugs" of the original like explosions being restricted to one level only.
We had our vanilla-purist "Volutar", while not easy to work with him, he actually reverse-enginered algorithms from the original game for us and proved a great help when we were stuck on something.

As far as I remember the most difficult part to mimic was the AI and there I basically started from scratch and observations.

Here is a list of the differences between original and OpenXCom by the way, not sure how up to date this is:
https://www.ufopaedia.org/index.php/Differences_to_X-COM_(OpenXcom)
« Last Edit: April 26, 2019, 10:26:59 pm by Daiky »

Offline Solarius Scorch

  • Global Moderator
  • Commander
  • *****
  • Posts: 11722
  • WE MUST DISSENT
    • View Profile
    • Nocturmal Productions modding studio website
Re: OpenXcom code history
« Reply #6 on: April 26, 2019, 10:44:03 pm »
Empirical data's your only man, when formulating a research plan.
A soldier's death is never in vain if it makes the formula more plain.
A few dozen make a better case for refining that third decimal place.
They call me Zombie because I don't sleep, as I slowly struggle to climb this heap,
of corpses, data points, and trials, but from the top - I'll see for miles!

    -- Zombie


(Also wanted to add that Zombie is an extremely helpful and nice guy!)