This mod is a port of my Homeworld Classic Enhanced mod for Homeworld 2
Classic. It combines my HW Classic Rebalance and Gameplay Enhanced HW2C mods
into a 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. This mod also includes a collection of almost 1500
Homeworld and Homeworld: Cataclysm maps converted to work with Homeworld
Installation is done by subscribing to the mod on Steam Workshop if you have
the Steam version of the game. For the ModDB/GOG.com version, extract the ZIP
archive and copy the "DataHWClassicEnhancedHWRM" folder to your "Homeworld
Remastered" directory, then add "-moddatapath DataHWClassicEnhancedHWRM
-overrideBigFile -luatrace -traceHODs" to your desktop shortcut's "Target"
START WITH/MULTIPLAYER MAPS
Start with either:
1) A mothership and carrier (as per normal HWRM)
2) Just a carrier (as per HW1C's "Carrier Only" rule)
3) The "HW1C Map Default" setting
This last setting grants you the selection of ships designed into the level by
the original HW1C level author. When playing with the "HW1C Map Default"
setting, make sure to select the same race as is set for your position within
the level file. You can see which race is set for your position by looking
along the bottom row of the thumbnail image in game setup. The player races are
listed in order from left to right. When you see "Kus" it means you should pick
the Kushan race. When you see "Tai" it means you should pick the Taiidan race.
"Som" means Somtaaw, but in this case pick the Hiigaran race instead. Note that
player order is determined by the "Slot" option in the game setup screen, not
by the order in which people appear in the lobby. Lastly, the SPECIAL FLEETS
mode supercedes the START WITH setting. So, enabling SPECIAL FLEETS mode will
automatically override anything you set here.
You can find a reference sheet listing all of the maps, as well as my personal
recommendations, at the following URL:
There is also a spreadsheet you can look at within the archive itself. Further,
cleaned-up and "fixed" versions (e.g. so they can pass through my converter) of
the original HW1C maps are also contained within the game files; and a HW1C-to-
HWRM map conversion tool is available for download on my personal website:
These maps have their own readme file and change log contained within the game
files. Older versions of these maps can be found in the Homeworld 2 Classic
version of this mod.
This option can be set to Low (1000RUs), Medium (3000RUs) and High (10000RUs).
Resourcing can also be completely disabled using the last setting, in which
case even your resource collectors will be removed.
Select whether RUs are injected into your coffers every x number of seconds, or
at the beginning of play, as per HW1C.
Receive a certain number of RUs for every ship you kill as per HW1C. Bigger
ships mean more RUs. If you're losing you'll get more RUs too. Press the "P"
key to see the current bounty levels.
Turn research on/off as per HW1C. With research turned off you have all tech-
nologies at your disposal at the start of play without having to research them.
Note that the Hiigaran Advanced Research Module has been eliminated in this
mode in order to balance the various races. You also no longer need an Advanced
Research Module in order to build a Fire Control Tower.
NOTE THAT TURNING RESEARCH OFF ALSO TURNS BENTUSI ROULETTE OFF.
As per HW1C, every x number of seconds a magical crate will appear containing
either a ship that you get to keep, some RUs that you get to spend, or some
technological advancement that makes you more powerful.
This mode enables/disables hyperspace technologies for all players as per HW1C.
Note that this mode produces a lot of slowdown until I can get it fixed, so you
may need a beefy CPU in order to play with this setting turned on. In order to
balance the various races, I made it possible for Hiigaran and Vaygr shipyards
to be built without a hyperspace module when this mode is turned on.
1) HWRM Normal: The default setting used in HWRM. A player is killed if he/she
has no more production ships left. I call this mode Kill Player Production.
2) Kill Team Production: All players on a team are killed if there are no team
members with production ships left.
3) Kill All Enemy Ships: All players on a team are killed if there are no team
members with any ships of any kind left.
4) Destroy Mothership: A player is killed if his/her mothership is destroyed.
5) Capture Capship: A player is killed if one of his/her capital ships is
6) Quit Manually: The game doesn't end until everyone decides to quit and leave
Note that the "Destroy Mothership" rule obviously won't work well with the
"carrier only" start condition.
In this game-mode, one player controls production, capital ships and probes;
another player controls fighters and corvettes; and another player controls
resourcing, frigates and platforms. Only one player on each team can choose the
"Production/Capital" role at a time. The remaining roles can be freely divided
among the remaining players on the team. Also, if DEFINED ROLES is enabled,
then the "Kill Player Production" WIN CONDITION reverts to "Kill Team
Production", instead. Note that it's a really good idea to choose the same race
for everyone on the same team.
CURRENTLY THE AI DOES NOT KNOW HOW TO DEAL WITH THE DEFINED ROLES SETTING. IT
CAN FIGHT, BUT IT IS UNABLE TO BUILD OR RESEARCH PROPERLY. THUS, THIS MODE IS
ONLY SUITABLE FOR MATCHES WHERE - AT THE VERY LEAST - THE "PRODUCTION/CAPITAL"
ROLES ARE ASSIGNED TO HUMAN PLAYERS.
In this game-mode a selectable number of research options (up to seven) are
randomly granted and restricted to each player at the beginning of play. Press
the semi-colon ";" key to see which items have been granted and restricted.
NOTE THAT TURNING RESEARCH OFF ALSO TURNS BENTUSI ROULETTE OFF.
This mode gives the player extended starting fleet options. You can choose from
several different fleet makeups, each composed of a different assortment of
starting ships, subsystems and research.
SPECIAL FLEETS MODE HAS BEEN DISABLED BECAUSE THERE ARE NO LONGER ENOUGH
GAMETYPE MENU OPTIONS TO SUPPORT THIS MODE. THERE IS A HARD CAP OF 32 SETTINGS
IN THE MENU, AND THE SPECIAL FLEETS MODE PUTS THIS MOD OVER THE LIMIT. MAYBE
GEARBOX WILL FIX THIS IN THE FUTURE.
SPECIAL FLEETS MODE ALSO CURRENTLY IGNORES/OVERRIDES THE START WITH, RESOURCING
OFF, RESEARCH OFF AND HYPERSPACE OFF SETTINGS UNTIL I CAN THINK OF A BETTER
SOLUTION TO A PROBLEM.
This setting allows the host to slow the game down to a fraction of its default
speed. The available options are 1, 3/4, 1/2 and 1/4 times the normal speed.
Here you can select which background audio track to play during a battle. The
default setting is "Map Default", which plays whatever music the original HW1C
map developer intended for the map. There's also a "Shuffle" option to randomly
switch between different songs. Or you can select songs individually. Press the
minus "-" key to see a list of recently played audio tracks.
TEAM PROGRESS SCREEN
Pressing the comma "," key enables an on-screen display showing you and your
teammates' current RUs, production and research.
This setting causes additional end-of-game stats to be generated in your
profile folder at the end of each match. It is enabled by default. However, the
stats are only generated if you are present at the end of the game. If you
leave the game for any reason (such as when you are asked to continue watching
after you get killed, but choose "No") the stats file will not be generated.
CUSTOM GUI SCREENS
1) You can view the Bounties screen by pressing "P".
2) You can view the Bentusi Roulette screen by pressing "SEMICOLON".
3) You can view the Team Progress screen by pressing "COMMA".
4) You can view the Audio Track History screen by pressing "MINUS".
5) You can view the Game Rule List screen by pressing "EQUALS".
• 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
• 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
• 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
• 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
• Try to get GearBox events/cinematics working at the beginning and end of each
• 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
• 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
• 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
• 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.
No articles were found matching the criteria specified. We suggest you try the article list with no filter applied, to browse all available. Post article and help us achieve our mission of showcasing the best content from all developers. Join now to share your own content, we welcome creators and consumers alike and look forward to your comments.
The change log for this file is in the download description.
The latest change log is in the download description.
The change log can be found in the download description.
See the detailed description below for change notes.
Change log in description. Since so much has changed there are probably bugs.
2.0.4 --- 2016/06/28 --- See description for change log.
No files were found matching the criteria specified. We suggest you try the file list with no filter applied, to browse all available. Add file and help us achieve our mission of showcasing the best content from all developers. Join now to share your own content, we welcome creators and consumers alike and look forward to your comments.