The Mechwarrior series is well known for catering to gearheads with all of the interchangeable parts and weapons (mostly weapons) that you have. The feeling you get when customizing your own giant robot is the same feeling I wanted to get in GigaSun Jet. In some way, you can actually have fun without shooting anything. What a wonder! I also loved the old Armored Core games (I missed out on Project Phantasma). The sense of control was great and I had fun trying to find the right equipment to match with the fastest leg parts. How could I get some of that into my own game? Does it work without giant robots? Let’s look at the real question I had to answer.
* Note: As GigaSun Jet is not yet released, details of the design and implementation may yet change.
How can a parts system be exciting?
There’s something about collecting that appeals to us. There’s something about creation that is deeply natural to us. There is an innate drive for us to optimize and improve our situation, whatever it may be. These are the basic ideas that make a parts system fun. What I wanted to do is to create such a system that makes all of this possible, yet also non-frustrating and cohesive within a shoot ’em up. My parts system would be good if it allows you to collect, combine, and upgrade. However, to make it great, it has to be clean and uncommonly integrated with the rest of the game. After all, this is the kind of system in games where you can take the time to think before acting. Following long threads of thought, like a conversation in a daydream or looking ahead several moves in chess, is an enjoyable exercise and challenge that appeals to many types of players.
The “roguelike” genre is one which really capitalizes on our passion for collecting stuff. In a typical roguelike, such as Castle of the Winds, there is junk everywhere. Some of it you keep, some of it you sell. You might explore every inch of each dungeon floor just to make sure you don’t miss new items. They just might be better than what you have! Plus, the money you get from selling them can give you access to pricey artifacts in the shop.
Equipment in a standard roguelike includes things like weapons, armor, a shield, a helmet, gloves, boots, and often magical rings and such. These types of equipment create a kind of structure for the player to build ideas upon. Limitations allow the player to use logic in order to optimize a character’s abilities. You can only have one helmet is a common (and logical) limitation. You may be limited to one weapon, maybe two if you can fight with two swords. Depending on the game, you might be able to wear lots of bling-bling. Magical rings tend to be awesome. Each item contributes to some character stats and might even take away from some stats.
Parts in GigaSun Jet
GigaSun Jet has some important similarities with roguelike games. In GigaSun Jet, you buy or find ship components (i.e. parts). These components occur in one of 10 types. Like a roguelike, you’re limited to how many of each you can equip, so you must think through or try out the combinations in order to determine the best setup for your ship.
Alright, we finally get to the structure and function of parts in GigaSun Jet. We’ve had enough background and theory for now, I think. I’ll save the rest of the theory for the next post.
When I first started working on GigaSun Jet (long, long ago), I brainstormed about the possible variables that could affect the movement and combat abilities of a ship. I originally came up with a pretty big list. I implemented parts which grouped these variables and then tried to design the gameplay around them. It was tough to do this and keep the game consistent and logical. After several refactorings and redesigns, I managed to boil down the number of parts to ten different component types. Here we go!
The hull represents the structure of the ship. It determines your ship’s durability (hit points), shape (for collisions), and graphical appearance. The hull also imposes limits on what other parts can be used. One hull might be able to hold parts with more mass, another might have more weapon slots. It’s a pretty important part. When the hull runs out of hitpoints, you lose.
Engines are what make you move. An engine controls your acceleration, top speed, and turning rate in addition to supporting quantities like drag. Needless to say, I really enjoy it when physics gets involved in my designs, and this was one of those places. To make a soft, intuitive top speed (as opposed to an abrupt change to constant speed when you go too fast), I had to take the time to write equations to relate thrust, drag, and top speed.
An engine only makes you move forward and turn. Turning used to be done by another part, but when I worked to simplify the energy system, the only thing that part did was determine the turning rate. Hence, I folded that functionality into the most similar part, the engine.
Boosters also make you move, but in a different way, for a different purpose. The purpose: Dodging. Dodging is a core mechanic which makes combat much more tactical. You can choose when to stand and take hits or you can actively avoid projectiles. Boosters tend to move your ship more suddenly (more acceleration) than the engine, but drain much more energy. To facilitate dodging, you can use boosters to send your ship in any direction, whereas engines only move you forward.
Radar helps you see beyond the screen. Radar is an important part of GigaSun Jet. Like most other games, your view is stuck within this weird rectangular region, an artifact of playing on a modern computer screen. It gets even worse when you have to share the screen with three other players! My efforts with the radar were meant to minimize the effect this strange sight restriction has on gameplay. When the ship is equipped with a radar, you get a minimap overlay showing you obstacles and enemies. Radars also add a targeting reticule on top of your target enemy. To somewhat extend your vision, you also get arrow indicators which point out off-screen enemies and give you an idea of how far away they are.
The reactor stores and recharges your ship’s energy. Batteries used to be a separate part, but were merged into the reactor due to a lack of purpose beyond just having an energy total. Reactors also affect your stealthiness.
Shield generators create a deflector shield defense system for your ship. In contrast to the hull, the shields are recharged automatically during combat, giving you technically unlimited hit points. Shields are not very strong, though. They are penetrated rather quickly compared to the hull’s durability. Shields support the tactical aspect of combat, since there is a clear advantage to retreating temporarily in order to recharge. In a shooter, the pace of the action sometimes stays high for too long, wearing players out. The trick is to break up the action occasionally and give the player the power to do so.
Special abilities are parts which each do something very different from each other and totally out of the ordinary. Not all of them are crazy or zany, but some certainly are. The spike ball and chain is an unexpected ability that drastically changes the pace of combat when in use. This special is the standard of reference for how I want other specials to affect gameplay.
Stealth used to be a special ability. The two types of stealth (visual and radar) used to be done by separate parts in an effort to balance how great of an advantage hiding is. The problem with this is that I recognized how much fun hiding is! To restrict hiding to the rare player who comes across this special part would also restrict the fun that could be had. So my solution was to make a whole new part category for stealth so that every player can use it and, more importantly, stealth could become a core game mechanic. Now such things are possible as recon, stealth, and retrieval missions as well as additional modes like capture the flag.
Modules are add-on parts. These parts passively affect your ship’s abilities. They usually enhance the abilities of other parts.
I’ll discuss weapons in more detail in a later post. As the game is a shooter, these have a lot more going on with them than the other components. A primary cause of this is that they are the only ones (beside specials) which interact with the rest of your ship and produce new, independent entities (projectiles).
These probably sound all nice and fine. Next time, I’ll discuss how my approach to the parts system is not quite the usual. I’ll show you a simple way for entirely independent parts to be made to affect each other and how my thoughts about such systems extend replay and longevity.