Hello, I'm Eduardo, programmer in Formula Wincars. This is a very special post, because I'll be leaving soon DragonJam Studios and will move abroad. I've been in this project for a year and a half, and boy, it made me grow a lot as a professional and as a person.
People here in DragonJam are the best. They are very passionate and serious about their job, but also very humane and friendly. Everything is decided by everyone, we enjoy successes and discuss problems together. I'm going to miss you a lot, guys!
We actually receive a lot of visits from people interested in starting to make games, sometimes entire teams. Usually on the novice side of the indie spectrum, they are very passionate individuals that really could get a hand or find some help in articles like these. With the accumulated knowledge of everyone here at DragonJam, we will give you some key points to have in mind. There's not enough time for everything, of course (and one never stops learning!) but remember that in the internet you will find a lot more info. Sites like Gamasutra, Polygon, and thousands of forums and communities are there for you to learn. Just take it piece by piece!
Usually, game industry divides production into three big parts:
It is the previous phase before creating a game. You can think of it from the moment you decide to make a game from an idea, until the moment you actually start making the product. It is critical, but also, the most easily overlooked. Don't make that mistake.
Usually in Preproduction you have to consolidate what actualy will you be doing in this project. That means:
- Stating clearly the idea into a feasible product that you can really make. Usually tools like Game Design Documents are helpful, but that is only one of many tools available.
- Knowing what tools are you going to use. Game Engine is a major decission. There are a lot of very good game engines out there, some of them with free access. The indie's are living a golden age right now on that sense. Have in mind, also, that besides having fun this project is also training for your future professional skills. You will learn a lot.
- Knowing where you want to get. More usually stated as "What do you want to make?". It implies also very important questions that you must ask now instead of later (believe me, the temptation is there: many, many projects have failed due to people starting coding features without asking what are these features for). So answer: Where are you going to publish the game? Who is going to play it? What are the minimum features it should have for it to be considered a complete product?
- Consolidate the team. It is better to be few, passionate and dedicated people, than to be a lot with compromised schedules and lacking seriousness. Don't be afraid to leave these projects, it's a shame, but better now than later. Focus on the projects where you feel comfortable as a team.
- Be aware of your strengths and weaknesses. Plan the game around them. If you only have an artist, try to reuse a lot of graphics. If you are learning the engine and are not veterans, focus in a simpler -but fun- game rather than a game full of content and features. Game design must reflect this appropiately, and the designer must not fall in love with her own vision of the game.
You can use lots of game engines to make your game. Some of them will be better than others for your game. Some people try to make the game from scratch without a game engine, but here in the industry we have a saying: "You either make games, or game engines".
- Plan wisely: start by the core and the hard things. In a fighting game, start by the combat. In a procedural dungeon generator, start with the dungeons. When the core of the gameplay is ready, then move forward. And yes, manyveteran companies don't follow that methodology, but until you are one of those companies, play it safe.
- If you are going to use tools that you are not familiar with, congratulations! This is a very good opportunity for learning. However, you must understand that you cannot try to make, in the first try, the same as a long time veteran. Be transigent, you don't need to be an expert to make a great game. Seriously!
- Be systematic. Proceed according to plan, take into account that the unexpected will happen and react appropiately. Review the game's progress overall to detect problemas early. Be sure to divide work into tasks of an appropiate size. Usually you will want to use any methodologie, but that's also a risk. Not everybody likes SCRUM, and contrary to what their defenders say, it is not for everyone also. Just don't let the project fall into chaos, and learn to adapt.
- Measure risks. Maybe you don't need that incredible, powerful and flexible system for features that aren't important or are not subject to easy change, but maybe, if it really is a critical feature with risk of being altered, you need that flexibility. Just avoid spaghetti code, but don't obssess also with over-engineering everything: both extremes will spell disaster.
- Once in a time, you will have to test. Plan the testings, but don't be afraid to dedicate time to it. Few polished features are always preferred over many unpolished ones (Confession: I love Bethesda, though). It is also a bit hard for your ego's: critics may be hard and have to be digested. They have to be treated as warnings, but sometimes they are not right. Usually, a lot of people pointing at one thing indicates that you should take a look at it, but you have to really reflect if there is need of any change! People usually can point out that something it's not right, but very often will be wrong on how to fix it. In the end, you have dedicated many more time than they to your own game!
Introduction video to the famed SCRUM . Although it's very good, it is no panacea. Use whatever works for you, but remember to be systematic.
Battle's not over. Congratulations on make it here! Once you have a product, you have to show it to the world. Don't lose time blaming the media, the AAA companies, or youtubers: Exposure is half of the battle and you have many tools to show your game to the world. Show the game to many people, as much as possible. Likely the more exposure it has, the more polished it will become until you have an amazing game. There are many websites, gaming events and other sites where they are expecting to play good games. When you are an indie, niche games are a very good route also, because your passion will be undoubtly into the game and it will make it better. The games industry is accostumed to find little gems from the most humble origins. Many times it later becomes a full-fledged AAA game.
The thing is: don't stop fighting for your game. Keep showing it to people. Keep receiving feedback. Keep having fun!
So, these are our considerations on how you can make a game. For some of us, this was from the start our biggest dream. It is hard, of course, but infinitely rewarding. Good luck!
I'll leave now, my friends from DragonJam will be here for you working in this great project that is Formula Wincars. Please treat them well and give a try to the game. I'm sure you will like it!