July 22, 2026
9 min read
Path of Exile 2's 2,000 Skeletons: Designing for Extreme Entity Counts

Key Takeaways
- •The Core Problem: Why 2,000 Skeletons Break a Game
- •Understanding the Bottlenecks
- •CPU Bottlenecks
As game developers, we often strive to create experiences that push boundaries, offering players unprecedented freedom and power. But what happens when that power, combined with a touch of ingenuity, leads to a literal "frame rate shredder"? The recent incident in Path of Exile 2, where players managed to summon a colossal army of 2,000 skeletons, provides a vivid case study in the challenges of designing for extreme entity counts and the emergent chaos that can ensue. This guide delves into the technical and design considerations necessary to manage such scenarios, ensuring both player agency and game stability.
The Core Problem: Why 2,000 Skeletons Break a Game
The concept of a "minion army" is a classic fantasy trope, appealing to players who enjoy commanding hordes. In action RPGs like Path of Exile, summoning builds are a staple, allowing players to feel powerful as their summoned allies overwhelm foes. However, when the number of these entities scales into the thousands, even the most robust game engines can buckle. The Path of Exile 2 incident highlights this critical threshold, where a player's creative build resulted in a massive performance hit, turning the game into an "ultimate frame rate shredder" for unsuspecting players.
This isn't merely about rendering polygons. Every single skeleton, every minion in that army, represents an individual entity that the game engine must track, update, and render. This involves:
- AI Logic: Each minion needs to decide its actions, target enemies, navigate the environment, and potentially interact with other game systems.
- Physics & Collision: While often simplified for minions, their presence can still impact collision detection, especially in tight spaces or against environmental hazards.
- Animation: Even simple animations for movement or attack cycles consume CPU and GPU resources.
- Shader Complexity: Particle effects, auras, or unique visual traits for each minion add to the rendering burden.
- Networking (for multiplayer): In a shared world, the state of all these minions must be synchronized across clients, adding significant network overhead.
The cumulative effect of these processes quickly exhausts system resources, leading to drastic frame rate drops and a degraded player experience.
Understanding the Bottlenecks
To effectively design against or manage extreme entity counts, developers must understand where the primary performance bottlenecks typically occur.
CPU Bottlenecks
The CPU is often the first component to struggle with large numbers of individual entities. Each entity's AI, pathfinding, and game logic updates run on the CPU. When thousands of these updates happen simultaneously, the CPU can become overwhelmed.
- AI and Game Logic: Complex decision-making trees, target acquisition, and state transitions for each minion can quickly consume CPU cycles.
- Pathfinding: Calculating optimal paths for numerous agents, especially in dynamic environments, is computationally intensive.
- Collision Detection: While GPU-accelerated solutions exist, basic collision checks for thousands of entities often fall to the CPU.
- Scripting Overhead: Games with extensive scripting for abilities or interactions can see increased CPU usage per entity.
GPU Bottlenecks
While often associated with high-fidelity graphics, the GPU can also become a bottleneck with many entities, even if individual models are simple.
- Draw Calls: Each unique mesh or material typically requires a "draw call" to the GPU. Thousands of individual minions mean thousands of draw calls, which can quickly saturate the GPU's command buffer.
- Overdraw: When multiple transparent or semi-transparent objects are rendered on top of each other, the GPU has to process more pixels than what is ultimately visible, leading to overdraw. Minion effects like auras or spells can exacerbate this.
- Shader Complexity: Even a simple minion model can have complex shaders for effects or material properties, which multiply across thousands of instances.
Memory and Bandwidth
Large entity counts also put pressure on system memory and bandwidth.
- Asset Loading: Each minion, even if instanced, contributes to the total memory footprint of loaded assets (models, textures, animations).
- State Management: Tracking the position, health, and current state of thousands of entities requires significant memory.
- Data Transfer: Constantly updating and transferring this data between CPU and GPU, or across a network, consumes bandwidth.
The following chart illustrates a typical performance curve as entity counts increase, highlighting the point where performance sharply declines:
- 0 : 60
- 200 : 60
- 500 : 60
- 1000 : 60
- 1500 : 60
- 2000 : 60
- 0 : 60
- 200 : 55
- 500 : 40
- 1000 : 25
- 1500 : 10
- 2000 : 5
Design Philosophy: Embracing or Mitigating Emergent Behavior
When players discover ways to push game systems to their limits, developers face a choice: embrace the emergent gameplay or mitigate its impact.
Embracing Emergent Gameplay
Sometimes, emergent behavior, even if taxing, can lead to unique and memorable experiences. If the "2,000 skeletons" scenario was a rare, difficult-to-achieve feat that offered immense satisfaction, a developer might consider:
- Optimizing for the Edge Case: Invest resources into making the game perform acceptably even under extreme conditions. This can involve aggressive culling, level of detail (LOD) systems for AI and rendering, and optimized data structures.
- Providing Tools for Players: Give players options to manage visual clutter or performance, such as toggles for minion effects or simplified rendering modes.
- Acknowledging the Feat: Sometimes, simply recognizing and celebrating a player's innovative use of mechanics can foster goodwill, even if it highlights a technical limitation.
Mitigating Undesirable Emergent Behavior
More often, such extreme scenarios are detrimental to the overall player experience and need to be addressed. Mitigation strategies include:
- Hard Caps: Implementing a strict limit on the number of active minions a player can summon. This is the simplest and most direct solution.
- Soft Caps and Diminishing Returns: Allow players to summon many minions, but make subsequent summons less powerful, shorter-lived, or more expensive. This discourages excessive summoning without a hard limit.
- Performance-Based Scaling: Dynamically adjust the complexity of minion AI, animation, or rendering based on real-time performance metrics. For example, if the frame rate drops below a certain threshold, minions further away from the player might switch to simpler AI routines or lower-detail models.
- Area-of-Effect Limitations: Design abilities so that minions summoned beyond a certain radius from the player or a central totem despawn or become inactive.
Technical Solutions: Practical Optimization Strategies
Beyond design philosophy, numerous technical approaches can help manage high entity counts.
1. Instancing and Batching
Instead of sending individual draw calls for each identical minion model, instancing allows the GPU to render multiple copies of the same mesh with a single draw call, providing unique transform data for each instance. Batching combines multiple small meshes into a larger one to reduce draw calls.
2. Level of Detail (LOD) Systems
Apply LOD to both visual and behavioral aspects of minions:
- Mesh LODs: Use simplified models for minions further away from the camera.
- Material/Shader LODs: Reduce shader complexity or disable certain effects (e.g., dynamic shadows, complex reflections) for distant minions.
- AI LODs: Implement simpler AI routines for minions that are not in direct combat or are far from the player. They might update their state less frequently or use simpler pathfinding.
3. Culling Techniques
Culling involves not rendering or processing objects that aren't visible or relevant:
- Frustum Culling: Don't render objects outside the camera's view frustum.
- Occlusion Culling: Don't render objects hidden behind other objects.
- Distance Culling: Despawn or disable minions that are too far from the player, especially if they are not actively engaged.
4. Optimized Data Structures and Algorithms
Efficient data management is crucial for CPU performance:
- Component-Based Architecture: Design minions using a component-based system, allowing for flexible and performant updates.
- Data-Oriented Design (DOD): Organize data in memory to be cache-friendly, leading to faster processing by the CPU.
- Spatial Partitioning: Use data structures like quadtrees or octrees to efficiently query for nearby entities for collision detection or AI calculations.
5. Multithreading
Distribute heavy computation tasks, such as AI updates or physics, across multiple CPU cores. This allows the game to utilize modern hardware more effectively.
- Job Systems: Modern engines often provide job systems (e.g., Unity's DOTS, Unreal Engine's Task Graph) that facilitate safe and efficient multithreaded programming.
- Asynchronous Loading: Load assets for new minions in the background to prevent hitches.
6. Network Optimization
For multiplayer games, network traffic for thousands of minions can be devastating:
- Replication Frequency: Only replicate minion state updates when necessary, not every frame.
- Delta Compression: Send only the changes in state, not the entire state, for each update.
- Prediction and Interpolation: Clients can predict minion movement and interpolate between received updates to smooth out visuals, reducing the need for constant updates.
- Authority Management: Decide which client or server has authority over minion states to minimize conflicts and redundant data.
The Balancing Act: Player Agency vs. System Stability
The Path of Exile 2 incident underscores a fundamental tension in game development: the desire to empower players with vast capabilities versus the need to maintain a stable and enjoyable technical experience for everyone. While a "minion army" of 2,000 skeletons is undeniably cool, if it renders the game unplayable, it ultimately fails as a feature.
Game developers must carefully consider:
- Target Hardware: What are the minimum and recommended specifications for the game? Design choices must align with these.
- Player Expectations: Do players expect to be able to summon infinite minions, or is there an implicit understanding of reasonable limits?
- Gameplay Impact: Does allowing extreme entity counts genuinely enhance gameplay, or does it primarily serve as a novelty that breaks the experience?
- Development Cost: The resources required to optimize for extreme edge cases must be weighed against other development priorities.
Ultimately, the goal is to find a sweet spot where player creativity is rewarded, but not at the expense of the game's integrity. This might mean setting hard limits, implementing clever dynamic scaling, or even redesigning mechanics to achieve a similar power fantasy through different, more performant means. The Path of Exile 2 situation serves as a powerful reminder that even in the most ambitious games, performance optimization for emergent player behavior is not just a technical detail, but a core aspect of game design.