Welcome. For a while now I have wanted to create a FAQ here. As this is updated, it will reflect more and more data. If you have a question, ask it on twitter via DM for best results. I accept that mistakes will be made here, but I have good intentions, so if you see a mistake please reach out kindly and I will look into it.
The Basics Most Wont Be Honest About.
- Do you need to know how to code to be a good game developer of my own concepts?
- Yes. You might be able to find a game engine that works for you and makes it easier than doing it from scratch, but as much as some will try to sell you the dream otherwise - either because they profit from it directly, because they just want to be kind and dont know the harm they are doing by giving you false hope, or because they just do not understand it themselves - the cold hard fact that nobody wants to be the one to tell you is it is an exceedingly hard technical challenge to build a modern AAA game from scratch, and it takes an entire team of people to do it correctly, so if your doing it by yourself you have already failed. In fact, It is often impossible to build an original game idea from scratch without settling or doing lighter versions of the original concepts due to the amount of work and team investment required upfront, and so it is often impossible to do without programing software at a level of proficiency that requires at least a good understanding of advanced programming concepts, as well as technical patterns and digital art concepts that are so advanced that I find that most CS schools no longer teach some of the skills that I have gained from experiece in the industry because only game developers are now considered to need them, so support Indy Game Developers.
- I want to learn to code and I want to make games long term, how do I start?
- Learn by doing. Go to your public or school library, find the lead librarian working that day. Tell them you want to learn about making games. Show them this website so they can read about being the amazing person they are for choosing to be a librarian. Get a library card if you dont have one. Use it to learn by checking out the books you need. Now study for the rest of your life, making sure to donate back to the libraries and people who helped you learn, taking the time to teach and mentor others and give back. Make sure to donate enough to the public library to cover what you used, and to make sure there is extra books for others. This is what a lot of us in the tech industry did to get started, many years ago, when no schools existed to teach us skills that are no longer taught. You can google now, but the data is more sus. You have to put the work in first. Its the only way. Learn, create, and code your ideas. Doing is the best way to learn. I got into XB at MS because I had already put in the work by the time they reached out and asked me to help ship a gaming console. If you are thinking about the future, you are already ahead of the game. Keep it up.
- I dont want to code but I like art and want to make games, what are my options?
- You have many. If you are not a coder, make a friend who is, and be their art person. The artists working on a game include programmers and coders, but that is not all of them. While code and software is considered an art form of free expression, the fact is without the technical artists, most MMO's would be full of grey cubes and teapots labled "this is really a mob" instead of IK rigged models and meshes being run by the game engine under the hood, since programming and technical art are 2 very different but related skills and its not common to find people who can do both well. Software engineers love artists if they know what they are doing and are kind. Pick a production team (Tech or Art) and commit to it. And dont be the stuck up artist who can't draw hands!
- So it sounds like there are many skills needed to code a AAA game. what are my options?
-
Here is a simple map of some of the bigger parts you can contribute to on a larger project:
stateDiagram-v2
[*] --> Production
Design --> Art
Art --> Character
Art --> Mobs
Art --> Interface
Art --> Environment
Art --> Graphics
Environment --> Water
Environment --> Land
Environment --> Sky
Environment --> Space
Design --> Audio
Audio --> Sounds
Audio --> Music
Production --> Code
Production --> Design
Code --> Networking
Code --> Graphics
Code --> Audio
Code --> Eventing
Code --> Security
Security --> AntiEvil
AntiEvil --> AntiCheat
AntiEvil --> AntiSpam
AntiEvil --> CustomerSupport
Code --> Quality
Code --> Artificial_Intelligence
Code --> Engine
Production --> [*]