Homeworld Remastered Collection

Homeworld Remastered Collection

[HWRM] Test Mission Grid 0.15.3
Mikali  [developer] Jul 19, 2017 @ 3:27pm
To-do list (version 0.15.0)
TO DO

• Exit grids should be smoothened a bit by adding more polygons.
• The hyperspace animation can take a long time to trigger if your ships are in
motion and need to come to a complete stop first. Often it can take much
longer than 10 seconds, and could mean some of the your ships will get
destroyed but not recorded as such by the game.
• Using an instant dock or parade maneuver may make the hyperspace effects look
better, but it does not make sense if you believe that all actions should
take a realistic amount of game time to complete.
• The styles used in the dialogue and sector map screens are outdated an look
too much like Relic's HW2C instead of Gearbox's HWRM. The styles need to be
updated to HWRM standards.
• Neither the default "SpeechRecall" screen nor this mod's "SectorMap" screen
can be closed by pressing the Escape key. Need to fix this with custom code.
• All ship and subsystem construction, as well as resource gathering, should
occur on the strategic map only, and should happen over much longer time
spans. The exceptions could include the collection of end-of-battle debris,
the construction of probes, and maybe the construction of platforms or other
ships that don't dock.
• Adapt "data\scripts\scar\singleplayerhyperspace.lua" to this mod if possible
and use it to handle arriving at and leaving sectors. Need to check the
remastered HW1C campaign to see how the game handles insta-docking and
hyperspacing at the end of each mission. This is a very, very complicated
script, however.
• On the sector map, limit the colored pips to sectors adjacent to the player.
• In "TestMissionGrid_gametypescripts.lua" there is some code right before the
game is ended that should be done via the event system instead of directly.
• Need a rule in every sector that ends the game and displays a message if the
player manages to somehow die. Currently, only the Sector D4 skirmish mission
checks if the player is alive or dead. Putting this code into the major scope
would be okay too.
• Outputted "squadShips" and other tables should contain comments that label
each sub-table to make it easier to see which sub-table belongs to which map
sector. Currently, this cannot be done using the table manipulation functions
I am using.
• I could create a wrapper for printing debug text that could be turned on or
off at will. It could utilize indentation as well.
• The floating dialogue and hyperspace buttons should be mapped to keyboard
keys. But which keys?
• You should be able to select a dialogue response using a number key on your
keyboard.
• Need a better way to indicate visually who is and who is not an actor for the
purposes of initiating dialogue. It was suggested on the Gearbox forums that
one could use FX scripts to accomplish this. Only "named" ships would require
these FX scripts, so it wouldn't add a whole lot of extra work to accomplish.
Unfortunately, FX are not visible in Sensors Manager.
• The dialogue response container element should have a scrollbar in case there
are a lot of responses, or a few very lengthy responses. Not sure if this is
possible, unless I switch to using ListBox GUI elements instead of Frames.
• Need to fix the "aitrace('CPU: LOADING SECTOR 05')" command for all sectors.
Right now the message is the same for all sectors when it should be different.
• Will constantly reloading a single mission with different objects and data
cause the game to run out of memory eventually? I recall something like this
happening in my Play Balancing mod, and it was a critical issue that event-
ually caused my PC to become unresponsive and the game to crash! HWRM is a
32-bit application and unfortunately cannot access as much RAM as many other
recent games. Actually, I think I remember that the memory issues only
occurred when *not* reloading the game, and spawning many ships in the same
battle.
• For level files, maybe put the "DetermChunk" and "NonDetermChunk" functions
into "sector_hub_level.level", and only store the supplementary scripts in
the other sectors' folders. Or, put all map data into one giant table, and
then get rid of the other sector folders. Ditto for the "OnInit" function
inside the mission scripts.
• Exit grids are visible at all times during a battle. Is there a way to make
them disappear until they are needed? Or, appear only once a mission is
completed? Can I make them blink on and off?
• Text descriptions of sectors on the sector map should reside in tooltips or
some other auxiliary display. Otherwise, if a the map has many sectors, it's
going to be really hard to display all the text in each cell.
• The "RESET" frontend menu button should ideally delete the custom save game
so that players can start the campaign over from the beginning. Sadly, the
necessary I/O functions don't seem to exist within the GUI scripting scope.
• Exit grids are supposed to be semi-transparent but aren't. Need a new shader
for this. Someone on the Gearbox forums volunteered to make one for the mod.
• Loading of regular saved games seems to work correctly, except for the non-
determchunk portions of level files. For instance, the wrong level background
and music (NonDetermChunk) can get loaded, but asteroids and ships
(DetermChunk) get spawned in their correct positions. [Ed. This may no longer
be true. Also, additional work may need to be done to create a custom save
game management system.]
• There is no way to track asteroid depletion on a per-asteroid basis. So,
either I need to set each asteroid to infinite (or very large) RU amounts, or
I need to remove resource collection from the game entirely and rely on other
methods of providing the player with funds and equipment.
• Add a "And this is how the story ends, children..." vignette at the end
featuring the Bentus as "narrator" of a story. (Sort of like in Mad Max
Beyond Thunderdome.)
• Remember to always check and make sure the skirmish mission in Sector D4 ends
properly for both the winners and the losers.
• The new circular exit grids have a tendency to disappear if you move the
camera far from the map center. I'm not sure how to fix this without just
translating the same problem to a different set of coordinates.
• Small ships like probes, platforms and fighter craft should maybe not survive
after being left behind in a sector unless a capship with a shiphold remains
in the sector along with them.
• Dialogue does not advance properly when the game is paused. Need some way to
detect the selected ship while the game is paused. As a stop-gap measure, I
have disabled clicking outside the dialogue screen boundaries while the
dialogue screen is active.
• The dialogue window should show a record of past dialogues, as well. However,
I don't know how to display the speech "log" to the player. I haven't been
able to get a GUI frame to sort backwards or align to the bottom, which I
believe is important.
• The "onUpdate" GUI event fires even while the game is paused. This could
eliminate the need to force the game to pause or block mouse clicks during
dialogue.
• Maybe rename Direction #0 to Direction #6 for ships that just sit in a sector
instead of hyperspacing in. This will cause problems, however, if I decide at
some time to implement hexagonal map sectors, or an irregular network of
sectors, instead of square ones.
• When there are multiple squads exiting at Direction #5 (the map center), some
of them get spun around 180 degrees for some reason. However, only capships
with strikecraft in their holds seem to be affected. This also seems not to
affect the other directions. Is this the result of the game automatically
trying to avoid ship collisions when spawning ships?
• Ship health should persist between sectors, too. OTOH, sufficient game time
may be spent in hyperspace that the ships may be able to heal themselves in
the interim. Do ships heal in hyperspace in the vanilla game?
• Update the keyboard diagram with SHIFT + 1 to 10, which adds ships to a
selection.
• Reloading the Mission Select screen somehow changes the campaign that is
loaded, and sometimes causes the game to crash. Need to remove the Reload
Screen button from this screen!
• Maybe strike craft, probes and so forth should not be considered part of a
squad, at all. Maybe it should not matter who they are docked to. E.g. treat
them sort of like equipment and weapons in JA2.
• Flagships that leave a sector and enter hyperspace still show up in the build
and research menus when they shouldn't. Killing them could fix this, but may
cause other problems. For instance, killing a ship while it is in hyperspace
normally can be seen and heard, and leaves behind debris.
• Double-check to make sure Sector D3 dialogues still work after every major
change to the mod.
• Squads should be given jobs to perform on the sector map, such as resource
collection, ship construction, patrols, etc. The galaxy map should be the
only place these tasks can be performed, versus doing them during combat.
RTT gameplay may be preferable to RTS gameplay in general.
• In the future, I may upgrade the path-finding routine to A*. I may also add
different types of terrain (e.g. faster, slower, radioactive, etc.) instead
of just "Empty" and "Obstacle".
• Maybe add support for diagonal movement on the sector map.
• Add support for setting waypoints on the sector map.
• The game by default seems to remember the order in which windows were opened,
and closes them in the reverse order. I will have to emulate this behavior
somehow too, as opposed to just closing them all at the same time with just
one key press.
• Squads should maybe never arrive at the center of a sector. Instead, they
should maybe always arrive at a sector's edge, no matter what.
• Go back and double-check that the function parameters in
"TestMissionGrid_writetables.lua" are doing what I intended them to do.
• May need to roll my own save game management system, since the game's default
save game system does not mesh perfectly with the mod. I think I will need to
use a fixed number of save slots, since I cannot simply scan a directory for
files.
• Set "baseSectorTravelMulti" back to 100, then add another higher game time
rate to the game time scripts. 120 or 240 minutes per second might be good
additions.
• Should create sprite sheets out of the many images I created for the sector
map.
• The "Loose Ships" list in the squad menu is not populated automatically each
time a ship is built or destroyed. My current solution was to add a "Refresh"
button to indicate this to players.
• Not being able to edit squads in the major scope is a PITA if you happen to
clear all squads in a sector, and are no longer able to enter the minor scope
there until you transfer additional squads.
• It would also be great if you could add and remove ships from squads in the
listboxes using the mouse. But there's no reliable way to uniquely identify a
ship once it's been built, AFAIK.
• I am not very sure that the "ReloadVisibleScreens" function in
"TestMissionGrid_gametypeshared.lua" is working properly. Sometimes it seems
to fail.
• I have not fully tested what happens to the mod when one or more ships in a
squad are destroyed or captured.
• Maybe add a checkmark or other indicator to show when the main mission in a
sector has been completed. On the other hand, you can't leave a sector until
you've completed the mission. Maybe this is enough indication?
• Still need to make room for departure and arrival times on the sector map and
squad menu screens.
• The squad lists/menus should show the speed of each squad as well. Not all
squads are capable of the same max speeds.
• I thought I noticed an issue with some squads moving too quickly across the
galaxy following combat or some other scripted event, but I have not been
able to reproduce it.
• RUs should be calculated for each squad separately. But how do I do this when
there is more than one squad in a sector, and all squads are collecting RUs?
The solution is probably to disallow RU collection in the tactical scope, and
only allow it in the strategic scope.
• The AI should definitely not be able to build ships while in tactical scope
considering it does not know how to add or remove them from a squad.
• Small and decimated enemy squads should join together to form fewer but much
larger squads.
• Need some sort of arrow to indicate enemy squadron movements, since right now
they are shown as occupying a sector even when they have not fully arrived at
the sector yet.
• The "the sector is cleared..." message needs to be changed to indicate it is
only cleared of missions, not of potential enemies such as roaming squads.
• The script to trigger the "warning" icon when combat is about to start is
firing too early sometimes. I.e. before both squads are "fully" in the sector.
• Renamed all script files beginning with "TestMissionGrid_" so they start with
"TMG_" instead. I can fit more tabs in the Notepad++ window now.
Last edited by Mikali; Jan 4, 2018 @ 8:41pm