In this update8
Full notes
Full Project Apparition update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Gameplay
- Compatibility
- Security
- Server
- Performance
- UI and audio
Project Apparition changes
Overview
First and foremost we would like to acknowledge the frequency and substance of updates recently has not been that substantial, we are however still absolutely invested within this project and we have never stopped working on it, this is our passion and are wholly committed. Going forward we will try to keep our supporters and followers updated at a more consistent rate and level, although our dedication behind the scenes has never wavered one bit over the past couple of years!
Over the past several months we have been working mainly on ghost logic, more haunt interactions, a new character creation process, models and equipment system. It’s been a bumpy road lately as we have faced a lot of hurdles in not only the logic itself but general compatibility issues with certain systems highlighted by our testers with an engine upgrade as well! A lot of work has gone into stability and networking as well, which isn’t so obvious on the surface, after all we need to ensure that this game is stable and works across the board as servers are to be provided by us the developers.
Stability & Networking
A stability vulnerability was pointed out to us relatively recently in the way we handle data, and our general program language culture, it took a while to figure out, but we ended up discerning that the reading of data from our stored format to game formats was not translating correctly because of different system languages as to what that game was expecting. This was easily fixed by defaulting the games language culture to a standard that the games data can recognize no matter where the system is in the world.
We are also finalizing our network connection code to finally allow for players to be able to connect to each other and enter missions together. This may seem like something that should have been implemented earlier, and for all intents and purposes thus far we have still had players connecting to our servers regardless of the fact that they were playing single player, this is important as our goals are to be a live service game. It was important for us to get some basic functionality down before allowing multiple players in any one lobby or mission instance as we needed to make sure stuff worked for the owning player, as this is a server based game we wanted to define ownership of lobbies and thus missions (in a technical light) before proceeding to add, what will essentially be guests to a players a game, again in a technical sense.
There are two ways a player can join another, a code can be shared to join someone's lobby through the smartphone, or in the case of another player being on your friends list, you can send personal invite text messages through the smartphone. When joining someone's personal lobby, you will see all of their customization, but will not be able to affect their lobby, and will have very limited access to their computer, only the mission selection/player list screen in fact. Although still currently being implemented in the case of team lobbies any player that is a member of the team can customize the lobby and have full access to the computer, for all intents and purposes team lobbies are owned by the team and not a specific player. We will point out teams are fundamentally different from just inviting players to your lobby. More on that next transmission.
Equipment
Before we proceed with our push to give all our equipment functionality we decided to revise our equipment system and finish implementing the full array of equipment and spiritual items that we intend for launch. Some of these items are prototype versions until we have enough time or the relevant skills to be able to deliver our full vision. We have moved the flashlight to the left hand now, so players can use their equipment in the right hand whilst still having a light source, we did originally plan for smartphone to that light source, but decided for the sake of realism and utility, why can’t you have a flashlight in the left hand? The smartphone light still exists, but it’s not as powerful as the flashlight.
Although some need tweaking still we have set up all the hand animations for the equipment too and also implemented the Ritual Box, this is a two hand item like the ghostly grimoire, but does not take a slot up on a players equipment bar. However when carrying the Ritual Chest a player cannot use other equipment. Players can pick up items out of the Ritual Chest, players will eventually be able to click on the ritual diagrams in the chest lid to start the process of removing ghosts, the items within the chest are reserved for rituals to remove ghosts from the haunt.
We have developed more shaders and systems to support equipment functionality with items like the laser grid and UV lamp, since the ghost will either be rendered differently to the player when interacting with these equipment items or will leave prints and marks that will only be visible with the equipment. This has taken a long time in preparation since we need to consider how our current translucent system and ghost shader will behave and react to changing how it is rendered.
Smartphone
The smartphone now has a light, and a front page with the time and date updating, we also have overhauled the UI to be a bit more generic in preparation for adding customization options.
We have overhauled how we handle our device UI, before, because of performance issues and pertaining input regarding our two camera setup for the FPS hands/equipment and world view we were utilizing sprite renderers and had to forgo a lot of UI features until we programmed our own versions of those features. We have decided to upgrade to use Unity’s UI system as we have overcome some of the technical issues we previously had in regards to the input system.
We can now utilize all the features a normal UI system can on any of our device screens and can just copy the canvases to new device screens and the scaling and positioning will be handled automatically. This is quite huge for us as it will save us a lot of time in spinning up device UI’s.
Whilst we have been working on the smartphone UI we have also implemented contacts and messaging. Players can message each other just like you would using your own phone, conversation based. This also allows us to use the messaging for system messages and rewards etc. Contacts are something we always wanted to have as this will eventually work cross platform as well, it is completely steam independent but will also pick up your relevant platform friends too. We have added an extra menu that will display your steam friends to add as PA contacts as well as players you have recently played with, of course there is also a way to add contacts directly referencing their own player ID. This system is pretty early in its implementation and will most likely receive and require additional work in the future.
Ghosts
Ghosts are coming along, they are such a big aspect of PA, a complex one as well due to the nature and sheer scope of their behaviour. They are now functioning with basic behaviours, the first 8 ghost types now have the possibility of being generated when going to a haunt, and some of the logic that dictates what they should be doing is working. Our testers can in theory guess and gauge what type of ghost they have got and make selections in the ghostly grimoire, and then receive payouts of successful deductions. This is a little hard though at the moment as not all the equipment is functional so some things are a little harder to discern than others.
We have been getting the final framework down for our ghosts to process and cycle actions, IE ghost events. I am happy with the current system, ghosts are successfully performing actions and resetting to a state that can then perform more whilst also being able to be interrupted. This was important because there is a lot that the ghost will be able to react to, either player action or voice so it was a priority that we had a ghost action system in place to account for this without breaking.
Ghosts can now affect a players vital stats, which are Health and Mental, certain actions will affect the players mental state, like hallucinations and haunt events while things like throwing objects at players or attacking them will affect the health stat. We have also been working on the overlays that will display screen effects when these stats are low.
Our ghosts are generating with different appearances as well, and not just clothes and hair but also body and face shapes. Some ghosts will also change their appearance during the mission. Animations have been added as well but our ghost animation controller is still a huge work in progress as we ideally want to contract an animator eventually to help with that.
We have started work on our hallucination system, I have spent a long time creating a shader and setting up our haunts to have any object, wall, floor and surface to have two texture maps, and way to blend partly or fully between the base texture and overlay, so we can turn entire rooms to flesh, void, fire or anything else that can be expressed by texture or particles! This is still early in its implementation and we are currently working on the system that temporarily shows these changes to a player or players during an investigation.
Haunts are coming along! They are coming alive in more interesting ways, our ghosts can now flicker lights or/and change their color, they can also break more electronic things as well. Ghosts can affect one or multiple things at the same time, they can also levitate objects now and throw them around, and even at the player! They are more mobile as well, sometimes running at the player, or running away to find a dark spot in the haunt. They can now decide what objects to interact with and what ones to avoid based on their behaviour, for instance, Phantoms will gravitate towards musical instruments and objects or child ghosts will interact with more toys than non child ghosts, this also provide a natural and fluid way to present a ghosts favorite room, since they will naturally gravitate towards the rooms they most likely frequented when they were living.
Weather
We have started work on our dynamic weather system. Weather doesn’t only apply at the haunts but also at your lobby too, eventually you will be able to set your own weather at your lobby. Our weather, like most other things, is randomly generated. We have rain (varying intensities), thunder, fog and will be adding snow too! The weather can affect your investigations in certain ways as well, noise and temperature can skew your deductions for instance. Like a few other things this is still a big work in progress as we are having to overcome certain performance challenges.
Player Characters & Animations
I have sunk another chunk of time into overhauling our character creation process and even the models themselves. Instead of having two independent models to represent male and female we now have one model with a slider that defines the gender. This saves us a huge amount of time in regards to animations, clothing and a few other things. Players can now apply tattoos and change iris patterns, we have also added hats, glasses, piercings system and physics based hair! Beards can now be added and have been divided into four categories, to allow for peak facial hair control. This is all represented with a new character creation process that feels a lot cleaner and more intuitive than our current one with less scrolling.
We have finally found a good place for player animation, due to the upgrade from Genesis 8 to Genesis 9 characters we have also implemented a process to apply animations sourced from 3rd party to our character models. There are now full animations for walking and running with holding any combination of equipment. We have also added an emote wheel! Players will eventually be able to choose from a range of emotes to slot into their wheel, which has 8 slots to really drive home what you're about in game or lobby!
Moving Forward
Our focus right now is getting the new characters and equipment system along with the equipment itself into the main project. We often build large systems in a separate project then import into the main project for ease of development in contained environments. After that is completed, we are going to add functionality to most of the equipment and then add the reaction system to the ghost, so it can break its current action cycles to react to the player's presence, this includes the base of our voice recognition system too.
During this phase we are also going to add more ghost events and complete the hallucination system. Hopefully within the next couple of months we will have fully behaving ghosts that react to players input and presence and fully functioning multiplayer ability. We are excited to be where we are, there has been a lot of trial, tribulation and challenge getting to this point in regards to the underlying framework and ready to add all the fun bits!
We are so thankful to everyone that supports us and follows this journey.
Source
Changelog.gg summarizes and formats this update. How we read updates.
