Don’t wait until you know everything there is to know before starting.
Learn just enough to get started. That includes having a rough idea of a realistic scope for a first project, so that you don’t wind up hopelessly lost and frustrated.
Then get started. Get your development environment set up and compiling empty/test/placeholder/example code. Just get anything on the screen that runs, meaning a .exe if you’re programming for Windows, a .swf if you’re making a web game in AS3, etc.
At this point, you’re already ahead of an untold number of people that have only ever thought about videogame development, but have been too caught up in waiting for the perfect idea, or trying hopelessly to fill their brains with everything ever written and said about it before actually getting started. So far so good.
Find a way in your programming language or environment to load an image file and get it on the screen, to respond to keyboard and mouse or whatever input’s needed, to load and play back sound effect files and looping music. Depending on the platform, picking a library may be helpful for this (ex. SFML/SDL/Allegro/XNA, if in C/C++), or this may be functionality built into what you’re working with (Unity). Often the easiest way to get to this point is to just find some simple example code that already does these things, then twiddle settings in your development environment until you can compile and run it as expected.
Does the player character need to… (continued in ebook)
Subscribe by e-mail to receive an update every month of all new HobbyGameDev articles, videos, and game development resources.