Will these libraries work for an engine?

Started by
2 comments, last by Servant of the Lord 8 years, 3 months ago

I am creating a game engine/mass library(don't want a standalone app w/GUI). These are my specs:

Graphics/Animation: SFML/OpenGL

Audio: SFML

Input: SFML InputManager

Physics: Bullet

Scripting: Lua(LunaWrapper)

Platform: Boost

My language is c++/Lua, and I am targeting pc then moving to Android then iOS.

1. Is this a compatible build and will it work for the 3 platforms?

2. If I use WebGL and Emscripten or something else can I port this to web for browser play(Kongregate.com)?

3. Where should I start/What is a good tutorial for game engine development? The ones I have looked at are confusing or unclear.

Thanks and happy coding, SouthSide Gaming"SSG".

Advertisement
Yes, those libraries all work together.

What particularly are you using Boost for? What do you mean by "platform"? That sounds rather broad and generic.
Are you doing a 3D game, or 2D? If 2D, use Box2D or Chipmunk2D instead of Bullet.

Check each library. Does each library say it compiles for all three of those platforms?
They definitely all compile for Windows, Mac, and Linux, but sometimes smartphones causes trickiness.

3. Where should I start/What is a good tutorial for game engine development?


Don't design an engine until you've already made several games and understand the inner workings of games.

If you try to design an engine without experience from making games, you'll end up with a fancy techdemo that can't be used for anything.
But if you make games, you'll have a better understanding of what engines need, and you'll have alot of code in your game that you can then use as the base of future engines. Write a specific game, and just code it cleanly enough that the distinction between the core, engine, and game become clear.

Basically, every beginner thinks they need an "engine" because it sounds cool and powerful, not because they understand or carefully thought it out.

Are you doing a 3D game, or 2D? If 2D, use Box2D or Chipmunk2D instead of Bullet.

I hadn't come up with any ideas yet but planned to do both eventually. I think I'll go with Chipmunk and a c++ wrapper.


Check each library. Does each library say it compiles for all three of those platforms?

They all compile to the 3 platforms.


What particularly are you using Boost for? What do you mean by "platform"?

I'm not sure myself. I've kind of been following GrandMaster's tutorial http://www.grandmaster.nu/blog/?page_id=118 and it was one of the mentioned components.

Thanks for the the insight Servant. What is a good free c++ engine you would recommend(I'm sadly broke)? Should I hardcode my games with libraries instead?

Are you doing a 3D game, or 2D?

I hadn't come up with any ideas yet but planned to do both eventually.

Sure, you definitely aren't going to stick to just 2D for the rest of your life.

But you don't want to design one engine to do both 2D and 3D, or it'll do neither of them well.

Engines are not supposed to be generic, they'll supposed to hone in to a specific type of game, to make games of those natures easier to develop. There's only a few engines that are really generic *and* good.

If 2D, use Box2D or Chipmunk2D instead of Bullet.

I think I'll go with Chipmunk and a c++ wrapper.

Why would you wrap it?

What is a good free c++ engine you would recommend?

As a general rule of thumb I tell people:

For 2D games, don't use an engine.
For 3D games, use an existing engine.

Don't make a 3D game, if you haven't already made at least two 2D games.

Should I hardcode my games with libraries instead?

Yep.

Don't hardcode your *data* ofcourse - load that from file. But yea, hardcode your game's logic and such, using 3rd party libraries like the ones you've mentioned.
Try to write your code cleanly - but it is really important you finish a project. Your code architecture will probably pretty terrible until you get a few completed projects under your belt.

If *this project* is 2D, then you probably don't need OpenGL, so just use SFML.
Make a small 2D game. It can be unique and originally, but start small and attainable so you actually finish it.

That's my advice; other peoples' opinions will vary.

This topic is closed to new replies.

Advertisement