Back To Top

Back To Top

Journal #17 – Crew Identities 2 August 2024

Each month we take a moment to talk with you about the development process and progress from the past month, while also highlighting contributions from the Ahoy community.

This month, we thought it might be interesting to delve into a specific area of development and the technical process behind it. Often, these journals highlight what we’ve been working on, but we rarely share a glimpse behind the scenes of how these things are made.

Creating Crew Identities

One ongoing effort within the project is determining a good path forward for creating convincing, varied characters for use across the game. This includes your highly important, highly perishable NPC crew, town NPCs that you can speak to, interact with, or just pass by in the street, and of course, the player characters themselves.

As part of this, we’ve been exploring ways to generate a vast number of identities. We’re considering a method that allows us to both hand-design unique NPCs or historical figures and generate characters en masse for situations where many people are needed.

So, what is the process of creating a new NPC? For us, it starts with a foundational set of 3D scans. The best way to create convincing digital humans is to build from the likeness of real humans.

The raw 3D scan as we receive it.

For indie teams like us, we don’t have access to state-of-the-art scanning studios, thousands of dollars worth of camera equipment, and complex lighting setups. Instead, we’ve pulled from a variety of existing scan databases to acquire our initial pool of scanned faces. This cuts out a lot of the work from our pipeline and allows us to focus more on how to utilize this data rather than how to gather it ourselves.

While each scan is already captured for us, we have a significant amount of preparation to do before we can use that scan within our systems. First, we must process the scan and ensure it adheres to our existing character topology (the geometric structure of polygons or triangles that make up the surface of our character). This is done by aligning manually placed markers across both the 3D scan and the “base” or “origin” head shape, which all of our characters use as a starting point.

Placing tracking markers on the scanned face that match our original “base” head, allowing us to “wrap” one over the other.

Once all of these markers are placed, the software can process the difference between the marker positions of the two geometries and determine how much or how little the original head needs to move to wrap or ‘match’ the new 3D scan. Just this automated part of the process can take several minutes for each scan.

The reprojecting process.

This then provides us with a remapped representation of the original head (and skin texture) using our standardized mesh topology. This means you can seamlessly blend between the original head mesh and the newly processed scan, allowing us to combine many head scans in interesting ways to form entirely new and invented faces.

The resulting shape blend.

After this, a significant amount of manual clean-up is required in Blender. As you might have noticed above, the hair cover adds some additional depth above the forehead, and the eye and mouth areas can struggle to wrap precisely to the target mesh. For these areas, a manual sculpting pass is needed to smooth out any potential artifacts in the result.

Finally, the textures reprojected onto our ‘origin’ head require tidying up. This involves going into Photoshop to clean up areas that might show artifacts, unique skin details such as moles, acne, or skin conditions, and of course, removing any signs of tattoos, makeup, hair, and clothing.

The before/after comparison after being tidied up in Photoshop.

You might wonder why we remove some of these details. The main benefit of reducing the skin texture to only its complexion details is that the reuse of this texture becomes much more widespread. We can add moles, freckles, scars, and other details later on when individualizing a character, but if the base textures are free of those details initially, it is less obvious when those skin textures are used for many hundreds or thousands of NPCs.

We also remove the eye, nostril, and mouth areas in these textures so that the head’s geometry can represent these details, rather than having strange reprojection errors or noticeable mismatches between the skin texture and the geometry.

An example of switching between head shapes but preserving the eye/mouth areas.

As a separate step, we calculate the melanin fraction of the original person’s skin by averaging their skin tone across the entire texture. This melanin fraction is then subtracted from the overall image, providing us with a completely clean, bald head texture that can be reused for any character. We can then inject the melanin fraction back into this texture in Unreal Engine’s material system to achieve a skin texture with any skin tone.

An example of how these characters are starting to look in-engine. Textures and other details are still to be processed of course, as well as enabling the melanin adjustment for skin tone changes. This is also only utilising a very small fraction of the total scans, which will only mean even more variety to come!

When you combine the variety of scanned shapes and skin complexions together, you start to forget the original scanned likenesses, and new characters can be generated instantaneously as needed. You could have two NPCs standing next to each other, both using the same skin texture and elements of the face, and not notice the repetition.

With our process, we end up with highly variable characters with extremely expressive animation capabilities, thanks to our use of the Metahuman standard. Our actors can perform directly into an iPhone or stereo camera setup, resulting in a one-to-one performance capture that makes use of these expressive face shapes.

Some test expressions to determine the viability of the scans, head shapes, mouth movements, etc. Live in Unreal Engine.

We hope you enjoyed this deeper look into part of the production process. These characters will be integral to the overall vision for Ahoy, both in the short term (for use in trailer content, early player customization, etc.) and the longer-term vision of a fully open and explorable world. The world of the Age of Sail means far less without the people who inhabit it.

Do let us know in our Discord server what areas of development you might like a similarly in-depth look into next time!

Who’s Next?

Last month we shared some more details about our latest ship, Kleos.

Now, the question is: who’s next?

Answering Your Questions

Each month we ask some of the community questions asked since the last Journal update. We’re really enjoying this process of Q&A, and we would love to hear your thoughts on this month’s Journal.

On optimisation, game settings and competitive advantages:
– Respondents, Journal Questionnaire.
Yes, Ahoy will have in-game graphical settings. Users will have significant control over adjusting the graphics level to optimize gameplay performance on their individual systems. This includes options for texture quality, shadows, visual effects, lighting and other graphical features.

We are aware of potential fairness issues related to rendering distance. To address this, we will be implementing measures to ensure that critical gameplay elements, such as ship visibility, remain consistent across different graphics settings. This means that even on lower settings, players will not be at a disadvantage in terms of spotting ships at a distance compared to those on higher settings. This approach ensures a fair and balanced experience for all players, regardless of their hardware capabilities.

On Player Reputation:
– Respondent, Journal Questionnaire.
Player Reputation is a metric that reflects your standing with various nations, trading companies, and organizations within the world. Your actions within the world can increase or decrease your reputation. Repeatedly attacking a nation, especially targeting its merchant or civilian vessels, will quickly lower your reputation, leading to retribution from both player and AI captains of that nation.

Conversely, completing missions or aiding captains from a specific nation will improve your reputation with them. This system encourages you to repair damaged relationships and open new opportunities through trade tariffs, port access, and other diplomatic actions.

Player Reputation decays over time at a fixed rate toward a neutral middle point. This means that whether you have an excellent or terrible reputation with a particular nation, it will gradually move toward neutrality over time.

On Player Death:
– Respondent, Journal Questionnaire.
There are many aspects to defeat and death within the Ahoy design. Primarily there will be three major areas of concern. What happens to me? What happens to my crew? What happens to my ship?

Defeat in battle doesn't always mean death or the loss of your ship. It might be that the attacking ship is after a specific piece of cargo and they let you go relatively unharmed if you 'cooperate'. Similarly, while you might lose your ship during a battle, it may not mean that you yourself have died.

If you do die, or your ship is captured or destroyed you will be presented with a number of options depending on your current location and the events that have occurred within the world since your last respawn.

These options will be:
- Respawn at the ship (if still available).
- Respawn at your home port (this is chosen by you so long as you've visited there).
- Respawn at the national capital (This is always available. There are often two choices and we provide the nearest of the two).
- Respawn at the nearest friendly port.

When this happens, you'll be instantly relocated to this new destination and your ship will be ready to relaunch there shortly after. Your crew may join you, but some may decide not to continue within your service. This ultimately depends on your crew loyalty.

If your ship was destroyed or captured, any ship reputation or record of that ship's activities will be lost (or remain with the new owner). Your new ship will look exactly the same, but it will require you to select a new name and you will need to restock with supplies and replenish your crew numbers.
On NPC Crew:
– Respondent, Journal Questionnaire.
Absolutely! We hope this Journal itself manages to show a little preview of just how in-depth we're going with NPC crew and their in-game representation. The idea is that your crew will be carrying out all of the tasks you give them and the dream is that we represent as much of those actions as is physically possible. 

Whether your crew are at the helm, raising the anchor, singing shanties or simply keeping themselves busy in any free time, we hope to represent the full span of life and the activities of sailors at sea.

Please do keep sending in your questions about Ahoy. If you have more questions for the team and would like them answers next month, please submit your questions below.

Submit your questions:
https://forms.gle/1w9MRgU3qrvTNkqn7

Until next time, good day!


Sincerely your most humble servant,

Tyler – Project Lead

Join The Discussion!

Our Journal updates are often discussed at length in the official Ahoy Discord server. Whether you have questions about the topics covered in this update, or you would like to leave your own feedback or suggestions, please join our Discord server to discuss!

Join the Discord