Phantom Software
Projects

Samurai X

2D Fighting Game
Play GameView Source
Vanilla JavaScript (ES6)
HTML5 Canvas API
CSS3
2D Sprite Sheets
Preview
mainmenu.app
Main Menu
combatgameplay.app
Combat Gameplay
attackanimation.app
Attack Animation
gameoverscreen.app
Game Over Screen
About This Project

A retro-style 2D fighting game featuring samurai warriors in local multiplayer combat. Built from scratch using pure web technologies without any game frameworks, this project demonstrates advanced JavaScript programming and custom game engine development. Players battle in a scenic Japanese environment with parallax backgrounds, smooth sprite animations, and responsive combat mechanics.

Features

1

Custom-built game engine using vanilla JavaScript and Canvas API

2

Smooth sprite animations with 4-8 frames per action (idle, run, jump, attack)

3

Physics-based movement with gravity simulation

4

Precise hitbox collision detection system

5

Local 2-player combat with separate control schemes

6

Parallax background system with animated environmental elements

7

Professional UI with health bars, timer, and menu screens

8

Real-time health tracking and win condition logic

Technical Challenges

Building a custom sprite animation engine without game frameworks

Implementing smooth collision detection at 60 FPS

Managing animation states and priorities (attack > jump > run > idle)

Creating responsive combat with proper hitbox calculations

Optimizing Canvas rendering performance for smooth gameplay

Developer

Solo Developer

Outcomes

Fully functional 2D fighting game with no framework dependencies

Smooth 60 FPS gameplay with responsive combat mechanics

Clean object-oriented architecture using ES6 classes

Professional game flow with menu, gameplay, and game-over states

Demonstrates deep understanding of core JavaScript and Canvas API

Responsibilities

Custom sprite animation engine with frame-based rendering

Physics simulation system with gravity and velocity calculations

Hitbox-based collision detection for combat mechanics

Game state management (menu, gameplay, game over)

Local multiplayer controls and input handling

Like what you see?

Let's collaborate on your next project and create something amazing together.

Get in Touch