Full notes
Full Project Apparition update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Maps
- UI and audio
- Store
- Gameplay
As a foreword we would like to inform that the previous development updates where posted before we obtained our Steamworks partnership, they can be found here.
Transmission 1 Transmission 2 Transmission 3
The development grind continues. Since we had been working on the ghost models last month and they involve a lot of work with external programs like Daz3D we decided to put a hold on the trailer production and instead work on the player characters. We have also started work on another map as well, Little Acorns Camp! The majority of our time this month has been consumed by player characters, their creation and the new map! Player characters are a very involved aspect of PA, and we want to get them right!
Little Acorns Camp
Our wonderful creative director has been working on a completely new map this month. Little Acorns Camp, an American summer camp themed map. Set within an idyllic forest beside a lake, the camp was the stage for a tragic event, and now a location that few dare enter. The terrain has been custom sculpted and level-design is unique, a lot of time and care has been taken to ensure the placement and feel is realistic and on point for maximum immersion. The camp consists of several timber framed buildings with all the amenities and quirks that you would find with a real summer camp.
At the moment the map is still within its level design stage. When that is finished it will be imported into the main project and we will hauntify the place, adding all the things to make the place come alive and be interactive!
Player Characters & Creation
Just like with our player lobbies, we want to bring a level of customization to the player characters that we have not seen before within this genre. We achieve this by leveraging the power of Daz3D Genesis figures. These figures are fully licensed for commercial use and provide functionality that would usually require an experienced 3D artist and a lot of time.
Although we side step quite a huge requirement in using these figures, there is still a large amount of work that has to be done around them, and then more when we import them into the game project. What the figures provide is a base shape, the ability to morph the figures and then the rig/bone setup required to animate them. Clothes, hair, textures and anything else that can happen to the figures within the game still have to be considered and processed by us.
Character Morphs Morphs are what shape a character's base figure. They warp and reshape the figure based on numerical inputs, one to a hundred. For example we can make the figure more portly, or slimmer, we can give them bigger muscles or tweak specific parts of the face, this also works for expressions too! Once the figures are imported however, we have had to write our own system to manage these morphs. Unity does not do this for us, so we have been writing code for both the editor and the game to make our lives easier when working with these morphs. Currently, we have our own editor extension that gives us the tools needed to create morph sets, combinations of morphs that are tied to one slider, and then of course the UI for character creation that links to all these morphs during play.
Clothes, Hair & Beards Another huge benefit of Daz3D Genesis figures is the fact there is a vast range of items already available on asset stores that are fully usable within a game. However, when it comes to hair and beards, these assets are not ideal for games, they have high poly counts and have large file sizes, which is not ideal. There are some exceptions and we have painstakingly gone through a lot to find hair and beard items that work well within a game. This will be one of the first things we want to contract out, since hair is extremely important in the look of one's character. Most of the clothes on the market are usually fine, and other than texture changes do not require much to get them into the game. Although all of these items that we have are equippable, they are separate items that we link to the base figures and thus we have had to write our own equipment and slot system to make this work, this is fully functional. There will be ten slots on a PA character. Hair, eyebrows, facial hair, head, eye-wear, top-over, top-under, hands, legs and feet.
Skin & Shaders Another thing we can claim to be completely our own work is our skin shaders. Shaders tell the game renderer how to display textures, essentially. They tell the renderer if something is shiny or metallic or many other things. It’s how some things appear bumpy or have definition, they are texture maps processed by shaders. This is very important to get right, because you can save a lot of computer power if you can represent something with just a texture and some math. For example skinpours, or wrinkles. So, our skin shader can do some pretty cool stuff. We can make our figures older with strong definition and wrinkles, we can add muscle definition, we can add overlays, like freckles or dirt and anything else that we can represent as a texture. We also have our skin tones built in, covering twenty different real world pantones for skin color. We can change individual eye color and iris style, and have also masked out certain areas of the face where certain makeup would be, eye-liner, shadow, blush, lips and eyelashes can all be custom colored, with optional shapes for some of those to define them further, although the makeup is still currently being worked on at the time of this dev update. All in all though, players will be able to fully customize how their character looks, and with the combination of our facial morphs will be able to represent almost any type of person from around the world.
User-Interface Within the game we need to represent and provide a link to all these features and customization options. That’s a lot of options within a lot of different formats, numerical values, colors, items etc. That is why we have written our own UI elements and helper functions. We have extended the functionality of Unity’s UI layout system to provide more than one level of automatic scaling and ordering of UI elements. This is how we can achieve what you see in our character creation previews, collapsible menus within menus, that can hold different UI types and they will order and scale the UI based on their own sizes. This is an important thing to have, because we can add or remove new UI elements easily if and when we need to add or remove functionality from the base figures.
Ghosts More work has been done this month on how the ghosts will work and behave, our creative director also does all the research and planning of how the ghosts will behave and the functionality that they will require. Since we are having many different ways of interacting with the ghost, including many types of removal and unique conditions we need a solid library of this information laid out, so we can find relational paths and consistencies between them, this means that we can implement them in a cohesive and performant manner.
This is a good time to point out the synergy that we have in terms of concepting, planning and then implementing. Of course implementing new functionality falls within a developmental time-frame, some things take longer than anticipated, and other things come into the view that require attention. We have an extremely large list of ghost behaviors and functionality requirements ready to be implemented. We cannot wait for this all to come together so we can start showing that off.
Moving Forward All in all it's been a very productive month, although we know everyone is here for the spoops, there isn’t much in that regard this month. However, the player characters are a huge part of PA and require extensive and involved work to get right, the more we do now the less we have to do later. With that being said, next month we will continue to work on the player characters and ghosts. We appreciate the patience with us while we deliver our vision.
Source
Changelog.gg summarizes and formats this update. How we read updates.
