#1 Members - Reputation: 190
Posted 27 November 2012 - 06:57 AM
I've been learning the basics of game development for some time now, and I believe that I am ready to take "the next step". So far, I've been working with XNA, but I get the feeling that Microsoft is slowly abandoning it. Therefor, I think it's time to switch to another API - I did some research, and I think that OpenGL would be good place to go, because it is supported on many platforms, and has a large enough community from which I could get help when I get stuck. My question is - which developing environment would be best to start working with C++ and OpenGL. I've been using Visual Studio for some time now, so if it's possible to use it with OpenGL it would be great.
#2 Members - Reputation: 4603
Posted 27 November 2012 - 07:04 AM
Yes, open gl provides a C API therefor you won't have any trouble using Visual Studio (C++) with OpenGL.Visual Studio
My game: Gnoblins
Developer journal about Gnoblins
Small goodies: Simple alpha transparency in deferred shader
#3 Members - Reputation: 1406
Posted 27 November 2012 - 07:05 AM
The only caveat is that you are stuck at OpenGL 1.1 by default on Windows. Anything newer (and you most likely don't want anything below 2.0, possibly higher) must be requested via the extension framework. That is not exactly difficult, just a lot of work to get right and sufficiently complete. Of course, libraries like glew do all the work for you here.
#4 Members - Reputation: 404
Posted 27 November 2012 - 07:21 AM
I've been studying modern opengl (3.2+) lately. Like the other's have said, opengl is not tied to a compiler, you can use any compiler you like. At home I use Visual Studio 2012 Express and at work I use Code::Blocks with MinGW 4.7.2.
If you are interested in learning Modern OpenGL, I have found the following links to be very helpful:
http://www.arcsynthesis.org/gltut
http://www.opengl-tutorial.org
http://ogldev.atspace.co.uk/index.html
http://www.mbsoftworks.sk/index.php?page=tutorials&series=1
http://rastertek.com/tutgl40.html
http://open.gl
Good luck!
#5 Crossbones+ - Reputation: 1179
Posted 27 November 2012 - 08:06 AM
Seeing you come from XNA I think you will feel more at home with DX11. That being said there is no reason to switch away from VS for OpenGL development just switch to C++ or use OpenTK in which case you can even stick with C#. http://sourceforge.net/projects/opentk/Hey
I've been learning the basics of game development for some time now, and I believe that I am ready to take "the next step". So far, I've been working with XNA, but I get the feeling that Microsoft is slowly abandoning it. Therefor, I think it's time to switch to another API - I did some research, and I think that OpenGL would be good place to go, because it is supported on many platforms, and has a large enough community from which I could get help when I get stuck. My question is - which developing environment would be best to start working with C++ and OpenGL. I've been using Visual Studio for some time now, so if it's possible to use it with OpenGL it would be great.
Edited by NightCreature83, 27 November 2012 - 08:07 AM.
#6 Members - Reputation: 190
Posted 27 November 2012 - 09:13 AM
Seeing you come from XNA I think you will feel more at home with DX11. That being said there is no reason to switch away from VS for OpenGL development just switch to C++ or use OpenTK in which case you can even stick with C#.
I've thought about it, but if I want to create a game for non-desktop platforms, C++ is more applicable . Also, I think that C++ is somewhat of industrial standard when it comes to game development, so with that in mind, I think it is better to use C++ than C#
#7 Members - Reputation: 639
Posted 27 November 2012 - 11:11 AM
Seeing you come from XNA I think you will feel more at home with DX11. That being said there is no reason to switch away from VS for OpenGL development just switch to C++ or use OpenTK in which case you can even stick with C#.
I've thought about it, but if I want to create a game for non-desktop platforms, C++ is more applicable . Also, I think that C++ is somewhat of industrial standard when it comes to game development, so with that in mind, I think it is better to use C++ than C#
It's entirely your choice to make. But yes, with C# you may be stuck with Windows.
With good multiplatform libraries C++ can let you make builds for linux/windows/macos with little or no hassle
GLFW is a good window library that simplifies OpenGL + window + mouse/keyboard/joystick and even timing for you
Some people use GLUT (most likely freeGLUT), or SDL (Simple Directmedia Layer)
I'm sure there are others
But for starters, with GLFW you have the basics, they work, it's not abandoned and its multiplatform
freeGLUT i'm not sure about, other than that it's simpler.. going from freeGLUT to GLFW (or vice versa) is a simple task
SDL is a huge library that is very powerful, but I don't know very much beyond that
#8 Members - Reputation: 878
Posted 27 November 2012 - 11:50 AM
Regarding language choice: Yes, C++ is the industry standard, but it's not used for everything. For example, the core system would usually be written in C++, but the game logic could be written in a "scripting language". Actually, depending on the performance requirements of your game, it's usually quite possible, and recommended, to write the entire game in a very high-level language, where you can leverage "modern" features like automatic memory management.
If you're a beginner, performance and portability should be a secondary concern: Create a game worth playing first.
Small and simple Python 3.x media library: pslab
#9 Members - Reputation: 190
Posted 27 November 2012 - 02:24 PM
If you're a beginner, performance and portability should be a secondary concern: Create a game worth playing first.
This is exactly the reason I am trying to switch from XNA to another language. I think that for a beginner developer, smart phones are a good platform to get some experience, and get real users to test and evaluate your game. With that in mind, I think that XNA (or WinPhone's to be precise) has way too few users - Android and iOS are much more represented. I know that Android uses OpenGL (and Java, I think), it seemed as a good language to make the transition to (iOS and iPhone's are a bit too expensive). Can you please comment on this logic?
#10 Members - Reputation: 878
Posted 28 November 2012 - 01:19 AM
In either case, I don't think that developing for a phone will be any more beneficial than developing for PC, or any other platform. If you want to "get real users to test and evaluate your game", you need to make a game that people want to play. If you can't do that, then no one will care, regardless of the platform.
But that's just my personal opinion.
Small and simple Python 3.x media library: pslab
#11 Crossbones+ - Reputation: 1179
Posted 28 November 2012 - 02:38 AM
I would personally as a beginner stay away from phones, especially when you go down the C++ route, the android platform has all kinds of different hardware you have to deal with.
#12 Members - Reputation: 190
Posted 28 November 2012 - 03:56 AM
#13 Crossbones+ - Reputation: 1179
Posted 28 November 2012 - 04:13 AM
In the windows version of XNA btw you have access to the full .NET library so some of your queries will actually be answered under the normal .NET stuff and not XNA.






