3 answers

How do I practice programming and making games?

Asked Indiana, Indiana

Currently, all I know is a little bit of GameMaker's built in coding language, and I have a budget of 0 dollars. I've made 1 game with the help of a YouTube tutorial (an asteroids clone) and have multiple unfinished projects. I want to know the answer to these questions:
What programming language should I start with and why?
What game engine should I use if any (I currently make 2d games for of, and I plan to expand to 3D)?
How do I practice my programming language?
What are some recommendations for games to practice programming?
Thank you for your time.
#programming #video-games #business-development #computer-games #video-game-design #game-design #games #development

3 answers

Mark’s Answer

Updated Frederick, Maryland

Hey Chase,

TL:DR -- start with the Phaser game engine, running your games in the Opera web browser (that way, you won't have to install a web server. That isn't hard, though, and Phaser has a tutorial for it if you'd prefer to use a different browser). Check out the many examples and tutorials on Phaser games. This will teach you Javascript. Once you are comfortable writing 2D games in Javascript, move to Unity and go through their 3D game tutorials. You can keep using Javascript in Unity, though eventually you will probably want to learn C#.

Wall-of-text version: First thing to understand: there are no right or wrong answers to your questions. There are dozens, maybe hundreds, of ways to achieve your goals. I'm going to suggest one path, but others will probably suggest different ones. All that matters is you keep trying ways until you find one that clicks.

Given your situation, I recommend you investigate the Phaser game engine. This is a free, open source Javascript game engine. It's intended for 2D games, has hundreds of tiny examples and many excellent "full game tutorials". You don't need any special editors or compilers to run it. You will probably want to install a web server like XAMPP to run the games, but if you work in the Opera web browser, you don't need to.

There are some excellent books that guide you through the creation of several full games in the Phaser engine. Practice doesn't get much easier than that!

Why Javascript? It is a great starting language, especially when you are working within a good framework like Phaser. You don't have to worry about data types (which are great, but when you are starting out, add to the learning curve), the language is object-oriented but free of classes (which are also great, but more learning curve). Javascript is a stepping stone to more structured languages like C# and C++.

Another benefit: learning Javascript will help you transition to Unity. Unity is a great engine and editor, especially when you are ready to make the jump to 3D, but it's HUGE. It's overwhelming to learn Unity, game programming, and a new language all at once. By starting with Phaser, you will learn the game programming and Javascript in a simpler environment. When you transition to Unity, all you will have to learn will be the editor itself -- and that is plenty.

Like Phaser, Unity has dozens of free examples and hundreds of tutorials to help you get started.

Most important, remember to start small. Arcade classics like Asteroids are a perfect place to begin. If you have favorite games from that era, try to reproduce them. Don't be discouraged if you start many games and finish just a few -- but make sure you finish some of them. Getting involved in a community -- like the one around Phaser -- may help you stay focused.

Good luck! Hope to play some of your games one day. :)

Thank you for such an in depth answer! I didn't expect someone to give me such a great answer to my question. I've never heard of phaser before, and I'll make sure to check it out.

Douglas’s Answer

Updated Burke, Virginia

I would highly recommend taking a class on the unity game engine or unreal engine 4 on Udemy.com. The classses on there are better than any YouTube tutorial series. They are even better than the official tutorials made by unity and epic.

Ambitious people will learn how to make games and will find success from following basic online tutorials, but the workflow and practices this leads too causes poor development progress later on.

You need to learn the industry standards for game development so that you can develop the proper skills. Practice makes permanent not perfect, so be sure you are practicing the right way. That's what professional tutorials will do for you.

Cuong’s Answer

Updated San Francisco, California

I don't have much game designing experience but I was able to create three games on Unity 3D, the first two were from tutorials from Unity and the third was basically on my own. So, I encourage you to try out Unity 3D or Unreal engine to create your game. These engines have wonderful interfaces that will provide an easier way to navigate around the program. As for the programming part, I only knew a bit of JQuery and PHP before I dive into Unity 3D. But I beleive C# is an quicker language to pick up than Python or Java or C++. I was able to understand the logic quicker.

Ask a question