This mod is a port of my Homeworld Classic Enhanced mod for Homeworld 2. It combines my HW Classic Rebalance and Gameplay Enhanced mods into one single mod, providing you with a greater number of gameplay options than can be found in either mod alone. Development of those earlier mods has stopped in favor of this one.

Post news Report RSS Current issus/to-do list as of version 2.1.0

I've been keeping track of a number of issues I've found with this mod, as well as changes I would like to make in the future. Here is the current list as of version 2.1.0.

Posted by on

• SPECIAL FLEETS mode causes the starting ships to all point in the same
direction. It would be better to retain their original facing. [Maybe
impossible. Regardless, SPECIAL FLEETS mode is disabled completely for the
time being, so the problem is moot.]
• Rename all functions by adding a prefix that matches the game rule they
belong to.
• Need to reduce JOB_DutiesList and JOB_TeamsList to a single table named
JOB_PlayersList. This table should store each player's team and job info.
• In the level files, make sure the algorithms used to produce the spherical,
cylindrical, etc. shapes produce volumes with even distributions. I had to
disable the existing code because it was causing some problems, and haven't
replaced it with something new yet. [This problem may have been resolved in
recent versions of the mod.]
• It might be good if the TEAM PROGRESS screen showed each team member's
DEFINED ROLES job as well.
• Crates currently don't award subsystems. [Maybe impossible to accomplish.]
• Map thumbnails or names should show the four-star ratings I gave each map in
the HTML reference sheet that is included with the mod.
• TEAM PROGRESS screen should maybe display a longer list of build and research
items. The current list may be too short to be very useful.
• The number cloud HODs have not been updated to HWRM Patch 2.0 format yet.
• Should capital ships need research modules when research is turned off? Need
to think this through. [The Hiigaran Advanced Research Module is currently
disabled when the RESEARCH OFF mode is turned on.]
• How does the HYPERSPACE OFF rule affect Kushan and Taiidan ships? Do ships
from these races have an innate hyperspace ability? Need to check to be sure.
[Kushan and Taiidan capital ships seem to have an innate hyperspace ability.
I would have to duplicate these ships and then turn the ability off
permanently in the .ship files if I wanted a thorough solution. Currently, a
game rule script disables the hyperspace ability every few seconds, but this
script is slow and makes the game choppy.]
• Currently in the DEFINED ROLES mode, if no players on a team choose the
"Production/Capital" role, then all players on the team retain their capital
ship production/research capability. Further, if two players on the team
choose the "Production/Capital" role, then both players with that role retain
their capital ship build capabilities. This is unfair to teams who have only
one player with this role, since their effective unit cap for capital ships
is lower than the other team's. This needs to be fixed! Ideally, no players
on a team should not share roles. [Update: As of version 2.0.1, DEFINED ROLES
is automatically turned off if more or less than exactly one player has the
"Production/Capital" role on each team. I still need to think this through,
though - especially since HWRM now supports 8 players instead of just 6, and
there are only 3 roles for players to choose from.]
• Explore different options for using a single CPU player as the enemy in the
DEFINED ROLES mode instead of multiple CPU players. Getting all three CPU
players to cooperate with each other by modifying their AI scripts will
probably never work. However, I have made some attempts in the past, and
there is still some (currently disabled) experimental AI code in the mod
files from this period. The best solution IMO would be to use a single CPU
player, and for GearBox to implement per-player starting fleets and per-
player unitcaps. But they have expressed trepidation about implementing this
and are unlikely to ever do so.
• To simulate per-player starting fleets, I could simply spawn all three CPU
players' ships, and then transfer them to the 'lead' player, leaving the
other CPU players in stasis. To simulate per-player unitcaps, I could create
four new CPU-only races with their own versions of all the ships, and alter
the unitcaps for those races. It could work, but would be a lot of effort to
set up, and a PITA to manage over time if GearBox decides to make additional
balancing changes to ships and races in the future.
• In the TEAM PROGRESS screen, maybe enemy players should also be listed, but
in red and minus the corresponding stats. [I've investigated this, and color
coding of player names is not possible since they use 2 byte wide characters
instead of normal 1 byte characters, and there's no way to modify the color
of a wide character string in HWRM.]
• Make doubly sure that the "doscanpath()" function works for research and
build lists when some files are in the mod, and other files are in GearBox's
.BIG file.
• CPU players should hunt for crates, too. [May not be possible.]
• CRATES rule actually needs bounty values to work properly. Need to enable
BOUNTIES code when crates are enabled, but not actually *award* or *display*
the bounties to players unless the BOUNTIES mode is turned on by the host.
• Should crates only award ships belonging to the player's own race? What about
ships from other races?
• Gravwell and cloak generators are not platforms. However, my tech list treats
them as such. Not sure if this is good or bad.
• I compared Luke Moloney's HW1C-to-HW2C RU conversion formula based on the
relative costs of frigates in HW2C and HW1C (700 and 575 RUs respectively) to
HWRM's current ship costs. It turns out that HW2C frigates cost the same as
they did when HW2C was released, but that HW1 frigates are now actually more
expensive than HW2C frigates rather than less! How should this affect the RU
conversion formula I am using for the HW1C maps? Should I just leave it
alone?
• The HYPERSPACE OFF rule was disabled at some point in time. Why? My notes say
there were performance issues. Need to test this further.
• There's a similar performance issue with the RESOURCING DISABLED rule that
could be solved by using modified starting fleets, maybe. [Update: The
RESOURCING DISABLED rule is now handled via starting fleet files rather than
a recurring script.]
• The HW1C maps are often pretty scarce on resources. Unfortunately, CPU
players stop playing when resources are depleted. They just sit there doing
nothing. I'm not sure what to do about this.
• I need to compare the HW1C and HWRM assault frigate speeds again. Luke
Moloney devised a method of determining map scale adjustments when converting
HW1C maps to HW2C by comparing the speeds of HW1C and HW2C frigates. Since
frigate speeds have changed yet again in HWRM, I may need to look and see if
the conversion ratio needs another adjustment as well. On the other hand,
maybe I should stick with the meters/feet conversion ratio that I have been
using up until now. (E.g. instead of Luke's formula.)
• Some HW1C levels specify multiple ships in the same location and in a
formation. I need to find some away to put ships into these formations from
within the level files.
• Cataclysm slipgates, meteor showers, etc. are not currently supported by my
mod. Slipgates might be doable, but I have no clue about meteor showers.
• The map "HW1_Scout MadnessII8.level" does not use start points currently, and
causes the match to end right away when used. Instead of starting points, the
map uses the "useasmothership" formation, which is unsupported at this time
by the map converter and this mod.
• Try and get Cataclysm ships into this mod, maybe.
• I could maybe disable the button hiding that goes on at the beginning of each
match. I could show all buttons regardless of which game rules are enabled or
disabled.
• Try to get GearBox events/cinematics working at the beginning and end of each
match.
• Did HW1C place a limit on the number of collectors that could harvest a dust
cloud at one time? How many latch points do dust clouds have in HWRM? This
may be worth investigating.
• The mod would benefit from being able to apply research items like
"CarrierHealthUpgrade1_carrieronly1" to multiple ships at once instead of
having to duplicate the research items for each change.
• Likewise, it would be nice if the build list had a "Name" flag so I could
have multiple build options with different requirements, but with the same
target ship or sybsystem.
• Create an in-game screen just for documentation.
• There are so many combinations of settings affecting the names of build and
research items, that I might as well rename the original build and research
items to fit the new naming scheme as well. For instance, "Hgn_Shipyard"
should be named "Hgn_Shipyard_research1_hyperspace1" according to the new
naming scheme.
• Loops that take the form of "for m = 1, getn(lCount.items) do" need to be
better optimized. For instance, the check for the table length using the
"getn()" function is currently done once every time the loop is traversed.
Thiscould be reduced by declaring a variable to store the value, and then
referencing the variable in the loop instead. There are tons of examples like
that.
• There are several nested loops that check for the same condition at each
nesting level. These could be replaced with functions with return statements
that break out of all the loops at once.
• Rename the "type" identifier in TechList to "types" in order to avoid
confusion with the Lua command of the same name.
• The "PlayerHasMothership()" function could be re-used in other places to
reduce code clutter in "homeworldclassic.lua". On the other hand, why am I
checking for motherships more than once in the same rule at all? Isn't once
enough? Also take a look at the "CheckMothershipDeadRule()" function in
"wincondition.lua". It is very similar. However, it checks only for mother-
ships, not for carriers, due to the type of rule.
• Many of the traversals through the TechList table could probably be replaced
with a single lookup and comparison procedure. For instance, there are
several such loops in "SpecialFleets_Init()". Using a single function would
reduce code complexity.
• There are still a number of mod-specific texts that need to be localized for
other languages.
• Maybe add another screen listing all the game rule settings selected by the
host so no one forgets.
• Weird problem with CARRIER-ONLY mode plus DEFINED ROLES. I was building
torpedo frigates, but they were not visible on the map. Maybe they were stuck
inside the carriers, or were being despawned? I think most of the other rules
were also enabled, and I noticed some graphical glitches with asteroids at
the same time as well.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: