OpenGL 2D RPG examples/source code

Started by
5 comments, last by Ivorne 6 years, 11 months ago

Hi, I'm making a 2D RPG in OpenGL and I've been looking for source code, or simply just code snippets to help myself understand how to develop my own. I've not had much luck finding any however, so I'm looking for anything that is related this community might have. Thanks!

Advertisement

What exactly are you looking for?

Snippets code for an RPG game, or snippets for displaying at OpenGL?

Given the popularity of the RPG, my guess is that github has a few zillion repositories of the former. For the latter, most OpenGL tutorials start with painting an image onto triangles. Mostly for a 2D game, that's enough at first.

There aren't many snippets published as snippet, since they're basically useless. Snippets only make sense in presence of a large surrounding network of other snippets. It's much like asking for car parts to construct a car. While technically it's possible, it's not the generally recommended way of doing things.

I somewhat suspect you never programmed before, or at least not a game. If that's the case, you may want to head over to the Beginners forum, and read the FAQ for how to start programming or start programming games.

I have experience in programming, I'm only looking for OpenGL related code for the RPG I'm making as I'm quite new to learning it. I want to see how other people handled rendering, movement, etc, by putting into practise what I've learning in tutorials I've looked through for OpenGL.

It's really mostly for reference while I work on my game.

You can take a look at the Godot engine. It's only in OpenGL, and it's cross platform compatible.

There's also the Flare game which uses SDL.

In the "In Practice" section at learnopengl.com, you'll find a tutorial for a 2D Breakout game.

You should address the two concerns separately. First you should learn how to draw sprites and text (I assume you'll want text in your game). If you want to use OpenGL then go for it. There are many tutorials online that will help you with that. Creating a game of any kind is a different thing though. My suggestion is you keep your rendering engine abstracted away from the game logic. You can design your RPG without even knowing which library will you end up using to render sprites on screen. You can imagine having a basic IRenderer interface with methods like DrawTexture() or DrawText(). How you implement that interface won't change the design of the rest of the project in any way.

Cocos2d-x - You can use it as a game framework or you can read its sources to understand how it works. Supports 2d and 3d but lots of code and api is for pure 2d. Has scene tree. It doe sno thave particularly good architecture or code quality, but it has lots of users and features and good performance.

OpenFrameworks, Cinder - Use it as framework or learn from their sources. They do not have scene tree. They have excellent api if you are a beginner and you want to learn about opengl 3 style of rendering. I would really suggest at least swiftly reading through api and tutorial to one of these frameworks if you want to know how proper rendering works. But have in mind, that they are missing the scene tree, so you would probably have to implementi it yourself in proper game (not that hard).

godot - Slightly older framework for 3d with scene graph. The rendering code is very easy to read and duplicate in your own rendering framework and has some great simple (tutorial-like) architecture designs in 3d rendering. The api is not perfectly prepared for modern rendering techniques but it is a good beginning for newbies.

Ogre3d - Slightly older framework for 3d with scene graph. I would not suggest it for 2d games. It has slightly more features and users than godot, I think. I would suggest to look into ogre3d if you want to know something about gui libraries, lots of gui libraries used in ogre3d can be used stand-alone in your application. Or you can just look at their apis and implementations to learn about gui programming.

SDL, glfw, freeglut, sfml - These are the simplest frameworks that only provide thin layer between your multiplatform c++ code and windowing system in target os. They basicaly create a window and allow you to fetch inputs form keyboard and mouse and to call opengl functions. Use them as frameworks if you want to write in opengl. Or read tutorials for them - many tutorials for these libraries are in fact good basic tutorials for basic opengl.

This topic is closed to new replies.

Advertisement