Arena Survivor
A multiplayer arena game with a combo system, loot drops, and a custom ultimate ability.
Details
Why I built this
Arena Survivor is my canvas for my creativity. I wrote variables, called functions, added reward logic, and planned improvements before turning them into code.
Bugs and breakthroughs
- I took the game from its simple base state and turned it into a fully featured multiplayer game.
- I figured out how a boss death can trigger bigger rewards, screen effects, and special powers instead of only adding score.
- I turned my earth power idea from a freeze effect into a real wall that appears in front of the player.
- I practiced connecting player direction, enemy logic, visual effects, and cooldowns so the elemental powers feel like part of the game.
Proud code
function onEnemyKilled(enemy, position) {
addScore(10);
spawnLoot(position.x, position.y);
if (enemy.type === 'Boss') {
screenFlash('#ffaa00');
screenShake(25);
activateBossBuff();
}
if (enemy.type === 'Super boss') {
screenFlash('#ffaa00');
screenShake(25);
grantRandomPower();
}
}
I used if blocks to make different enemy types trigger different rewards and special effects.
if (activePower === 'earth') {
const wallDistance = 60;
const wallX = player.x + player.facingX * wallDistance;
const wallY = player.y + player.facingY * wallDistance;
spawnWall(
wallX,
wallY,
200,
40,
3000,
'assets/default-wall.png'
);
}
This is the elemental power I am proud of: the game reads the player's facing direction and places an earth wall in front of them.