how long does it take and how easy is it to learn opengl?

I think the title says it all…I’m aiming at creating a 2d sidescrolling shooter…I know a good part of basic, but it’s too crappy to do a fast 2d game…anyway, answer the title please

N.E.I. or in case you didn’t have my physics 504 professor, not enough information. The answers to the questions are dependent upon the skill and/or persistence of the person. For me, it didn’t take long at all, just a couple weeks to get comfortable with it. But then I wrote my first sprite library in 6809 machine code over 15 years ago. OpenGL isn’t any harder to learn than any other API. The hardest part for newbies seems to be understanding rotations and the projection and modelview matrices in general.

[This message has been edited by DFrey (edited 07-07-2001).]

I think that writing a 2D game in OpenGL can be slightly convoluted. OpenGL is a 3D API, and you’d probably have to learn 3D first, and then try to apply it to 2D. It’s not that hard, but it’s not completely straightforward to use for that purpose.

Saying OpenGL is a 3D API is selling OpenGL short. It is both a 2D and 3D graphics API. Afterall, what use would there be for glVertex2? I personally didn’t find it convoluted at all to write a 2D OpenGL app. And it was a whole lot easier than DirectDraw I think. But in general I would go with DirectDraw for a 2D app simply because you can lock the surface and get very close to the hardware.

OpenGL performs very well in a 2d scenario. I wrote a 2d spline manipulator that worked great with opengl’s feedback. OpenGL has the valuable multiplatform thing going.

I felt very comfortable after a couple of weeks, after a couple of months I felt I could make a game, 6 months later I am still here trying. The graphics is the easy part to making a game, I know most of the syntax and ways of doings things for OpenGL and so this side is a lot easier and is automatic for me. However once you try and make a decent I/O system, Collision detection, A.I, animation, sound, physics, lighting, network… you realise you don’t have what it takes to make a good game.

Programming skills and experience is the most important I think, then good maths and the ability to quickly learn knew maths is also very important. Graphics don’t make or break a game, better top have a decent A.I and Collision detection with shoddy gfx than the other way round.

If you know how to program at a reasonable level (ie can cope with pointers, memory, data structures ok) then opengl is pretty simple.

There’s no “openGL magic”. It’s just API programming with a nice, simple API designed by some of the best programmers.

If you want a 2d game with OpenGL inside, you can look at SDL library.

My friend asked me to make a painting (2D)program for him - he had his DirectX version already under development. Instead of re-learning DirectX I quickly created an application from scratch using GLUT. Where he needed lots of lines of optimised code I just drew a colored quad ;-), my zoom is completely free, speed is next to unbeatable as long as you have OpenGL accelerated card, but nearly every desktop computer has it anyway. Use OpenGL!

putting a 2D game into openGL is actually not a bad idea (know this from experiance). openGL is at the end of the day a graphics library, not just limited to 3D. Using it to do 2D graphics allows you to take advantage of hardware acceleration. Simply blitting graphics to the screen is all well and good, but code optimisations are needed, and you dont get the scalability of openGL. I must admit though, I like my 2D games with the nostalgic pixelated look, but thats me…

Of course, if you’re into making your own streetfighter type games, then you could look out for Mugen.

I always think its a shame that people forget that games used to be made in 2D, some of the best of all time I might add. Back to the days when games were made for reasons of playability and not for how many polys they could display per frame.

Well, Rob The Bloke, you are right!
I agree with you. How many good games are seeing now as rubish only for be graphically simple, plane, without light effects, and not need a 1GHz processor with a nVidia GF3 to run slow!

Old games are better as games.
A game is more than what we see on the screen. A game is an idea.

Just thought I’d drop this link:
http://www.reptilelabour.com/software/chromium/index.htm

This is a 2D shoot-em-up that uses OpenGL.

Don’t miss the other parts of this site, they are quite interesting !

Regards.

Eric