Sign in to follow this  
StayFly

How should I tackle programming

Recommended Posts

StayFly    177
Hey everyone I've been studying programming for about 3-4months now and I am not finding myself having a hard time learning this. I really want to learn how to make video games I don't see myself being happy doing anything other than that. Art is out of the question my art skills suck. Anyone got any tips that can really help me out videos or books that can help me look at programming in another way to really understand.

I understand the concepts of programming. Loops statements, classes, fields, methods, arrays, if-statements. Logical operators. I have a hard time putting everything together to make a functional program.

Share this post


Link to post
Share on other sites
kuramayoko10    390
[quote name='RoyalRyan' timestamp='1352959618' post='5001116']
I have a hard time putting everything together to make a functional program.
[/quote]
Ha, that is what makes someone a good developer, and that every good developer is aiming. [img]http://public.gamedev.net//public/style_emoticons/default/wink.png[/img]

On programming, reading a book about a language and its structures is easy and does not make you a programmer yet. To assemble all this knowledge in something functional is the tricky part.

So, prepare yourself to practice a lot. Create a lot of simple programs about every single topic you find: pointers, memory management, data structures (lists, stacks, trees...), classes, modifiers, etc.
Then you can start assembling this stuff together.

Still, you won't have mastered any of those fields. You will have to learn how to assemble them in a way that is not harmful for your computer: does not leak resources, does not crash, etc.

There is a movie featuring Jackie Chan and Jet Lee where JC says to his apprentice "You have to empty your cup first".
Programming is like that: when you think you mastered something (you filled your cup), you have to empty it because there is much more to learn [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Edited by kuramayoko10

Share this post


Link to post
Share on other sites
BaneTrapper    1531
[quote name='SimonForsman' timestamp='1352965490' post='5001130']
Practice makes perfect, 3-4 months is no time at all.
[/quote]
Bullshit...
In 3-4 months and good determination a person can learn shitload of stuff.
I learned most of advanced c++, basic java, SDL API, sfml API in time of 6 months.
To top that all i started about 100 projects finished about 30.
And cream on top, I work 10 hours a day 20 days in month...

The reason of my success is " I just love writing/reading code! ",

[quote name='RoyalRyan' timestamp='1352959618' post='5001116']
I am not finding myself having a hard time learning this.
And
Art is out of the question my art skills suck
[/quote]
That is what you really need, programing to not be dull process.

Art... Well as you stated you want to be a programmer not a artist. Download free art, give credit to artist and use it in your game... simple!

EDIT: If your don't feel confident enough to jump to a API and use it.
Try making you self a goal to make something somebody could actually use or,
A calculator that handles "Adding" in console.
then add "Subtracting"...
The point is to train how to make stuff. You will stumble on "difficulties/how to make that" and solving problems is important in programing.
After you done that, try thinking of a way to improve the code you made to make it more efficient.

Hope it helps. Edited by BaneTrapper

Share this post


Link to post
Share on other sites
Khaiy    2148
You remind me a bit of myself when I first started learning about computer programming. That makes me think that you might be subject to one of the biggest mistakes that I made as well: programming, for a beginner, has a lot less to do with understanding things that you can find in books and internet tutorials than you may think.

At its core, computer programming is about solving problems, and that isn't something that you will develop by trying to memorize the minutia of your chosen language and design approaches without trying to apply your knowledge. I would suggest that you start working on some (very) small projects now, using what you've already learned. That will help you to cement your skills and suggest things that you can learn more about.

As you find problems that you don't already know how to solve, you can experiment or do some research on possible approaches. When you've solved the problem you'll have improved your skills and seen how programming works in practice for that situation.

I like simon's suggestions, and I would also recommend something like a text-based game interface or, if you'd like a challenge, a graphical menu interface using a library like SDL or SFML. Those projects will be very educational and will also give you some code that you can use to build a game later on.

Share this post


Link to post
Share on other sites
Khatharr    8812
[quote name='BaneTrapper' timestamp='1352996820' post='5001262']
[quote name='SimonForsman' timestamp='1352965490' post='5001130']
Practice makes perfect, 3-4 months is no time at all.
[/quote]
Bullshit...
[/quote]

Why don't you take it down a notch?

Share this post


Link to post
Share on other sites
SimonForsman    7642
[quote name='BaneTrapper' timestamp='1352996820' post='5001262']
[quote name='SimonForsman' timestamp='1352965490' post='5001130']
Practice makes perfect, 3-4 months is no time at all.
[/quote]
Bullshit...
In 3-4 months and good determination a person can learn shitload of stuff.
I learned most of advanced c++, basic java, SDL API, sfml API in time of 6 months.
To top that all i started about 100 projects finished about 30.
And cream on top, I work 10 hours a day 20 days in month...

The reason of my success is " I just love writing/reading code! ",

[quote name='RoyalRyan' timestamp='1352959618' post='5001116']
I am not finding myself having a hard time learning this.
And
Art is out of the question my art skills suck
[/quote]
That is what you really need, programing to not be dull process.

Art... Well as you stated you want to be a programmer not a artist. Download free art, give credit to artist and use it in your game... simple!

EDIT: If your don't feel confident enough to jump to a API and use it.
Try making you self a goal to make something somebody could actually use or,
A calculator that handles "Adding" in console.
then add "Subtracting"...
The point is to train how to make stuff. You will stumble on "difficulties/how to make that" and solving problems is important in programing.
After you done that, try thinking of a way to improve the code you made to make it more efficient.

Hope it helps.
[/quote]

I've been programming for 18 years, i'd say 3-4 months is pretty much nothing(at uni i had people who couldn't grasp things properly after 4 years), people learn at different paces and spend different amount of time learning (Lots of people have more than one thing that occupies their time when they're not working / going to school) Edited by SimonForsman

Share this post


Link to post
Share on other sites
RedBaron5    582
I would try to create a game without graphics. The first game I made was a card game (all text). Once I had all of the logic for the game, I made it using graphics. I think card games are a good place to start as they have a distinct set of rules. (Card A beats card B, etc)

Share this post


Link to post
Share on other sites
3Ddreamer    3826
[quote name='RoyalRyan' timestamp='1352959618' post='5001116']
I really want to learn how to make video games I don't see myself being happy doing anything other than that.
[/quote]

Well, Ryan, you can do only things which make you happy if you want, but let us compare programming to other challenging things:

An athlete wants to only be happy doing a sport, so no practice, no drills, no weight lifting, and definately no scrimmage for you! [img]http://public.gamedev.net//public/style_emoticons/default/tongue.png[/img]

A student wants to only be happy at school, so no homework, no lectures, no computer time, no library study, and also no tutoring for you! [img]http://public.gamedev.net//public/style_emoticons/default/laugh.png[/img]

A spouse wants to only be happy in a marriage, so no chores, no going to work, no paying the bills, and certainly no asking the better half for any favors! [img]http://public.gamedev.net//public/style_emoticons/default/ohmy.png[/img]

Get my point?

Start with console games like Tic-Tac-Toe, crossword puzzles, mazes, and so forth. Decide that you are going to learn how to enjoy each stage of your learning, which really [i]is[/i] a choice.

Trust me, I know from experience: Satisfaction is to be had in every phase of growth and makes it easier emotionally and intellectually - you learn better.

Looking long term, complex games will require personal maturity as well as other things, make no mistake about it - no way around it, so I urge you to rise to the challenge.


Clinton

Share this post


Link to post
Share on other sites
AlexB.hpp    201
To protect the TS! I'd spend on C++ about 3.5 years and still learning it.
GameDev programming is just another branch in programming. So you should learn it as another one. And if you start learning it on 1st year of learning the language, then you will more skilled in it on 2nd, 3rd year.

I wish to TS a good luck and be patient.

PS You do need a challenges to learn anything. There is no other way. Edited by AlexB.hpp

Share this post


Link to post
Share on other sites
Anri    971
3-4 months...hmmm.

Okay, its good you have stuck with programming long enough to know you enjoy it. However, there are two main ingredients required to become a confident programmer: Knowledge of your language and software development.

As you have discovered for yourself, its not too difficult to learn your chosen language, or at least well enough to write some "Hello, World" programs. You've taken care of that part and now its a case of looking up in reference books. However, your programs will grow in size and so its going to become quite challenging to keep a project under control and in a focused direction. Also, as you learn different languages, you start to realise its not so much the language you need to worry about learning, but good programming practices. Software development is something you apply to almost all languages.

Its like your language is your hammer and nails. You know you bang nails into wood using your hammer. Software development, on the other hand, is your plans for how you arrange your wood into a frame. Once you have your plans drawn up and your wood levelled into the right positions, then you can start banging nails into the wood with the hammer. LOL, I suppose the nails would your code and libraries, but lets keep it simple for now... ^_^

Share this post


Link to post
Share on other sites
StayFly    177
I have no plans on giving up. Making games is what i want to do and making games is what i will do. I am just getting frustrated at school seeing other people understanding programming better then me feels disheartening.

I guess it just a part of life and how my brain is wired. Going to have to put in a lot more work then the average person.I didn't do to well on my mid-term but thanks for the confidence boost guys. I know i wont be happy doing anything else in life then making games.

Share this post


Link to post
Share on other sites
superman3275    2061
I'm going to stress something I did, and that really helped me:

Get a large, well written (Easy and amusing to read), reference book.

1) Read it all the way through. Don't use the examples, don't code anything. Read the whole thing without coding.
2) Re-Read it, this time coding all the examples, doing all the practice questions, etc.
3) Start making programs in the console you think are cool. Any-time you have a problem consult your book.

This should take 3-4 months if you are really focusing (Reading the book in detail, doing ALL the examples, and writing your own console-code for at least a month.)

Then, pick a Graphics API and download the documentation.

1) Read the documentation. Remember this: Use every chapter / new thing to do something with it that wasn't in the tutorial.
2) Make knock-offs of classic game, consulting the documentation constantly. The reason you make knockoffs is so that you focus on learning programming rather than learning game design.
3) Embark on your own project! Also, remember to pre-visualize! Here's some articles I wrote to help you along the way:

[url="http://www.gamedev.net/blog/1563/entry-2255308-beginners-pre-visualization-is-important/"]Pre-Visualization is Important![/url]
[url="http://www.gamedev.net/blog/1563/entry-2255300-structure-stop-the-catch-alls/"]Stop the Catch-Alls![/url]
[url="http://www.gamedev.net/blog/1563/entry-2255297-intro-instant-gratification-and-why-its-important/"]Instant Gratification (And Why It's Important)![/url]

Have fun!

Share this post


Link to post
Share on other sites
3Ddreamer    3826
[quote name='RoyalRyan' timestamp='1353439889' post='5002734']
I have no plans on giving up. Making games is what i want to do and making games is what i will do. I am just getting frustrated at school seeing other people understanding programming better then me feels disheartening.

I guess it just a part of life and how my brain is wired. Going to have to put in a lot more work then the average person.I didn't do to well on my mid-term but thanks for the confidence boost guys. I know i wont be happy doing anything else in life then making games.
[/quote]

Ryan,

The tenacity is exciting to me! [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img] You [i]will[/i] reach at least some respectable level of success from such determination.

Let me share with you a secret which is largely unknown, forgotten, or unappreciated. Formal education with all its advantages is no indicator of your future success. I know that some academic people will condemn me for making such a statement, but history has proven it millions of times.

Albert Einstein, Eric Hartmann, Hans-Ulrich Rudel, some of the greatest in their various fields, and many a successful achiever such as musicians had nearly or completely washed from formal training or performed very lack luster early. As a matter of fact, approximately 1 of 4 billionaires were failures in classes, for example as high school or college drop-outs!

By all means, finish your education! However do not be discouraged because it is training and not the future determiner that many claim it to be. Don't let all that testing and comparing to other students be a judgement on you. Instead see it as a series of stepping stones to possible high achievment later in life when you are free to create your own research and development of games.

Your tenacity is more important than the classes. The reality of you being in school is enough proof of your future programming skills. Some people don't do too well in school because of being more complex and not because of being stupid. Your ordinary looking school performance just might actually be a sign of greatness, as many great ones have demonstrated throughout history. In time you will fulfill your control of the course of your life if you remain tenacious.


Clinton

Share this post


Link to post
Share on other sites

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