Just few last words before leaving.
When I found this project, it was late 2010, and it was version 0.1 on SourceForge. Daiky joined a bit earlier and made his battlescape, and started his walking tests, enjoing "ultimate A* pathfinder" (which was kinda bad, frankly speaking, because unit shouldn't be able to route through black "unknown" areas). There were no projectile sprites, and Daiky didn't even know how does it work in vanilla.
UFO: The Two Sides at this point have been using point-sprites instead of projectiles, and it looked really lame. I remember I thought OXC really should be using original looking projectile sprites.
At this point I was on my "active" phase of reversing vanilla exe, figuring lots of the game mechanics, and searching for the good use for what I found.
For OpenXcom there was no any reliable information source on the inners of the vanilla. The only source was ufopeadia.org. Which happen to has really lots of "blind spots" and even misinformation. I start filling these blind spots and correcting
the misinformation, but it was just some bits of info - there was much much more which I didn't put into ufopeadia, just because I stop seeing any reason for that. I thought it would be much more profitable to put this information into actual project, so I started providing OpenXcom with information on vanilla mechanics.
First thing, of course, was projectile sprites, and of course, taken from reversed vanilla.
The "clarification" on title(and "about") pages stated that "The code is completely written from scratch, no reverse-engineering"
. It was true at that moment of time, but. Later this statement was removed. Because without reliable real reversed source the project most probably would end up with ugly "something" that just only resembles the look of vanilla game (as it was in the beginning). It would end up like lots of other "clones" which barely touches the fame of the vanilla. And I thought, that it would be really shame. And other developers may not agree (so excuse me), but I *actually* took a role of the "accurate vanilla" game designer of OXC. Because
https://ufopaedia.org was (and is) really poor "map and compass" on many of vanilla aspects.
During this long run I supplied some of OXC contributors with vanilla info.
-
SupSuper. Started everything, made ALL of UI things, and the engine "skeleton". Always avoided maths and ingame mechanics programming, like, globe, or battlescape. UI - is just what he's good at. I didn't really provide him with anything important, can recall "nice" great circle flying formula for geoscape and later - dos/adlib music player, which was added just couple of months pre 1.0 release. And what's the good - he continue making fix-commits (mainly gathering community PRs, and some other current fixes).
Ah yes, he "integrated" radar range circles I made. Cheers, chief.
-
Daiky. Started battlescape stage. With the idea "will go my own way" he didn't manage to go too far. I gave him projectile sprites, pathfinding/MCD info, and tried to turn him into more vanilla direction. I think in current codebase there are only few bits of his code left. Mostly it has been rewritten number of times.
-
hmaon. The guy who added classic intro sequence video, nice scaler/shaders, and later - some AI logic. I provided him with SFX channel info for intro and some AI concepts from vanilla.
-
Karvanit. Added alien missions/flight mechanics, that SupSuper mistakenly called Geoscape "AI". No wonder because there was almost 0 info about that in
https://ufopaedia.org, and people could have illusion that it actually has AI. No. It's just scripted without any signs of "dynamic difficulty" that Julian Gollop mention.
-
l2uriel. With my help and information provided he has implemented dogfights with nice and vanilla looking blob animation and dogfight mechanics itself.
-
Warboy. Without him and my help I really doubt the project would hit 1.0 by now or in any close future. I gave him tons on vanilla information, starting from unit sprite drawing, and bunch of fixes of battlescape mechanics (but still PR+committed by Warboy - I never got to use git). He made this project this far as we see it. Map scripting was entirely my idea and concept, and Warboy implemented it quite well (without these "scripting" concepts TFTD support wouldn't happen, because it was initially hardcoded). I actually gave him reversed vanilla sources of XCOM1 and TFTD, and spent hours on explaining of numerous of the vanilla mechanic elements, and function logics. Mission scripting tho is entirely his child, so cudos are entirely his.
All in all it was pretty productive cooperation of Warboy's coding enthusiasm and github access, and my reversing/logic skills, patience and persistence, and of course, the learned vanilla reversed source which I was making and improving from 2010 up to 2014 (including TFTD). But due to his uni stuff, or some elements of laziness, or maybe it's something personal, or both, he rejected number of my offerings (including actual code snippets). I can't get to work with git/PRs, I don't want to get into the situation when my potential huge PRs gonna be "rejected", and obviously I didn't want to start my own project fork like Yankes, with all the "autobuild" and stuff support. (Sidenote: Yankes, you're really stubborn sonovabitch, you're doing freaking great job fighting for your own game engine vision, which I couldn't afford).
So I stop giving Warboy code snippets and fixes, and stop doing anything for OXC at all. Assume that as like I got tired of hitting the wall trying to lobby any progress.
What directly was done by me:
-
Radar lines (floating point line draw functions are also used for craft trajectories).
- Adlib music player (working for both xcom1 and tftd).
-
First-person look aka "F10" (useful for finding holes and "missing" reason) and full voxel dump with "F11" (for debug only). Started because of "Jade's skyranger hole".
- Terrain damage mechanics and spreading of explosion (considering advanced bigwalls).
- Vanilla-like throw trajectory limitation (for standing and sitting, for the ceil blockage).
- Holeless LOF (covering diagonal jumps found in lots of vanilla crafts and buildings).
- Spacial correct projectile shadow (considering slopes and stuff under).
- Geoscape "astronomically correct" Earth tilt and shade gradients.
-
MCD Editor - started as simple MCD viewer after I got into Win7x64, and found that Koralt's version (I used to) doesn't work anymore.
- WORLD.DAT editor - not really worth mentioning, but still.
- Smoother/slower bubble trails are also under my responsibility. With vanilla speed it was too fast and you just can't enjoy the look.
Indirectly:
- Projectile "sprites", implemented by Daiky.
- Great circle formula for globe trajectories, implemented by SupSuper.
- Alien mission/trajectories/loadouts, implemented by Karvanit.
- Detailed information on bubble trails, palette, and other stuff from TFTD, implemented by Warboy.
-
"Advanced" pathfinding through bigwall proof of concept, later implemented by Warboy.
- Map scripting concept (with proof of viability for both xcom1 and tftd and potentially any other mod), later entirely implemented by Warboy.
- Accurate information on map generation, trajectories, races/ranks/loadouts for TFTD, implemented by Warboy.
- Accurate information on special terror mission spawning for TFTD (which doesn't have anything in common with UFO:EU), also, Warboy.
And lots of other tiny things I don't even remember.
And just gonna list few things that I was working on, some of them were WIP, but some were actually finished but nevertheless they were rejected.
- Smooth globe. - rejected
I've tried couple of different approaches and found the best one. But still, it hasn't been approved. So I guess you'll never see it.
A video of it. - FPS independent window popup animation. - rejected
Really quick and smooth in any CPU/GPU configs. It was just ignored. So if you're unlucky - you know why animation is slow: it's FPS dependent.
- List highlight line misposition bug fix - rejected
- Optimized "over globe polygon" function - rejected
It meant to allow of automatic dogfight window opening after "can't intercept over the land" popup.
- New version of GLOBE.DAT editor.
Was already finished, can load/save trajectories, areas, cities (from yaml ruleset), and visually edit all of them. Just cancelled.
- MCD Editor updates.
The version 1.17i gonna be the final, despite any bugs or anything else.
- Natural targeting.
You know the thing. It's just something that was simply aborted. So get your 50% "obstacle hit" chance even with 110% accuracy aimed shot.
And more of other quality of life things, that were planned (some were even drafted), but actually never gonna happen (like "particle engine" easing flamethrower animation implementation, like multiple projectiles for shotguns, fire/throw preview, and more
from here).
I'm really glad that project got to this point, so lots of people could enjoy playing good old XCOM and TFTD. I'm glad that lots of people are making mods of their dreams, using the OXC concept of externalized game assets, and even some of my tools. And I'm glad that some of developers earned lots of cudos and moments of fame.
But personally I feel being exchausted, feel being used, and feel that I didn't really gain anything. I just feel I spent part of my life for almost nothing, which I could spend on something better, like doing my own stuff, and hitting no walls.
So... Goodbye, OpenXcom community.