From the Web to Games

Started by
1 comment, last by MrSlaughter1775 7 years, 1 month ago
Hello everybody. I am glad to be a new member of this community. Now, let's get down to business, shall we?

About a year or two ago, I watched a documentary about Notch and how he created Minecraft. That was the moment that I decided that I wanted to make my own video games. I started with Java, and touched on a bunch of other languages including C++, Python, and Ruby, learning the basics of each but never getting to a point where I felt comfortable creating a game (I have created very simple text-based adventures in each of those languages, as well as simple calculators, but that is it). I could never figure out how to make the big picture. Along my journey of self-learning, I stumbled into web development. I learned a little PHP and messed with HTML/CSS/JavaScript. (Will post a few sample projects below)

Fast forward. I joined the Marine Corps and left coding behind, temporarily. I've recently decided that it is time to pick back up my old hobby now that I have more discipline. With all of my previous language hopping, I am unsure of where to start back up. I feel as if I should "master" one language before moving onto the next ones, but I am unsure of which to "master" first. My end goal is to create games as a hobbyist and eventually have my own indie game studio some day.

TL;DR
1. What language would you ladies and gentlemen recommend that I pick up and "master" first, keeping in mind my prior experience?
2. Should I jump straight into using a game engine, or focus more on the fundamentals of programming?

Projects:

Responsive Development - http://codepen.io/travisxcode/pen/jqXqOr

Portfolio Demo - http://codepen.io/travisxcode/pen/zqevYm

Bouncing ball - http://codepen.io/travisxcode/pen/dMgNbO
Advertisement
2. Should I jump straight into using a game engine, or focus more on the fundamentals of programming?

This is actually the first question :P

The answer is, what do you want?

If you are primarily interested in making games, and less in the fundamentals below it, a game engine is a good choice. I never looked at game engines (I probably should, somewhen), but Game maker is one option, Unity or Unreal are two other options. The latter I heard, has nice blue-print facilities, a high level game making language (no idea what it is, but you may want to have a look at it).

If you want to foremost understand programming, and programming of games, learning a language, and writing a game in it, is the best road.

1. What language would you ladies and gentlemen recommend that I pick up and "master" first, keeping in mind my prior experience?

Under the assumption a programming language is the choice, your best choice is the language you are most comfortable with.

As you found out, knowing a language, and programming a game, are two different things, and preferably you want only one of those problems on your plate at the same time.

That said, you seem to have done a little of everything. If you want my advice, I can't tell you about options for PHP, as I hardly touched that area. In the regular programming languages, a common advice is for Python (a very well designed language, cant go wrong there), or C# (mostly used at the Windows platform). The latter is often used with Unity game engine, and a cousin of the Java language. Java is a third option that will work.

All these languages are managed, which makes them simpler to work with. Also, the languages generally try to help you, and avoid hard crashes, etc.

At the other end of the spectrum, you have the "bare metal" languages. You basically get direct access to the CPU facilities, with little extra. The most bare-bones language is C, C++ gives you a lot more standard solutions out of the box, but none of it is obligatory.

The bare-bones approach means you can get the ultimate performance. The down-side is that you have to know the system and the language inside out to get that. Also, these languages don't help you much. If you want to shoot yourself in the foot, go ahead.

While these languages are great for getting a deep understanding what a computer really is, and how it works (fully recommended to study at some point), these languages are generally not useful for beginners.

Whatever you pick, I'd recommend to do the tutorial for the language again. Not only for brushing up your knowledge, but also, because all languages have evolved in the mean time.

As for practicing game making, there is an obligatory link :)

https://www.gamedev.net/resources/_/technical/game-programming/your-first-step-to-game-development-starts-here-r2976

It provides a list of suggested games to write. That's where the adventure starts!

Since I would like to focus more on the programming side of things, I decided to pick up C# as my primary language. Learning C# will allow me to easily transition into using the Unity engine, so it seems like a logical path to follow. I plan on learning the language basics first and then looking into working with a game library, before transitioning into using a full blown game engine. Any suggestions would be appreciated. Thank you for your response, and the article that you linked was full of useful information. I appreciate the help.

This topic is closed to new replies.

Advertisement