Drag and Drop or Click and Click?

Recently while working on an inventory system for Crawlspace, a discussion came up about the user interface that I wanted to share. We were discussing weather to implement a drag and drop system for the inventory. I should explain a little bit about the inventory system here so you can understand the following points.

The inventory system for Crawlspace exists for a group, not for an individual. When an item is loaded onto a ship it uses tonnage aboard the ship, and is removed from the group inventory. For items like Radar or Hangers or ECM equipment, this is the final step to equipping it. Items like this cannot be assigned anywhere except in their assigned ‘grouping’. Radar and ECM for example are grouped under ‘Special Equipment’. Reactors are under the ‘Power’ grouping, and guns and missiles all fall under the ‘Weapons’ grouping.

Initially drag and drop was planned for this feature, but after looking at the system we started to ask why. Traditionally in other games this is how we’ve seen it done – but let’s be honest. Are you ever going to drop a reactor in a radar slot? No? Then why not just let you click? Now instead of click/hold/drag/release you just hit a click – once – and the item slots into the appropriate grouping.

This was great for general equipment, loading up my ship from the group inventory is quick and painless. But what about weapons? Weapons, in addition to being loaded on your ship, have to be loaded into one of four available ‘Gun Batteries’ on board your ship. Gun Batteries allow you to take five or six weapons of similar or dissimilar types and group them all together to fire at once. We realized very early on that capital ships don’t generally point all their guns at the same target all the time – it’s a massive waste of ammunition to shot a .50 caliber machine gun at a battleship three miles off – you use the main cannon for that (or even better – missiles).

So we broke up the weapons into six categories – Anti-Fighter weapons,  Anti-Capital ship weapons, with a light/medium/heavy version of each. This way you can group all your anti-fighter weapons together, or mix and match so you have four batteries of weapons that can shoot at anything. It wasn’t practical – from a programming standpoint – to give players the ability to fire all their weapons at independent targets. You could be stuck assigning 100 targets to 100 weapons. And it wasn’t fair to force the player to target one ship at a time – this is a major draw back from modern video games. You have a massive battle cruiser with a giant main cannon and six point defense turrets and send it after a building – and it attacks the building and dies to a single machine gun trooper because it’s point defense batteries are busy shooting at the same target.

So for the gun batteries we needed a new solution – and now the process  for equipping a weapon into a gun battery slot involves first selecting the weapon battery you want to assign guns too, and then clicking the guns out of the list the same way the main inventory assignment system works. While a drag-and-drop system would be ideal for this sort of situation, we felt that it disrupted the flow of the game. Having two different  control systems to accomplish what (to the player) seems like essentially the same action means we have to write two different tutorials for managing the inventory system and the player has to remember two different sets of instructions for the same system.

Just wanted to share this – it’s interesting to note that sometimes the ideal solution isn’t the right one for a given game. We’ll have more on this after it’s been turned loose to our Beta Testers.

This entry was posted in Crawlspace, Game Development. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s