I'm currently working on one of the main areas of the project: Café 5to2. I decided to do some research and see what info I can find on any community forums, which is when I came across this awesome post about Silent Hill fun facts.
https://venturebeat.com/2014/08/23/wicked-silent-hill-details-you-may-have-missed/view-all/
While I already stumbled on the pinball machine (by total accident, I was actually looking for Jurassic Park pinbal machine and realised one in the search looked just like the one from the game). There is other information such as; posters, areas, billboards etc. All of which is valuable and helps me find better quality reference materials to use for textures!
As a result I've managed to identify and gather textures for a few of the immeidate posters inside the cafe:
On a side note, one very interesting revelation I never knew about, is the cinema in the game called Metropol. This is a reference from the movie Demons which I never realised and is one of the scariest films I ever saw as a kid and scarred me for life!
Friday, 31 January 2020
Wednesday, 29 January 2020
Improving Quality
Somewhat inspired by the previous post. I decided to set out and really go to town on the Cafe area.
This is a good little side-project, one that benefits both me and the project. Because I get to really try and make a great quality looking scene and the final result will end up in the project regardless. But because it's such a small scene it wont take long to really dig in.
As such, I can gradually import the work into Unity and test lighting, making sure there are no weird normals or smoothing groups and can optimise it as much as possible.
Here is a render of the Cafe with defualt geometry and textures with only minor props removed to reveal the basic structure.
Here is the same un-edited scene, showing the geometry.
As you can see, the simplicity of the scene is great. There isnt a lot of detail in the mesh at all, all detailing is achieved via textures.
Here is a render of my newly created geometry, based on a direct 1:1 scale of the scene above.
Once complete and textured the quality improvement will be really noticable. Alongside some nice in-engine effects such as dust particles and volumetric lighting /w fog, this scene should look amazing!
This is a good little side-project, one that benefits both me and the project. Because I get to really try and make a great quality looking scene and the final result will end up in the project regardless. But because it's such a small scene it wont take long to really dig in.
As such, I can gradually import the work into Unity and test lighting, making sure there are no weird normals or smoothing groups and can optimise it as much as possible.
Here is a render of the Cafe with defualt geometry and textures with only minor props removed to reveal the basic structure.
Here is the same un-edited scene, showing the geometry.
As you can see, the simplicity of the scene is great. There isnt a lot of detail in the mesh at all, all detailing is achieved via textures.
Here is a render of my newly created geometry, based on a direct 1:1 scale of the scene above.
Once complete and textured the quality improvement will be really noticable. Alongside some nice in-engine effects such as dust particles and volumetric lighting /w fog, this scene should look amazing!
Saturday, 25 January 2020
Similar Project (but thats OK!)
Whilst browsing I came across a curious video on YouTube. It turns out someone has 'somewhat' done what I aim to achieve, by 'somewhat' I mean the idea is the same but not the scope.
While this is undoubtedly impressive; the project is confined to just this diner and is unplayable. Whereas mine is a whole section of gameply upto around this point.
Exploring the creators ArtStation link, he explains, this is indeed restricted to just this scene and the aim was to purely create the best looking environment possible using professional-grade industry tools.
Due to time constaints I don't think I would be able to achieve this level of visual fidelity, espeically considering I have a much larger area to focus on. I will though be aiming to create better visuals than the original!
While this is undoubtedly impressive; the project is confined to just this diner and is unplayable. Whereas mine is a whole section of gameply upto around this point.
Exploring the creators ArtStation link, he explains, this is indeed restricted to just this scene and the aim was to purely create the best looking environment possible using professional-grade industry tools.
Due to time constaints I don't think I would be able to achieve this level of visual fidelity, espeically considering I have a much larger area to focus on. I will though be aiming to create better visuals than the original!
Thursday, 23 January 2020
More UI work
Still working on re-creating the UI, the next stage is adding the "carousel" style inventory. This works by having x amount of objects positioned in a circle and revolve based on user input. Creating a 3D effect where all items are viewable, whilst containing them in a certain space on screen.
To achieve this same affect, more advanced programming knowledge was needed such as Raycasting. After some research I found how to get it working with some online help. I've now managed to expand on the code to allow me to extrapolate information I need from script.
The above script I made allows the gathering of information I need and then compares this using a switch case to create an "inventory" list
The system is dynamic enough for me to populate it more and still derive any and all information I need to display on the UI elsewhere such as; names, descriptions and stock amount.
Currently its still a WIP, I need to get the view alignment better and then resize everything on the UI canvas, majority of the text is too big at the moment aswell. I also need to play more of the game to see exactly what items I want available at the given stage I plan to work towards and then implement all their entires into the code.
To achieve this same affect, more advanced programming knowledge was needed such as Raycasting. After some research I found how to get it working with some online help. I've now managed to expand on the code to allow me to extrapolate information I need from script.
The above script I made allows the gathering of information I need and then compares this using a switch case to create an "inventory" list
The system is dynamic enough for me to populate it more and still derive any and all information I need to display on the UI elsewhere such as; names, descriptions and stock amount.
Currently its still a WIP, I need to get the view alignment better and then resize everything on the UI canvas, majority of the text is too big at the moment aswell. I also need to play more of the game to see exactly what items I want available at the given stage I plan to work towards and then implement all their entires into the code.
Tuesday, 21 January 2020
Scripting Health Animation
In Silent Hill the only visual representation of the player health is in the pause menu. Its here the player can see the state of their health and do something about it.
I've managed to code and replicate this exact affect with a simple png image:
It is quite customisable and optimised! At first this effect was challenging to create. In Unity for UI its mostly text and images, but images dont allow for much coding. this is when I noticed Images can also use materials. With a material I'm able to set the offset of the image while keeping it in place.
I did encounter an unforeseen error with this too. the effect is done with Unitys timescale using an incremental float. But the whole "Pause" system for Unity also uses this timescale effect too.
So when I pause the game because the timescale is now 0 and not being incrementally updated, the effect will no longer work. Though I found out I can use the same timing system but with an alternative function named unscaledTime, practically does the same but still continues to count even when the game's timescale is set to 0.
Only thing I need to consider next is changing the colour of the menu buttons too, to reflect the state of health.
I've managed to code and replicate this exact affect with a simple png image:
It is quite customisable and optimised! At first this effect was challenging to create. In Unity for UI its mostly text and images, but images dont allow for much coding. this is when I noticed Images can also use materials. With a material I'm able to set the offset of the image while keeping it in place.
I did encounter an unforeseen error with this too. the effect is done with Unitys timescale using an incremental float. But the whole "Pause" system for Unity also uses this timescale effect too.
So when I pause the game because the timescale is now 0 and not being incrementally updated, the effect will no longer work. Though I found out I can use the same timing system but with an alternative function named unscaledTime, practically does the same but still continues to count even when the game's timescale is set to 0.
Only thing I need to consider next is changing the colour of the menu buttons too, to reflect the state of health.
Friday, 17 January 2020
Scripting Interactions
I decided to focus more on gameplay today. One of the core mechanics of this genre back when it was first released and still holds true today (for this series anyway) is object interactions!
By this, I mean allowing the player to "inspect" objects and to be given a textual response, sometimes offering slight insight into the world. It took me a couple of hours to perfect but i'm proud of the script and logic I created.
There are basically 2 scripts I made, the first is a simple script with a string and a bool which I can attach to any designated trigger I want (right side of the above image). With this I've made it so that I can give each and every single object I attach it to it's own deliverable message. In addition I also added an optional "auto" feature which does the same, just saves the player manually interacting with it (I'm sure this isn't in the game, so I'm not sure how I will use it yet).
The second script (pictured to the left) checks these triggers for a collision with the player. If one is found the trigger transfers its message and auto status to the players empty message handler ready for use. Now if the player has pressed the button to interact with it, then the newly passed on message is displayed on screen via the UI. This also goes through a pre-check to see how many characters the string has, because if its too long the UI shifts to allow text wrapping on the next line.
Afterwards the message will dissapear once the player leaves the trigger. Or alternatively and more accuractly; the message dissapears if the trigger is interacted with a second time whilst never having left.
By this, I mean allowing the player to "inspect" objects and to be given a textual response, sometimes offering slight insight into the world. It took me a couple of hours to perfect but i'm proud of the script and logic I created.
There are basically 2 scripts I made, the first is a simple script with a string and a bool which I can attach to any designated trigger I want (right side of the above image). With this I've made it so that I can give each and every single object I attach it to it's own deliverable message. In addition I also added an optional "auto" feature which does the same, just saves the player manually interacting with it (I'm sure this isn't in the game, so I'm not sure how I will use it yet).
The second script (pictured to the left) checks these triggers for a collision with the player. If one is found the trigger transfers its message and auto status to the players empty message handler ready for use. Now if the player has pressed the button to interact with it, then the newly passed on message is displayed on screen via the UI. This also goes through a pre-check to see how many characters the string has, because if its too long the UI shifts to allow text wrapping on the next line.
Afterwards the message will dissapear once the player leaves the trigger. Or alternatively and more accuractly; the message dissapears if the trigger is interacted with a second time whilst never having left.
Thursday, 16 January 2020
Texture Update
Continuing with my project I got round to updating one of the pre-existing models in the town. It's only a simple garage so no modelling had to be done (unless I go over the top and add detail), I did instead re-unwrap the model and give it a HD texture. Which is common practise for Remasters.
These models however share texture sheets with other objects due to the limitations of the original Playstation:
Whilst this level of optimisation is impressive, it does mean low overall quality. Instead, having the all of the model's faces on one sheets allows for higher quality.
The result in-game looks better; once all the other textures such as normal maps, displacement etc are in the final asset should look great. This is however still using the original model from the Playstation 1, so a re-texture can only go so far...
As you can see, the result is satisfactory whilst not deterring from the original aesthetic.
These models however share texture sheets with other objects due to the limitations of the original Playstation:
Whilst this level of optimisation is impressive, it does mean low overall quality. Instead, having the all of the model's faces on one sheets allows for higher quality.
The result in-game looks better; once all the other textures such as normal maps, displacement etc are in the final asset should look great. This is however still using the original model from the Playstation 1, so a re-texture can only go so far...
As you can see, the result is satisfactory whilst not deterring from the original aesthetic.
Wednesday, 15 January 2020
Rigging results
I managed to get the Harry model rigged and weighted, not amazingly but I'd say well enough to not notice any graphic errors, especially since this is just for testing at the stage.
In-game he looks great, using builtin animations it almost seems flawless. In the screenshots below you can see just how close it matches the original.
This was achieved with no additional modelling, the character from Shattered Memories and the environment from Silent Hill 1!
Tuesday, 14 January 2020
Silent Hill 1 Unity Test Cont.
After spending a couple more hours with the project, refining the my asset pipeline and general tweaks, I've managed to get it looking really nice.
The best thing I about my setup so far is that I have triggerable static cameras just like in the original game. I can also have these cameras look straight forward or at the player within a certain range (like a box) and each camera also has its own unique fog settings!
I've also managed to get find a model of the main protagonist! Although he isn't the exact same, he is the same character just from another Silent Hill game. I managed to fix his model errors, such as textures and optimised him for in-game.
It just so happens I also have the original protagonist's model and animations!
The best thing I about my setup so far is that I have triggerable static cameras just like in the original game. I can also have these cameras look straight forward or at the player within a certain range (like a box) and each camera also has its own unique fog settings!
Next I need to rig him with a humanoid skeleton suitable for Unity's avatar system and then I can mess around with animations.
It just so happens I also have the original protagonist's model and animations!
Monday, 13 January 2020
Silent Hill 1
Initial asset collation is progressing nicely. Due to the goal of these projects it helps enormously to have original assets for me to be able to accurately and faithfully remake them.
For now, I'm aiming to recreate the first area (to around where Hell is first introduced); this is where player can first control "Harry" the protagonist and guide him to finding his daughter.
So far, I've managed to get a good footing on the project and can almost begin straight away re-creating this area:
The image above is a top-down render of the first area from the actual game. This level and other assets have been perfectly exported (not ripped) by people at the Silent Hill Community, which is great as it saves me some time! In my last project I had to rip models from the game which let to unwanted scaling and artifacts.
The other images below are more renders of specific areas.
As you can see, this level is ready to be imported into engine for use straight away. This will allow me to use this as a perfect reference for my own model placement. So, as I gradually progress, I can ensure it will be an exact 1:1 remake.
Sunday, 12 January 2020
Initial Research (Practise 2)
For semester two I will be remaking another game that deserves the
same treatment as my previous project. After discussing what direction to go
next with my degree, we concluded that this time whatever game I choose needs
to be more mainstream.
I need to demonstrate and reiterate that just one person can
create a quality game in a short period of time regardless of what genre or
game.
The first project was a game
that “I” personally liked and is highly unlikely to ever be
remade. Which is why it made a great project to start my masters.
This time, the next project
should be something that everyone knows, but has yet to receive a remake /
remaster more than likely from the same era or earlier.
My first suggestions were Tombi, Silent Hill or Super Metroid.
Tombi is again a game “I” like and isn’t very well known.
Silent Hill on the other hand is immensely popular (which I
discussed in my Literature Review) and is yet to receive a proper remake. By proper I mean that the game did receive a complete remake and is quoted as a “reimagining
of the original Silent Hill video game.”. It was indeed received very well,
however it isn’t a true remake akin to the recent Resident Evil 2 like fans
wanted.
Very recently a fan remake did surface and it received a lot of attention, yet this isn’t
quite a 1:1 remake; it has different design choices such as a focus on migrating from 3rd person to 1st person perspectives. There is also a mod for Half Life 2 that aims to recreate the original game, but has since halted in development.
If I were to tackle this project I would ensure it was 1:1 and would contemplate adding extras that don’t distract from the game, such as a complimentary 1st person view, but in essence would be exactly the same but much higher quailty.
Very recently a fan remake did surface and it received a lot of attention, yet this isn’t
quite a 1:1 remake; it has different design choices such as a focus on migrating from 3rd person to 1st person perspectives. There is also a mod for Half Life 2 that aims to recreate the original game, but has since halted in development.
If I were to tackle this project I would ensure it was 1:1 and would contemplate adding extras that don’t distract from the game, such as a complimentary 1st person view, but in essence would be exactly the same but much higher quailty.
Super Metroid is a mix of each; its both a game “I” adore and is
widely-known. Nintendo did recently remake Metroid 2 for the 3DS which was a
huge hit. Super Metroid is 3rd in the series and is yet to receive
any remake since its release in 1994, yet due to the popularity of the Metroid 2
remake it is very likely the 3rd entry would receive the same
treatment. This game was my first choice for Semester 1 but it would have been
very challenging for a first project.
So to conclude, for now I am going to go with Silent Hill as my
next choice of game to remake, unless I find something else within the next
couple of weeks!
Thursday, 9 January 2020
Practise 1: Reflection & Project
Over the last few months I've worked
on this project to tie-in with my thesis on "How are re-releases
affecting the industry?". The above video is the summary of my work thus
far. It took me approximately 13 weeks (92 days) to reach the standard of level I did.
Throughout this journey I’ve learnt a lot, had many long nights, endured the tediousness of repetitive tasks and even broke many things!
I think taking on a task such as this was slightly over-optimistic, it was manageable, but it was a lot of work to do for one person. If I had a small team, this would easily be at a much better state of finalisation, textures would have been done and gameplay fine-tuned etc. But having said that, I did thoroughly enjoy the process. I’ve been using Unity on and off for years, yet whilst doing this project I learnt many new things such as optimisation, physics issues, UI creation. And other processes like the transition from 3D modelling software to in-editor and the issues that can go along with that too!
I actively kept my devlog up to date, which shows every achievement and obstacle I came across and explanations as to how I overcame them.
If I were to continue this the project I would aim to have the stage I’ve been working on completely finished (as outlined previously). Although I am quite interested in starting another -just as ambitious- project to better argue my question on remakes in the industry. If I do another project, it will be based on a very popular title that is yet to receive a much needed modernisation. As this time, I remade a game *I* like, and one that not many people have heard of.
This project will be finished regardless at some point as I really like what I have achieved by myself.
Final Update
This is the final update prior to hand-in.
Since my last blog post over the holidays I've worked on little things. Previously I added scripts to objects to give them basic animation, to make the world feel that little bit more alive.
I also completey finished all modelling including; minors props, track walls / colliders, buildings etc. Now that the track world is done, it is much easier to navigate for players.
Minor optimisations have been done too, like the replacement of the UI coins. Originally when I created them back in October, I used my model and animated 60 key frames textures. This was a bit impractical in the long run, so after researching I managed to understand how to render 3D objects in the users screen-space interface. So now the coins are 3D and rendered in real-time!
Finally to polish up the game for a final presentation, I've been adding much needed foliage. There are well over 200 trees in the level so their exclusion had quite an impact on the level design. And whilst the level is untextured, the trees breathe a more life into the stage.
These took little to no time to add, this is because I'm using pre-made SpeedTree assets, simialr to what any gaming-studio would use and is simply a matter of placement in the stage.
Since my last blog post over the holidays I've worked on little things. Previously I added scripts to objects to give them basic animation, to make the world feel that little bit more alive.
I also completey finished all modelling including; minors props, track walls / colliders, buildings etc. Now that the track world is done, it is much easier to navigate for players.
Minor optimisations have been done too, like the replacement of the UI coins. Originally when I created them back in October, I used my model and animated 60 key frames textures. This was a bit impractical in the long run, so after researching I managed to understand how to render 3D objects in the users screen-space interface. So now the coins are 3D and rendered in real-time!
Finally to polish up the game for a final presentation, I've been adding much needed foliage. There are well over 200 trees in the level so their exclusion had quite an impact on the level design. And whilst the level is untextured, the trees breathe a more life into the stage.
These took little to no time to add, this is because I'm using pre-made SpeedTree assets, simialr to what any gaming-studio would use and is simply a matter of placement in the stage.
Subscribe to:
Posts (Atom)