
Pirateditor was my first major project in Unity — a precision-based action platformer featuring a built-in level editor.
It was developed as the final project for my first academic year, with the goal of going beyond the typical 2D platformer. I began working on it just a month and a half after starting to learn Unity.
Role: Programming
Team Size: 1
Duration: 2 Months
Engine: Unity Engine URP
In this project, I prioritized game mechanics over visuals, focusing on building a solid, optimized, and flexible system. My goal was to implement as many gameplay ideas as possible within the limited development time.
Save System
● Efficient data saving to disk.
● Players can create and play their own levels.
● Each level is stored in an encrypted file containing:
○ Block and entity positions.
○ Level configuration.
○ Player information.
Included Levels
● Two pre-built levels ready to play.
● Completing them and collecting all coins unlocks new blocks for the editor, introducing a sense of progression and objectives to the game.
Optimization (Culling)
● Efficient culling system: blocks and entities outside the camera’s view are dynamically hidden, even while moving.
● Distance-based adjustment to maintain high performance.
Smart Blocks
● Blocks automatically change their skin based on surrounding tiles.
● When adding or removing a block, adjacent ones update dynamically.
● Highly optimized system ensuring excellent performance.
Rails & Platforms
● Rails for moving platforms and rotating blades.
● Mechanics designed to enhance variety in level design.
● Instant switching between Edit and Play modes.
● When returning to the editor, enemies and platforms reset to their initial positions, enabling fast iteration.
● Included:
○ Free movement in all directions.
○ Camera zoom and lock options.
○ Multiple block layers (background walls, blade paths, platforms, interactive blocks, decorations, etc.).
○ Smooth placement, duplication, and deletion of blocks across layers.
● Movement in all directions.
● Jumping and randomized attack animations.
● Throwable sword:
○ Only one sword available per playthrough.
○ The sword sticks into surfaces or enemies until retrieved.
● Three enemy types, each with unique behaviors.
● AI System:
○ Detects nearby blocks and entities.
○ Can jump across blocks, even on uneven terrain.
○ Compatible with moving platforms, pursuing the player naturally.
The most common enemy. Slow but capable of attacking in both directions.
Has a high chance to dodge attacks — best defeated using the sword throw.
Fast, unpredictable, and performs a quick charge attack toward the player.