Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

c++ to ? = games 4

Status
Not open for further replies.

branrx

Programmer
Oct 5, 2003
9
US
I'm a smart guy teaching myself c++ from a couple of textbooks, with the intention of one day creating excellent games. So far everything is about math, loops and simple number input. Looking forward in the chapters it seems its more complex math, which is fine but I wish someone would tell me the title of the chapters that jump to the next level of graphics and whatnot. Could someone give me a hint as to when the fun really starts, cause without a clear vision of the future Im losing my erection.

new guy brandon
 
C++ is not a language for beginners. There is no fast start in C++. LearningC++ in 21 days at the beginning is a stupidity.
I can give you an advise, Learn DirectX or OpenGL. But if you loose your erection while learning basics of C++, you should know what a real Viagra is at least two years of

intensive(studyingC++, headaches, hardWorking);
so
1. You will loose it completely if you are not patient,
in this case I recommend you to study other languages
2. If you have enough patiency you will be a real Casanova

Ion Filipski
1c.bmp

ICQ: 95034075
AIM: IonFilipski
filipski@excite.com
 
I appreciate the quick reply. I feel the blood coming back now. In middle school, a long damn time ago, we had basic, and that was really a breeze. This is honestly more like learning Spanish, a whole new language. Im confident I can become fluent, I think I just needed a hug.Now for a dumb question. Directx and OpenGl.. are these languages in themselves, that can just be incorporated into C++? When I think about the two I just think of them as engines for 3d graphics.
brandon
 
They are not just engienes, they also have some kind of interface so you (or your program rather) can communicate and tell 'em what to do.

DirectX' interface is COM base and consequently you can use VC++ to interact with it. Or Visual Basic for that matter.

I'd recommend "The awesome power of DirectX/Direct3d", , though its prolly a bit old by now (DirectX 5). But the principle is the same.

I know it's a bit like swearing in church but to learn DirectX I actually recommend Visual Basic since it is super easy to get a 3D app up and running there, with a minimum of effort. And since the tough 3D stuff is in DirectX/3D it doesnt matter what code you wrapp around it (ie the 3D thingies doesn't get "slower" just because you house them in Visual Basic).

When you've figured out the concept go C++, and create you mind boggling game there...

Take it one step at the time, programming as all about divide and conquer.

As for where the fun starts...it depends on your preferences


/Per

if (typos) cout << &quot;My fingers are faster than my brain. Sorry for the typos.&quot;;
 
OpenGL is a a graphics library.

Using constants and functions the library provides; you can do really good graphics. OpenGL is small. You don't to know C++ at the begining, just C.
Although GL is not win32 only (multiplatform).
Using plain C with OpenGL you can do (i think) a lot of things, but i can't imagine a <big> game with good collision detection and other features and stuff in plain C.
That's a start for C++, u can use opengl with C and step by step go to C++.

Using GL is easy, u will be in to it in just a couple of months browsing tutorials and the OpenGL specs from opengl.org.

If u know nothing about win32 programming (Instances, handles etc for clean gl) u can try the GLUT library.

/* This is not an advertisment - it's reality */
For C++ try Stroustrup's books...

PerFnurt: I am not disagreeing with u, i just have never seen DirectX... maybe it's better

Petros
 
gopet: I am not disagreeing with u either, i just have never seen OpenGL... maybe it's better


/Per

if (typos) cout << &quot;My fingers are faster than my brain. Sorry for the typos.&quot;;
 
I really appreciate the comments guys. First thread and Im already with 6 responses. I get a little nervous with you big boys because Ive read some other newbies ask questions and the response is usually like, &quot;You should already know that dumb ass, go back and study your book.&quot; haha... thanks for keeping it cool. Got one more question for now, have you guys played the games diamond mine, collaspe, some of the popcap and gamehouse games? Do you know what language those are in? Is it Java? I'd like to start within a couple years makin games like that.. Oh by the way, my future goal is to make one hell of a game off the rollercoaster tycoon idea. With the option of riding the coaster in first person. I know this has already been done but to a whimpy degree in my mind. I want each ride to be decked out with complete character and scenery animation. And not just rollercoasters but rides with a certain &quot;Pirates of the Caribbean&quot; feel to them. I know this would be demanding on any system but by the time I learn all this shit I figure consoles should be up to speed.
 
Just some advice...

I just graduated with a computer science degree, and I feel like I am very skillful...I hold a nice job doing programming for a large company, but I have also been trying to teach myself game programming since high school when I started programming. I can honestly say, I haven't even started creating a single game yet, but I have done a lot of reading and am just getting to the point that I feel like a can create a game. You should not expect to just read some book and baaamm..create an amazing, high performance game. A lot of the difficulty in game programming does not just come from programming in itself. It also takes the understanding of very difficult math (i.e. linear algebra) I suggest you practice small and progress slowly. You most likely will not be able to create the game of your dreams in just two years, but don't get discouraged either...I've been working on this off and on for about 5 years and still no dice. Just remember..creating video games is among the hardest programming that can be done!
 
>I suggest you practice small and progress slowly

Good point. Perhaps start with something fairly simple and cloning something existing for practise.

PacMan, Teris, Break out, Space invaders...there's a lot of stuff you try out.

Starting off the the biggest project imaginable might drain the stamina...


/Per

if (typos) cout << &quot;My fingers are faster than my brain. Sorry for the typos.&quot;;
 
branrx, the best way to get an understanding is first and foremost understand the language you're gonna work in - there's just no-way for you to proceed to graphics programming in C++ until u understand all the fundamentals of C++. After that, you're gonna do yourself a big favor by finding and sticking with the graphics lib u wanna work in - OpenGL or DirectX - use one and stick with it, don't switch around once you make your decision.
~visit these sites to learn more~
nehe.gamedev.net (OpenGL tututials)
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
for 3D:
(great for teaching you 3D objects u can program)
(open source game engine)
Search google for 3D math concepts

I recommend starting out programming 2D rather than 3D - find example 2D games and look at the source.

===========
U need to understand Win32 programming also.

Rocco is the BOY!!

SHUT YOUR LIPS...
ROCCOsm.gif
 
Well, Im gonna step down a bit and go with Visual Basic for awhile. I have read 120 pages of Deitals C++ and Im not having fun. It is so complicated. I really think this book is to hard for a beginner.And Im a damn pharmacist that has been loaded with math and chemistry equations my whole high school and college life! I got a copy of visual basic 6, and boy this is much easier to learn!! I know the power isnt as great, but for some initial confidence Im gonna start here. WHAT DO YOU GUYS THINNK? Can I incorporate Direct X or Open GL with VB?
 
It's perfectly suitable for you to develop games in VB - my library has a book just about that &quot;programming games in VB&quot;. Just understand that there is reason that C++ is more popular b/c of things like Polymorphism, inheritance, Templates & &quot;overriding&quot;(forget that exact term of this).

Anyways, learning to make games is a skillset of it's own and learning the PROCESS is the most important - once you know how to do it you'll know where you want to go with your project and you should be able to do it in any language.

Remember, keep the big picture in mind -- once you get the big picture it's much simpler... I think you should learn how to PLAN your projects on paper - write up a plan that's broken into sections/steps/chapters whatever - it'll force you to look at your project(game) in the overall and the macro level -- then u can clearly see where you're headed... I hope this makes sense?

Rocco is the BOY!!

SHUT YOUR LIPS...
ROCCOsm.gif
 
Hey young one,
Look into openGL. There are dll files that are available if u are u sing C++ Builder. You should understand windows message handling, openGL, window buffering and so on. The latter is NB when it comes to animation. But you must get your ground work done, before buidling this monster of a program! Its worth the hard work.
Also look at making your own dll files. It helps with code reuse.
 
> I have read 120 pages of Deitals C++ and Im not having fun.

The Deitel & Deitel book is great (or at least it was back in 2nd edition when I read it). Stick with it. Read everything until it clicks; don't just read a section, say, &quot;I kinda think I get it...&quot; and move on. If you don't understand the basics, the later stuff won't make any sense.
 
Ok, im leaving visual basic. Its too easy and I am not interested in Fisher Price games. SO C++, here I come. I can feel my headaches returning...
 
Ok, its your choice. But if you're gonna go Direct3D I still recommend it to try out stuff with...

/Per

if (typos) cout << &quot;My fingers are faster than my brain. Sorry for the typos.&quot;;
 
I looked up some tutorials for Open GL, and it was pretty much stated you need to know C++. Is the same true with Direct x?
 
Ahem...no, in that case my recommendation would be quite silly.

/Per

if (typos) cout << &quot;My fingers are faster than my brain. Sorry for the typos.&quot;;
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top