Sign in to follow this  

Help?

This topic is 2547 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey,

I know this section of the forum is littered with these style questions, but obviously they need to be tailored to an individual's needs.

I have been trying - for a long, long time - to get into game programming (C++). I intend to do Computer Science at University, and then lead on to Game Development, but until then I really want to get a head start.

I have been trying since I was about 10, but it's so difficult - not only to do the programming (that's not my main problem), but to stay focused and motivated. I have no guidance - I have one book but it's difficult to follow, and it's irritating realising that I am not making direct footground on the game side.

I remember posting a few years back asking a similar question, and people recommended SDL. Once again, not enough material. I need guides which thoroughly detail every single aspect, and I am yet to find something similar.

I just want some help - I am so keen and eager to do this, but I have the attention span of a fish (unless I am utterly gripped).

Any EXCELLENT books, tutorials, or own advice would be greatly appreciated. The best I've done so far is a simple program that averages numbers, but I've lost all the knowledge and the C++ code NEVER EVER sticks in my memory.

Thanks.

Share this post


Link to post
Share on other sites
I have found that the best learning tool over the years has been just "doing"

I read books, I read tutorials, etc. Some times its hard for the information to soak in by just reading.
Read but while your reading also program the same thing, make changes to what the tutorial author was doing..

This alone helps me retain information much better than just reading.

Just my 2 cents.

Share this post


Link to post
Share on other sites
Learning to program is a long term commitment. You cannot expect instant results. You have to practise, it will start to stick eventually.

One way to make programming more fun is to use a language which doesn't put obstacles in your path, such as Python or C#. C++'s language philosophy is "the programmer knows what they are doing". This is not true for beginners, and rarely true in general.

Motiviation and focus are going to be difficult at the start. Think about learning to ride a bicycle, until you can get around without training wheels it just isn't going to be as fun. But this is something you have to work on too.

Share this post


Link to post
Share on other sites
When I want to learn some new technology or approach I'll find a book or howto online and get it working line for line to the way they give it. Once I have it working I then do a couple things to make it really sink in:

1. Tweak the sample to do something different. If the sample is rendering a triangle in DirectX make it render 2 triangles. Anything small will give you more insights into exactly what is going on.

2. Completely refactor the code into a different object model. This isn't terribly useful if you're a beginning coder but for someone who isn't still tripping over syntax it's a great way to understand call patterns and such.

Share this post


Link to post
Share on other sites
Thanks for all the responses so far. I do the example codes whilst reading, and over the past year of trying, the information is starting to soak a bit more.

I also appreciate I can't expect instant results, but at the moment, I get NO results. That feel productive, anyway. How does Python and C# differ? Thanks.

When trying to program in Graalscript for Graal, I found that was the most efficient method of learning, tweaking and changing etc. "Completely refactor the code into a different object model." What do you mean by this?

Thanks again everyone.

Share this post


Link to post
Share on other sites
Try one of the more beginner friendly languages like python or C#. They are more fun to mess with and both will give you a head start for when you go to college. if you understand the concepts of programming you will be miles ahead of your classmates (c# is also closely related to c++). As for code "sticking" that takes a long long time, and this is what google is for. Even after programming for years I sometimes need to do a quick google search for the correct way to start a class definition. thanks to the internet syntax and function names don't need to be memorized as long as you know how to use them.

edit: (forgot this) work on micro projects, like getting a sprite on a screen, then make it spin or change colors. work on experiments instead of a whole game (even a small game like tetris can be a lot of work and take time). I suffer from bad focus too, so experiments make me feel like I accomplished something and help with learning.

side note (don't need to read if you don't want): When my mom went to college they were expected to memorize all the functions in an api for an exam (less than 100). now an api can consist of thousands of functions and classes. Colleges realize this and memorization is not what classes are testing for. usually I've been expected to memorize a few key functions and classes, but more importantly how to use them.

Edit (say your latest post). best way to see the difference is to looks at some code (beginner tutorials work great too). short overview of differences (in my opinion): C# is very closely related to c++ (minus low level memory management) while python resembles the english language more. Both are very capable languages and they each have api's that offer similar functionality. I like both so I can't recommend one over the other, check both out and pick one.

Share this post


Link to post
Share on other sites
Thanks PATrainwreck, this post was very helpful :) Not only did you give good tips, but it makes me want to try more programming. What language did you start off learning?

And I am glad to hear that having any lanuage knowledge (no matter how little) will help me be further ahead (at first I found that hard to believe, but it kind of makes sense).

tHANKS

Share this post


Link to post
Share on other sites
glad i was helpful. I made another edit you might want to read aswell.

My start was a mix of many things, I used game maker when I was young. I tried learning many languages on my own with little success (I didn't know of this great forum so I learned much of the advice people give the hard way). I took a class on java in high school with a sh*tty excuse for a teacher (I was already miles ahead of her just for trying to learn on my own). from there I learned c# and managedDirectx right as it died and xna came along. very exciting to jump in right as a technology comes around. since then I've just been on a journey to learn, like i've said language or api isn't a big deal, once you start getting good with one jumping to a new one isn't too difficult.

good luck!

Share this post


Link to post
Share on other sites
Refactoring is basically cleaning up your code to remove duplication and to improve organization. I wouldn't worry about it too much if you're just starting out but something simple might be to just take your code and try to break it down into smaller functions that perform a single task.

Once again don't worry too much if you don't really get this yet since it's more of a higher level task.

Share this post


Link to post
Share on other sites

This topic is 2547 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this