Started back in 2019, switching multiple RP, finally I completed my game.
The Hotel is an old style survival horror game like the old Resident evil series for psx.
I got the idea while watching some guys on youtube making resident evil 2 in Unreal; I thought that this could be done in Unity easily. Also I thought that in the last 10 years there are no tank controls game developed. Maybe someone wants them back.
Also I got some inspiration form the unreleased RE 3.5, (the one where Leon has a torch in his hands)
I would like to tell you the journey I made to create my game. I learnt that developing a game is much more than write code.
Let's start
I thought a simple story and then I started coding...
The logic of this game is pretty simple to code:
- Door is open?-> go to next room
- Door is closed?-> you don't have the right object?-> you can't progress
and so on...
The part where I struggle most was animations... Every weapon: 10 animations, hit by zombies: 5 animations, grab by zombie:20 animation paired + IK, cutscene:100000 animations.
Especially on asset store there are not so many paired animation to use, so I was creative mixing IK + timeline to get some decent results.
Facial morph also are a pain. I started the game using Fuse and translating blendshape from iphone to mixamo is not so straight forward.
About the developing
As I said before coding a game like this is not so difficult. You don't have to deal with multiplayer, connections etc. Maybe the AI part is a little tricky. Randomize reactions of zombies or AOE to avoid to make every room identical is very important to not make the game boring.
Lighting is also a crucial part. In 2019 I started with built in RP with default shader... that wasn't a big deal. After a year I switched to HDRP and I saw the magic: volumetric fog is a game changer! With HDRP is easy to light a room and to make it decent. But this come with a costs: performance! I was developing on a pretty good computer so I wasn't thinking about low tier pc... or worse: consoles.
After testing the game on an xbox one S (devkit + xdk) all fears come to life: 22 fps @ 1280*720. This leads to another chapter:
Compatibility
That is where the things get interesting. Forget about you shiny pc, forget about the good deal you made buying a 5700xt on ebay. You have another target now: gt 1030 paired with a 7 yo CPU, oh yeah baby!!!!!
So I started testing every single room and removing all the unnecessary light that were killing the fps. Also I redesigned 5 outdoor scene because the grass was too expensive to render. Complex shader? no thanks. I'll stay with the hdrp/lit (except for some zombie shader that apply some decals on hit).
This process took 6 months to polish every room, reduce fbx and so on.
After that the fps doubled! Mission complete... maybe.
Porting
Ok I made the Pc and xbox version should I stop now, right? Wrong!
Why not port the game to OSX? Having on Steam both PC and OSX version is cool, isn't it?
So I borrow a mac from a friend with a decent GPU and the port started. HDRP? no let's switch to URP to be more compatible with older MAC. Also now URP support point light shadows. Ok so install unity 2022 import the project and switch target. Then uninstall hdrp, install urp and convert materials. A whole day to get this job done. Then convert all the rooms and the lights to URP equivalent. Another 10 days of job.
Ok the OSX port is done... what about now? iOS version? yeah go for it, I can clone the osx project and switch to iOS.
Some hours of converting and then you face 2 big problems:
- Convert all UI to be interactable buttons
- Your game takes too much RAM!!!
Ok the first was pretty easy. Add an invisible button to all prefabs, link them to an event, etc. 5 days and problem solved.
What about number two? I already dealt with similar problem when I did the porting for Xbox, but now is another story. I have only 1.5gb of ram in total. Remove all blendshape from FBX import is a good thing for sure, you can reduce up to 75% the ram usage for that model. Then you have to simplify fbx again and reduce textures. Another 10 days.
Ok now you have ported the game and you have 4 different projects! Good luck publish an update!
Addressables
Ok the game works but I have some cutscene (recorded from gameview to mp4) to show in certain point, how to load them without killing the ram? Addressables is the only way to accomplish that! Maybe I should use them also for some prefab/texture or gameobject. It will help me lowering the ram? Maybe... and with a price: load time are doubled. So no, I'll stick with addressable just for the mp4 files.
Audio
That is a whole different story... I have zero experience in audio! Some friends of mine works in the audio industry and the provided me for free some music and all the sfx in the game. That was a life saver.
For the acting part I just went to fiverr and pay 2 guys for recording the script and make some voice effect. Not expensive at all.
Then you have to mix everything in the mixer to lower or raise a certain music during a specific situation and so on.
There are a lot more to cover but I think that is enough for now.
Anyway, if you want to learn more about The Hotel visit
The game will be available on Steam in few weeks
Submitted by ilpalaz | #Specialdealer Special Offer Online Shopping Store 2016
No comments:
Post a Comment