Jump to content
  • Advertisement
boagz57

How powerful/extensible is the godot engine for programmers?

Recommended Posts

After looking around at game engines the other day I came across the godot engine. From what I could gather, it seemed to be the most programmer friendly engine in that it allows you to script natively (GDnative) and even extend engine functionality through C++ 'modules' (as described here). Being a C++ programmer I like to have full control over my game and how it runs but I don't necessarily want to start from scratch and godot seems like a good middle ground. However, when looking at the pros and cons of the godot engine I found this site which lists a con for godot as difficult to optimize since:

Quote

Godot has an OOP architecture. Everything is an object internally and data is spread among many classes, thus it's difficult to optimize (i.e. not cache friendly, difficuly to vectorize or paralellize, etc). Read about "Data Oriented Design" for more info about the problems and solutions.

I'm curios if anyone has any experience creating modules with godot and what exactly their limitations are in regards to optimization/control over your game code. According to godot's author you even have the ability to utilize a different renderer through modules making me believe that even though godot has something resembling an OOP architecture at its core, you can still implement a data oriented render engine if you so pleased. 

 

Edited by boagz57

Share this post


Link to post
Share on other sites
Advertisement

I briefly tried to use Godot.

It looks like an interesting attempt at creating a free 3D game engine. It's one of the first to support the modern workflow as pioneered by Unity and Unreal. But I think that that it is it's only strong point: It's free. If this is important to you, then you should look at Godot. A free game engine can solve alot of licensing problems...

At the moment, I did not see it to have any other advantage over Unity and Unreal. If you are content with their licenses, don't bother with Godot (yet). Maybe in the future it will become better.

What type of control are you looking for, that is not provided in your other frameworks, and what are you trying to optimise?

Edited by SillyCow

Share this post


Link to post
Share on other sites

Unity is effectively free. So long as you make less than 100,000 dollars with Unity you can use Personal edition however you want. If you start making over 100k a year with your unity products, that is when you have to buy a license. You aren't going to make this much money with your first game, so you don't have to pay anything. If you do happen to release a major hit for your first game... you just made 100k, so you can definitely afford it. :P It's a good problem to have. 

Give Unity a try. I feel like it's extremely developer friendly.

- Eck

Share this post


Link to post
Share on other sites
4 hours ago, Eck said:

If you start making over 100k a year with your unity products

The new license is different. It basically means that any small company with money needs to get a license. It doesn't matter if your game has made any money or not. This is a pain point for me, because I used to use unity professionally for multimedia demos. I think that any company that does not work out of a garage has 100k in funding or revenue. $100k is less than the average pay for two software developers... So while unity is free for hobbyists (and is awesome!), it is no longer free for any professional dev.

This is especially painful if you plan on making VR prototypes, as unity is great for VR, but VR prototypes rarely generate revenue.

If your company currently makes more than $100k in annual gross revenues or has raised funds in excess of $100k, you are not permitted to use Unity Personal, for prototyping or otherwise, as defined in our EULA Agreement. You may use Unity Plus for up to $200k in annual gross revenues, or Unity Pro with an unlimited revenue or fundraising capacity.

 

Share this post


Link to post
Share on other sites

Thank you for the distinction. I was only considering the use case of a hobbyist who isn't making any money at all. I'll be sure to put that clarification in future posts.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!