Jump to content

  • Log In with Google      Sign In   
  • Create Account

Building a Game Engine


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
8 replies to this topic

#1 dribble04   Members   -  Reputation: 150

Like
0Likes
Like

Posted 02 December 2013 - 04:16 AM

Hey,

 

Am planning on trying to build a game engine. Its gonna be an engine that would be refined or built specifically for fighters, and beat em ups. Anyway, I was kinda wondering what are the tools or libraries I may need in conjunction with OpenGL, GLSL, and C++.

 

 - A simpler math library, support for vectors, quaternions, and so on. I have been using GLM, but I'd like to just have header file.

 - A sound library, I want to be able to possibly use the pitch and tone, etc to manipulate colors, and lighting.

 - A model loader of sorts, support for .obj, .max, etc..

 - A GUI library.

 

Let me know if you know of any that meet the above criteria, and if you think of any other libs or tools that could come in handy please let me know.

 

Cheers.

 



Sponsor:

#2 Vilem Otte   Crossbones+   -  Reputation: 1422

Like
0Likes
Like

Posted 02 December 2013 - 04:36 AM

As for math library, I'm using my own - having flags to switch between SSE and no SSE (you can also select which version of SSE you want). Just 3 headers for vectors, matrices and quaternions (resp. float4, mat4x4 and quat - thats all you need). You can write your own, or google for some (there are few on github or googlecode - F.e. https://github.com/LiraNuna/glsl-sse2/tree/master/source ... there are better, but this was 1st link on google).

 

As for sound library, there is FMod, which is quite good (though paid). You can always use OpenAL (but it doesn't contain nearly as much stuff as FMod and you will have to write some code), and of course you can always use something closer to iron (ALSA on Linux F.e.).

 

As for model loader, you can't load MAX (Autodesk never gave its specs out), but for tons of stuff you can either write your own loader, or use something like Assimp. Just google again, and try github/googlecode for libraries.

 

And GUI is a bit of a problem. I've heard that Qt is quite usable these days (even in games), but I can't be much of a help here, we've always used our own internal one (that was developed for database systems a long time ago, and now we use re-worked version in the games (it uses different renderer, though internally it's almost the same)).


My current blog on programming, linux and stuff - http://gameprogrammerdiary.blogspot.com


#3 dribble04   Members   -  Reputation: 150

Like
0Likes
Like

Posted 02 December 2013 - 10:03 AM

What's SSE?? 



#4 N.I.B.   Members   -  Reputation: 1194

Like
0Likes
Like

Posted 02 December 2013 - 10:25 AM


What's SSE??

Streaming SIMD Instructions - a fancy name for 4-wide vector instructions.



#5 cozzie   Members   -  Reputation: 1612

Like
0Likes
Like

Posted 02 December 2013 - 03:25 PM

Maybe you can use FMOD for audio and bullet for physics/ collisions.

#6 Lodeman   Members   -  Reputation: 810

Like
1Likes
Like

Posted 03 December 2013 - 12:13 AM

Here's the libraries I'm currently using:

- GLM for all sorts of math: matrix, vector, quaternion. I don't see a good reason to move away from it if you're already using this. It offers alot of useful functions.

- Assimp for loading in models (chose the .ase format for now), works very smoothly.

- BulletPhysics for...physics.

- FreeType for font rendering.

- TinyXML2 for saving and loading XML files (data-driven programming).

- I also have my own set of Utility functions that are compatible with these libraries (for example matrix conversions between Bullet and GLM, retrieving Euler angles from Bullet Matrixes, since my rendering uses a different order of rotations, handy functions such as "moveForward(glm::vec3, float amount), etc...).

 

For GUI:

- Windows Forms: I compile my project as a static library, and pop out a .dll file. That .dll file is then read in by a C# application, which in turn uses WinForms for all the GUI stuff for the editor. It's a very handy and fast way to roll out a complex application.

- For "ingame" widgets, I rolled out my own GUI. But I've heard good things about Qt.


Edited by Lodeman, 03 December 2013 - 12:17 AM.


#7 dribble04   Members   -  Reputation: 150

Like
0Likes
Like

Posted 04 December 2013 - 09:32 AM

Thanks alot, I can get my hands dirty now. Am gonna try and do everything ground up, i.e. the math and physics and definitely some utility scripts. I already have one for FBO's, GLSL and text and stuff, figured ill try it to brush up :P 

 

Cheers :)



#8 lask1   Members   -  Reputation: 726

Like
0Likes
Like

Posted 07 December 2013 - 02:10 AM

Here's the libraries I'm currently using:

- GLM for all sorts of math: matrix, vector, quaternion. I don't see a good reason to move away from it if you're already using this. It offers alot of useful functions.

- Assimp for loading in models (chose the .ase format for now), works very smoothly.

- BulletPhysics for...physics.

- FreeType for font rendering.

- TinyXML2 for saving and loading XML files (data-driven programming).

- I also have my own set of Utility functions that are compatible with these libraries (for example matrix conversions between Bullet and GLM, retrieving Euler angles from Bullet Matrixes, since my rendering uses a different order of rotations, handy functions such as "moveForward(glm::vec3, float amount), etc...).

 

For GUI:

- Windows Forms: I compile my project as a static library, and pop out a .dll file. That .dll file is then read in by a C# application, which in turn uses WinForms for all the GUI stuff for the editor. It's a very handy and fast way to roll out a complex application.

- For "ingame" widgets, I rolled out my own GUI. But I've heard good things about Qt.

Qt is a great solution for GUI of editing software and I have heard good things about Bullet...never used it. All the rest you noted looks good but, pugiXML might be worth taking a look at too. 



#9 lask1   Members   -  Reputation: 726

Like
0Likes
Like

Posted 07 December 2013 - 02:13 AM

You may also be interested in embedding LUA or another scripting language into your engine.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS