Using BGE, creating my own custom engine

Post has been edited

I’m deciding between BGE and GameKit / Custom Game Engine based on GameKit.

Any thoughts?

I hate to start as I do. I believe that perhaps I may hold a biased opinion, but i shall persevere;
I have seen a large number of people write their own engines. I have yet to see anyone finish. The problem is simple. Firstly, the sheer volume of the task, and secondly the later complexities. I would argue that it would be more effective to work on improving an existing engine. To be able to say that you added a certain feature (s) ; or reworked the code flow is as big an achievement and worth more recognition. You could, for example, work on speeding up logic calculations. You could specifically work on the numerous optimisations that need doing. If you really wanted a challenge, work on recast. It needs many things, such as using mathutils instead of other libraries, reworking of specific features like turning speed and a look at perhaps updating to the latest version.

I understand your reasoning. I shall tackle your latter points first. The idea of creating software in order to learn is a good one. But, in some cases that can be too time consuming. I learnt networking in that fashion, but i think in hindsight it would have been quicker to learn before doing. In some cases, observing and expanding the BGE source would be as effective, which is what many GSOC users do.
You raise a valid point about GPL. Any licence has its upsides and pitfalls, however GPL tends to offer more problems for the users and benefits for the program developers in the case of the BGE. In my opinion, i would rather develop for Android and the 3 main pc platforms than for iOS. I dislike the Apple monopoly. I would argue that changing your work flow to fit their unjustified drm guidelines compromises the spirit of a developer. This is just my opinion. Best of luck.

Then lookup Ogre3D.

FYI, I have had some discussions with Benoit about writing custom Hive system nodes in C/C++, I can send you the design document if you like. Of course, you could also use GameKit’s node system, or roll your own, but I must warn against the amount of work involved :slight_smile:

This is not the impression that I had.

As far as I can see, GameKit does not support custom node classes written in a scripting language (neither Python nor Lua); it requires you to hard-code your node classes in C++.

GameKit supports the building of nodal logic from data (they have a .ntree format); it seems to be not yet implemented though.

However, there doesn’t seem to be any plugin mechanism to discover third-party nodes at run-time. Even if you write your own custom C++ node, you will have to recompile GameKit, or else build the node tree manually from within C++ (which is what the GameKit examples do).

I am very interested in node systems (obviously!), and I would like to learn about your node system idea.

Cool. IOS is a big market, but Android’s also large, and the GSoC project was coming along nicely before GSoC was over.

I thought shuttlepuck cantina for iOS was made with the blender game engine. I know it was made in blender. Anyone knows?

According to BlenderNation, the assets were made in Blender, and the team made their own engine that could read the datablocks from .blend files.

So instead sell an application using blender like Stadia does. This way gpl is never invoked.