Looking for an online C++ teacher.

Pages: 12
Hey, I'm DaSpirit and I'm looking for someone to be able to chat online to whenever I have a question with C++. I have been using C++ for almost a month now, and I know about how to use Console Appications, Win32 Applications and OpenGL.However, I am learning through the internet since I am still a High School student and no classes are available for me. I believe I am going through fast because I have been using Game Maker, which has its own language with a similar syntax as C++ for 3 years.

So, I am looking for someone with knowledge on how to create Win32 Apps and how to use OpenGl so I could create games with my classmates who are also trying to learn C++(though I am ahead of them all). I would like to communicate either through AIM or Skype.

My first questions would require you to look at my current game engine. I only have a set Frames Per Second and some basic shapes drawn on to the screen with OpenGl. Remember I learned from the internet so I'm missing a few important things and can't find out some things. I would first ask:
1) Why does the screen go black while resizing
2) How do I fix my FPS, as it stop while resizing
3) How do I load a texture and draw it

PM me if you're willing to help, or just post in this topic. I have one curious mind and am hoping to get into the gaming industry one day. I would like to discuss my techniques and ask questions and such only. Oh and I'm trying to make a little 2D game first with OpenGl and plan to move on to 3D soon.

I would post my source here but I don't want anyone to steal it, I'm very protective. Also, how else would my questions get solved quickly? :p
I doubt anyone would full-fill your request without some sort of payment.

I have been using C++ for almost a month now

Game development requires a very solid grasp on the language. I think you should give it another month or two of experience, then dive into game development.

I would post my source here but I don't want anyone to steal it, I'm very protective.

If your not willing to post source code, we can't help you. Anyways, your a beginning game developer, it is not like someone is going to make a million bucks off your code.

Also, how else would my questions get solved quickly?

This forum.

I am still a High School student and no classes are available for me.

Go to a book store and get a good C++ programming book. The internet just won't go as in depth as a good book.

My advice: Slow Down, take your time to get a solid grasp on the things you are learning.
Last edited on
I have a slightly different opinion:

good for you for diving right in to what you want to do. You're starting with something managable and building up. That's the exact right way to do it.

That's exactly how I started and it served me well.

IMO, starting with console programs you have no interest in is a waste of time, as much of what you learn isn't applicable to other areas anyway (I've been using C++ for over 10 years now and I still don't understand a lot of cout/cin details since I never use them).


Though I do agree that you shouldn't be so secretive with your code, and you probably won't be able to find someone who will be an online tutor for free.
I think it is crucial to start with console programs as you don't have to deal with the complexities of windows or drawing graphics to the screen. It allows you to focus solely on the language.

I am sorry if my posts seem a bit negative, I just don't think its a good idea to dive right into game development if you don't have a solid grasp on most of the language.
Game development requires a very solid grasp on the language. I think you should give it another month or two of experience, then dive into game development.


I'm not diving straight into actual game development. I'm starting small, and I've already made Pong last week with Win32 and I used the basic Windows GUI to draw the paddles as rectangles and drew the ball with a circle.

If your not willing to post source code, we can't help you. Anyways, your a beginning game developer, it is not like someone is going to make a million bucks off your code.


True, especially since my coding isn't efficient as I am a beginner.

This forum.

I dislike posting questions to forums. Answers might never come. The only thing I like about is that multiple people to give their insight. Having a teacher is easier for me since I get my answer quick.

Go to a book store and get a good C++ programming book. The internet just won't go as in depth as a good book.

My advice: Slow Down, take your time to get a solid grasp on the things you are learning.


I seriously have no money. I can't find a job as I'm too young and most people won't take me even less of a chance because of the current economic fail we are in right now. And I am trying to get a solid grasp. I can figure things out easily, for me it's just a matter of memorizing the functions.

I think it is crucial to start with console programs as you don't have to deal with the complexities of windows or drawing graphics to the screen. It allows you to focus solely on the language.


I already memorized all to know about console programs. I know what to include, I know about what the namespace std does and I know about the main loop. I already have a foundation on programming so I know how to work with variables and such. I've been programming in this http://en.wikipedia.org/wiki/Game_Maker_Language for 3 years and I translated to C++ easily.

I am sorry if my posts seem a bit negative, I just don't think its a good idea to dive right into game development if you don't have a solid grasp on most of the language.


Nope, I like your posts. Good arguments you have.

Yeah, I guess you're right I should post my source and ask around in forums. But I'm still looking for a teacher. I could be like an apprentice!
I already memorized all to know about console programs.
Aww... Isn't that cute?
Alright, so I suppose you can tell me how to reliably and portably output UCS characters to the console, because to this day I still can't figure it out.
Alright, so I suppose you can tell me how to reliably and portably output UCS characters to the console, because to this day I still can't figure it out.

Funny. You just made me research some things. And why would you want to do this anyway? I see consoles as pointless. If you really want this question answered, post it on these forums, they should figure it out. I'm not here to answer questions, I want my questions answered which is why I want a teacher. But at this pace, I'm not getting one though...
I see consoles as pointless.
Sigh... Not everything is about pretty graphics.

And yes, you're unlikely to find someone experienced willing to teach you. Experienced programmers are either busy with work or with their personal projects (or with their life), so they don't have time to tutor. When they do have some extra time, they may answer a few questions on Internet fora or mailing lists. Those that aren't busy programming, are busy teaching at schools, where it actually makes sense to teach.
That's why being self-taught is a major part of being a programmer. You simply can't rely of there being someone there to answer your questions, because most of the time (at least for the interesting questions) there won't be. You need to be resourceful and learn how to research things yourself. That involves a lot of searching, a lot of reading, and a lot of experimenting. Experimenting alone is one of the most important aspects because sometimes, the documentation you read may be misleading, wrong, or simply nonexistent.
I think it is crucial to start with console programs as you don't have to deal with the complexities of windows or drawing graphics to the screen.


Instead you have to deal with the complexities of string parsing (read: more complex than most simple graphics work)

It's a misconception that graphics are difficult. With the right library they're very easy.

WinAPI is difficult, granted. But I didn't mean to suggest he should start with WinAPI.

Besides people that want to make games and start with the console ALWAYS end up looking into extra crap to make console based games, like moving the cursor, clearing the screen, changing BG and text color, etc, etc. And doing all of that is harder than just working with graphics. Plus it looks shittier and is stuff you'll eventually abandon.


Basically, it's a huge waste of time.
im still in high school, year 8 actually, and buying a good c++ book was the best thing that happened to me. i didnt start off big but going straight to games can be hard... believe me starting on other things made me go onto have other ideas and change my thinking and now i want to do way more than just games.
1) Why does the screen go black while resizing
2) How do I fix my FPS, as it stop while resizing
3) How do I load a texture and draw it
Ok, post code.. I'll try to answer..
Besides people that want to make games and start with the console ALWAYS end up looking into extra crap to make console based games, like moving the cursor, clearing the screen, changing BG and text color, etc, etc. And doing all of that is harder than just working with graphics. Plus it looks shittier and is stuff you'll eventually abandon.

I don't think he's talking about making actual games in the console, but rather simple programs that avoid the need for the boilerplate associated with graphics. I completely agree with Vexer - the learning process will be much smoother if you start with console-based programs first.

For example, to learn how to choose the right data structures, you could try writing a program that, given two words and a lexicon of words in the English language, prints out a valid word ladder (http://en.wikipedia.org/wiki/Word_ladder).

I already memorized all to know about console programs. I know what to include, I know about what the namespace std does and I know about the main loop. I already have a foundation on programming so I know how to work with variables and such.

That's syntax, not programming.

Anyways, in response to your specific questions, here is a set of great OpenGL tutorials: http://nehe.gamedev.net/
I don't think he's talking about making actual games in the console,


But if someone gets into programming to make games, that's exactly the kind of programs they'll want to make. So if they're introducted to the console, the practice programs they'll make will be console games. And the fact is... the console is a TERRIBLE medium for games.

They won't know that, though. And as soon as they figure out how to print text, they'll want to figure out how to clear the screen, etc. Before you know it they're wasting their time jumping through hoops and learning all sorts of arcane crap that hasn't had any practical application in 8 12 years. (EDIT: I keep forgetting it's already 2010)

It happens time and time again on these forums. The console simply is the wrong medium for people interested in this kind of programming. Learning the basics through the console offers no benefit. It's just starting on the wrong path.

I'm not saying the console is the wrong starting point for everyone. But it really is the wrong starting point for game development. Console development and game development are two entirely different things.

but rather simple programs that avoid the need for the boilerplate associated with graphics.


This is what I don't understand.

Why do people think that graphics are so complicated that they have a higher learning curve?

Graphic libs really can be (and many are) this simple:

1
2
3
4
5
Image myimage("hello world.bmp");

Window mywindow(640,480);

myimage.Draw( mywindow );


Granted it's not quite as simple as simple as cout << "Hello world";, but is it really so much more difficult that people should be told not to pursue it?

For example, to learn how to choose the right data structures, you could try writing a program that, given two words and a lexicon of words in the English language, prints out a valid word ladder


I'm glad you gave this example. It saves me the trouble of having to come up with one to support my point:

This is just the kind of exercise that is a complete waste of time for someone interested in games. How does this have any application at all to an introductory game developer? Wouldn't a more practical exercise be something like "make an inventory system and draw out the items in your inventory"? That's something that would teach them the same basics, but would actually be applicable to what they're doing, and would be a lot more fun and would keep them more interested.

When you first start out you're always starting with no background, so you always have to learn from scratch. That means there's that you not only have to learn how to work with the medium of your choice, but you also have to learn language structure.

Who decided that iostream is the easiest medium out there? I sure don't agree with that idea. There are a lot of things about iostream that I still don't understand after 10 years.


Anyway... my point: Why waste your time with boring programs you don't care about when you can make fun ones that let you practice all the same things, and that also fuel your passion?
Last edited on
Summary..

Path 1
Data Structures first then Graphics

Path 2
Graphics first then Data Structures haunt you later..
Woah I love how everyone is arguing with me. I took all your advice and posted my problems as well, as what I tried to fix here: http://cplusplus.com/forum/windows/27502/
Like I said, I already am experienced with the c++ syntax as I used a programing langauge with a similar one, which is how I am going through this all pretty quickly. I've checked out these forums and found an article on console programs that goes more in debt than what I've learned earlier.
Also, I will try to get to the library, get a library card and find a C++ book to help me.
I am still looking for a teacher though!

EDIT: Yeah, I'll learn more about Data structures. And this is becoming more of a "what I should learn first before I go into gaming thread".
Last edited on
blackcoder41 wrote:
Summary..


That is a crap summary. It's a little frustrating when I try to be articulate and people completely miss my point. =(

The question here is not about learning data structures vs. graphics first. It's about learning console I/O or graphical/gamelike I/O first.

You can't just learn data structures first. You have to learn them on some kind of medium. There has to be some kind of IO with the user in order to make any kind of program or else you won't be able to see the result and you won't learn anything.

My argument is that learning a graphic lib is not any harder than learning iostream. So why should someone start with iostream when it doesn't directly apply to what they're trying to learn? It's a wasted step, it leads them down the wrong path, and gets them in the wrong mindset. Everything about it makes learning what they're trying to learn a longer, less fun process.

I'm not saying people shouldn't make simple practice programs. I'm saying they shouldn't make practice programs that don't apply to what they're doing.
Last edited on
My argument is that learning a graphic lib is not any harder than learning iostream.
Sorry about that :(

I don't think he's talking about making actual games in the console, but rather simple programs that avoid the need for the boilerplate associated with graphics.
I thought I was answering this one.. (maybe he's talking about data structures?)

I'm not saying people shouldn't make simple practice programs. I'm saying they shouldn't make practice programs that don't apply to what they're doing.
Ok I get your point, I must agree that approach will be much straight forward.

@DaSpirit
I'll post an answer to your question at http://cplusplus.com/forum/windows/27502/
I've registered on this forum right when I started programming. We're only 2 months or so far now, and I've posted more then 15 questions so far. They were ALWAYS answered perfectly. What more do you want? Some robot who is online 24/7 so you can get your answer the very minute you ask the question?
What more do you want? Some robot who is online 24/7 so you can get your answer the very minute you ask the question?

Yeah, that would be very helpful. I think I would like to create that one day when I get good at C++ so I could be able to help people...
Yeah, that would be very helpful. I think I would like to create that one day when I get good at C++ so I could be able to help people...
A lot of us are actually robots, it just takes a long time to process questions
(btw, prove me wrong ;D)
Last edited on
Pages: 12