This is my first blog post. I’ve always wanted to blog about our experience and journey of doing a large ambitious project, even called impossible that we are doing. But I never really knew what to say until now. I guess now that we can see the light at the end of the tunnel, I’ve found the words.
This is intended to help new developers with big dreams to hopefully accomplish them. This covers how we started, which got us to where we are today. So lets begin.
I guess the first thing you should ask yourself is what do you want to get out of this game idea? Is it to create the next game engine, to show your stuff to get a job in the industry or to make the next big hit. As an independent developer you have many ideas, but limited resources. Were you inspired by a game you just played? Maybe all you want to do is a mod. Really ask yourself this question before you begin, because this will help you later on, to keep your passion and persevere where so many have not. Lets face it, if games were easy to make everyone would do it. Making a game is a challenge no matter the scope of the game.
As you begin your journey, you will gets lots of advice. Most of it will come from people who don’t do anything other than chat and give advice. Seems in today’s world opinion is more important than fact. This idea that everyone is entitled to an opinion is the heart of this new found religion. Unfortunately when this idea was first phrased the word educated was implied and understood. So everyone is entitled to an educated opinion, any other type of opinion has their time and place, but not when you are “helping” someone or giving someone advice on a subject you know little to nothing about. So my advice
is do your own research. So before you begin, research the type of project you want to do. If it’s a game engine and you’re new to game programming, start with looking at the available game engines out there. IDSoftware has been kind enough to release their quake engines for just this very purpose. If your goal is to make the next Tomb Raider, then start with playing the current Tomb Raiders. But don’t just sit back and enjoy it, pick it apart. Look closely at the controls, lighting, game mechanics, etc. Make notes, take screen shots and know your subject inside and out. Play it over and over again, until each screen, each sound, each move is burned into your mind and you now have extensive notes and understanding of your goal.
So now that you know your subject and you’re ready to begin, whats next? Well if your goal is to make a game then your first step is to choose an engine. Wait, did I say “choose” an engine? Yes I did. Why, you might wonder, making an game engine is easy. This is a common line of thinking in new developers today. Well if it was easy everyone would do it, game studios would not hire teams of programmers and take years with seasoned developers to create engines. Even a single senior professional developer is never going to do better than a team. So you as a new developer, expecting to make the next Unreal Engine is very unlikely, unless you’re a savant, which is extremely rare, and if you are then why are you reading this article.
As you already know from doing your research, engines are 100,000 to millions of lines of code depending on their purpose. Engines are designed for the games they are created for, they were generally built out of need. There are many choices, you can get professional tools for as little as $200 USD to $1500 USD, seems to be the average price range for indie engines. But realize these are indie engines. They are designed from small games or casual, or even designed from small scenes. The problem with designing an engine from a small scene, is a small scene is not a game. The performance issues, features, quality issues that will come up from making a full game will not show up in a simple scene. A scene demo can show you the potential power of the engine and can help to narrow down your choice of engines. Once you’ve narrowed down your choices the next step is to look at the games created in this engine. Are any of them similar to your project? Are any of them as big as your project? Again this is another round of research. Experience each game you think fits with what you are wanting to do. If this means downloading a demo and trying it, do it. If this means buying a game then do it. This is worth the few dollars it will cost to do this and the time it will take to research each one because the amount of time you will invest in your engine of choice is far greater. If you make the wrong choice, you may not find out until you are are 6 months to a year into your project. This is where a lot of people give up. So yes, this stage is another round of research and yes it takes time to do, but it will save you so much time down the road if you just take the initial time up front.
Editor is key. Some new developers believe they can just accomplish everything in their 3D modeler of choice. And yes you can accomplish a lot, but if you have no in game editor, to see what the player will see, to see what the final result is going to be, this will greatly slow you down. After all, your 3D modeling program is not a game engine. And once you start applying in game shaders such as glow, depth of field or special FX on surfaces, you will not see these in your 3D modeling program. The next big step now is to get your content pipeline down. What is that? It’s the process of getting your content created in your 3D application or paint program, into the game engine. This is one of the easiest steps in game development, and yes you will struggle with it in the beginning and it may not seem easy. But once your game is done and you look back, most agree that was the easiest step. Really know this process, as your game gets more complex, you will experience more problems in this process and things that you must solve or work around / with. And try to stick with the same software you started with. Assuming you did solid research, be confident in the choice you made. Each time you change software, this will slow you down. You have to learn something new, reinvent your pipe line and learn a whole new set of problems and bugs you must work with. Each software has it’s quirks. It’s better to stick with one and master it, than to change every other week. When you hit this stage and you will, do the research again. Search the net, check out books, search forums, maybe you will find a tutorial or someone who had a similar problem and solved it. If you do decided to ask someone for advice, ask to see their portfolio first. Any experienced developer will have one and generally have a link to one on the web. There are many places on the net as well which credit developers for the projects they have done, MobyGames for example. If the person advising you has none of these, move on. After all experience only comes from doing.
There are many tools, model packs, libraries out today that can save you time. As your project is large and your team small, you will need to save time anywhere you can. The more time you have to focus on your game, the more time you have to polish it and really make your true vision. If your time is divided, your project will suffer. Any time you are not working on something that is directly related to your project, then your project is put in 2nd place. Try to avoid this as much as possible. Try to keep your focus and work directly related to the results you want. For example, if your choice is to make a game, but you choose to write a game engine first, this will not help your game and this time you lost creating an engine must be made up and factored into your plan. If your game that you’ve designed and planned out will take you two years to make and the engine takes you 18 months, you are not going to complete your true vision in the next 6 months, it’ll still take you the two years. But by this time a lot of new developers are tired. After all it was a long journey to create a first version engine, which will be riddled with bugs as you now enter your game development phase. And each time you hit a bug, find it, fix it, this is time that you are not working on your game and will have to make up later. So a game that may have only taken you two years in a $200 – $1500 engine, may actually take you 3 to 4 years in your own home grown engine. This comes back to the first statement I made. Ask yourself, what do you really want out of this project. But what if you don’t have the cash? Well, save up. There are many things you can do before starting the actual development phase. Model your assets, do concept art, game design documents, make sound FX. These things will take you some time and by the time your done with those hopefully you’ve saved up your pennies and can now buy your engine.
Garbage to gold. I think this is one of the most valuable things to new game developers, and in my opinion, is the only way to work on a large scale project with a small team. What does it mean? Well simply put, expect to go through some garbage until you get the finished gold of whatever piece of the game your working on. Don’t expect to pump up a Picasso in your first pass. Over years I have enjoyed watching a lot of game development videos. Seeing the first iterations of the game, that is nothing but a bunch of square untextured blocks, to end product a shiny new high quality game. So if you’re starting a game, try to get an overall flow down before polishing any one piece to gold. There are many reasons for this, optimization is one that springs to mind. It’s hard to optimize a game when all you have is a single character and a tree. Also obsessing over one part of the game can wear you out. You can spend a lot of time just polishing one little piece and by the time you’ve got it polished your tired out. Try to put together at least one level first. Just use place holder art (square blocks). You will find it much more inspiring to have a level you can run and jump through, even if it’s just a bunch of square blocks. Then as you make a polishing pass on each piece, it will inspire you more, seeing it all come together.
I could go on, but I think this is a good spot to stop for now. Perhaps I’ll do a follow up blog post. I could go on, talking about some of the pit falls and obstacles we had to overcome. But I’ll end this with two of the quotes I live my life by: Henry Ford: “Obstacles are those scary things you see when you take your eyes off the goal.” and Walt Disney “The best way to get started is to stop talking and start doing!”.
Dean Wadsworth aka Varmint
http://www.krabbitonline.com/