Posted May 26, 2016
theDonik: Of all the mods and projects I've played for various games in the past, nothing has made me regret not learning coding/modeling more than seeing your work here.
Have you found anyone to help you out at all to lessen your work load? I really wish I could contribute in some way, but I don't have any of the necessary skills unfortunately. I can contribute $$$, but unfortunately that doesn't exactly speed progress on this along at any rate :)
Thanks! Have you found anyone to help you out at all to lessen your work load? I really wish I could contribute in some way, but I don't have any of the necessary skills unfortunately. I can contribute $$$, but unfortunately that doesn't exactly speed progress on this along at any rate :)
My workload was already mostly reduced by Tarvis, FekLeyrTarg, Sekir_Delyn, scotsdezmond, MjrParts, Laserschwert and other kind contributors. Without them, we wouldn't have gone too far.
They have dealt with some of the most time consuming tasks: to infer how many of the original game features work so that we can mimic it.
Tarvis and Laserschwert work on the iMuse system are some of the most impressive stuff I have ever seen, and one of the things that kept me coming to this project even when flooded with work in real life.
Then the amount of reverse engineering done by Sekir_Delyn and others about the internal workings of ship stats, weapons, damage, distances, speed ratings, etc is what allows this mod to get close to feeling like the original X-Wing.
It isn't really coding stuff. But it needs to be done because it's the skeleton of the game, and it is done basically by looking at how the game works, in detail. Or looking at the game files with an hexeditor or some of the old tools created in the 90s that time has almost forgotten. It takes more time and effort than anything else, really. And I am very glad that they have been doing it.
The more help, the better.
They main issue with this mod is that we aren't just "modding" an existing engine to use different resource files (music, 3D models, etc), or tweaking some parameters here and there. We are mostly reimplementing the engine from scratch because the old DOS executable cannot be really adapted to today's resolutions and hardware, and because the later games in the series that could run today (XW98, TF98, XvT, XWA) were severy altered here and there, what makes a faithful port of X-Wing impossible, or at least not close enough.
But we aren't either reusing another, third party, game's engine.
One reason is trademarks ( I don't want to make a copy of X-Wing that gets a Cease and Desist letter from Disney. I want to make an X-Wing mod, where the modded part is the engine executable, but it requires you to have the original game to run, because it uses the original assets. The Disney doesn't loose any money, noone is using their trademarks without permission, and everyone is happy.)
But the main reason is that X-Wing wasn't just a space game about blowing up ships. Every mission was a clockwork puzzle that you had to solve by flying a ship. Little changes on how things behave can send the balance of a mission out of the window. (You can see this in the XW98 edition, or in the many "ports" that have been made to XvT or XWA, or Freespace 2).
That is, in my opinion, the essence of X-Wing (and the whole series). If you loose that, you loose the main point of X-Wing. So it doesn't just work to adapt its missions to another engine and call it a day.
The closest projects I can think of are OpenTTD and OpenXCom (that reimplement Transport Tycoon and X-Com game engines, while using the original resource files).
About the coding work itself, I have not yet uploaded it to the repository in BitBucket.
Mainly because a code repository where several people work on should be something where the fundations of the code are already quite well established, and just more features (and bugfixes) are added over time.
I don't think the mod is in that state yet. I am still quite in an exploration stage where I make huge refactorings to the code when I detect that something is not proper for what it is supposed to do.
For example, just yesterday I noticed that the float type coordinates that are standard in Unity (the engine I am using) works great most of the time... except when you fly many kilometers away from the center of the map. There I started noticing that the targetting computer screen and other instruments in the cockpit start "vibrating" in a strange way. I suspect that is caused by the loss of decimal precission of Float with higher values, and I need to find a way to solve this. It could be something small, or it could suppose having to make huge changes throughout the code. I'm not sure yet.
Post edited May 26, 2016 by Azrapse