Friday, 31 January 2020

Café 5to2 Research

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!

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!

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!

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.

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.

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.


Achieving Silent Hill's Aesthetics