Home Artists Posts Import Register

Content

This is an optimization test of the newly added monster wave system.

It seems that the performance is not very good because it is not perfectly applied due to our lack of technology.

You can see that it slows down a lot in the latter half of the video.

We plan to improve it by limiting the maximum number of monsters that can be spawned on the map.

Files

Queen's Loyalty - Crowd System Overload Test

This is a private video for Patreon 후원자들을 위한 비공개 영상입니다. パトロン様向けの非公開映像です。 这是为支持者准备的私人视频。

Comments

JAD

I remember I did this same stress test in the Test Room of Crawling Lab. I just sat there and pressed one of the BioDoll summon consoles for a good 3+ minutes straight... just to see what would happen. Long story short, it lagged the hell out of the game... and that was it, nothing really to right home about. This memory and this Queen's Loyalty footage, reminds me of when I played Ninety-Nine Nights on the 360, back when it came out (2006). The game had a similar "gimmick" of trying to have as many enemies on the screen as possible. And sure, it was impressive, but ultimately, it was just a gimmick. It didn't make the game any better, which Ninety-Nine Nights was mediocre, at best. While I think that Queen's Loyalty should try to push for many enemies on the screen... it shouldn't try to push for ALL the enemies on the screen. Nobody expects a small indie team to break records, when it comes to this feature. Because just like with Ninety-Nine Nights, you can have 500 enemies on the screen; running flawlessly, but it won't mean anything if the game isn't good. Not to make it sound like Queen's Loyalty may not be good, just that this feature isn't important, or at lease, not important enough to consume extra resources and time to try and break the limits. But hey, that's just me.

eTIRUe

I agree with you. We also think that it is difficult to set a record with optimization. However, we tried to secure a certain number of monsters to create a more dynamic battle. Thank you for always giving us good feedback and please continue to show interest. 😆

Marth

If you really want to do that, then consider lowering the quality of the further away enemies. Less detail and animation on the background enemies since players focus on what's around them. There was a post on reddit asking how the musou/dynasty warriors series pulls it off, and somebody replied: Basically, level of details and prioritization. Furthest invisible enemies, these enemies haven't spawned yet, but their group composition is somewhere in memory, so pretty cheap to keep. Furthest visible enemies, lowest mesh detail, probably don't animate, some just move positions in a wavy pattern to create illusion of movement. The combat is probably a mix of special effects Mid distant enemies, a single clip of animation is applied to multiple characters, which reduces the cost of animation sampling. No animation blending for these guys, so we don't want them to change action - too often - which will result in changing animation clip and the blending operation that happens to keep motion smooth. Nearby enemies, they come to surround the player, to keep the player's eyes on nearby enemies, so we can get away faking the further ones. Still most are not doing anything meaningful but just standing around or moving a bit. A single AI controller will issue commands to one or two of these nearby enemies to attack. These enemies get highest priority, animation blending, AI and what not. Then there's enemy type, captains probably gets higher priorities than trash mobs. Maybe their level of detail distant is further away, or maybe they're always in a state of high priority. Events that are happening in other end of the map is probably timed to happen after X minutes or so, or by some other triggers (e.g. the player took a keep, so a friendly general on the other end also took a keep). Stats & health are cheap, don't have to worry about them. On a more technical note, to squeeze further 1~2 FPS, nearby enemies had their stats (HP, etc) put in a contiguous array, every hits are queued, and we just go through and update the HP on a contiguous array, which is super fast because of memory caching and coherency. Other hardware tricks were also employed, but too details to explain."