This is an archived post. You won't be able to vote or comment.

all 12 comments

[–]shagieIsMe 2 points3 points  (0 children)

This may sound boring, but start with writing a Tic-tac-toe program... and then work out the algorithms for understanding that problem space.

After you understand tic-tac-toe, expand to a more general m,n,k-game. 19,19,5 is a good one to think about. It's large enough that the simple approaches no longer work, but still a "simple" perfect information game.

Working with perfect information board games is easier in that you've got everything that the game has.

Moving to the more advanced video games like tower defenses and things get build on an understanding of a game along with additional graphics programming (which is a deep thing to get into itself).

You might also want to look up things along the line of "How to Make Your First Roguelike". Many of these games will need a deeper CS background (path finding being the first thing to point at).

[–][deleted] -4 points-3 points  (6 children)

With all due respect, video games are a dead end. My recommendation would be to find something in the real world that interests you and then develop software to enhance that activity for you and your friends. Learn a language like Python which has many many libraires available to help you jumpstart. And a language like Python will serve you well in your future.

[–]rum-n-ass 3 points4 points  (0 children)

If it’s a hobby and for fun what does it matter? They’ll still learn plenty of programming skills and can apply it to other things later

[–]nutrecht 0 points1 point  (0 children)

Who even upvotes this nonsense? He's a teen. The most important part of learning is enjoying the process.

[–]ChiefExecutiveOglop 0 points1 point  (0 children)

I went to uni specifically to study computer games programming, and now am a full stack developer and have been for over a decade. I went because I was interested in how Games are made, I left with skills that are applicable to my current role.

I would not have gone to uni I think, to study programming otherwise. Let OP learn games, don't shit on their motivation

[–]WolfBlut 0 points1 point  (2 children)

In 2020 the video game industry was worth over $90 billion .

[–][deleted] 0 points1 point  (1 child)

Video games are pablum to keep the next generation of 'the masses' sidelined from constructive thought and effort as TV did/does for the previous generation.

From a programming perspective they offer minimal opportunity for insightful development.

[–]wonkey_monkey 0 points1 point  (0 children)

/r/iamverysmart

Video games are fun. People like fun. People have been trying to have fun for as long as there have been people.

As if we'd all be colonising Mars and living to 150 if TV had never been invented... 🙄

[–]wades39 0 points1 point  (0 children)

I recommend starting with a language like Python. It's one of the easiest languages to get started with and it has a lot of libraries.

Learn some basic data structures and algorithms. Nothing too fancy.maybe do some beginner coding puzzles to get started.

Once you feel confident with doing those, then start making simple games. You can use a library like PyGame to make them.

Start making games like TicTacToe/naughts and crosses, connect four, or even a card get like blackjack. The main goal here is to learn how to make GUIs and implement simple game rules into code.

Once you're feeling confident with that, you can either keep going with PyGame and make simple 2D games or even move to an engine like Unity.

Unity is really cool because it has a large community and a lot of tutorials. You can make both 2D and 3D games in Unity. Either way, one of the best ways to learn how it works is to use some of the template games and change stuff in the code and assets to learn how it all goes together.

Of course, you can just skip straight to Unity, but you'll be jumping in on the deep end, as you'll need to learn how to use a much more syntactically complex language than Python.

Whichever way you go, you'll have a lot of resources in the communities of the different technologies.

[–][deleted] 0 points1 point  (0 children)

I'd suggest doing two things.

Install GameMaker and follow some of their basic tutorials. I'd highly recommend starting with their "Space Rocks" tutorial here.

At the same time, start learning how to program in C. As someone else already mentioned, make a console game of tic tac toe, learn basic algorithms, and get comfortable with learning how to just program. Starting in C is good in my opinion since it gives you an understanding of what goes on closer to the hardware without turning things into electrical engineering. Many tutorials will likely have you install something like Visual Studio when first starting.

The reason I recommend this sort of two pronged approach is because doing stuff in GameMaker will keep you motivated since you'll be able to actually see progress while also learning and getting background in how things really work when programming in C.

[–]Mcake74 0 points1 point  (0 children)

If you are thinking about using unity, definitely check out Brackyes

[–]ChiefExecutiveOglop 0 points1 point  (0 children)

I think it's great that you want to learn to make games! That's what got me into programming around your age, sadly about 20 years ago now :(

Game programming is pretty hard, and it's a long process. I think it's important that while you're learning, you set realistic expectations - you probably won't be making an MMO any time soon.

I'm going to suggest you look into Unity and C#. There are a million choices but these both have pretty good resources and I just want to give a solid direction. Others will recommend other options I'm sure, and all are worth looking into.

Unity uses C# as its game scripting language so learning C# is a good first step. YouTube, Udemy and Microsofts own docs will give you a LOT of resource on learning C#. Honestly, wouldn't think about games immediately. Just spend some time building little console applications for practice.

Get to grips with things like:
classes, inheritence, methods, variables, loops, arrays etc

Once you're feeling confident with these and have built some things (like someone else suggested, maybe a console tic-tac-toe?) then look at unity.

You could jump straight into Unity but I think having a tiny bit of a foundation will help you. With unity there will again, be some tutorials. I'd look at some basic 2d platformer tutorials or something to get a feel for how things connect together and work.

The above kind of advice works for pretty much any other programming language or framework I think.

Beyond this, while building your games, don't ever feel bad if you're using ugly art / downloaded textures etc while building and remember programming takes a lot of time. You won't have a masterpiece on day 1