Hey everyone!
My name is Rafael, I am the creative director on my debut (and the only game I plan on making) EmergeNYC. A firefighting, police, and EMS simulator.
The title is already available on Steam Early Access: EmergeNYC on Steam
The game first released in November 2016 and has done relatively well selling approximately 30,000 copies to date.
I am a 24 year old independent developer with no team whatsoever other than a freelancer to help me with programming and networking. I have self taught all my skills (3D Art, Animation, Unity its self, and everything else needed to get this far with this game). I have been using Unity for about 5-6 years now learning more and more things every day. My game has a strong unique concept and creative design that I know, if executed right, could lead to a massively successful title.
However, there has always been 1 problem growing more and more apparent. A rather significant weakness in my creative design process. Optimization.
The one problem seen throughout all negative reviews go something like “The game won’t load on my PC”, “My Frame rate is terrible”, or “The game crashed”.
This is attributed to the fact that we are trying something enormous. A huge recreation of Manhattan NYC, detailed trucks & vehicles, amazing looking fire & smoke effects, a ton of very enthusiastic but demanding features. The project is a large mash-up of self made content and a mix of a lot of 3D Assets, framework assets, and other outsourced or paid for content.
My goal for 2019 is to really address this issue of poor performance, memory leaks, loading times and try to improve these issues by at least 50-100%.
Problem Areas:
-
Large Interior Scenes: within the city (Detailed & Complex Interiors already in the scene when game loads)
I want to find a way to stream these in or have them load in dynamically without a noticeable lag spike when loading all the textures, materials etc and not have them be loaded or in memory unless you are near the area. At the moment this is restrictive as if I try to add any more interiors to the game, when making a build, many textures are corrupted. -
Obi Rope system: for fire hose physics (Waiting on Obi 4.0 to see if it helps)
- Physics processing: (Particle physics, vehicle physics, traffic physics etc.)
-
Draw calls: Can definitely be improved on. Materials, textures, models etc.
-
Lighting: Baked lighting, dynamic lights, interior lighting etc.
Actions already taken already for optimization:
- Object pooling for street props and other game objects.
- Occlusion Culling
- LODs for trucks & some buildings
I’ve made this thread to document and track the optimization process as well as share tips and ideas for others with the same issue.
HELP WANTED
If the game concept interest you and you feel that you can help us reach our goal of 50-100% improvement in performance etc, we are looking to invest a portion of our budget into fixing our weakest point and biggest priority. Here is a link to the Unity Connect job thread:
https://connect.unity.com/jobs/5c35663aedbc2a2ad6903a35
This is NOT an easy job. The project is massive, you need a powerful PC to be able to work on the project, it will take time to find problem areas, understand certain code, and to optimize models, textures, materials etc.
TL;DR
24 year old independent self taught developer creating large open world Fire/Police Sim.
Looking for help and tips on how to improve performance, memory management, loading times etc.
Made this thread to document and track the optimization process as well as share tips and ideas for others with the same issue.
Interested in hiring a team member specifically for Optimization.
Job Thread here: Unity Learn