What's Being Worked On (first half of 2018)

The team have been working on six main areas of the game:

1.    The characters, costumes, morph targets, and related character art.
2.    The city, props, buildings, mission maps, and other environmental art.
3.    The code that works with the Unreal Engine, and creates the game.
4.    The powers, animations, FX, and SFX.
5.    The mission and big battle systems.
6.    Leveling and advancement.


Taking transparency to a whole new level and going into far greater detail than we'd normally expect from development teams, the lead developer for Heroic Games has provided a long list of work done in the last four months or so.

- Upgraded to 4.18
- Changed GM Calling command structure.
- Lots of meshmerge work.
- I'm not sure if Popcorn FX was added around the time of this upgrade or if it was new from shortly before but I see a lot of the early Popcorn stuff in there. Adding example beams and such. Many popcorn FX integration tweaks which can be branched into this note.
- Lots of Mission and Public Quest work as well as Quest Tracker upgrade.
- Damage Meter changes.
- Improved menu interactions, widget resizing, dynamic UI, and settings tweaks.
- Significance Manager
- Lots of folder restructuring and cleanup, that would break any reference to the moved items.
- Power system revamp.
- Targeting system revamp.
- Focus targeting system for things like target of target and focus assisting.
- Follow target.
- TrueSKY which is our day/night system.
- Status Effect Resistance and other improvements to Status Effects.
- Capsule shadows.
- FPS Meter
- Cast speed enhancements.
- Many optimizations.
- Custom character movement code.
- Civilian NPCs can now be spawned in large numbers.
- Update Rate Optimizations and skipped renders of invisible objects.
- Grounding optimizations.
- Health bars and nametags.
- Inventory slot improvements.
- Ability to hide/unhide UI.
- Target Frame Rate selector.
- Can activate keybinds when using the chat widget now.
- Targeting socket changes.
- Cooldown Buff/Debuff implementation.
- No longer tries to open up secondary programs when launches.
- Mouse controls now in C++.
- Controller ticks now in C++.
- Completely revamped the Character Player Hierarchy
- Re-setting movable UI in place

You can read more about this and any follow-up on the official forum post.


Here's some attached notes:
1. TrueSKY gives us day/night in-game. It as supposed to be a simple plugin but it turned out to be much more complicated than that. And implementing it has had several implications. For example, we can now link our FX intensity to the time of day automatically, so that subtle FX, like buffs, can be seen in the day but not become eye-searingly bright at night. Also, it's a bit of an issue to get the shadows just right. And finally, once we had this working we discovered that the city would look much better with emissive textures on the windows that light up at night. And then we decided that they should be subtly glowing during the dayas if the lights were on in the offices behind the glass. So altering the emissives and integrating them with our CROM system has taken over a month already. But it looks really good.

2. Significance manager is also a pretty cool idea. this allows us to help a player keep his game moving along quickly, as opposed to be stuck with low FPS, if there is a lot going on. This system, which we have custom-coded using capabilities of the Unreal Engine, means that the movements of the guys you are fighting have priority -- they are more significant -- than the distant shadows on buildings, if you are in a situation in which your FPS has dropped below a design setting. That's a simple case. We have a lot of metrics built into this feature.

3. Whenever you see a listing that says we have re-coded something out of blueprints and into C++, this is almost always because C++ is faster. BP are really easy to do, as they are a visual scripting language. You don't need to be a coder to write blueprints. But very few MMOs are every published without going through the BPs and converting them to C++. Unreal has automated tools for this conversion, but the tools do not always give us the very best (fastest) code structure. A skilled coder can do a better job. So we are steadily converting BPs to C++ as we move forward.


Since FPS (frames per second) is sort of fundamental to an MMO, we measure it a lot. Getting decent FPS in any multiplayer game is the coin of the realm. You can't just toss purchased assets into a framework and expect them to function with high FPS in a multiplayer scenario, even if they work well in a single player situation.

So we've done a simple thing. We added an FPS meter to the screen (it can be turned off), so that we can get community feedback on FPS during the upcoming login test. Instead of us telling you what FPS was achieved, we can all tell each other, and relate our results to the kinds of computers and graphics cards being used.

I've not heard of this being done before by a dev team, but it seems like a natural thing to do in a transparent situation like the Ship of Heroes development.

A second item is that we developed our own methodology to spawn scores of NPC civilians with modest FPS cost. Civilians are important -- a city looks empty without them. And the bigger the city, the more NPC civilians it needs to have, or it looks funny, and kind of dead.

You guys may recall that we are currently running Unreal Engine 4.18. But 4.19 was released a while ago, and 4.20 was released withing the last week. After the login test, we plan to evaluate the results that we get, and then double-jump to 4.20, because 4.20 has several things in it that will help us (and all MMOs) to increase FPS and to handle mobs of civilians. So first we'll test what we have already created, and then we will see how much effort we need to apply to get improvements using the engine upgrades.

This is a good example of getting lucky. We built the code systems we thought that we needed for SoH, and now Epic is adding more resources to our toolbox.  :)





Just to finish off, here's a few more screenshots of the (incomplete so far) night sky with partially lit buildings. It's worth noting that the lighting has not yet been balanced and not all buildings are lit - this is very much still a work in progress.