In Sky Knights, players take on the role of a a Sky Knight: a warrior equipped with magic powered weaponry and a grappling hook + rocket booster combination that serves as his primary means of locomotion. The game features fast-paced aerial combat, exhilarating high-speed swinging mechanics, and two unique game modes.
In Chase mode, all players try to become the Rabbit for as long as possible to build up points and win the game. Killing the current Rabbit (marked with a pink smoke trail & grapple) makes you become the Rabbit, creating a dynamic 1 vs. many game of "reverse tag"
Shard mode is a team based resource capture mode. Teams fight over periodically spawning neutral Shard resources in an effort to capture them. However, Shards are not cashed in immediately - they must be defended for a short while, or else they can be stolen by the enemy team, creating an intense mix of team based offense and defense.
Sky Knights marks the team's first 3D game, first networked game, and first use of the Unreal Development Kit
Team Role: Lead Programmer
Team Size: 6 Developers (2 programmers)
Genre: Multiplayer FPS
Engine: Unreal Development Kit
Development Cycle: 12 weeks
What Went Well
- I was able to make a very quick proof-of-concept for the primary Grapple mechanic
- Found fun of the game immediately, both game modes worked exactly as designed and were well received
- Team dynamics were very good
- All game content was constantly tested over the network, so we didn't have any surprise replication issues
What Went Wrong
- Controls were initially too difficult for most players. Required rework and still ended up being too difficult for some players
- Large scope of the project meant several late nights
- During development, communication between departments became too lax at one point, requiring rework later
- Not enough focus was given to weapons initially, since focus was almost entirely on the locomotion mechanics
What I Learned
- Team dynamics play an incredible role in the final quality of the game
- Finding the fun of the game quickly allows for better iteration through the latter part of development
- Complex mechanics and systems should not have to translate to complex controls
- When making a multiplayer game, if it doesn't work over the network, it doesn't work period.