Import a game in an engine

Started by
4 comments, last by Rorakin 11 years, 3 months ago
Hi,

I have been working, with a friend of mine, on a C++ project for a year now.

When we started, we didn't know what rendering engine we wanted to use.
That's why we have left the graphic part aside so far.
(Actually, we are using a very simple Ogre3D rendering code. Good enough for us to test our game)

We are realising that using a game engine like Unity would probably help us to achieve better graphics.

Question 1

> What do you think about using Unity (or any game engine) ONLY for its graphics?
First, I didn't really like the idea (Ogre seems sufficient for this kind of task)
But after thinking about it, I have to admit that this feature alone is already a huge time saver for indie developers (you don't have to understand the 3D rendering theory)

Question 2

I saw Unity only accepts JS and C# scripts.
Our project is written in C++.
We already have plenty of classes and files, and we do not want to start over...
Is this C# thing a limitation for us?

> How hard would it be to convert/import our game in an engine like Unity?
(We would like to keep it like it is, and only throw the Ogre3D part away)


Thanks in advance, and happy new year from France
Advertisement

I have never done anything like this before, but I think you are going to have to change nearly all your code to work with C#. The languages themselves are fairly similar but you may be importing libraries that aren't a part of C#.

Also there is a large component of a Unity project that isn't in code that you may have to remove any code you wrote for those things and redo it on Unity's visual side. This includes placement of 3D objects in your world, light sources, sound sources, sky boxes and various properties. (I'm not completely sure about this but even if you don't have to remove your old code for these things you would want to anyway because that's one of the main advantages of Unity)

Depending on how much you have done than it may be more trouble than it's worth to move over to Unity, unless you are facing specific issues with Ogre. If you have written less than 3000 or so lines of code than it won't be too much trouble to move to Unity or start over, but any more and this becomes a huge task.

Good luck

Stay gold, Pony Boy.

Personally I prefer something like Ogre to Unity just because I like the freedom and pure coding side of it...just feel like I have more control. Also unless you purchase the full version you won't have all the features that you would find and are maybe already using in Ogre. Unity has its pros like its graphical editor and animation system but since you've already started with Ogre I'd stick with it. Maybe try Unity on your next project and decide if it's for you?

Graphics wise Ogre can do just as well as Unity too, you just need to write the shaders to achieve that.

Unity can do C++ but you might need to purchase the full version (I might be wrong here it's been a while since I looked at it).

And at the end of the day you'll learn and understand things alot more using Ogre because you can dig through the engine and see whats happening.

Also there is a large component of a Unity project that isn't in code that you may have to remove any code you wrote for those things and redo it on Unity's visual side. This includes placement of 3D objects in your world, light sources, sound sources, sky boxes and various properties

Actually, our worlds are randomly generated.
We do not need to place lots of objects or lights manually. So the Unity level editor might not be that helpful for us.

And at the end of the day you'll learn and understand things alot more using Ogre because you can dig through the engine and see whats happening.
Sure, but still we fear that Unity would do it better than us.
We agree with the fact that Unity does not necessarily have better graphics than Ogre.

But we are wondering if it is worth the effort.
Ogre is great, but perhaps it offers too much "control" for us, 3D newbies.
Is it possible to obtain nices results with Ogre, while keeping it simple? Or do we have to understand much more things than someone who uses Unity does?

As minibutmany stated, if you've already coded a fair amount of the game then you will be spending alot of time not only merging your application into Unity, but also learning Unity and C#. If you feel that the time it will take to do all that is worth the outcome then by all means use Unity.

And as I said earlier, unless you buy the pro version of Unity then you won't have all the "pretty" things it offers such as realtime shadows or render targets. See here.

Also, Ogre has a pretty good community that are often happy to help.

Heya,

This is a good question smile.png I'm actually doing the same thing right now. Basically I had been making a game with a C++ 2.5d game engine and now I am porting it to Unity for a couple reasons. The main reason is so that we can easily publish the game to the OUYA indie game store since they have been working with Unity and will have a 1 button publish functionality. The other reason is, as you've already point out, the graphics. I am finding that it is way less code to do identical things, but that I have to pretty much manually rewrite the game. Luckily I was only about 2 months into the project, you can see it here:

http://www.gamedev.net/classifieds/item/1419-lfm-25d-space-rpg/

But, I am getting close to finish porting it and it is already much better and manageable code wise. For example creating 50 randomly generated asteroids in code is as simple as making a prefab from the model and doing pretty much the same thing in a C# script, The GUI systems / menu's I managed to recreate without buying any of the GUI packages (NGUI, EZGUI, etc) from the Unity asset store all from a single script of only 400 lines of code compared with about 1000 lines of code from my C++ GUI class of the other game engine.

If you've been working on it for a year, then maybe it is not worth porting, and just finishing your current game and then starting your next game in Unity. You can get a better idea by maybe doing a quick and dirty prototype in Unity and then ask yourself how much longer it would take to port the full game.

This topic is closed to new replies.

Advertisement