Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I don't want to be discouraging, but I don't want to lie either. Creating even the simplest 2D game is a major feat. Here are some things you'll probably have to learn, if you're going to code a game on your own :</p> <ul> <li>General concepts and techniques used in computer graphics.</li> <li>Network programming (if applicable)</li> <li>Audio programming and Digital Signal Processing theory.</li> <li>Linear algebra, trigonometry and geometry branches in mathematics</li> <li>AI concepts like fuzzy logic, finite state machines or neural networks.</li> </ul> <p>Not to mention you need a solid background in programming. Most of the bigger game developers use C++, which is a decent choice when performance is of the essence. But one size doesn't fit all. I recommend you look at C++, Python and Java and figure out which one you like to use.</p> <p>Now, this might come as a disappointment, but it needs to be said. If you're just starting out with programming, you're not going to make a 3D game for a long time. I learned C++ back in 2002 and I still learn new ways to use the programming language. There's a lot of books named <em>Teach yourself programming language X in Y weeks</em>. Don't believe the lie. There is no way one can learn anything that complex within that timespan. What I'm trying to say is, <strong>don't be in a hurry!</strong> Patience is everything, and there is no such thing as a free lunch.</p> <p>And when you finally have the knowledge to make a game, start simple. Even coding a Nethack clone which uses ascii art graphics gives you new experience you can extend on. And your first games should be 2D. Working in two dimensions is much simpler, and a lot of the math involved extends nicely to three dimensions when you are ready to advance further.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload