Tag Archives: design

Three Common Pitfalls To Avoid In Indie Game Development

When standing at the threshold of a new project, humans tend to be overly optimistic and at least have best intentions for the project. Perhaps this is done to help rationalize our projected time investment into the project. Whatever the reasoning, I am particularly prone to this condition. When beginning my previous project, Crea, I was certain I would finish it and its beauty would cause the entire world to weep and cause the sea level to rise. Fastforward two years and it is clear there were several mistakes made that lead to the project being put on hold. I want to share some of these mistakes in hopes that others can learn from them – or at least I can.

Feasible Design

Ideas only have value if they are feasible. If it’s impossible to execute an idea given the resources available, then it is worthless. I’m talking about the resources you absolutely have - not promised or hope to have. It is all too easy to think “I can find people online.” or “My friends said that they’d help.” to help rationalize the scope of a large project.

Crea was designed to provide both story (PvE) and competitive (PvP) modes along with hundreds of cards and dozens of quests. This is a feasible project right? It is if you have the resources and I had convinced myself that I did. The project started with three people and grew to 6 people over the course of a few months. Life quickly began to pull team members in different directions, which left me with a large project and limited resources. Instead of calling the project a loss, I counted my chickens before they hatched. I convinced myself if I just get enough of the project done then people will see its potential and want to help. However, I gradually realized that to develop a project of this size on my own, a massive amount of work would required over a span of several years. This was undoubtedly the largest issue for Crea.

Moving forward, while coming up with a new game project my primary focus will be to ensure that the very basic design is feasible with the resources I currently have. I will try to be more realistic for project timelines and time pouring will be limited to something reasonable. I will not count new team members as a reliable resource until proven otherwise.

Defined Scope

The only way to determine a project’s feasibility is to have a well-defined scope. A carefully thought-out project design can fight against the deadly disease known as scope creep. Scope creep is where new features are added after the initial design without adding new resources – a temptress that has seduced many game projects and led them down a path of destruction.

In addition to Crea not being a feasible design, it was not well-defined upfront as well. The very core gameplay was detailed but gameplay systems were left to be sketched out. This vagueness left the project wide open to scope creep. We added a dozen cool “features”, such as character classes, card levels, card fusing, and the list goes on. Countless hours were spending pondering these features and implementing them. We were so excited about all these new ideas that we lost track of the big picture. The result: a bloated, needlessly complicated game design.

Eventually, during a cleansing period, I trimmed over a great deal of this extra fat, but the damage had already been done. The large scope had scared off many and left the few remaining reasonably discouraged considering so much progress lost. I imagine that the course of this project would have been severely different if we had taken the time to detail out all of the features and the scope of the game’s content – perhaps it would have not even made it past design.

All of my future projects will always have all aspects detailed out in a design document before any development begins, this includes features and content. I have found that prototyping a project gives an invaluable insight into the true scope of the project with minimal commitment. A prototype also is a great time to play around with the design to help minimize the changes needed in the future. Initially, nothing is set in stone since it is impossible to get things perfect on paper; however, I will be cautious any changes particularly further into development. Whenever changes are made it is vital to keep the project’s scope in mind to avoid losing control.

Cautions About Free Help

People are cautious of how they spend their free time – particularly when giving it away. When dealing with game projects, if the project is not benefiting someone then that person is unlikely to stick around and I don’t blame them. Even if the person genuinely wants to help or is getting something out of the project, legitimate reasons come up that may require the person to reassess his time commitments. Life happens and it happens unpredictably. It can be a real challenge when trying to determine if you can truly rely on someone when the going gets tough.

Throughout the entire lifetime of Crea, I was depending on free help from both friends and people from online forums. Most of my online contacts who promised to help, never did, or would help for a week then disappear without warning. The few team members who did stick around for a few months eventually either became too busy to work on Crea or just lost interest. I believe that the daunting size of the project was what scared most off. In retrospect, it was completely unreasonable to expect others to invest years of their time into a project.

I have learned that if you’re asking for someone’s free time then don’t ask for too much. Keep the project short with continual returns on the person’s investments, even something as simple as tangible progress can be acceptable. When searching for that perfect someone, look for someone that is as passionate about the project as you are. If all else fails, I have found that money is very good at convincing people to stick around.

Conclusion

I by no means want to discourage large projects and do not think people should not take risks. I have read about several successful indie games that faced some rough times, such as Magicka and Super Meat Boy. I am certain that serious doubts filled the developers minds at some point, but yet they persevered and found success. This post is about minimizing project failure. After all, the number one defining characteristic of successful video games is that they’re finished.

Gameplay Introduction

I am eager to share with everyone some of the current plans for Crea’s gameplay. What you will be reading has seen dozens of revisions, both minor and major, and will likely see a few more eventually. I may at a later date go into some detail on the design decisions that have been made, but without further ado here is the Match gameplay for Crea.

Match

In Crea, the core gameplay is a match between two opposing players or teams. Each player has a party of four character cards and a deck composed of a minimum of 60 cards with no more than four instance of a card. Each character has a given amount of hit points (HP). A team has won once they have depleted the opposing team’s characters of all HP.
Each player begins the match with eight cards in hand, drawn from their library, and all four characters laid out in front of them face up. Every character starts the match channeling a powerful being known as an Aer. There are many Aers that a character can channel, and each has unique cards that only characters channeling that Aer can use.

A round is split into three phases: Draw, Channel, and Action.

  • During the Draw phase, each player draws two cards from their library.
  • During the Channel phase, a player has the choice to shift which Aer each character is channeling. The Aer a character is channeling is known as the active Aer. A character is limited to the two Aers chosen prior to the match, and shifting has a cooldown time of two rounds.
  • During the Action phase, players take turns being the active player alternating teams and players. The active player can play as many cards from their hand as long as they meet the card’s requirements. This is either blessing a character with an Ability, equipping a character with Equipment, or having a having a character use a Relic. The active player can have a single character perform an action from either one of the abilities it has been blessed with or a Relic in play. The active player also has the choice to pass on taking the action. In either case afterwards the next player becomes the active player. When a character performs an action the opposing team is given the chance to react to this action. Once each player is given the chance to be the active player four times the action phase ends.

Round Example

Here is an example of a round where Player A and Player B are matched up against each other. The first active player is randomly decided at the start of the match and then alternates each round.

  • Draw phase. Player A and Player B both draw two cards.
  • Channel phase. Players choose to change the active Aer for each of their characters, unless the character is on cooldown from recently changing their Aer.
  • Player A is the active player.
  • Player A looks over their hand and blesses, equips, or uses any cards that their characters meet the requirements.
  • After getting their party set up Player A is able to use any one ability.
  • Player B is able to use any of their reactive abilities to counter Player A’s action.
  • Player A’s turn is over, and now Player B is the active player.
  • Player B goes through all the same steps as Player A did before.
  • Once both players go through these steps four times the round is over.

Closing

Please share your thoughts and feedback as I am very interested. Also I am curious if the “Round Example” provided useful insight or if it is redundant and unnecessary.