Nothing big to report on just yet, mostly due to external circumstances. I'm just experimenting with modelling and tweaking gameplay to make it feel smoother.
Hopefully will have something more substantial by end of the week!
I did fix camera transitions, when the player goes from one cut to another, the cameras new transforms affect the players relative movement. I've now added a delay based on when the player stops moving to then run this update.
This allows the player to keep hold of a direction through multiple camera cuts without the player changing direction (Similar to the originals tank controls, but updated), that is untill they let go, then any new direction is fed to the player.
Last camera hurdle to overcome is vertical dolly tracks based on player distance to the camera. Once this is done, then pretty much the remainder of the project is visual-related; modelling, vfx, tweaks etc.
Sunday, 15 March 2020
Tuesday, 10 March 2020
(SFW) Re-populating Old Silent Hill
Following on from my previous post. I've begun the lengthy process of re-modelling this small (yet very large) area of Silent Hill. In total there is a minimum of 70 buildings to re-evaluate, this doesn't include any texture variants, for which there are a few. this also doesn't include various props like benches, street lights etc, but these won't require much effort.
Since this is the largest part of the project I'm aiming to do 2+ a day which will take me about a month, because of this I'm, keeping the re-modelling as basic as I can and not added much mesh detail. Focus instead will be on texturing, this is because during testing I've noticed a lot of detail is lost in the fog anyway.
So, even though the models and detail will be better, it won't be very noticeable unless under close inspection, which isn't the point of the game.
If I think I may be running out of time, I will simply focus on buildings and props along the golden path that I know the player will see. Anything else such as misc buildings far out of the way I will re-use the original PS1 model. Because again, in-game thanks to the fog details are not really noticable and with it being in a newer engine the original models -buildings at the very least- look great upscaled.
So far I'm about 6 re-models into my quota, here is an example of one of them:
The Agernon (above), is one of the first to be made. I've used realworld textures to mimic the style of the original, I may re-visit this texture to add darker lines between the bricks yet.
Here are another two:
These 2 garage variants have both been optimised like previous models and remapped / textured with a much higher reslution. Sometimes the originals textures are too muddy to fully see any detail so I've tried to replicate them as close as possible.
Since this is the largest part of the project I'm aiming to do 2+ a day which will take me about a month, because of this I'm, keeping the re-modelling as basic as I can and not added much mesh detail. Focus instead will be on texturing, this is because during testing I've noticed a lot of detail is lost in the fog anyway.
So, even though the models and detail will be better, it won't be very noticeable unless under close inspection, which isn't the point of the game.
If I think I may be running out of time, I will simply focus on buildings and props along the golden path that I know the player will see. Anything else such as misc buildings far out of the way I will re-use the original PS1 model. Because again, in-game thanks to the fog details are not really noticable and with it being in a newer engine the original models -buildings at the very least- look great upscaled.
So far I'm about 6 re-models into my quota, here is an example of one of them:
The Agernon (above), is one of the first to be made. I've used realworld textures to mimic the style of the original, I may re-visit this texture to add darker lines between the bricks yet.
Here are another two:
These 2 garage variants have both been optimised like previous models and remapped / textured with a much higher reslution. Sometimes the originals textures are too muddy to fully see any detail so I've tried to replicate them as close as possible.
Saturday, 7 March 2020
Decontructing Silent Hill
Possibly the most time-consuming aspect of this project is modelling. The bulk of the game is based in the main town of Silent Hill aka Old Silent Hill as there are a few other areas of SH I'm not including.
I managed to get an export of the town from an online community and have been using it as a placeholder for now. This scene is soo big that it makes Unity freeze fora few moments everytime it's selected in-editor. Which I can only assume has a performance impact when running.
More to the point... I've spend an afternoon dissecting this area for better optimisation and management. I now have everything seperated or grouped depending if its lots of the same object. this is so that I can re-model one to replace all (such as street lights etc), or unique objects like buildings, which I can easily target to re-model.
Originally this area has a couple of extra streets, but because the player will never access these in my vertical slice then it is completely pointless even having them in, especially since the fog will prevent them from ever being seen anyway.
Since this is such a large area, if I focus on it now and get it all re done then that is a huge portion of the project done.
The Cafe is complete and the only other area is the Alleyway when the player breifly goes to Hell. Gameplay and functionality is pretty much complete, with only camera angles needing to be flushed out later on.
This example screenshot shows the difference between optimised and non-optimised. This particular model is the roads, the areas I've higlighted in red is the original geometry. The rest of it is what I've optimised myself.
As you can see the whole upper left portion ofthe view has clean lines and isn't cluttered with lots of tiny tiles. With this being a fairly large model, this does undoubtedly affect performance!
I managed to get an export of the town from an online community and have been using it as a placeholder for now. This scene is soo big that it makes Unity freeze fora few moments everytime it's selected in-editor. Which I can only assume has a performance impact when running.
More to the point... I've spend an afternoon dissecting this area for better optimisation and management. I now have everything seperated or grouped depending if its lots of the same object. this is so that I can re-model one to replace all (such as street lights etc), or unique objects like buildings, which I can easily target to re-model.
Originally this area has a couple of extra streets, but because the player will never access these in my vertical slice then it is completely pointless even having them in, especially since the fog will prevent them from ever being seen anyway.
Since this is such a large area, if I focus on it now and get it all re done then that is a huge portion of the project done.
The Cafe is complete and the only other area is the Alleyway when the player breifly goes to Hell. Gameplay and functionality is pretty much complete, with only camera angles needing to be flushed out later on.
Optimisation
While going through the process of re-creating everything I will have to optimise as I go. Because all of these assets were made decades ago the technology used then isn't the same now, so during exporting from the original source material much more geometry information has been either gained through the process or was allready there.This example screenshot shows the difference between optimised and non-optimised. This particular model is the roads, the areas I've higlighted in red is the original geometry. The rest of it is what I've optimised myself.
As you can see the whole upper left portion ofthe view has clean lines and isn't cluttered with lots of tiny tiles. With this being a fairly large model, this does undoubtedly affect performance!
Friday, 6 March 2020
Atmospheric Cameras
Currently trying to re-create some of the more interesting camera styles in the game. I've managed to analysis it enough to narrow it down to two base types that are used most commonly.
Dolly Track:
Dolly Track Targetted:
There is also a vertical variant of this style but it's basically the same, other more unique angles can be chained together using CineMachine.
These two styles though are prominent throughout the game and require a more practical approach rather than using the cutscene feature.
Dolly Track:
Dolly Track Targetted:
There is also a vertical variant of this style but it's basically the same, other more unique angles can be chained together using CineMachine.
These two styles though are prominent throughout the game and require a more practical approach rather than using the cutscene feature.
Thursday, 5 March 2020
Cutscene Consideration
I've been toying around with cutscenes in my project, getting acquainted to the Timeline feature and Cinemachine.
After some consideration I think it best to not add these in, at least not for the moment. This is from a practical standpoint and completely unrelated to my hypothesis question.
I've decided not to include them mainly because this level of detail is too much for a lone developer to achieve in the timescale given. Cutscenes like many other things are usually given to a separate department to fully flush them out and make them visually appealing. I do not have that amount of time to spend on this, while I would like to it will consume way too much time, time that can be better spent on functionality and other areas. If I manage to get ahead of schedule I will happily re-look into this as I consider them surplus content for the time being.
When considering these cutscenes I have to take into account what I want. My goal is to re-create this game to play exactly like the original but with much better visuals inline with a modern title. Taking this into consideration cutscenes ideally would have to follow suit, which would be no easy feat.
I broke down into sections exactly what was required for me to decide if it was feasible.
The latter two points are easy enough, even point 2 is doable to a degree. The hardest part would be to animate the entire scene to include new motions to make it feel more realistic. Such as arm movements to articulate points and even eye contact and mouth movement for words.
This level of work would require more time and dedication.
There are 3 cutscenes in the scope I want to achieve, each varying in difficulty. One of them I can add in very easily as it's a simple camera movement and some text. The other two are the game intro where the protagonist chases his daughter and then the café where he meets the police officer.
The café scene is the hardest is because this would definitely require a greater level of animations since both characters can be seen conversing.
The only other way I could do this, would be to mimic the original cutscenes; include audio, basic animations and add them to a timeline. But would potentially look too out-of-place, this is something that would need a lot of debating.
Not only this but the same condition can affect many areas of this project. Where do I draw the line on quality and where do I deter from the source in order to appeal to a new demographic?
...I am however going to use some cutscenes for functionality. They come in handy for triggering events and / or activating objects etc.
So for now, actual re-created cutscenes are not being done.
After some consideration I think it best to not add these in, at least not for the moment. This is from a practical standpoint and completely unrelated to my hypothesis question.
I've decided not to include them mainly because this level of detail is too much for a lone developer to achieve in the timescale given. Cutscenes like many other things are usually given to a separate department to fully flush them out and make them visually appealing. I do not have that amount of time to spend on this, while I would like to it will consume way too much time, time that can be better spent on functionality and other areas. If I manage to get ahead of schedule I will happily re-look into this as I consider them surplus content for the time being.
When considering these cutscenes I have to take into account what I want. My goal is to re-create this game to play exactly like the original but with much better visuals inline with a modern title. Taking this into consideration cutscenes ideally would have to follow suit, which would be no easy feat.
I broke down into sections exactly what was required for me to decide if it was feasible.
- Eye / Mouth rigging and animating
- Old animations re-created and edited
- Sound files for conversations
- Examining original game to get a sense of timeframes
The latter two points are easy enough, even point 2 is doable to a degree. The hardest part would be to animate the entire scene to include new motions to make it feel more realistic. Such as arm movements to articulate points and even eye contact and mouth movement for words.
This level of work would require more time and dedication.
There are 3 cutscenes in the scope I want to achieve, each varying in difficulty. One of them I can add in very easily as it's a simple camera movement and some text. The other two are the game intro where the protagonist chases his daughter and then the café where he meets the police officer.
The café scene is the hardest is because this would definitely require a greater level of animations since both characters can be seen conversing.
The only other way I could do this, would be to mimic the original cutscenes; include audio, basic animations and add them to a timeline. But would potentially look too out-of-place, this is something that would need a lot of debating.
Not only this but the same condition can affect many areas of this project. Where do I draw the line on quality and where do I deter from the source in order to appeal to a new demographic?
...I am however going to use some cutscenes for functionality. They come in handy for triggering events and / or activating objects etc.
So for now, actual re-created cutscenes are not being done.
Tuesday, 3 March 2020
Cutscenes
Naturally to follow on from the subtitle mechanic I decided to see how cutscenes would work / play out. I've never used Unity for advanced stuff like this, but it doesnt mean it isnt capable.
So far, I've managed to tweak my subtitle system slightly to allow for it to recieve signals via the Timeline feature, meaning I can setup scenes and uses markers to trigger specific pre-defined dialouge & audio!
The two markers at the top correspond to the inspector view: Cafe#1 and Cafe#2 respectively.
So when the first marker is hit, it sends the signal "Cafe#1", which runs to code I made just for this cutscene and plays the associated audio file.
So alltogether, when marker 1 is hit, it fires the "Cafe#1" signal, which in turn runs the routine "CadeCut1" in the script above and also plays the audio file "CafeCut2#1". The same goes for marker 2 in the timeline, which in turns runs the next routine.
To better take advantage of this workflow, I may include a cutscene selection trigger in my player interaction mechanic for quicker usage in editor.
I don't know if this is a good way to do this but it seems to work for my purposes, next to add player animations.
So far, I've managed to tweak my subtitle system slightly to allow for it to recieve signals via the Timeline feature, meaning I can setup scenes and uses markers to trigger specific pre-defined dialouge & audio!
The two markers at the top correspond to the inspector view: Cafe#1 and Cafe#2 respectively.
So when the first marker is hit, it sends the signal "Cafe#1", which runs to code I made just for this cutscene and plays the associated audio file.
So alltogether, when marker 1 is hit, it fires the "Cafe#1" signal, which in turn runs the routine "CadeCut1" in the script above and also plays the audio file "CafeCut2#1". The same goes for marker 2 in the timeline, which in turns runs the next routine.
To better take advantage of this workflow, I may include a cutscene selection trigger in my player interaction mechanic for quicker usage in editor.
I don't know if this is a good way to do this but it seems to work for my purposes, next to add player animations.
Sunday, 1 March 2020
Final Subtitle Mechanic
After quite a long time I've gotten my subtitle system to what I would consider a final state. meaning that converastions are now implemented and all other aspects of interactions also work!
There are a few little things I need to tweak and some minor bugs, but all in all it is done and ready to be fully utilised throughout the project.
The whole system is possibly one of the hardest things I've ever programmed and I'm proud of it. I'm particularly happy that the way I implemented the dynamic conversation creating:
Since migrating to TextMeshPro I was able to implement conversations better. It uses a queuing system, so I can offload as many lines of text as I want its way and then I just filter how these are shown.
The hardest part was offloading the new method I created for my interactable script. It now has a list / array of publicly editable text entries, this can be edited on runtime too.
When the player interacts with this interactable object it behaves just like it does for the other methods i.e. it checks the other object for any message to display on keypress.
It checks what type of interaction it is, if this is a conversation type, it then knows to pull this new array. With this array it now checks how big it is, loops through each element and adds each entry to the queue to display.
Next major thing to focus on is cameras and then it's a simple matter or recreating the other areas.
(Best viewed in fullscreen)
There are a few little things I need to tweak and some minor bugs, but all in all it is done and ready to be fully utilised throughout the project.
The whole system is possibly one of the hardest things I've ever programmed and I'm proud of it. I'm particularly happy that the way I implemented the dynamic conversation creating:
Since migrating to TextMeshPro I was able to implement conversations better. It uses a queuing system, so I can offload as many lines of text as I want its way and then I just filter how these are shown.
The hardest part was offloading the new method I created for my interactable script. It now has a list / array of publicly editable text entries, this can be edited on runtime too.
When the player interacts with this interactable object it behaves just like it does for the other methods i.e. it checks the other object for any message to display on keypress.
It checks what type of interaction it is, if this is a conversation type, it then knows to pull this new array. With this array it now checks how big it is, loops through each element and adds each entry to the queue to display.
Next major thing to focus on is cameras and then it's a simple matter or recreating the other areas.
Subscribe to:
Posts (Atom)







