EvilSlayer

“Soul Harvest” is a third-person action survival game where players must endure endless waves of enemies in an open field, collecting energy gems that grant experience and power.

As you defeat enemies, you collect gems that make you stronger — increasing your health, speed, and strength, while unlocking new floating weapons such as spinning orbs and mystical scythes that automatically attack nearby foes.

But with each level, enemies become more aggressive and intelligent, using the terrain to their advantage. Only by managing your upgrades wisely and choosing your evolutions carefully can you survive.

Inspiration

The game is inspired by titles like Vampire Survivors and other fast-paced action classics, blending the feeling of unstoppable growth with the controlled chaos of continuous combat. The goal is to maintain a constant flow of adrenaline: collect, upgrade, destroy, and repeat — each time becoming a little more powerful.

One-Line Summary

“A survival and progression game where collecting gems makes you stronger — but every second you survive unleashes even deadlier enemies.”

What it does

EvilSlayer is an interactive 3D action experience built in Horizon World Editor where players must fight waves of magical enemies that react dynamically to player presence. Each enemy uses intelligent pathfinding and physics-based movement to follow the player, attack, and drop experience gems that can be collected to gain power. The system manages enemy spawning, movement, and player interaction entirely through modular Horizon Components, allowing full scalability and replayability.

How we built it

We built EvilSlayer using Horizon Core, leveraging its component system and event-driven architecture. The gameplay logic was written in TypeScript with real-time updates, collision triggers, and network broadcast events for multiplayer synchronization. We implemented:

Custom components (MageEnemy, RecoveryGem, etc.)

Local and network events for combat and experience handling

Dynamic physics and player detection

Modular design for future expansion with new enemy types and powers

Challenges we ran into

Implementing smooth and natural enemy movement without a built-in NavAgent component required a lot of experimentation with manual physics and position interpolation.

Handling multiplayer synchronization between enemy events and player states.

Getting gravity and ground alignment to behave consistently across different terrain geometries.

Maintaining performance while running multiple enemies simultaneously in the world.

Accomplishments that we're proud of

Built a complete, modular AI enemy system from scratch using only Horizon Core primitives.

Achieved stable real-time interactions and collisions across networked players.

Designed reusable event structures (playerGotHit, removeMage, playerPickedGem) that make the system expandable.

Created a fun, responsive experience where every element — from attacks to gem rewards — is dynamically interconnected.

What we learned

Deep understanding of Horizon’s entity, event, and component model.

How to design asynchronous systems that remain deterministic across multiplayer contexts.

The importance of debugging physics and timing in real-time environments.

How to structure code for reusability and readability in a live game engine.

What's next for EvilSlayer

Expand with ranged enemies, boss fights, and elemental attacks.

Introduce player upgrades, new arenas.

Integrate a progression and leaderboard system to enhance replay value.

Polish visuals and sound design for a full-release experience inside Horizon.

Built With

  • chatgpt
  • gimp
  • metaai
  • metahorizonworlds
  • vscode
+ 3 more
Share this project:

Updates