Does Godot Really Have The Power To Create Photorealistic Games?

Q1. Does Godot Support AAA Games?
Answer: Yes, Godot can handle AAA-level graphics with features like global illumination, SDFGI, and VoxelGI.

However, when it comes to animation, Godot currently doesn’t support AAA-level features like motion matching. There are several issues related to this, but they haven’t been officially addressed. For example, popular game engines like Unreal and Unity offer motion matching, but I’m not sure why Godot lacks this feature. (6122)

As mentioned, they will continue developing motion matching feature, hopefully we will get a good result.

Q2. Does Godot Support Photorealistic Graphics?
Answer: In my opinion, no. I’ve experimented with Godot’s graphics, but they don’t achieve the ultra-realistic quality of engines like Unreal. You might wonder why Godot doesn’t support it.


Yes, the images above show Godot with photorealistic settings, but those are not the correct settings. When you run the game, it doesn’t look good because of these wrong settings. After adjusting them properly, the result looks like this:


While they are ultra-realistic, they still fall short of true photorealism.

I also tried creating overcast sky graphics with physical lighting, but it didn’t look as realistic as I wanted.

What do you think? Am I missing anything? (Please consider providing feedback on my bodycam project with your answer.)

Can Godot make it possible by this year?

I not mean anything bad, Godot is really a great engine, I love it a lot.

6 Likes

In my opinion these shortcomings are perfectly understandable when you consider how long other engines have been around compared to Godot. Then had plenty of time to mature, and ESPECIALLY with their more restrictive licenses, they are able to implement libraries that Godot might not. What Godot achieved during this time is impressive, but it definitely needs a couple more years to be considered “truly professional”, but for most indies, It’s already amazing.

3 Likes

I think Godot has a great niche in small games. But it isn’t ready for multiplayer at scale. In fact I doubt it scales for terrain either. I think the animation scales okay compared to Unity and Unreal (Unreal is the best at this time). But even animation will soon take off with Unity to the point they may surpass Unreal in that area.

From what I have read by past contributors, there are bottlenecks that prevent the Godot engine from truly going full throttle. (When I look at Unity7+, I think this difference will become even more pronounced, both in performance and in development effort.) If this is true, and having looked through the code I believe it is, then it will never achieve the performance for AAA games in every area until the foundation of engine is redesigned (which is to say they need to rewrite the entire engine from scratch pretty much).

EDIT: But let me be very clear. The Godot engine has some tremendous advantages. The first and foremost given its rendering capabilities is its extremely small foot print and quick load time. That can be huge for many indie game devs.

2 Likes

Native texture, mesh and asset streaming in general are essential features, in my opinion. Just throwing high quality assets in a small room and calling it ‘AAA quality’ will never be enough.

2 Likes

Yes, if you know C++ and add the rendering stuff you need to the engine on your own.

In the current state absolutely not.

Photorealistic games are made from a lot of smaller details, using various techniques. In Unity HDRP for example you have ray traced realtime GI, tessellation, proper compute shader support, a very complex decal system, texture streaming and an optimized GPU instancing API that does the hard work for you.

In Godot you have:

It’s a shame really, as you can’t even do simple things like drawing post processing outlines around a single object efficiently by default. You always need some hacks or renderer adjustments just to get anything advanced done.

10 Likes

Thanks Everyone for explaining. I mentioned that Godot can create AAA game, but not photorealistic through the post. You can use Godot as it is a easy engine, and good for medium pc. But if you have enough experience and pc, then I think it is best to using unreal engine. Now I think this topic not has so meaning.

1 Like

Thank you for the insight, i didn’t know of all these issues.

Good to know…

2 Likes

GamesCom 2024:

Some reports from the media praised this game for its explosion effect. I first thought of Unreal Engine. But the game was developed with Godot by only a maximum of 3 developers. If you don’t have suitable expensive hardware, this won’t be possible with Unreal engine either.

6 Likes

PVKK did look like Unreal.

Unity has no excuses…

Yeah it’s really like the Unreal for good lighting and assets. Thanks for sharing this! I am waiting to see what Godot will do about the animations and better VFX (like Niagra) in the future updates :smiley:

1 Like

unreal uses raytracing and pathtracing for GI, which godot doesn’t have (yet), a quick search tell us that lumen uses a form of fdfgi when raytrace is disabled.
in regards to godot’s fdfgi, it’s not very good and it’s slow, but it’s getting a rework soon.

godot however offers other forms of GI that are just as good for creating a scene, like voxelGI and staticGI.
each is better at something different, voxelGI is better for small scenes and closed levels, while fdfgi is made for open areas. staticGI is good at both but requires setup and the levels must not be changed.

these settings are not correct, your ambient light is set to a color instead of background, so they don’t take advantage of voxelGI. and having both voxelGI and fdfgi is not correct either, you have to choose one, they do the same thing.
SSR is also dependant of the scene and materials, it is better for metals and shinny surfaces, and it’s not always recommended, specially in combination with a form of GI, the same goes for SSIL and SSAO.

your materials also don’t look PBR and are not large enough, and it’s lacking AA.

realistic and “cool” are not the same. your examples are very minimalistic, just a couple of geometrical shapes and poor looking textures. a scene is more than just effects, it requires quality assets, composition and details. your examples have the same polycount as half-life 1.

these are from my project:


I’m using a voxelGI, ACES, physical camera, and many more tricks.

godot CAN handle large terrains, where it maybe lacks is in the transition between interior and exterior areas.

tessellation is obsolete, even unity only had it for compatibility reasons, and all it does is increase the polycount. even in the issue you reference it is explained that GPUs can handle high poly meshes with no problem.

they are working on improving both

care to elaborate on this?
godot can do decals in PBR mode. shaders it’s more complicated because they are part of a kind of megatexture that is done to improve performance, so they have to share the same material. but it could be achieved with some custom shaders on a non-decal.

this is fair, but it says they are waiting for compositor in 4.4

Object outlines CAN be done, just not the way you want. and it’s a very specific problem. and has nothing to do with photorealism.

AAA is not a measure of quality, but a measure of cost. expensive games are AAA, they have thousands of people working on them, even if they end up looking stylized and have 3 levels.
most of what defines a AAA is having cut-scenes and actors, not good graphics.

if you are a solo dev, you can use unreal, but it won’t guarantee that your game will look good, as that is up to the quality of the assets, how you combine them, and your expertise. creating a photorealistic scene is not something that can be done in 1 click, you have to consider the lighting, the time of day, atmospheric conditions, and much more, and then do a good composition of the elements.
learning film-making helps a lot, as it is better to use real life units for things like the camera and lights. and each scene has a different setup that will work better.

10 Likes

Thanks for the good explanation! I appreciate it.

Actually I was just experiment on what if I use SDFGI instead of VoxelGI? It was just an experiment for few seconds, otherwise I already done the correct settings, you can watch the video.

the video is just gameplay, seeing the actual settings is more important to help you with improving this scene (if that is what you were asking?)

I believe voxelGI and SDFGI both need ambient light set to background to work, as it applies the GI to the models.

you can look at how scenes are done in other engines like unreal, or also 3D software like blender. there was a really good paper on how to set the scene depending on the time of day.
for materials, you have to use PBR materials if you want a realistic scene. you can get free PBR materials in sites like polyhaven or ambientcg.
you need 3 textures, a diffuse, a normal, and an ARM/ORM. an ARM combines ambient occlussion, roughness and metallic in the R, G and B channels respectivelly, for this you would use ORMmaterial. other times you don’t have or need an ambient and there’s no metal, you can use StandardMaterial and just diffuse, normal and roughness.
for extra quality you can use a height map for parallax, and some materials also have an emission texture, this works with GI and can replace lights.

other tips:
1 - for noon, set ambient light sky contribution to 0. a value of 0.5 can help for morning and cloudy scenes, but at noon and dusk you want full dark shadows.
2 - tonemap should be set to either linear or ACES. unreal uses linear by default, ACES is better and used in film-making.
3 - volumetric fog is always good, because the planet has an atmosphere. some very clear scenes might be able to do without it, but there’s always SOME fog in the distance.
4 - use an HDR sky for outdoor scenes.
5 - set omni-lights attenuation to 2 (it says it’s the physically accurate value). for sun (if your PC can handle it and the angle doesn’t glitch) set light size to 0.5

3 Likes

To remind people, AAA is just a label. There is no absolute definition to it. It’s basically a video game industry way of saying “blockbuster” as used with movies. It usually means high budget. That is what it is. A small indie studio, by definition, will never produce a “AAA” game because they didn’t spend the level of money equivalent to that of a “blockbuster” movie which is what “AAA” game development budget and expense is compared to.

Another thing, “AAA” is contextual. In 1988-1989, a “AAA” video game would be a major successful Commodore 64 or Amiga game that would consume a 3.5" DD floppy disk, or similar size multiple 5.25" disks or even a HD 3.5" disk game or similar equivalent number of 5.25" floppy disks. Usually around 500-600KB to 1 to 1.2 MB at that time. This would often be 2d games and such at that time. By mid-90s, ~500-600 MB on a CD. Note: Games code & content would have to be designed around that benchmark to be certain it fits the disc.

You don’t need to spend a hundred million dollars to make a good, fun, and enjoyable game and make money from it. Make the game good. Quality doesn’t require you to make the game photorealistic at Avatar2 level. You can avoid that hell it would take to make such 3d models with that level of rendering by taking… say… a CEL/Anime toon shader or similar approach on purpose by design and reduce some of your work. You can even approach the game with 90s 16-bit era style but maybe at a the higher screen resolution and higher bits per pixel RGB888 level than say the SNES colors but approach thing using selective sets of colors without some of the color attribute limits of old computer and console video chips yet feel a certain way by making a deliberate choice and adhering to a level of continuity throughout the game.

7 Likes

Actually I mentioned “AAA” graphics and animation, not game. Anyway, you are right!
The bodycam project shown in that topic is my side project, my actual project is of stylish graphics, with a big team.

1 Like

If you have a team of 200 and 4 years, any engine could ‘support’ a AAA game. May not be as efficient as it could be, but don’t conflate engine limitations with lack of AAA art direction and resources.

Putting HQ textures on a Cube does not photorealistic make. Godot has been able to achieve high quality 3D scenes since long before Godot 4, but you need to follow principles of 3D design realism (See https://www.youtube.com/watch?v=tgK_pFdjFRA for a 3.X example).
Bevels, imperfections, lighting (baked and otherwise), color grading, depth of field, scene composition, the list goes on.

Do Godot’s defaults look like Unreal? no. Can it achieve near Unreal quality from someone versed with such things? follow Passivestar and you tell me.

2 Likes

Yeah you are right but the graphics are still not photorealistic. That can be said high graphics or ultra or realistic graphics but not photorealistic by my eyes. The scenes I shown from my project, jungle demo made by Wrobot, the video of Lukky on photorealistic. If you observe closely, they are not photorealistic.

Thank You Everyone for your time! I just want to clear my think on does Godot support photorealistic graphics? I not think so. The graphics of Godot is really so good, so clear. But unfortunately not photorealistic. The graphics of Godot need to be improved, I wish so.

What exactly do you mean when you say photo realistic. Because if you spend 20 mins doing a CSG block out and slap some medium quality textures on it in ANY engine it’s not going to look ‘Photorealistic’. No engine is going to overcome a lack of original detail, and a HUGE amount of what makes photorealistic scenes look good are the art direction that went into the scenes composition, NOT engine limitations.

Now, does Godot support ray tracing out of the box which is the new hotness in photorealism? No.
Does Godot’s out of the box experience have lower quality/performance defaults by design, and require some modicum of effort to achieve high quality results? Yes.

Do either of these prevent you from making ‘photorealistic’ scenes. No. They just require you to spend some time learning the fundamentals and honing the settings. I’m actually legit happy we don’t have the default Unity environment setup, as you can spot the lazy Devs who never changed it a mile away. Godot’s defaults WANT you to customise and find the look that suits you. This is not a trivial task, but neither is it trivial in any engine. Mastering lighting alone is a job unto itself.

But ultimately in the hands of Kojima and co, P.T. could have been made in Godot.
In the hands of hobbyists/early adopters and small teams are you likely to see examples of this level of detail? No. But it’s increasing as we grow.

5 Likes

@Beau_Seymour
This is a phonemical take.