How to start?

Started by
12 comments, last by JosephParrilla 12 years, 4 months ago
Hello, folks

At the beginning of this semester, me and my friend decided that we should prepare game (psuedo-3D RPG since we're only two people) for our graduation project. I'm good at C and my friend is good at Java, however, we decided to write our game in C++ because it's commonly used in game development and that's the field I want to work after my graduation. Since I'm good at C, I doubt I will have hard times with C++. I've allready got two books(accelerated C++ and Robert Lafore's book).

Last week, I started studying OpenGL from OpenGL Superbible but gave up after 1 week because a teacher in my University told me that studying OpenGL would be waste of time, and he added that we should be working on a game engine and start with small projects. The way of superbible's teaching the OpenGL(I find pretty weak in terms of practicing what you learn from book. He just explains his examples and that's all) mixed with my teacher's advice, I gave up studying OpenGL. Do you think studying OpenGL is waste of time? I'm sure it's not for in long term since I want to study in this field, but for the start, do you think it's better to start with a game engine? If yes, which game engine me and my friend should start with. I doubt we can manage a 3D RPG game project with only 2-3 programmers. Do you think it's good to stick with psuedo-3D game given that we have 2 years to finish? Note that we will spend some time to learn how to develop game as well.

Also, I had really really hard times to find resource on web about isometric(psuedo-3D) game development. Do you know some good resources that I can make use of?

Thank you!
Advertisement
I think your teacher may have misled you somewhat. Using an existing engine is a good way to begin.
But moving past that, I recommend you check out the FAQ. There's a link above.

-- Tom Sloper -- sloperama.com

As the axiom goes, make games not engines.

As to if studying openGL is a waste of time or not, that point is moot as most learning exercises cant be labeled as waste of time. However, is it an efficient use of time? No, not really.

From the sounds if things, unless required, I would disregard most of what your teacher has to say.

As a small caveat to what Tom said, engines are a good place to start #making a game #, not a good place to start programming. That doesn't really apply to you as you have prior experience, but for others reading, is a key point.
I am going to have to agree with Tom Sloper. Starting from the beginning is a very bad idea, especially starting out. Unless you think you and your friend can make an engine better than what is out there. (Which is possible, but doubtful) Grab an existing engine and start working.

Now, as far as the giving up on opengl you do understand that OpenGL is NOT an engine right? It's just a graphics API , the same is true for DirectX. By the way, you should avoid asking publicly which you should use, its just throwing troll feed on the ground. In my experience most of the tutorial books (including the SuperBible) that pertain to Graphic APIs just to get you familiar with gfx pipeline. If you try to make a sizable game with those tutorials your wont get much performance out of it. To your teachers credit, the best advice he gave was Start SMALL. Do not get stricken with "All we have to do syndrome". It's the killer of so many projects. Your average console game take about 1.5 years with about 20 people working on it (not just programmers). So you and your friend are going to be very very busy :)

Good Luck and wish you both the best
I always seem to solve my bugs on the drive back to work the following day! So why wont my boss let me go home now? Twitter_Follow
Thank you for replies. I'll continue my study on game engines rather than OpenGL.
Also, C++ isn't a language that you can quickly pick up (even if you know other languages). It's a language that seems like you can quickly pick it up... until several years have gone by and you still haven't finished anything and decide for the n++ time that you have even more C++ studying to do. I'd highly recommend considering other languages. Don't be mesmerized by C++'s "power".... power is relative. C++ may have a high level of run-time power, but development-time power is usually the critical factor in whether or not your would-be game ever exists.

Also, C++ isn't a language that you can quickly pick up (even if you know other languages). It's a language that seems like you can quickly pick it up... until several years have gone by and you still haven't finished anything and decide for the n++ time that you have even more C++ studying to do. I'd highly recommend considering other languages. Don't be mesmerized by C++'s "power".... power is relative. C++ may have a high level of run-time power, but development-time power is usually the critical factor in whether or not your would-be game ever exists.


I really really doubt C++ will take more than 6 months for me to hit advanced level. First, I'm a fast learner, second, I'm an advanced C programmer. Besides, hardest thing while learning a programming language is programming logic rather than language's tools. Also, if you're suggesting starting with C# or something, they are too "high level" for me. When it comes to power, C is even more powerful but it's not suitable for modern software development techniques unless you're going for system programming.

one more note: Software development != learning a language.


I am going to have to agree with Tom Sloper. Starting from the beginning is a very bad idea, especially starting out. Unless you think you and your friend can make an engine better than what is out there. (Which is possible, but doubtful) Grab an existing engine and start working.

Now, as far as the giving up on opengl you do understand that OpenGL is NOT an engine right? It's just a graphics API , the same is true for DirectX. By the way, you should avoid asking publicly which you should use, its just throwing troll feed on the ground. In my experience most of the tutorial books (including the SuperBible) that pertain to Graphic APIs just to get you familiar with gfx pipeline. If you try to make a sizable game with those tutorials your wont get much performance out of it. To your teachers credit, the best advice he gave was Start SMALL. Do not get stricken with "All we have to do syndrome". It's the killer of so many projects. Your average console game take about 1.5 years with about 20 people working on it (not just programmers). So you and your friend are going to be very very busy :)

Good Luck and wish you both the best


by "console" , you mean a game console(like ps3) or the command line?

[quote name='Gamer Gamester' timestamp='1322426143' post='4888200']
Also, C++ isn't a language that you can quickly pick up (even if you know other languages). It's a language that seems like you can quickly pick it up... until several years have gone by and you still haven't finished anything and decide for the n++ time that you have even more C++ studying to do. I'd highly recommend considering other languages. Don't be mesmerized by C++'s "power".... power is relative. C++ may have a high level of run-time power, but development-time power is usually the critical factor in whether or not your would-be game ever exists.


I really really doubt C++ will take more than 6 months for me to hit advanced level. First, I'm a fast learner, second, I'm an advanced C programmer. Besides, hardest thing while learning a programming language is programming logic rather than language's tools. Also, if you're suggesting starting with C# or something, they are too "high level" for me. When it comes to power, C is even more powerful but it's not suitable for modern software development techniques unless you're going for system programming.

one more note: Software development != learning a language.


I am going to have to agree with Tom Sloper. Starting from the beginning is a very bad idea, especially starting out. Unless you think you and your friend can make an engine better than what is out there. (Which is possible, but doubtful) Grab an existing engine and start working.

Now, as far as the giving up on opengl you do understand that OpenGL is NOT an engine right? It's just a graphics API , the same is true for DirectX. By the way, you should avoid asking publicly which you should use, its just throwing troll feed on the ground. In my experience most of the tutorial books (including the SuperBible) that pertain to Graphic APIs just to get you familiar with gfx pipeline. If you try to make a sizable game with those tutorials your wont get much performance out of it. To your teachers credit, the best advice he gave was Start SMALL. Do not get stricken with "All we have to do syndrome". It's the killer of so many projects. Your average console game take about 1.5 years with about 20 people working on it (not just programmers). So you and your friend are going to be very very busy :)

Good Luck and wish you both the best


by "console" , you mean a game console(like ps3) or the command line?
[/quote]

You couldn't possibly be more wrong about C++. If you think you can become an "expert" in 6 months, you are in a wild dream. It is very nice that you are a "fast learner", but thats irrelevant. Being stubborn is not the way to go here. Theres nothing wrong with wanting to make an engine, if that is your true goal. If your goal is to just make games, you should pick a language you know well, and pick an engine/framework that fits the level of abstraction you want and just get on with it. Being a language elitist will get you nowhere. Unless you have been making games for a while, I really dont see you running into performance issues in a language like C#. Trust me friend, the attitude that you have is going to take you nowhere... be humble and smart when it comes to your tools, youll be happy you did.
Never, ever stop learning.
- Me

You couldn't possibly be more wrong about C++. If you think you can become an "expert" in 6 months, you are in a wild dream. It is very nice that you are a "fast learner", but thats irrelevant. Being stubborn is not the way to go here. Theres nothing wrong with wanting to make an engine, if that is your true goal. If your goal is to just make games, you should pick a language you know well, and pick an engine/framework that fits the level of abstraction you want and just get on with it. Being a language elitist will get you nowhere. Unless you have been making games for a while, I really dont see you running into performance issues in a language like C#. Trust me friend, the attitude that you have is going to take you nowhere... be humble and smart when it comes to your tools, youll be happy you did.


No offense but as an engineering student, there is no way you can engineer something with C#. I'm not an language elitist but C# is just some bullshit that is made by a company who seeks only it's own interest rather than community. The problem is not performance issue, I want to learn something useful later in my life and I don't see C# will be useful for me.

In addition, I didn't say I will be an expert in 6 months. I just said I can hit advanced level in 6 months. You can check an english dictionary if you think advanced and expert have smilar meaning.

Finally, I really don't need your help other than technical issues. Please, keep your opinions to yourself other than those related with my question

Thank you for your contribution in this thread.

This topic is closed to new replies.

Advertisement