Transition from GML to C++

Posted by DFortun81 on March 22, 2011, 5:30 a.m.

The time has come to take what I've designed in Lua and create a similar, yet more powerful engine in C++!

In case you're wondering, I've been working on the framework for an MMORPG project for the past few weeks. The interface is mostly in Lua with only the exact positioning, input, and drawing of the interface being handled by the engine. (Which is currently in GML.)

Here's what it looked like:

The item tooltip's keywords can all be clicked to open a tooltip containing a description. Handy for new players. :D

That tooltip is not hardcoded. In fact, it is dynamically adjusted to the stats of both the Ability used and the Target of the simulation. (since there is no player in the prototype version)

The actionbars are created using one line of Lua code and the buttons can be interacted with individually without impacting the performance of the engine. However, rapidly moving your mouse over the bulk of them does cause a 2 FPS drop. They do not draw themselves every step. They await for the engine to throw the recalc or redraw state flags. Should nothing need to update and the AI units are in the corners or not doing anything, the engine in GML gets a solid 60 FPS. The interface components themselves actually only draw to a single surface to improve the framerate.

I was not happy with the performance that this gets, as such, I've decided to begin working on the 3D game engine in C++. I've learned a lot about C++ in the past 2 years, but the thing that still scares me is graphics implementation. Since I've lived a mostly sheltered GM life, I've never had to worry about things that it had done for me. Graphics and audio control was a major factor in this.

Ah well. Starting tomorrow after a good night's sleep. Wish me luck!

-DF81

Comments

DFortun81 13 years, 1 month ago

Clicking the images brings up the bigger images that look far better in my opinion.

Ferret 13 years, 1 month ago

This reminds me, we need C++ tutorials on this site….

Glen 13 years, 1 month ago

Yes we do ^

Moikle 13 years, 1 month ago

this statement is true^

JID 13 years, 1 month ago

^^^ This statement is agreeing with another statement that agrees with another statement,

in which I agree with.

DFortun81 13 years, 1 month ago

Actually, I wouldn't mind a tutorial or two. I can't decide on whether DirectX, OpenGL, or OGRE is the right way to go. :(

aeron 13 years, 1 month ago

As much as I love SFML, if you use it to get an OpenGL context you'll still have to write your own model loaders (and you'll essentially have to build a 3d engine from scratch). I would really recommend trying out a higher-level 3d engine first, like OGRE, Irrlicht, or even XNA. If you can't get the features you want out of one of those and are still willing to get your hands dirty, go for the OpenGL/DirectX approach.

DFortun81 13 years, 1 month ago

Yeah, 3D. I want to get myself away from primarily 2D graphics. Though, the GUI will be 2D of course… or maybe… yeah, scratch that. 3D GUI, too.

The Avatrol 13 years, 1 month ago

I would recommend you use Ogre. It's a really nice (and free!) 3d graphics engine.