Sign in to follow this  
Spherik

Question on Progress

Recommended Posts

Hi all, I just have a few questions on my progression into programming. First off my (short-term) goal is to be able to create a tetris clone, then onto other harder, but still simple, games. I have chosen C++ for many different reasons. Now I have purchased 2 books already - Beginning C++ Game Programming and Beginning OpenGL Game Programming and I have a few other C++ books lying around. Now, im about 1/3rd of the way finished with Beginning C++ Game Programming and as I was flipping through the book I noticed that the last chapter ends with my games still in a DOS Shell. My question is, should I progress from Beginning C++ Game Programming to the OpenGL book if I want to make a tetris clone, or is OpenGL not needed for such endeavors. Please feel free to recommend any texts or advice on how I should proceed to achieve my goal. Secondly, I think I have a problem when it comes to creating my own code. I can completely understand every piece of example code, but when it comes to creating my own, I just blank. Sort of how you can understand a foriegn language better than you can speak it. Is this because I dont have formal training and unique problems to solve. Is this normal for a beginning programmer? Also does anyone know any sites with example problems that a novice could solve? Thanks for any advice anyone can give me.

Share this post


Link to post
Share on other sites
I would do each book to its full extent just for the practice. The wider your range of knowledge, the more experience you acquire, the better prepared you will be to write your own code. I think a lot of people experience the blanking out you described, and the ability to free-code will come with time. Until then, just keep trying and you'll get it.

Share this post


Link to post
Share on other sites
To advance into openGL or any graphic programming all you need is basic and advanced C++ knowledge. To answer your second question about making code and being confused on how to go about doing what you want can be fixed by a number of ways. Draw out a design for your program, even if it's a simple text input game or better yet guess a number. Draw out your functions and what each object does. Having problem solving skills is a major plus when programming as well.

Here is a small example of what I'm talking about.

http://img295.imageshack.us/img295/8811/examplehm3.gif

The code (in C# so ignore the C# in general but pay attention to how I made everything work from my design).


using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Display a Message Asking to Enter a Name
Console.WriteLine("Please Enter a Name");

// Get the input and store it in a string
string Name = Console.ReadLine();

// Write the Name
Console.WriteLine(Name);
}
}
}




Best wishes and I hope you find this useful.

Share this post


Link to post
Share on other sites
Thanks for the help so far.

So what you are saying is that I should finish both books before I can tackle a game such a tetris? Or that I only need C++ knowledge to make the game.

Also, the idea of formally planning my program on paper sounds like it would definately work. Thanks again.

Share this post


Link to post
Share on other sites
Quote:

Secondly, I think I have a problem when it comes to creating my own code. I can completely understand every piece of example code, but when it comes to creating my own, I just blank. Sort of how you can understand a foriegn language better than you can speak it. Is this because I dont have formal training and unique problems to solve. Is this normal for a beginning programmer? Also does anyone know any sites with example problems that a novice could solve?

Thanks for any advice anyone can give me.

I bet this is typical for most of us. It was for me anyway. The blank thing.
I spent a couple of years desperately trying to grasp things, and I always found myself digging into irrelevant hits on google.

Tips:
Try to get an idea of what is happeneing "under the hood", Memory, OS, Network, compiler/linker. In short; the PC architecture.
It gives a lot of confidence to know what happens when you use system resources, rather than just doing it becouse someone told you something you never realy understood.

Be speciffic when searching google, or posting on GD etc. and dont let anyone get away with anything.

Another thing is to have some kind of strategy. A simple strategy could be to write down on paper (in plain English) what is supposed to happen, and in what order.
An overview like that will relax you and keep you on target. A more advanced strategy is to visualize and draw your program completely before you even start to write code. Its commonly called UML. Something to look into at some point down the road.

Basically anything that can boost your experiance will help.

Share this post


Link to post
Share on other sites
Learn the language you plan to code in. Once you are comfortable with it, you can then proceed to looking up any tutorial on Tetris and Pong. The biggest problem with game programming is people get hung up on language details don't/can't focus on the game designing concepts.

Simply put, you can't program a game in C++, if you don't know C++. Yes the same is true for languages like Python and C# (they just have less of a learning curve).

Share this post


Link to post
Share on other sites
I would suggest that before you even begin learning to use opengl or making something with graphics you should make a functioning text based game to get used to programming. Something like blackjack, a small text based rpg, or even tic-tac-toe is good to start with. You should progress once you have a good idea of how to go about solving problems, what classes to make, what functions are needed, and when you dont need to double-check syntax every couple minutes.

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