User:Xusilak

From UFOpaedia
Revision as of 05:01, 13 April 2010 by Xusilak (talk | contribs) (Added a notes section, with a note about underwater-only weapons and a note about plausible timelines.)
Jump to navigation Jump to search

Hi, I'm Xusilak. X-COM is my favorite game ever! This is why I'm obsessed with it to the point of trying to understand its base assembly code, with the help of Seb76. I use that knowledge to build patches for it that add new features, enhance existing features, or fix bugs. Currently, I am contributing these patches to Seb's UFOExtender X-COM patching tool. He's done a great job with it. Look it up if you haven't yet!

Finished Projects

  • AutoSell
    • This patch allows the player to activate an automatic production and automatic selling mode in manufacturing. By pressing the down arrow button to reduce the quantity of desired items below zero, the mode will switch to the autosell mode, represented by three dollar signs ("$$$"). In this mode, production will never cease unless resources become unavailable, and all produced items will be immediately sold. By pressing the down arrow a second time, it will switch to autoproduce mode, represented by three asterisks ("***"). This functions in the same way as autosell, but the results will not be sold, merely stockpiled forever; caution should be used with this mode, as it can drain resources quickly.
  • Show Money
    • This patch shrinks the clock in the date/time panel on the main geoscape screen, and adds a funds display above it. It is useful for examining remaining funds during manufacturing projects, while waiting for time to pass.
  • Doubleclick Movement
    • The Doubleclick Movement patch changes the requirement for moving a unit in the battlescape from clicking a tile once, to doubleclicking it (within 500ms). Failing to doubleclick will result in no action being taken. This allows for a considerable safety margin with movement, as the default movement controls are easy to accidentally trigger on the wrong tiles.

Current Projects

  • Working on TFTD.
    • Adding to my TFTD IDA database.
      • Approximately 80% of the known X-COM function and variable names have been translated to TFTD.
        • About 95% of the known Geoscape is translated. Just some structs to define and a few odds and ends that aren't worth the effort to track down for now. Most TFTD-specific Geoscape functions are identified to some degree, but not very well, and none of the TFTD-specific variables are identified yet.
        • About 65% of the known Battlescape is translated.
    • Translating patches from Seb's X-COM patcher to TFTD. Current progress:
      • D3D, D3D Windowed, Scale Mouse, Force Language are all implemented and functional. Plus, they haven't crashed yet.
      • Autosell has been translated.

Potential Projects

This is a list of the projects I may consider working on in the future (it's basically my personal wish list). Don't modify it directly; if you wish to comment, please do it in my discussion page. Feel free to make suggestions regarding things I'm working on or considering working on; my imagination is limited, after all. I have read the UFOpaedia wish list, so you don't need to repeat things from there.

X-COM: UFO Defense (both where applicable)

Features

Limits Expansion

  • (Will break old saves) Expand Object Limit.
    • Increase the size of the objects array to 256, and increase the objects allowed to each side to fill up the space. (115 xcom?)
    • (Maybe) Increase the size of the objects array even more. 4096 shouldn't be difficult, and will most likely be more objects than anyone could ever need in X-COM's current state.
      • I'm not sure if stockpiling thousands of ammo magazines and having them fill up a base defense mission is a good thing, though.
  • (Will break old saves) 2-byte scientists and engineers.
  • (Will break old saves) Increase the unit limit in battles to at least 256.
  • Advanced Difficulty: Allows you to manually set the skill number (which is used as a modifier for many things). This would let you use much higher difficulties than Superhuman.
    • This will require capping various things and (potentially) using formulae instead of tables for other things.

Miscellaneous

  • Improved UFO Behavior:
    • UFOs telegraph their intentions more apparently; e.g. as they're finishing their mission they start increasing their height and speed gradually, instead of instantly to max. This will allow you to trail a UFO to find out if it's going to land or not, making interceptors more useful.
  • Improved Grenade Throwing Arcs; make throwing more realistic by allowing soldiers to try more methods of throwing. Ideally this would try all possible throwing angles and velocities available (with throwing velocity capped by strength); throwing range can be increased by increasing the elevation or the velocity of the throw. This allows for many, many combinations of throws, and should greatly increase the utility of throwing, as soldiers with extremely high strength could throw grenades down long corridors with ceilings.
  • Infiltrations Can Be Stopped.
    • Move the infiltration success point to after the second Battleship takes off. If the second Battleship never takes off, the infiltration fails completely; funding is uninterrupted.
    • The alien base is created after the infiltration success. If all alien bases in the infiltrated country are destroyed, the nation's funding reactivates but starts at a minimal level.
  • Stacking Hyperwave. Make the Hyperwave Decoder only provide 34% detection each, and allow it to stack.
  • Deconstruct Items: Allow players to deconstruct any researched item and receive a portion of the special materials used to make it (e.g. receive 1-2 elerium for deconstructing a heavy plasma magazine).
  • Replace the random number generator with a mersenne twister-based system.
    • Toss in a patch that allows one to configure how random various aspects of X-COM are (e.g. change weapon damage range from 0-200% to 75-125%).
  • (Maybe) Explosions!
    • Make explosions able to propagate around corners until they run out of energy.
    • Make explosions have a (weak, since X-COM is limited to 2-4 stories) vertical component.
    • Make explosions use more realistic damage fall-off scaling, so they're not quite as overpowered with these changes.
  • (Very distant future) Multiplayer!
    • Currently, Alien Pets already allows for an improved form of multiplayer over the normal system of using XCOMutil swapping. It should be possible to write some net code on top of it that transfers the appropriate gamestate information to the other player, forcing one player to wait during 'next turn', and so on. There are various levels of implementation for this, like showing enemy movement during the "Hidden Movement" phase properly; it would be far easier to simply transfer the gamestate after the turn is done, rather than updating it in real time, but it is not impossible.
      • Essentially, the easiest (?) implementation of this takes a 'save state' of the game as the turn finishes, transfers it to the other player, replaces that player's gamestate with the new 'save state', and runs from there. It is basically automated XCOMutil swapping, with greatly improved functionality since Alien Pets works much better (e.g. grenades work).
      • Next would be tracking visibility properly; the players shouldn't share visibility with each other, but in the raw save state system, they would. So, visibility needs to be excluded from the save states. This shouldn't be too much harder, barring unforeseen difficulties.
      • Next would be showing enemy movement. This essentially requires a total rewrite of the "easy" system to transfer each player's actions in real time, instead of in bulk at the end of turns. This is much more difficult, and probably not worth the pay-off. Far easier would be analyzing the differences in the gamestates at the end of the enemy's turn and reporting to the player anything important that happened, like units dying, being stunned, or firing off reaction fire (and whether or not any enemies were killed from it).
      • Next would be taking multiplayer to the Geoscape level, which is simply so far out there at the moment that speculating about it isn't terribly worthwhile. Most likely, implementing such a feature would be so arduous that rewriting the entire game would be easier (and there are plenty of X-COM remakes as-is).
  • (Extremely distant future) Merge the two games into one, with the superset of all equipment from both games, all aliens, all terrain types, all ships, etc. This has been discussed elsewhere, so until actual progress is being made on it, this will be kept short. This is also another feature that may be so difficult that it would be easier to do in a total rewrite.

User Interface

  • Add special materials overlays to the Geoscape.
  • Fix autosell/autoproduce "time to produce" indicator to display nothing when they're enabled.
  • (Distant future) Add a 'load game' button to the Battlescape.
  • (Distant future) Tooltips. Add tooltips to buttons, objects, and similar entities, that display relevant data and information about them.

Bugs

Crashes

  • Geoscape->Battlescape Crash. Fix the crash upon transitioning from the Geoscape to the Battlescape.
    • Probably resolved, unless there's more than one cause.
  • Alt-Tab Crash. Fix existing alt-tab crashes. These primarily occur in the Battlescape.
  • Unknown Battlescape Crash. Probably related to base defense or object table being full. Happened when walking down stairs from general stores, tank semi-under soldier.
    • Probably resolved.
  • Unknown Battlescape Crash. Situation: Alien base, 10 soldiers, 1 tank, varied equipment including flying suits, two blaster launchers, heavy plasma, an assortment of grenades and flares, and so on. First turn. Click next turn. Hear a door opening. Crash.
    • Maybe related to the previous crash, but maybe not.
  • Make "all tanks" base defense missions work properly.
  • Extremely rare "just transitioned from battlescape to geoscape and passed a few seconds" crash. Skyranger was lost; maybe that has something to do with it?

Miscellaneous

  • Various bugs with the mission phase transfer process. Primarily a TFTD issue, so will probably wait until work on TFTD starts.

X-COM: Terror from the Deep (specific)

Features

Miscellaneous

  • Port existing patches over to TFTD.
  • Allow Melee On Environment; allow drills to attack walls, etc.
  • Remove underwater limitations from everything.
    • Weapons
    • Magnetic ion flight
    • Alien types, such as tentaculats, allowing them in terror missions.

Bugs

Miscellaneous

  • Look into the weird alien spawning behavior on floor 2 of alien colonies. I'm not sure what versions this applies to.
  • Fix any remaining research bugs.

Notes

  • I uncovered the location of the underwater-only weapons and tank weapons lockout, so a patch to disable it is already very feasible. It is quite satisfying to apply 40 DPL shots to a cruise ship, let me assure you. However, the other aspects of removing underwater limitations will take some time.
  • I'll most likely be satisfied with my progress on the TFTD IDA database within a few days, at which point I'll resume work on the TFTD patcher. After I'm satisfied with the initial offerings, I'll make the database and the source code available here. The binary might wait a while longer. I'd guess everything should be ready within two weeks at most, with the database and source code available in a week or so. I'll be offering the database in IDC format, which is pure text, so that people without IDA can still potentially benefit from it.