Raw draw functions in Game Engine (C++)?

Started by
4 comments, last by ckdur 10 years, 2 months ago

Grettings!

I need some advice about Game Engines.

Look, actually I'm programming a Rhythm game and, generally, I used OpenGL/DirectX (with selectable option) drawing primitives to do it in C++. I want to build also a "Story Mode" with a simple world that needs vertices/animations/world/etc coming from a 3D editor (like blender/3DS/etc).

I need to know about a Game Engine or some libraries that can do that but only when the user request the story mode. There's some solutions for that:

1. Use a game engine and ignore ALL the drawing I used to do the rhythm game and use the new one. (I don't want to... )

2. Find a Game Engine loadable by demand, but I need also to draw using draw primitives using DirectX/OpenGL.

3. Not use a Game engine and build my own. But, there is a library for helping to do this?

Can you help me? If a solution for this is something that not involve game engines... is ok :)

Advertisement

If you already have drawing functionality in place, you just need to load models. Almost every package can export to .obj files.

Easy to use parser: https://github.com/tamato/simple-obj-loader

Yeah... is a solution. I can use it for loading animations in 3D? or there is another thing to do that?

There is a library to manage limits like platform games? is only to move my character along the map and if there is a object or a wall can't advance?

Don't use .obj to do animations. Don't even try. It is a long, painful way with nothing at the end.

Personally I would suggest you to try prototyping it using an existing game - UDK will sure do but it's a bit complicated. You could be able to set up simple time-based scripting by just dealing with delays (from the editor) and input mangling.

Do not hardcode limits in your system. It's just easier to ensure all your levels are "boxed" correctly. The collision library Bullet has a special primitive for this specific purpose: a wall of infinite thickness if you want to have it easy. Personally I don't use it as its restitution is a bit different compared to standard "finite" rigid bodies.

Previously "Krohm"

I personally think that all 3 options will be a major timesink if you want to implement it right. You can probably load your own framework next to that of some engine, but you will likely need to take some things in consideration that the other will not do, like automatically loading a window, contexts/devices do not interfere with each other etc. I have never done this myself, so it might not do any harm, but perhaps some other person here can shed some light on it.

The easiest solution (which will still take you some time, depending on how far you are with your project) is to port your game to an already existing engine that does everything you need.

Should you really want to keep it going with your own engine and try to get animations in there, perhaps Assimp is an option.

I think no matter which way you will choose, it will take some time, but doesn't it always. :)

Good luck!

Yeah, Assimp seems to be great. Thanks everyone! I'm grateful with your answers.

This topic is closed to new replies.

Advertisement