Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Limit the number of weapons to 2-3. This is possibly the biggest FPS killer.
Limit the number of projectiles. I keep mine at 50 even tho I know my PC can handle more.
Turn down the settings in Video. I keep Textures and Visuals maxed and the rest at Low.
There's some other settings that can help, too, but they have a trivial impact.
Medium settings for me and I'm getting 60 FPS all the time, I don't have a high end PC either.
WTF? :)
We play these kind of games that allow us to "break" them, in terms of big numbers, not to limit us to "harmless" numbers. If I have a game where I can have 500+ projectiles, I want to be able to use them. If a dev gives you these options, it's their duty to polish the calculations and background cleanup so it doesn't affect the game experience too much.
(I do not mean this in any aggressive way - I hate to have to state such things)
I think one of the biggest problems is, that the game renders also stuff offscreen. So if you have 200 explosions a second off screen, it still renders them. The game should do a hard cut-off of everything that goes offscreen in terms of rendering and just calculate the stuff in the background, that should get rid of at least 30% of the general gpu usage.
the rest is starting to make smart culling of objects not needed. For example we could save quite some ressources if we have the void spirit that the collected EXP with that is not even being spawned anymore but just being calculated into the char as if he picked it up. That saves spawning them, moving them, checking if they hit the character etc. etc. etc.
Also an idea would be to have a maxium range offscreen of where stuff can be. Let's say everything that is further than 0.5 screens away from the screen edges will be force moved with the character. This reduces the area of stuff that has to be calculated.
Also some general ressource cleanup and probably some code cleanup will help tremendously on top.
If you're already having issues with the game on your system (especially if you have the settings turned down) then these small optimizations aren't going to suddenly make it playable. The post processing is what is eating the majority of the resources in this game. The thousands of gems flying into me do nothing to the framerate.
The recommended requirements aren't even high. Just upgrade your computer already.
It is though.
I don't have the fps issues ya'll have. I've got an rtx 1050ti, pretty dated now, and I don't have all the lag other folks get hung up on demanding solutions. For whatever reason your problem is not every one's problem and that suggestion Caz gave does help some people.
I love RG cause I can do stuff to it that should break it and it keeps going. You can too. The game isn't what's limiting you. You're saying that yourself.
Then you're also saying the dev should send you a new laptop, or gpu, some ram with the purchase of the game. It's an incredible game that can do what you said. Then you talk about you wanting to limit it the way you want it limited for you.
Having 2-3 weapons / summons still destroys everything with the right build. The more weapon cards you take up the more levels you have to get to complete that before being able to work on your rog. In really difficult challenges or getting deep into the challenge multipliers to get higher numbers, it's a HUGE dedication of time to get a bunch of weapons and evolutions. You can do that if you choose. If your rig can do that. But the limitations of your rig have nothing to do with the dev concept on that end.
Also, what Tsi said.
I would like the optimisation of the game to be as simple as that.
The game is almost optimised to the most possible without having to rewrite the entire game from scratch in a custom engine.
Most of what you suggest is either already done or has close to no effect on the performance.
Every effect that are off-screen are already culled
Void Spirit already greatly reduce the maximum number of soulgem that can exist at once (not that they had much impact on performance to start with anyways)
There is also very little stuff that are still active out of screen, enemies get teleported on the other side of you screen if they get too far, projectiles see their lifetime greatly reduced when too far away.
Only thing that can spawn a bit farther are crates, tree and shrines. and I have yet to see performance issues related to them atm.
Thinking that the performance issues is due to the GPU is false 95% of the time, what is expensive in most save that have performance issues, are either
projectile collision (and I'm not speaking about 500 projectiles, i'm speaking about builds with 10k+ projectiles), which already seen ton of optimisation (calculation is done on 2D, mostly Circle collision, AND Multi-threaded).
Or Damage Calculation/processing, as there is many projectile intereacting with many enemies, you can easily get 10 to 50K+ damage application done in a single frame (especially when you have very large projectiles).
Similarly, damage calculation is already paralelized as much as possible (they are stacked together and I check On Damaging/ Death check only once per frame per monster).
I even hired someone to optimise the game at one point, she was initialy hired for 2 month, and had ton of experience optimising indie games, she gave up after 1 years and a half because the only possible optimisation was super hardcore aproximation of the whole game.
If you are interested in more details,
I've made a blog post where I explain my process on optimisation.
https://store.steampowered.com/news/app/2067920/view/3669925177420091528?l=english
There is also this dev blog where I talk about transition from 3D collision to 2D collision
https://store.steampowered.com/news/app/2067920/view/3764506477364821747?l=english
My job before working on Rogue: Genesia was as a Technical Artist, specialized in rendering and optimisation, so i'm very awake of the classic pitfall.
This was also what the person i've hired back then though, they expected some very classic easy performance optimisation, when in fact it's just the game giving a bit too much freedom to the players (that I won'r remove anyways).
In the end I had to put some setting that limit projectiles and weapon (they can still be modifier by players) to values that shouldn't affect too much of the game experience while avoiding most extremes performance issues case.
the thing that tanks fps the most is post processing (set it to medium - there is no difference between medium/low in performance)
i have gtx 1060 too and to get good fps (around 90 all the time) i had to use nvidia image scaling and disabling fsr in game
to use nvidia image scaling go to nvidia control panel >manage 3d settings->program settings>choose game (you have to add game exe file)>image scaling to enabled and click apply - then you just lower in game resolution (it scales it back to your native - its basically worse dlss for cards that dont support dlss)
Yeah. That was cool to learn. Kannakamui.de, sorry for how I spoke.
Plexus did a mod for Noita a long time back that was popular there. That was the first time I'd heard of the work that lead me to learn about RG later. Rogue Genesia reminds me waaaaaay more of a semi controlled Noita concept than a VS clone, where so many other games this one will be compared to are straight VS clones or bullet hells. The randomness along with the difficulty scaling gives great replayability. Life in america is what it is rn. I'm frustrated by this administration. I let that affect my response to another player, and we're all just looking to play the game (to break it). Respect.
I'll just ramble about some thoughts here :)
So the sheer amount of projectiles, and therefor triggered events, breaks FPS.
What is worse:
- an arrow being split by Fractal
- an explosion
?
I guess an explosion because it can hit more enemies, after the initial hit, then Fractal?
On the other hand +projectile modifiers, +attack speed, might make Bow, Shuriken, Kunai and Thunder Staff worse?
Players want upgrades, want to feel powerful.
Mowing down hordes of enemies.
I see the vicious cycle.
Based on your numbers from above, cutting down enemies/projectile numbers by half will not help.
More like cutting down by 10 or even 100 (late-game).
However that would not work in earlier stages ...
From your news about Physics calculation rework, from 3D to 2D: is the enemies hitbox really a circle or is it a rectangle?
In my mind a collisition detection with a rectangle is simpler than with a circle. I guess you already tried that?
I mean, maybe reducing precision might help you.
As far as I can remember there're no interactions between weapons, right?
I'm not talking about fusion of 2-3 weapons.
I mean something like: one weapon freezes enemies which makes another weapon more powerful?
If that's the case could you deticate 2 threads per weapon: one for collision detection and the 2nd for the damage calculation.
Also I think it would be OK all those threads would be running at lower update rates?
However that would introduce a new problem ... "when" is an enemy dead?
What if this is delegated to another thread?
I mean ... it would cause some sort of "kill lag", right?
A projectile would hit an enemy and not immediately kill it.
- would that be noticable (easily)
- would that make the game feel "bad"
I would argue that a very short delay would be ok, especially with the enemy amount currently in the end-game :)
Also this way there could still be 'interactions' between weapons, which then could be handled by threads after damage caluclation, or maybe be queued and handled at the next frame/physics tick.