First Questions

I have had the privledge of getting to know a number of enthusiastic aspiring game developers over the years. They often have similar questions, and I generally provide similar answers. But, I've never written them down.

Today, that changed.

This evening a friend of mine contacted me to ask to the following questions on behalf of an aspiring game developer he knew. What follows are the questions and my answers, plus possible additional exposition.

Hopefully someone else may find this page and it will help them make good decisions to facilitate their journey to becoming a game developer. Or it may just be a handy reference for the next person that asks me similar questions. :)

For context, this person indicated they were learning Unity and had some questions about game design and development using Unity.

1. Is it okay to start with a kit from the asset store for the core of my game?

Absolutely

[Be sure to adhere to license restrictions, and as a courtesy, you should give credit to the author of those assets, as well as a link to their page or a link to the asset store page itself (if possible).]

2. Is an action adventure game too much for one person?

Short answer: no.

Long answer: yeah, probably. The most common problem aspiring game developers have is blowing scope. If you can design a game with a 1-person scope, then yes. But to be blunt, you won't. (Nobody ever does)

3. As a solo dev should I avoid 3d?

Absolutely not. I started in 3d in Unity. Unity is designed for 3d. All of Unity's 2d capabilities were added on after-the fact. They work, and they're good, but Unity is a 3d engine. Use it. Honestly, I find it's much easier using Unity to make a 3d game than a 2d game. 3d is what it was built for.

4. How polished should my prototype be?

Prototypes shouldn't be polished at all. They should 1) work, and 2) be fun. They should not have any errors or throw exceptions. They should show your core game mechanics. If you can move, then the character should move. If you can buy stuff, then there should be 1 thing you can buy. If you can shoot stuff, then you should have 1 gun, 1 ammo type, and 1 badguy, and you should be able to shoot, bullet goes, badguy dies. No errors! If it's cubes and spheres, that's fine -- it should still be fun.

Think of the prototype as the "example" to show what the actual game will do. If... [and this is a BIG "if"] if it is absolutely critical to convey some idea in your game to have anything other than primitive shapes, keep it simple and to a minimum. Use simple-standins. Don't go downloading a fully animated 3d character with 50 mocap animations and spend 40 hours building a finite state machine to transition animations based on character state. Don't do that. Bad. Bad game dev.

The only exception would be if you are prototyping with a game-dev kit from the asset store. Then just build your protoytpe with those -- but don't waste time changing colors or adding fancy textures, or tweaking the models to make them look cool. That's not necessary and there's a good chance all those decisions will change later on anyway.

5. Should I read some general game programming and design books or just focus on unity specific tutorials and courses?

You'll never "be ready," so just start. You will [most likely] be reading stuff and watching tutorials all the time in general anyway. (I'm assuming you at least understand the fundamentals of game dev, such as what a game-loop is, stuff like that.) You'll find that as you work on your game, you'll need to look up lots of things on youtube, or read stuff anyway. Trying to do it all in advance is a bit backward. You'll forget most of it anyway, and still have to look it up when the time comes. The most important thing you can know about how to do something, is simply that it is possible. Because then you can go find how to do it.

** Know the difference between game development and game design. That's two different careers. Pick one, and be familiar with the other. If you are doing both, keep scope very small. For action adventure, choose an existing action adventure game you like, add the one change you think it needs to make it better -- this is now your design. Then build the prototype of that.

[I used to teach martial arts, and I'd get similar questions. People would ask about going to the gym or having some sort of exercise regimen in order to "get ready" to take classes. I used to tell them, if you want to take the class, then take the class; if you want to go to the gym, then go to the gym. There's no need to do one to prepare for the other.]

6. On what projects should I use Unreal instead?

If you are using Unity, then there are no projects you should use Unreal on instead. I'm writing a document. What types of document should I write in Word, and which ones should I write in Word Perfect? Learn one and be good at it. Be familiar with the other, if possible, but these are powerful engines and take a long time to become skilled with. In 2 years do you want to be good with Unity, good with Unreal, or crap with Unity and Unreal? Whatever you pick, go with it. In the early days, people touted Unreal's superior rendering capabilities over Unity's. Although the prejudice is still there, the differences are gone. Unity is easier to learn, and easier to use. I changed my mind. The project that you should use Unreal on, is your 6th completed game. That's the one where you can think about using Unreal.

7. Should I start with much smaller games first?

In general, yes, you should start with a smaller game. It's better to have a small complete game to show people, than a complex game that doesn't work and you become 1 of a million people talking about the thing you almost did one time, but didn't. Recruiters don't care. You resume will look better with something on it. Additional benefits include smaller games tend to have simpler game design. Which means they are "easier" to build. I have a rule: only change one thing at a time. In this case, the change is "you want to go from someone that wants to make a game, to someone that has made a game." That's the biggest change, so you want to minimize everything else. This means you probably should not be trying to also design your own game, or write an AI, or learn 3d modelling, etc, etc. Pick an old console game and make that. No, make a prototype of that. 1 level, 1 hero, 1 enemy, 1 weapon, 1 NPC, 1 dialog interaction, 1 power up, etc.

In the conversation, these answers were provided with the intent of answering "the basic questions" prior to a teleconference we had scheduled, so that more specific follow-up questions could be addressed while we were chatting live.

If you found this helpful, or you have queestions, please feel free to comment below or reach out to me. Happy game developing!