What after Opengl?

I am now learning Opengl and I want to make games.
But how can I still make games?
With OpenGL I can only draw triangles,make shaders or preview meshes.
Then how can I make games with this?
SOOOOOO how can I make a game with this?????????????!!!!!!!!!!!!:/?

MMORPG.
but how can I put meshes and design the level?
And AAAAAAAAAALLLLLLLLLL OpenGL tutorials Aren't working.
What can I dooooooooooo.
I am freaking out.
I was looking for a working tutorial from two weeks and some days.
Can someone take some of his time to walk me through learning OpenGL ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

Good luck with that. Try learning socket programming and you'll most likely change your mind in a matter of weeks. Most likely a matter of days.

but how can I put meshes and design the level?

Program some tools to do it for you. You could use blender to design the levels and export it to your engine's model format. (Personally, I like to use custom formats, however some like to use already-made ones)

And AAAAAAAAAALLLLLLLLLL OpenGL tutorials Aren't working.

So you don't know how to use OpenGL?

What can I dooooooooooo.
I am freaking out.

Try another?

I was looking for a working tutorial from two weeks and some days.
Can someone take some of his time to walk me through learning OpenGL

Archsynthesis's tutorials are great. (Hope I spelt that right, either way, Google should correct it)

OOOOOOOOHHHHHH
REALLY
THEN I NEED TO MODEL EVERYTHING AND MAKE A OPENGL CAMERA VIEW AND SPAWNING POINT AND CONTROLS?
so thats all?
so easy!!!!!!!

No, it isn't easy. You'll realize it soon enough.

Something you should try to learn is 3 dimensional math, don't be like me and try to power through it without learning it first.

MMORPG.
Good luck with that. Try learning socket programming and you'll most likely change your mind in a matter of weeks. Most likely a matter of days.

What is socket programming?!!

but how can I put meshes and design the level?
Program some tools to do it for you. You could use blender to design the levels and export it to your engine's model format. (Personally, I like to use custom formats, however some like to use already-made ones)

But how can I make one?

What can I dooooooooooo.
I am freaking out.
Try another?

OH really??
I tried over 30 tutorials?
I was looking for a working one for two weeks.
Won't you give me a tutorial you tried?

I was looking for a working tutorial from two weeks and some days.
Can someone take some of his time to walk me through learning OpenGL
Archsynthesis's tutorials are great. (Hope I spelt that right, either way, Google should correct it)

Ok that is the answer for my question:D.

OOOOOOOOHHHHHH
REALLY
THEN I NEED TO MODEL EVERYTHING AND MAKE A OPENGL CAMERA VIEW AND SPAWNING POINT AND CONTROLS?
so thats all?
so easy!!!!!!!
No, it isn't easy. You'll realize it soon enough.

Something you should try to learn is 3 dimensional math, don't be like me and try to power through it without learning it first.

Socket programming is to do with networks. It is the programming that you need to learn to perform operations over a network between a client and a server (through a socket), which can be quite challenging. For this to work, you will also need to understand multithreading (lots of network i/o libraries are thread blocking), which is a massive difficulty in itself. Considering my impressions of you so far, you don't seem anywhere near good enough to make an MMORPG yourself. Instead, first try doing little projects, and work up to doing bigger things. Also, @Paul Combaldieu's suggestion is a very valid one: Game libraries make everything much easier. Some 3D game engines that work well for small-mid sized projects are Ogre3D and IrrLicht.

Also, [insert search engine here] is your best friend. What problems have you had getting the tutorials to work? Is it just that you weren't doing things like linking to the required libraries, or loading the extensions, or compiling the libraries for use? Throwing open-ended questions at us make it less likely for us to reply with useful answers...

irrlicht is a game engine I believe, it does graphics and several other things.

Use OpenGL if you want to create a custom engine. You can then use several other libraries to compile everything into a working engine. Make sure to use OOP concepts and modulate everything to give it maximum portability.

You should not use C++ for servers, something like Java is great.

If you still are bent on making an MMO (which you most likely will drop), try learning about databases such as MySQL to store game data into.

Both of those provides direct contexts to openGL so yes they both provide 3D graphics and yes both can be used to do 3D games.

Paul Combaldieu wrote:

Well maybe you should consider a game engine, like source or havok, or try finding less popular ones. These days, no games are made without game engines

While it is true most AAA games are made with either commercial engines like Cryengine, Unreal Engine, ect or their own in house engine.

A lot of indie development like he is trying to do are built from scratch without the use of a premade engine. So the statement that no games now days are made without a engine isn't true. In fact I have a few games that prove that wrong.

Though using a Game Engine like Unity or Irrlicht or even Orge3D (Which is more of a rendering engine then a game engine) would simplify the process greatly.

Now for the OP. You really need to learn the basics of game development before you even attempt to program a MMO or even a indie game of any quality. Commercial MMO's (Even 2D browser based ones) are programmed by huge teams (Some of the larger ones can top out over 200 people) that are working full time for a few years.

So if I might suggest a better path for you to follow?

First pick out a very simple game that has already been made. Them two points are very important. It needs to be simple since you have no experience with game development and it needs to be a clone of a game because you already know what needs to be implemented.

When it's a clone you don't need to work out all the minor details of the game design, instead you can just concentrate on learning the techniques required to make that game and leave all the harder stuff to the creators of that game.

Some simple suggestions would be

- Space Invaders
- Snake
- Pong
- Pac Man
- Bomberman

All of them are much harder then they might seem to program (Yes even pong) and they will give you insight into the different topics of game development.

They can be in 2D or 3D doesn't really matter that much (Though in 2D learning the techniques can be easier for some people and the math is easier). You can also of course implement your own little add on features to them to make them standout and be special but I would hold off on that till you get a working clone of the game.

Also here is some basic beginner subjects that you will NEED to be proficient at in order to continue on further.

The Main Game Loop - Make sure you understand how this works, how to set a timestep and why you need a timestep.

Resource Management - Learn how to manage your resources efficiently. You don't necessarily need to dig into advance smart caches but you should understand how resources are managed and used in a game.

The Coordinate System - Whether you work in 2D, 3D or 21/2D you will need to understand exactly how coordinate systems work and how to use them. This includes stuff like understand vectors (Not std::vector), the difference between local space and world space, ect.

Basic Physics - While not every game uses physics in it, you should still have a good grounding in physics before moving on to more advanced games. Some starting points would be learning how to use velocity and acceleration forces to move your Entities around your game world. This topic is far to large to go into what you will need to know so can't really give you any guidance on what to learn.

State Management - Most games aren't a single scene or even a single screen. There is usually a Main Menu, Pause Screen, Level 1, Level 2 or even a Massive open world. So you need to know how to transition between them different states.

Basic AI - This is a huge topic so I won't go into specifics but you should know at least a little bit about AI before moving on to larger games. This might be as little as how to implement a FSM (Finite State Machine) to control your AI or as much as digging deep into Steering Bahaviors, Pathfinding, Behavior Trees, Autonomous Actors, ect.

Networking - This is actually quite optional but since you said you wanted to make a MMO this is going to be a must for you. Before moving on to larger games you should understand how sockets work, the basic protocols, how to create your own custom protocols, different styles of architecture and all that fun stuff.

Graphics - You say you already know openGL so I won't go into this though make sure you understand it quite well.

Sounds, Shader Effects, User input, Profiling the game, Working with datafiles, ect, ect. - I could keep on going on about just the things in basic game development but I think this post is getting quite long as it is already.

But the main point is don't try and rush into making a huge massive AAA hit of a game all at once. I am sorry but it won't happen. You need to take it slow and at least get a basic understand of all the different parts of a game so you know how they work together before even attempting to finish a actual game (And a small one at that). Game development isn't a walk in the park and it will take a lot of time and hard work to learn and 100x more to master (If there is such a thing in game dev).

So don't rush it, take it nice and slow and make sure you get a good grounding in the basics.

Neither SFML or SDL can do 3D graphics. You can use them to create OpenGL contexts, but they cannot do 3D graphics alone.

Which is what I was saying? They provide a context which can be along with openGL to render 3D graphics and still get the benefit of the libraries. Sorry if that was unclear and I can see how it was a bit confusing.

Lumpkin wrote:

I would not recommend snake for a beginner.

Why not? It is quite a good game to teach a range of different principles that will be used in game development.

Lumpkin wrote:

Do not do this.

No offense but I would suggest you actually understand the topic before making broad statements like this.

How do you expect a decent sized game (Not talking about toy applications) to do well in networking without creating a custom protocol for it? TCP and UDP by themselves are no where near ideal for game networking and need additional custom protocols.

You need to learn about custom protocols because you WILL use them and you should.

Lumpkin wrote:

He does not.

So you say, but he said he is already learning it so I will take his word on it.

Why not? It is quite a good game to teach a range of different principles that will be used in game development.

A bit difficult for a beginner? Maybe after you do the rest in the list you can attempt Snake.

No offense but I would suggest you actually understand the topic before making broad statements like this.

I know plenty about this topic.

How do you expect a decent sized game (Not talking about toy applications) to do well in networking without creating a custom protocol for it? TCP and UDP by themselves are no where near ideal for game networking and need additional custom protocols.

You need to learn about custom protocols because you WILL use them and you should.

You mean a system of communication built on top of those protocols? If so I thought you meant build a completely different branch 'ip' layer.