Advertisement

Switch to Unreal from Blender Game Engire or just refactor BGE code?

Started by May 15, 2017 10:24 PM
2 comments, last by ericnelson 7 years, 5 months ago

I have a simulation program which was created using the blender game engine that basically takes in a list of instructions from a C# program and then controls a model of a robotic device and detects if that robotic device encounters collisions with a different model. Seems simple right?

Well I have around 30 python files to run the blender game engine. Modifying this code is a bit of a nightmare, as it is also full of global variables and was not created using any design patterns. It has pretty much every smell you can think of.

Anyway, I'm thinking of moving and rewriting the entire project in using unreal (I can salvage the 3d models) I have used python, java, C# but I don't have any experience in C++

I'm looking for advice on whether the change is worth it, or should I try and refactor the blender game engine code? Or anything I might not be thinking about.

Thanks!

Moving to a technology you don't know is almost always going to have a huge overhead in terms of having to learn that technology before you can be productive. When the unknown technology is Unreal, that's a decently large change. When the unknown tech is C++, that's a huge change. So it matters whether or not you think you can get away with using only Unreal's Blueprints system for your game.

But I'd also argue that switching technologies like this is not going to magically solve the problems you have with your current codebase: you're just as likely to repeat the mistakes that led to having tons of hard-to-refactor globals scattered around, et cetera. In fact, perhaps more likely, since you won't be as familiar.

Consequently, I'd advise that you keep your current code and technology stack, and instead work on improving the problems you have with it piece by piece. I think it will serve you better in the long run. Once you do that, then consider migrating.

Advertisement

should I try and refactor the blender game engine code?

That is much more work than just moving to Unreal. As much as I love Blender it's game engine is very weak.

Panda3D is often used for these kind of robotic AI, considering that you know python maybe you should give it a look.

I have used python, java, C# but I don't have any experience in C++

Unreal has Blueprints, you only need to understand how to program to use it.

Switching from C# to C++ isn't simple yet it isn't the most difficult thing I have ever done. You should be able to do the basics in a weak or two, a few months and you should be nearly fluent.

It helps to get a C++ book.

you're just as likely to repeat the mistakes that led to having tons of hard-to-refactor globals scattered around


This was actually the work of somone else. I'd like to hope I wouldn't make those mistakes :P

improving the problems you have with it piece by piece.

I decided to go with this and just refactor as new feature requests pop up.

Thanks for the feedback!

This topic is closed to new replies.

Advertisement