Featured ProjectWorlds Collide
Worlds Collide is a student-developed RTS featuring two opposing factions: goblins and machines. Created by a team of approximately 15 students, it's the project I'm proudest of because of the care and coordination required to bring it to life.
Inspired by StarCraft II and Warcraft III, the game adds terrain construction as a strategic mechanic while keeping other systems relatively simple. We even were able to implement online multiplayer using Epic Online Services!
GameplaySee It in Motion.
Tutorial and Camera Movement
One of our priorities was building a tutorial to create a useful vertical slice, which you can see here. I programmed the camera controls, including edge scrolling, WASD movement, Q/E rotation, and scroll-wheel zoom.
A key challenge was scaling camera speed based on proximity to the screen edge while using percentages to ensure consistent behavior across resolutions.
Troop Movement
As the primary programmer for controls, I implemented troop selection and movement. Players can select entire groups, Shift-click multiple groups, or drag a selection box. Right-clicking moves troops toward a destination while preserving their formation by maintaining each unit's relative position.
Troop Movement cont.
Holding Shift while right-clicking activates attack mode. Normally, troops only search for enemies once they reach their destination. In attack mode, they detect enemies while moving and stop to engage them. This prevents unwanted distractions during normal movement.
Terrain Manipulation
Our terrain system allows players to flatten terrain, build ramps, and place blocks or walls. Another programmer implemented the core system, while we worked with designers to refine its mechanics.
Terrain costs credits, which regenerate over time, and cannot be built within the enemy's territory. That restricted zone expands when enemy units enter it.
I implemented the system for switching between army, terrain, and building modes. The terrain itself is generated from a height map, making it easy to create additional maps and edit existing ones.
Combat
I implemented a combat system in which each troop has its own enemy perception. When one troop spots an enemy, it adds that enemy to the entire unit's target list. Once a troop's target dies, it selects the nearest remaining enemy from that list, moves to them, and attacks.
Buildings
Players can switch to building mode to construct buildings that spawn different goblin and robot units. Buildings cost gold, take time to construct, and cannot be placed in enemy territory. Players can also upgrade their building limit, as well as the buildings themselves, allowing for upgrades to units, such as more abilities and faster respawn time.
The system was designed to support future defensive, offensive, and economic structures.
Animation
With the project currently on hold, one of my final contributions was animating several units, including the scout bot and spear goblin. Animation was outside my usual comfort zone, but it was a valuable opportunity to learn.
My favorite details are the scout robot's wind-up key and stiff yet bouncy movement, along with the spear goblin's subtly flapping ears.
Back to Projects
More things I've been building.