Topic was automatically imported from the old Question2Answer platform.
Asked By
jujumumu
Apparently data oriented programming is better that object oriented programming for games. The problem is I tried searching up what they are and I did not understand. Can someone please explain what they are and if coding games in Godot is object oriented or data oriented.
If you’re worried about performance, I believe that the impact would be noticable only if you’re an AAA studio. Even then, Unity & UE4 both use object oriented design
That said, DOD is becoming more and more popular. I don’t follow the game engine news closely, but it seems that Unity is going in DOD direction:
Most important things in data oriented design (not programming) are:
separation of data from logic
Embracing the array functions
Make data compact → no unnecessary info
etc
I suggest you check this talk, it’s an hour long, but it’s a good explanation:
tldr; Unless you simulate a huge amount of same objects in Godot you don’t really need cache hit improvements that you get by using ECS. If you do need it, you can just write your own c++ code that simulates it.
I’m making a game similar to Terraria, if I use ood will I still have good performance for a game like that or do I need to use dod for a better performance. I want the game to run at 60 fps.
jujumumu | 2019-11-21 17:43
If you want to make a 2D game, there is no better engine than Godot IMO. Don’t worry about DoD, it’s not important at all. There are million more important things to consider when improving performance. For a terraria style game you can have much more than 60fps. And don’t worry about performance until you absolutely need to! Premature optimization is the root of all evil.