Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Foreword: I have worked extensively with Java, but less with C++. I have an understanding of the general language and how it differs from Java, but could really use some help here. Additionally, though I have never designed an R.P.G. I understand how to separate the data/processing model from the graphics portion, but could really use some tips on custom graphical interfacing.

I would like to begin development of a 2-Dimensional (Read: Relatively simple graphics, a la the earlier Final Fantasies, Chrono Trigger) Role-Playing Game in C++ and have several questions. I indeed have searched Google and have found varied unsupported opinions and outdated material (anywhere from six to ten years back for general game design material).

My inquiries are as follows: (Note: Best is open to interpretation and if that word does not exactly describe that for which I am asking, please bear with me, as I understand what works best for one game may not work best for another game of the same type.)

  • Best crossplatorm windowing system?
  • So far I have found that QT should do the job and I haven't had any trouble working with it. Is there any reason I should avoid using it for this application, or are there particular subtleties for which I should watch with QT?
  • Best crossplatform graphics library (to be distinguished from windowing system)?
    • OpenGL?
  • Any good tutorials for setting up a very basic graphical R.P.G. game, or even just simple custom graphics + user-interaction tutorials in C++?
    • I've worked extensively with setting up 'practical' interfaces, such as you would see in say, a word editor, but have not setup user-interactions with custom graphics and such by myself in a good while and have forgotten best practices and besides that do not have links to good resources, especially in C++.

migration rejected from Dec 17 '13 at 14:20

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by Byte56 Dec 17 '13 at 14:20

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about "how to get started" or "what should I learn next" cannot reasonably be answered with anything other than opinion polling and therefore are off topic for the site. For more information on how to ask a better question, see the help center" – Byte56
If this question can be reworded to fit the rules in the help center, please edit the question.

Could you tell me how to do that? I don't know how, but would like to learn so it needn't be done for me in the future. – Zéychin Jul 11 '11 at 5:19
You would probably be best served by splitting up this single question into multiple questions. – Josh Petrie Jul 11 '11 at 14:19
What exactly do you need Qt for? I suppose you want a fullscreen OpenGL window. Then there is no room for other GL widgets anyway. You probably need a OpenGL GUI though. But QT doesnt have that. – Maik Semder Jul 11 '11 at 15:50
Just because a reference is 5-10 years old doesn't invalidate the information - it's not like simple 2D RPG technical design wasn't already in use 10-15 years prior to that and already done with its evolution... – Patrick Hughes Jul 11 '11 at 16:14
@Patrick Hughes I poorly worded that particular statement, but I meant that the preferred graphics libraries and such may have changed, or I can no longer find updated references to those mentioned anymore. – Zéychin Jul 11 '11 at 17:50
up vote 6 down vote accepted
  • Qt has no issue, unless you have trouble handling it properly. FreeGlut or most of the gui system uses call back functions(which is quite easy to understand), but in Qt it uses a single slot mechanism.

  • OpenGL, Yes.

In case of RPG I would like to suggest you to create the command line based rpg first, to get up and running the core logical part of the game. Then add graphics layer to it. Forget about the graphics at the beginning.

Thanks for the tips on QT and OpenGL. I already know how to do the text-based part of the game. That's why I am here. (Well, actually, I don't mean to be here; my question was migrated from StackOverflow to no less than two other StackExchange sites. I already got the help I needed and THEN this question showed up HERE. :-\.) – Zéychin Jul 11 '11 at 17:46
Graphics can be a huge motivator for me at least. Put in some zelda sprites as placeholder graphics for some motivational goodness. – Nailer Jul 12 '11 at 15:10

Best crossplatorm windowing system?

Subjective and unimportant. A game done using OpenGL/Direct3D probably uses such an insignificant portion of a windowing toolkit's features that you might just skip it altogether. Really, what do you need? The ability to detect keyboard and mouse clicks, maybe the occasional Alt+Tab.

Best crossplatform graphics library (to be distinguished from windowing system)? OpenGL?

Unless you are doing software rendering, OpenGL is pretty much the only one in town.

If you are looking to get a game going, want to learn OpenGL, but don't want to deal with native windowing stuff (i.e. prefer crossplatform) then try SDL. It has a number of features (audio, joysticks, threads, mouse/keyboard input, etc.) and even has OpenGL integration so you can take control of the rendering using OpenGL.

Any good tutorials for setting up a very basic graphical R.P.G. game, or even just simple custom graphics + user-interaction tutorials in C++?

Way too vague.

Most of the time, you design the UI, gameplay, etc on paper then implement it in code. To ask for stuff about how to make an RPG is just not enough, e.g:
Are you thinking Zelda-style overhead/isometric, a side scroller, a dungeon crawler, an overhead view that turns into Mortal Kombat when you run into an enemy, turn based combat, a text-based RPG that has pictures show up etc. Any of these have totally different implementations from one another. Why bother reading about a graphical feel that you aren't even interested in using in your game?
You should know what your game is supposed to look and feel like, so go make it. If you don't, then go design it. The question then breaks down from "How do I make an RPG" to specific things like "How to do a tile-based isometric grid" or "How do I convert from a mouse click to a hex tile in my world?" and that's when people can really jump in and give you suggestions and experiences.

I'm more asking about how to handle the mixture of custom graphics and user-interaction in a very simple way. I already know the way I want to design the graphics, et cetera, but am unfamiliar with combining custom animation with custom interaction techniques. As I pointed out, I am working towards a more early Final Fantasy type of game. To be more clear about the first question: Is there a good tutorial where I can learn to display a simple character (even a block) on the screen and be able to move him up/down/left/right with <insert appropriate graphics/control library here>? – Zéychin Jul 12 '11 at 0:54

Not the answer you're looking for? Browse other questions tagged or ask your own question.