Poor performance can quickly turn players away from a game and HypeHype can be played on a wide variety of devices. To give your game the best chance at success it’s important to ensure it will run well on any of them. In this article we’ll discuss some common causes of performance issues and steps you can take to optimize your game’s performance.
Performance is how well your game runs on different devices. Games function by running various processes very quickly. Any given device will have a limit to how many of these processes it can handle at once. If a game is trying to do more than the device can handle this causes performance issues. Most commonly these performance issues are going to cause the game to have a low frame rate (FPS).
Optimization is the process of improving how your game is built to reduce or prevent performance issues.
FPS is frames per second, a common measure of a game's performance.
What will cause performance problems and how to optimize a game to fix them can vary a lot from game to game. We won’t be able to cover all potential cases but the following tips should give you a solid starting point when dealing with performance issues in your games.
Preventing performance issues starts with frequent testing during creation. Finding issues early can be really helpful in squashing performance problems before they get out of hand.
It’s also really good to test on different devices. Many HypeHype players do not have the latest and greatest smartphones. If you have some older/weaker devices to test your game on this can help show you what the experience is like for these players.
So your game is having some performance issues. Before you start running down the list of potential fixes you’ll want to find where the problem areas are.
One way to do this is to disable different parts of your game one at a time and test. When a playtest has improved performance you know that the thing you just disabled is causing problems.
If your game is live checking player feedback in the comments is another way to identify where players are encountering issues.
If your game is live you can check it's average Frames per Second (FPS) by tapping on the Performance tab of the Stats page.
This page will display the average FPS across all devices it has been played on. Games should run at 60 frames per second. A value below 60 means your game is having performance issues on some devices even if it runs great on your own device.
The Playtest overlay includes a traffic monitor that displays how much processing power different aspects of your game are trying to use. You can use this to get an idea of what parts of your game are causing problems.
1 - During a playtest open the playtest overlay by tapping the small arrow icon on the left side of the screen.
2 - Tap the thermometer icon that appears on the right side of the screen to open the Traffic Monitor overlay.
Note: The traffic monitor takes a snapshot of what the game is doing at the moment it is opened, it does not currently provide real time updates as the game runs.
Some fixes may need to be applied to many different parts of your game. Try to test that the fix you plan to make is actually an improvement before taking the time to apply it everywhere.
After you’ve found some problem areas and applied some fixes it’s time to test again. Make sure the fixes you’ve made actually have a positive impact on performance and be prepared to revert the changes if they do not have the desired effect.
There are many potential causes of performance issues. This is not meant to be an exhaustive list but the following things are good places to start if you find your game is having problems.
Using a lot of physics can put a strain on processing power.
Most likely your game will have a lot of logic nodes controlling everything it does. These operations alone are usually light on processing needs and HypeHype can handle a lot of logic working at once but it still may be possible that some logic is working too hard and causing some problems.
How many objects are in view at any given time can have an impact on performance. If your game has too many objects visible at once you can try reducing the maximum view distance or lowering the FOV of your camera.
In HypeHype the max view distance is tied to the Fog settings. Try reducing the Fog End setting in the Fog tab of the Styles Editor to lower the maximum view distance.
FOV refers to the Camera's Field of View. If your game camera has a very wide FOV you can try reducing this in the camera settings to reduce the number of objects visible on screen at the same time.
Raycasters are often running all the time and may also be executing other nodes all the time as well. These operations can start to add up, for example, if you have Raycasters in reusable instances that are used a lot of times in a game.
Character models that have animations are heavier than other types of objects. These are any objects using the Character Animation Node (players, enemies, animals, etc.).
Custom characters or objects can end up with a large number of objects glued together. Try to optimize objects glued to a character
If you have used other game engines you may have learned that shadows are heavy for processing however this is much less of a factor in HypeHype. The way HypeHype renders shadows is much lighter and as a result disabling shadows in HypeHype is unlikely to produce significant performance improvements.