So, I’m creating this survival shooter game, The Outsiders. In it, you play the badass alien soldier defending your planet against human invasion and such. It’s a survival shooter / arena game, so in the main mode you basically kill everything and survive as long as you can. It is a gory game, so I want to leave blood and corpses on the ground. Adding this to hordes of enemies, and you guessed it: frame drops all over. I’m doing it all in Blueprints so far. I’m a designer and know very little - let me stress, very little - about C++, but hey, already bought my course on coding and intend to develop my skills! I like to code as well.
I’m thinking how can I maintain a reasonable FPS count while leaving corpses and blood on the ground, which are a fundamental part of the experience. What I’m currently doing for the enemies is:
There’s an EnemyBaseClass parent BP for all enemies. In the BaseClass I create the Health System and derive it for the children. When the enemy is dead, I destroy the CapsuleComponent and CharacterMovementComponent, as to leave only the mesh itself behind. The artstyle is lowpoly with basically no textures, so the materials are color only. I intend to create just a couple materials and derive all the others from them, in an attempt to help performance as well, but so far in testing each color is a different material basically, but we have around 10 materials being used, so not much anyways.
Below is a screenshot on the game so far and the kind of situation will happen all the time, lots of enemies and corpses on the screen.
What are the tips, tricks and miracles I can use to achieve what I want and keep a good frame rate?
In this test, I began with 160FPS with no enemies on the screen and 42FPS in the configuration in the image.
Thank you very much!
PS: By the way, if you want to know more on the game, I’m on twitter, add @harrygamedev and @daisugames =)