Just to note - I’m assuming a few qualities about you - that you are dedicated to learning the craft and that you are committed to finishing what you start. There will reach a point on every project after the honeymoon phase of “oh this is cool and new and interesting!” passes, the end just feels so far away, nothing is coming together, and it’s super easy to just throw in the towel there and give up at that point. I’m assuming that you’ve got enough internal fortitude to push through that and get to the part where the game starts to come together and be fun and engaging and interesting.
If the question is actually about the minimum competence level to get a job in the industry, please (re)submit the question and I’ll try to answer it with those criteria in mind instead.
Requirements - Everybody
Choose a toolset of some kind. Take your pick - Unity, Unreal, Lumberyard, RPG Maker, Game Maker, Construct, Dragon Age Toolset, Creation kit, Valve’s Source engine, whatever. Choose one, download it, install it, and get it working. If you don’t know how, follow the tutorials until you can successfully run the most basic changes you can make. This is the absolute minimum requirement you must be able to meet - if you can’t get something with a bare minimum of changes to run, you won’t be able to test or verify any changes to the game you make.
Requirements - Programmer
You must be able to write code that will solve a given problem, complete a given task, or accomplish a specific game behavior on its own. You must be able to convert spoken game rules into actively enforced behavior. That could be something as simple as “If health drops below zero, the player is dead and can no longer move”, or as complicated as “The player gains a skill point to be spent when leveling up”. You should understand how to store, read, and use data. You should have a decent grasp of logic - how to formulate the conditions you want to check, how to make the code react to those conditions being met and what the code should do if those conditions aren’t met.
If you want to learn this stuff, try completing tutorials for simple tasks in the toolset and learn the basic elements of how the code works. Then use those elements to complete simple tasks of your own. Keep it as simple to start with as possible. Remember, programming is all about coming up with a set of instructions for the computer to run in sequence. Computers are super literal, so your instructions must be extremely simple and clear.
Requirements - Artist
You must be able to create art assets in photoshop, milkshape, blender, Maya, 3D Studio Max, ZBrush, or even paper and then put them into the toolset for use. You must learn the tools to create and edit the game’s art assets, and you must be able to use the toolset editor to make sure that your imported assets are properly displayed. You must learn to adjust the toolset and the tools to make the visuals display the way you want them to.
If you want to do the art for the game, start by working through tutorials on how to import and convert assets into the game. If you’re working in 3D, retexture an existing model, bring your own model into the toolset, and try building simple keyframe animations and bringing them into the toolset. If you’re working in 2D, build sprite sheets and learn to use the sprite animation system.
Requirements - Designer
You must be able to translate a simple idea or experience from your head into the game via the toolset using code and assets. A designer needs to make her ideas work in the toolset. That could be a conversation, a quest, a spell, a character, an item, or a system. In addition to these skills, you need to be able to write documents that describe how your ideas actually work. Don’t treat these documents as commandments, but as guidelines and notes to refer back to in case you or anyone else on the team forgets some of the details. You need to know how to get the most out of the tools, and what you need to bring your ideas to life, but you also need to recognize that you aren’t the dictator or boss. You’re the one who puts the things that the rest of your team built together for a cohesive player experience and your ability to do so exists because of them. Finally, you must be able to take constructive criticism and constraints and internalize them towards improving or scrapping ideas. Nothing should be held sacred - good ideas will always withstand a trial by fire, and bad ones should be discarded before they soak up too many resources. If the programmer or artist says something isn’t feasible, it’s up to you to come up with an idea that is.
The amateur designer role is probably best described as a jack of all trades, because you’d be best served with enough coding knowledge to create small features yourself, and enough art knowledge to create placeholder assets in order to prove out prototypes. Learn how to create spaces with the toolset - a new area, a level, a map, and how to make these places distinct, memorable, and thematically appropriate from each other.
Final Requirements: Dedication
The most important thing about working with a team is making sure that everyone is on the same page, works toward the same goal, and pulls their own weight. Game development is, first and foremost, a collaborative effort. You can try combining roles or bringing more in as the team grows, but it’s really about working together and combining collective strengths. Rome wasn’t built in a day, and neither are most games. Completing a game isn’t easy, and it will require a lot of dedication and perseverance. You will need to encourage, assist, and push each other forward to get through it. Try to avoid the rockstar auteur mentality and focus on helping each other when needed. Good luck.
Got a burning question you want answered?