Full notes
Full Project Apparition update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Server
- Gameplay
- Events
- UI and audio
- Store
- Balance
Overview
It's been a long time since the last update. We have been developing the whole time however. We have worked on many different aspects of the game, this is a large project so most of the systems we code are designed in parallel.
Since the last dev log we have worked on ghost logic and appearance, equipment, ritual items and magic circles. The computer, including a browser and extended mission setup screen. We have revised our content delivery system and revised how the server accesses our player database including a more intelligent local caching system so loading client side content that depends on information from the server is much faster. We have also worked on our economy and progression system as well, and have designed a UI notification system to support it. The Ghostly Grimoire has been re-added as well, with full functionality for ghost type and trait selection, however no informational pages have been added yet.
Let’s get more into these things in detail.
Ghost, Logic & Looks
We consider the ghosts to be the ultimate selling point of Project Apparition. Thus they have also become one of the largest aspects of development, in both logic and appearance. We are on our 3rd iteration of our ghost character model, we now plan on using the Daz3D Genesis 9 character base, instead of Genesis 8, this is also what we will be moving our player character models over to. There are a few reasons we decided on this advancement, they are receptive to a larger variety of stock animations, and animations in general, they have better UV skinning points, so texturing and changing textures at runtime looks much better as well. Their overall look and feel are much nicer too.
Alongside working on their model appearance we have also been working on particle systems and physics based cloth simulation to bring our ghosts to life even more. Although we have a long way to go with visuals we are very happy with the direction we are going. Animations are still lacking though, but as long as we get the base model right we can add many animations later.
Our ghosts are dynamic and have randomness across haunts, the system that handles this is nearing completion. Although we have many more actions and events to add, our ghosts randomly generate traits and their ghost type successfully. Our action system works as follows, and this is the backbone of how we translate different behaviour across different ghosts and haunts.
Every ghost is generated with a base set of actions and parameters. There are actions that every ghost can perform, but some will do some things more than others, also ghosts react differently to the same situations, we express this by using an override system, when the ghost type and traits are loaded onto a base ghost, it will change the base actions and parameters to reflect the ghost type, by making them more likely or less likely to perform them or react. This works identically for traits too, we add another trait to a ghost and it adds another set of overrides and modifiers. Actions and parameters are not just overridden however, there are some that are omitted or always included, ghost types and traits can also have completely new actions or behaviours specific to that type of trait. We are extremely happy with this system as it allows our ghosts to truly be defined from one another.
Another thing we wanted to share with you are our plans for ghost interaction points. These are specifically set areas of a haunt where a ghost can do a specific action, one that often requires the ghost to work with its environment to perform the action. For instance, peeking around a corner, looking out of a window, hiding in a corner or under a bed. This system is being conceptualized at the moment however.
Haunts
Haunts are something we are always working on due to how dynamic we want them to be. We have worked on giving more functionality to objects, nearly everything in our haunts is interactable in some way. Our system for players to pick up objects in the haunt is currently semi-functional due to it being closely related to the equipment system that we are currently focusing on,, but the ghost can now levitate objects, and throw them too!
Our base camp that appears at every haunt is being worked on as well, we have a basic ECG monitor that tracks player vitals, and the logic for populating equipment racks programmatically based on predefined equipment list is also nearly done. We also now have a mission results screen on the player phone for end of mission debriefing that reports cash and experience earned and source.
Player Equipment
We haven’t looked at equipment in a very long time, it has been on a back burner till now, although equipment is an extremely important part of Project Apparition, its sole purpose is to sense what the ghost is doing, protect yourself and to finally, remove the ghost, thus we had to get a certain amount of functionality from our ghosts to truly work on the equipment. That time has come and we are now currently working implementing more equipment and giving all of the equipment items functionality.
To give a recap, there are three types of equipment. Left hand equipment, this is considered permanent, equipment that appears in the left hand is always available and players do not have to buy or maintain it. This includes but will not be limited to, the smartphone and flip lighter. Second, we have right hand equipment, this is your standard ghost hunting equipment, it must be bought from the equipment shops, some items are consumable and you will need to buy more, or if you leave them at the haunt. Lastly we have both hands equipment, like the left hand equipment these items are always present, although some of these items will be left or right handed items but within a different configuration, for instance, our ritual chest is a both handed item, and is always present but its contents are considered right hand equipment when removed, the smartphone is also switched to both hands depending on context.
The Ghostly Grimoire has been added too, however just the ghost evidence page. However it is fully functionality and has an auto-picker based on the inputs you give. This auto-picker is designed in away to only predict given the information would know anyway about the ghosts, our server side logic and its properties are always protected from peeking eyes.
Rituals & Spiritual Items
We have started work on ritual circles and spiritual items. Players will own a ritual chest, they do not need to buy this, however players will need to replenish the items within it as and when needed. All of the spiritual items are contained within the chest. The ritual chest will also contain the functionality necessary to draw and complete ritual circles that are needed to remove ghosts from their haunts. With that in mind this means the ritual chest is fully mobile, players will be able to carry this chest into the haunt, set it down appropriately and take items from it, or draw circles. You can see some of the spiritual items, chest and a preview circle below.
Player Computer
The player computer is coming along nicely, we now have a fancy new home screen, an extended mission selection screen and now even an in-game browser, with a working pseudo URL system!! We can add new pages easily and have them be included within our version of the world wide web.
Currently we have two websites, Haus & Home and Paranormal Pitstop. Both of these are shop websites, their goal being to supply players with lobby decorations and equipment. The computer will ultimately be a player’s portal to the world of Project Apparition, most things will require players to use the computer, mission/lobby setup, shops, contracts, lore pages and much much more.
Economy & Progression
We have got the base framework down for our economy and progression system. Players can level up, attain new ranks and badges, and also receive cash that they can spend in our web shops. Currently we have the lobby decoration shop working, and have the equipment shop currently in development, however that is closely linked to our developing equipment system.
Currently players earn cash and experience from missions, however due to the other systems that are still in development how that cash and experience is awarded is extremely rudimental, although still driven by the ghosts basic activity. As with most things, we are in a good stage if the framework is there, it now can be expanded on within context.
A basic framework for UI notifications has been implemented too, our overlay UI is very unobtrusive and relays economic and progression actions when they happen, then the notifications disappear after, if there are multiple actions that happen the notifications will que until there is no more, and then the notification UI will disappear.
It is very important that we keep our overlay UI as slimline and unobtrusive as possible. We want to lean heavily on immersion, but also we have come to the conclusion that some things need to be as clear and as informative as they can be.
Lobby & Decorating
Although pretty buggy still we have implemented our lobby decorator system. Players can now buy, customize, move and style decorator objects. Pretty much everything in their lobby abode. We have developed a placement and style system that players can switch between.
Placement, players can pick up, move, rotate, sell or store any decorator object in their lobby.
Style, players can colour any object in their lobby, most objects have multiple parts to colour, we have colour palettes for different materials. Additionally, this mode allows players to change wall coverings and floors and their colours.
Players can also currently buy more decorator items from the web shop. This will then appear in their inventory ready to place or apply in the case of floor or wall coverings.
When a player changes something about their lobby, or their decorator inventory changes, the server database is updated instantly, and although we cache the lobby data on the clients for quicker and efficient loading it is always cross referenced against the server to ensure no one can hack the game and add anything they want to their lobby.
Asset Loading & Caching
We are constantly looking at ways to improve how smooth and quick it is to load content in Project Apparition. As we have built and added new features we have also been able to isolate and see where choke points and bottlenecks are, this means we are consistently revising and modifying our content delivery systems to make sure players can get from their desktop into the game in a timely manner.
We have tweaked many things with asset loading, but we have not deviated away from our original concept for it. We feel the addressable system, and asset bundles have been the right choice, however over the course of development we have constantly found ways to improve it.
The way the game speaks to the server though, and how the game receives and sends data has been massively overhauled though. Before we would ask the server for a piece of information regarding a player, and the server would request that information from the database and send it back to the player client. This was inefficient, so we have implemented a server and client caching system. If data needs to be read, it is always from a cache, if data is written it always will update the cache at the same time. Caches are on the server and the clients, this is because some data, like ghost behavioural values, we never want the client to know, but other things like, current level, lobby decorations, or other player focused data the client can know, just should not be able to set it.
Next Steps
Well, continue what we are doing. We have been very quiet so far this year, but we have been focusing just as much, maybe more in fact. Our ghosts are probably the biggest part of this game, and they are constantly being worked on as well. Getting the right balance of workability and quality with our ghosts has always been a challenge, but we are getting there, and over the next few months, we are gonna hopefully see some truly awesome things.
So next steps, GHOSTS!
Source
Changelog.gg summarizes and formats this update. How we read updates.
