Features for Godot

berserkberserk Posts: 13Member

Please, tell me which features from these are supported/in development:

mirrors
cloth
fluids
weather
underwater fog
water
joints (ball-and-socket, hinge, slider, fixed, angular motor, universal)
video texture
volume rendering
fire
explosions
decals
fog
reflection
refraction
hair/fur
facial animation
depth of field
lens flares
projected textures
animation blending
day/night cycles
render to texture
caustics
motion blur
trails
radiosity
godrays
vehicle physics
lip syncing
ropes
multiple viewports
breakable joints
multiple cameras
sand/dust
iced water
[deformable] terrain

Thanks in advance for any help.

Bye, Ivano.

Best Answer

  • TwistedTwiglegTwistedTwigleg Posts: 1,608
    Accepted Answer

    You didn't include it in the list you posted, but no worries! :)

    Godot does have support for normal mapping, in both version 2.0 and 3.0.

    As far as sound goes, Godot supports both 2D and 3D sounds.

Answers

  • TwistedTwiglegTwistedTwigleg Posts: 1,608Admin

    Well, I'm not one of the Godot developers, so I cannot say for certain... But here goes!


    • mirrors -- Reflection probes are implemented in Godot 3.0 and they might work for making mirrors. You could make mirrors using a camera and using the camera's texture for the mirror in Godot 2.0.

    • cloth -- Not sure what you mean here. If you mean simulated clothing (like in Unity), then no. Might be possible to achieve the effect with joints.

    • fluids -- Again, not entirely sure what you mean here. Simulated fluids are complicated and Godot does not have any built in. You might be able to bind a fluid simulation library with GDNative.

    • weather -- You can program a weather pattern in Godot using GDScript ( or Visual-script/GDNative/C# in Godot 3.0), but nothing for weather is included by default.

    • underwater fog -- Not sure on this one. Haven't need to make underwater fog before. I think Godot 3.0 has a depth pass, and that might work.

    • water -- Not sure. Nothing built in by default for water (that I know of). There are several water shaders for Godot 2.0 that the community has made, even a few on these forums!

    • joints (ball-and-socket, hinge, slider, fixed, angular motor, universal) -- There are joints. Here is what the documentation pulls up for joints.

    • video texture -- There is a video player node. I have not used it, but it is there.

    • volume rendering -- Not sure what you mean here. Do you mean volumetric rendering? Godot does not have support for volumetric rendering (to the best of my knowledge)

    • fire -- Fire is totally possible with particles. Just a matter of finding fire textures and setting the particle emitters.

    • explosions -- Also possible with particles and textures. You can simulate the physics of a explosion using a Area2D or Area3D.

    • decals -- I think Godot 3.0 will add support for decals (not 100% sure though)

    • fog -- Godot 2.0 and 3.0 have support for fog.

    • reflection -- Reflection probes are implemented in Godot 3.0.

    • refraction -- Not sure.

    • hair/fur -- There was a hair/fur plugin someone wrote for Godot 2.0. No hair/fur support built into the engine though (you could add hair/fur textures in your 3D/2D model using polygons and textures as an alternative)

    • facial animation -- Animation is supported. Nothing special for facial animation, but there isn't anything stopping you from playing animated faces.

    • depth of field -- Added in Godot 3.0 and I think there is also a depth of field in Godot 2.0.

    • lens flares -- Not sure.

    • projected textures -- Not sure.

    • animation blending -- There seems to be support for animation blending, but I've never used it though so I'm not totally sure.

    • day/night cycles -- Like the weather, it's totally possible. Nothing built in, but nothing stopping you from writing your own.

    • render to texture -- Godot 2.0 and 3.0 can render to textures. (I think... I have never used it)

    • caustics -- Nothing built in. Probably possible with custom shader.

    • motion blur -- Not sure. I think it might be added in Godot 3.0?

    • trails -- Can be done with particles (which can have their own trail as well).

    • radiosity -- If I understand radiosity correctly, it's similar to glow. Godot 2.0 and 3.0 have support for both glow and bloom, so I
      think yes? There is also support for real time GI in Godot 3.0 (Not 100% sure, but there is at least baked GI in Godot 3.0).

    • godrays -- Nothing built in by default for godrays.

    • vehicle physics -- There are some physics nodes for vehicles. Never used them though.

    • lip syncing -- Nothing built in for lip syncing, though in Godot 3.0 it is possible to link a 3rd party library to handle lip syncing. (Theoretically. I haven't used GDNative)

    • ropes -- Nothing built in, but you could use joints to make ropes.

    • multiple viewports -- Godot 2.0 and 3.0 support multiple viewports.

    • breakable joints -- Not sure.

    • multiple cameras -- Godot 2.0 and 3.0 can support multiple cameras.

    • sand/dust -- It's possible to make sandy/dusty enviroments. Using particles for sand/dust in the air, and textures for the sand/dust on the ground.

    • iced water -- Iced water is possible with textures and maybe writing a custom shader. I've never made iced water so I cannot say for sure.

    • [deformable] terrain -- Nothing built in for terrain, deformable or not. I've seen a few terrain projects the community has made, so it is totally possible, you just might have to write your own.


    All of the above is 100% possible if you don't mind writing the code yourself (you can even do most of them in GDScript). Godot is a pretty cool engine, and is really flexible. The source code is on Github, so the sky is the limit on what you can do and add to Godot.

    (Disclaimer: I'm not one of the developers. I'm answering from memory and personal experience. It is quite possible that some/all of the above is wrong)

  • berserkberserk Posts: 13Member

    Sorry, but you skipped normal mapping

  • berserkberserk Posts: 13Member

    P.S.: Does it support 2D and 3D sound?

  • TwistedTwiglegTwistedTwigleg Posts: 1,608Admin
    Accepted Answer

    You didn't include it in the list you posted, but no worries! :)

    Godot does have support for normal mapping, in both version 2.0 and 3.0.

    As far as sound goes, Godot supports both 2D and 3D sounds.

  • berserkberserk Posts: 13Member

    Thanks, this is enough for the moment.

  • MegalomaniakMegalomaniak Posts: 1,585Admin
    edited May 2017

    Some of the things on your list are not yet doable in GL ES since they would be best done using compute shaders, which are only supported as far as I know with GL ES 3.1 and on wards. Alas Godot 3.0 will be GL ES 3.0 not 3.1. A lot of the things you list can be already done by users, however some with caveats(of which some are solved by version 3.0). For an example take water shader:

    You can get a planar real-time reflection using a render target but you can only render one(per shader I think it was) in godot 2.x thus not able to then render refraction(this shouldn't be an issue in godot 3.x though as long as you use GL ES 3.x). Instead in godot 2.x its thus better to use the render target to render the refraction for the water, and render a static/baked cube-mapped reflection on top and then blend with a Fresnel factor(Schlick's approximation for an example) between the reflection and refraction.

    Also some of the things "not yet doable" could in theory be done on the CPU instead perhaps, however that could be slow, hence why I say they would be best done with compute shaders, for an example cloth simulation. In fact for simple cases like flags, you could just use a height-map or a noise texture to do just vertex displacement in the vertex shader over time to achieve the effect instead.

  • berserkberserk Posts: 13Member

    Thanks for your explanation. Please, could you give a per-point detail on what's possible with GLES3 and what's not doable on CPU?
    I mean, can you point out from my list what can/can't be done?

    Thanks in advance.

    Bye, Ivano.

  • berserkberserk Posts: 13Member

    Finally, to be clearer, I'm explaining features you (megalomaniac) didn't understand.

    cloth -- Not sure what you mean here. If you mean simulated clothing (like in Unity), then no. Might be possible to achieve the effect with joints.

    I mean cloth simulation, in example a flag waved by the wind

    fluids -- Again, not entirely sure what you mean here. Simulated fluids are complicated and Godot does not have any built in. You might be able to bind a fluid simulation library with GDNative.

    I mean fluid dynamics, as seen in nVidia PhysX

    video texture -- There is a video player node. I have not used it, but it is there.

    But is it possible to use a video as a texture for a 3D surface?

    volume rendering -- Not sure what you mean here. Do you mean volumetric rendering? Godot does not have support for volumetric rendering (to the best of my knowledge)

    I mean rendering of volumes instead of geometry, as seen in OGRE

    Thanks in advance for any help.

    Bye, Ivano.

  • MegalomaniakMegalomaniak Posts: 1,585Admin
    edited May 2017

    @berserk said:
    Thanks for your explanation. Please, could you give a per-point detail on what's possible with GLES3 and what's not doable on CPU?
    I mean, can you point out from my list what can/can't be done?

    Well, technically anything could be calculated on CPU, that's sort of it's thing, it is very general purpose, but that kind of makes it slow(in comparison to an ASIC or an Application-Specific Integrated Circuit such as a GPU for an example) in specific cases, such as for an example parallel processing, graphics rasterization or audio decoding and output. In a sense the CPU is a Jack of all trades maser of none.

    As for what GLES 3 can do how about you read the specification or just start by googling some for what it's limitations are. Inevitably to be successful in this sort of development work you will need to learn to do your own R&D, there is no real substitute for that.

    @berserk said:
    Finally, to be clearer, I'm explaining features you (megalomaniac) didn't understand.

    from the rest of that post I'm guessing you meant to type TwistedTwigleg's alias within the parenthesis, or both?

  • berserkberserk Posts: 13Member

    Yes, sorry. I were indeed meaning TwistedTwigleg.
    Please, don't make me crazy searching for everything. If you know the answer, please just share it.

  • MegalomaniakMegalomaniak Posts: 1,585Admin
    edited May 2017

    Well, my point was that you are asking so many questions and at least in some cases of such a large scope that it's not necessarily easy to answer, especially so since I don't know how much of these nor how well you understand the subject matter as it is. Also, I'm not necessarily the best person to answer each one.

    I'm honestly inclined to say that the best thing you can do is start by just following some tutorials, and not just for godot specifically but game development related ones in general. The better you understand these subjects the better and more concise questions you can ask and the better we can answer. Also reading game development books is great, and if you really are interested in game development then they will be fun to read too.

  • berserkberserk Posts: 13Member

    Yes, I'm doing. I have not very much experience, but I can understand a number of things.
    My questions were gererally purposed, I don't have a specific idea.

  • MegalomaniakMegalomaniak Posts: 1,585Admin

    @berserk said:
    My questions were gererally purposed, I don't have a specific idea.

    Well, then I'm inclined to say you may be asking them a bit too early! Do not over do it, you might just end up burned out.
    Just go through some tutorials one or two at a time and after completing each one try to come up with a simple fun idea for what you could do with what you have learned and build a little prototype, if you get stuck building that "simple" prototype then chances are you are not quite fully understanding something and that is then the perfect time to come here and ask a concise question that we can help you figure out. :smile:

    In other words take things one step at a time step-by-step. That's how we all learn.

  • berserkberserk Posts: 13Member

    Well, I just want to know what's impossible, nothing else.
    I'm not asking why, neither I'm asking you to explain me how to implement these.

  • MegalomaniakMegalomaniak Posts: 1,585Admin
    edited May 2017

    Well, long term the sky's the limit, by the time you have what it takes to join a AAA game development team or to create a full indie game by yourself godot 3.0 and it's limits might be old news anyways. Which is to say don't worry about that too much just yet, focus instead on learning and having fun with it.

  • berserkberserk Posts: 13Member

    Could you (please) just tell me what's impossible from the list above?

  • RayekRayek Posts: 21Member

    fog, underwater fog: same thing, YES
    fire, explosions, sand/dust: combination of particle effects and perhaps some geometry animation for explosions. Automatic: NO. Wait for Godot version 3 for improved particle effects.
    weather, day/night cycles: can be simulated in v2, wait for version 3 for Environment Probe and/or Skybox dynamic blending.
    Tonemapping, adjustments, Motion Blur, SSAO, DOF Blur, Bloom and Screen Space Reflections: YES, version 3 of Godot
    Decals: YES, version 3 of Godot
    animation blending: YES, using nodes in the animation editor
    mirrors,reflection: Yes, up to a point in V2, mirrors can be simulated in Godot v2, wait for Godot 3 for realistic ones and improved reflection
    radiosity, PBR shaders, light (GI) probes, light mapping: Version 3.

    vehicle physics: load up "truck town" in Godot's demos to see for yourself.
    multiple cameras: YES

    iced water, hair/fur: hair can be simulated in many ways, but if you are asking for a built-in shader or effect: NO

    volumetric rendering: NOT volume rendering, which is something completely different!.

    The things that are not in Godot: cloth, fluids, lip synching. The rest can either be simulated, or will be available in version 3.

    Instead of asking these basic questions here, visit https://godotengine.org/devblog to learn more about the upcoming new 3d render engine of Godot version 3.

    And I agree with Megalomaniak: you do not seem to have a lot of experience at all with 3d (either games or otherwise) - before you would ever use 80% of the things you ask here, you would be better off just to actually start USING Godot. Download Godot, and download the demonstration files. Download some open source games (showcase section) to learn more.

    Version 3 will have an updated 3d engine that will be able to visually compete with "the big boys". But start learning NOW instead of fretting about features like caustics and lip synching.

  • TwistedTwiglegTwistedTwigleg Posts: 1,608Admin

    As Megalomaniak said, the sky is the limit as to what is 'impossible'. Godot is open source, meaning that you can add anything to the engine with enough time and effort. It might take a lot of learning, and you might find adding some feature isn't worth the effort, but it is all achivable.

    If you don't have any specific idea, as you said above, then it doesn't really matter what features are included or not, since there isn't a clear goal/project/idea/game in mind to reach.

    I would recommend taking tutorials and writing a design document for the game you want to create. Then you can narrow down the design document into small tasks, each small and hopefully easily done on their own. Tackling something small is way easier than tackling something giant. Making games are a giant process, and it should to be taken one step at a time to avoid burnout.

    If you're trying to keep your options open, making sure you won't have to change engines halfway through development, I wouldn't worry about it. Most game engines follow the same underlying structure and programming is universal on the basic level. Any advance features of one engine can be reproduced in another, it might take some work to do it, but it can be done.

    I've moved from Pygame to ImpactJS, then Unity, then Godot, then Unreal engine, then back Godot, then back to Unity, and now back once again to Godot. The transition wasn't terribly difficult and I found that each engine has their own strengths and weaknesses. It really depends on what feels right at the time and what you think will best support your project.


    All of that is to say, I would recommend taking tutorials and then thinking about what game you want to make. The games presented in tutorials might not be the most interesting games you can create, but they teach you the fundamentals of game programming and game design. Then after you've taken a few tutorials, you will be better equiped to decide what you need in your game and which features are required to make your game.

    No one knows everything. Big features like you see in big games (like Call of duty, Destiny, World of Warcraft, Final fantasy, ect) are done with large/huge teams that have specialized knowledge in their field of game development. Most indie games don't have a huge team behind them, and so they generally are smaller in scope. Undertale doesn't have any flashy features, Minecraft doesn't either. Neither of them are bad in terms of game design, and both of them are well liked in the gaming world.

    Game development will require learning, practice, and patience. I'm sure you can be a great game developer! Take some tutorials and start making games! Your first games might not be what you expected, but they are the first steps on the path that is game development!

  • SIsilicon28SIsilicon28 Posts: 56Member

    I know this post is old, but if anyone else comes across this, then I'd like to add a few updates as of Godot 3.1. I'm only items that are now possible, or created since then.

    • Cloth:- Absolutely! There's a soft body node now that does just that.
      Lens Flare:- Not built in, but there is a plugin for that in the asset store. No advertising intended ;)

    • Volume Rendering:- Hehe. Another plugin for that too, but it hasn't been updated for Godot 3.1 yet.

    • Fluid:- If by fluid you mean something like smoke and not like water, no. But it is definitely possible. I should know.

    • Motion blur:- Yet another done with a plugin, but it's only based on camera movement.

    • God Rays:- There will be a plugin for that. ;)

Sign In or Register to comment.