(HELP) The Noobie beginnings. Struggles in beginning Game Programming.

Started by
7 comments, last by FlyingSatin 10 years, 7 months ago

Hello Gamedev!

I am in high school and I have attended all the available computer courses in my school to learn and understand programming. A year has passed, and I have learnt the basic logical behind programming. However, the things they teach in high school never really gave me a good next step. I've learnt Visual Basics, and GameMaker Studios. Knowing that GameMaker is an engine, it really limits my learning capabilities and it taught me to write lazy code. From here on out, I have no idea where to go next. I skimmed C++, C#, Java, Javascript, Python and Ruby. However, the languages all seem a blur to me and I cannot settle with one.

My question is, what should I do now? Should I learn C++, even though it's going to be one hell of a language to learn? Or should I start learning the game engines like Unity? I have no idea where to start and would like to ask for assistance. I would like to start making games for PC. I "program" 2D games the best from my experiences. And yes, I've read the "Beginners" tab before making this topic.

So if any of you have advice for me, please show me step by step on where to go, from here on out. I am still not fully understanding what many terms in this programming community is, so please be extremely basic xD

Also, please show me the link to perhaps some tutorials that are easy to follow along to whatever you want me to be lead into.

I have a huge passion for gaming, and many Indie developers inspire me to start learning more and more.I just want to make the right choices, and learn as fast as I can. (Or try to considering how busy I am on a regular basis xD)

I "love" you all.

-Hayden :D

Advertisement

There's lots of different ways you can start off. Either starting down in the low levels of a language like C or C++ or jumping right into game development with Unity or the UDK.

If possible, I'd like to give a bit more guidance to one of your paths. C++ and C are good hardy languages and the skills you learn will make you a very robust programmer that extends past just game programming, but yes it can be quite difficult at times and this especially true with the complication of game development.

Perhaps I can give some more stuff for you to research so you can ultimately find something that suits you best; going with C++ and C I recommend looking up GLFW3, GLEW, and OpenGL. These will give you the bare bones of doing rendering which I think is good. These alone don't provide sound, image loading, resource handling, advanced rendering, new techniques, etc.. by default. You have to dive in and figure it out for yourself which I think can be a very rewarding experience. You'll begin focusing on correct architecture and class design which are very useful skills later on for other things.

The only downside is you won't be popping out games after a few days. I think, since you're just starting out, you'll be lucky to be able to render an image to a screen in the first week let alone create a system that can manage everything going on. It's hell, it sucks, it's riddled with bugs and errors, your using a couple megs of ram for a 10kb image. It's horrible. It's, well, it's pretty freaking awesome.


I would like to start making games for PC.


I have attended all the available computer courses in my school to learn and understand programming.


what should I do now? Should I learn C++, even though it's going to be one hell of a language to learn? Or should I start learning the game engines like Unity?

believe it or not, game development is not about learning languages, engines, libraries, APIs, tools, etc.

ITS ABOUT BUILDING GAMES!

all those other things are simply means to an end.

so what you need is a game project. something of appropriate complexity for your current skill levels. that in turn will determine what languages, engines, api's etc to learn next.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php


I am in high school and I have attended all the available computer courses in my school to learn and understand programming. A year has passed, and I have learnt the basic logical behind programming. However, the things they teach in high school never really gave me a good next step. I've learnt Visual Basics, and GameMaker Studios. Knowing that GameMaker is an engine, it really limits my learning capabilities and it taught me to write lazy code. From here on out, I have no idea where to go next. I skimmed C++, C#, Java, Javascript, Python and Ruby. However, the languages all seem a blur to me and I cannot settle with one.

Hello,

Game Maker is more than capable of producing a wide variety of games. How much have you worked with GML? The visual scripting system in Game Maker is fairly basic, but you can do a good bit with the GML language. If you are already familiar with some of Game Maker Studio then you might could try doing more with it.


My question is, what should I do now? Should I learn C++, even though it's going to be one hell of a language to learn? Or should I start learning the game engines like Unity? I have no idea where to start and would like to ask for assistance. I would like to start making games for PC. I "program" 2D games the best from my experiences. And yes, I've read the "Beginners" tab before making this topic.

Pick a language that you like and start making games. If you can't decide then just pick one. The language is just a means to an end and the end is making a game.


So if any of you have advice for me, please show me step by step on where to go, from here on out. I am still not fully understanding what many terms in this programming community is, so please be extremely basic xD

Also, please show me the link to perhaps some tutorials that are easy to follow along to whatever you want me to be lead into.

Pick a language and write lots of games/programs. Keep practicing, start small, and gradually build up to more complex projects. There is no step by step guide, it is a constant learning process! I still learn new things on a daily basis :) .


I have a huge passion for gaming, and many Indie developers inspire me to start learning more and more.I just want to make the right choices, and learn as fast as I can. (Or try to considering how busy I am on a regular basis xD)

There are rarely any "right" choices in game development. Furthermore making mistakes is an important part of the learning process. Learning is a life long process so don't rush. My best advice is to just make stuff, and see what happens.

Believe it or not, there is a huge difference between if you want to learn programming and make games or want to learn programming to make games. The difference being that in the former situation you are equally passionate about both game dev'ing and programming (separately passionate) and want to pursue them both. In the latter situation, you are interested in programming, but this as a means to your goal to make games. I have totally separate advice for whichever one you are. Neither way of thinking is better.

If you want to learn programming and make games, then I would recommend partitioning or wiping your HDD and installing GNU/Linux and using C to start making programs using legendary tools like GCC, make, GNU nano, bash, Emacs, and GNU/Linux itself. This is a whole different topic, but there is still something I must address. I will definitely get a lot of flak here for recommending what I just did, but honestly if you learn this stuff, everything else is easier and not superstitious. You can then learn C++ if you want to fit in with everyone else, once your projects become too big for C (you can judge this based on what is comfortable size for you). You don't have to use C++ for large projects, it's all preference. C code is valid C++ code, but not vice versa (its like C is the inside layer of a C++ onion). Some might recommend you stick with something like Python, Lua, or Java on Windows ($indows), but if you are passionate about programming separate from games, you might as well learn the mainstays and norms of the modern PC.

If you want to learn programming, but programming is just a part of your path to making games, ignore the above paragraph. That would be torture if you really didn't want to learn the stuff. Just go grab something like Unity 3D and use JavaScript, Python, C#, etc. as a scripting language. This is a perfectly valid way of making games. I don't care what people say, this is the best option for pretty much all indie devs. The only reason people like me prefer writing our own code is because it is fun, once you get the train rolling. You also get to sit back in your chair with a pretty HD 3D game after a day or two of work with pride and achievement, whereas doing things like above you can sit back with pride over your 3D HD (extremely buggy) game that frequently crashes and has caused you to lose half of your hair (this all after 2 months).

Overall, you have some very productive times available to you. Kids have lots of energy at your age, and they also have lots of time. High school is a lot easier than university and you still probably have some productive time on your hands. I would recommend maybe taking classes like calculus and physics (especially if your school has an AP program) so that you can build experience in things that you may not think relate to programming and games, but do indeed. Respond if you want me to elaborate on anything I said.


GCC, make, GNU nano, bash

LLVM, CMake, Vim, zsh.

:)

+---------------------------------------------------------------------+

| Game Dev video tutorials -> http://www.youtube.com/goranmilovano | +---------------------------------------------------------------------+

All imperative/procedural languages have a lot in common, so switching from one to another isn't too hard once you're familiar with the basic concepts.

C++ has some parts that are complicated, but you don't need to use *all* the features it provides, so you don't need to learn it all to start with (or ever, if you don't need them).

C# and Java are a bit more friendly, due to not needing manual memory management.

There's no wrong choice, they're all right - use whichever you want :)

Thank you everyone! I guess I do have to take a step back and don't think so far ahead into what languages I should learn after learning the first one.

I have decided that since Unity3D uses C# and Javascript, I will learn that first.


I have decided that since Unity3D uses C# and Javascript, I will learn that first.

Good choice!

This topic is closed to new replies.

Advertisement