Diegetic in movies and games describe actions and information "available in the world" things that can be experienced by the characters living in it. For example, weapon sounds, blood spatter and camera recoil. These elements and mechanics all represents something that happens due to the physical laws within the game world. Diegetic information is often leveraged by games that aim for a higher level of immersion.
Non-Diegetic feedback is information that isn't anchored to the physical game world, information that is only presented through player or viewer facing elements. A classic example for many games would be the heads up display (HUD). The HUD is a hub for non-diegetic visual elements like, hitmarkers, crosshairs, minimaps et.c. Information that exists outside the "physical laws" of the game world to give players information and directions.
Using too much non-diegetic elements and the player may feel a disconnected from the game world making gameplay less relatable.
The boundary between diegetic and non-diegetic can sometimes be vague. It's not uncommon to see games present their HUD through screen overlays that make UI elements part of a helmet or visor, or cases where the information is projected into the game world by the player character through the use of other tools and gadgets.
Some games hide information to create a more realistic or immersive experience. For instance, they might remove the crosshair, hide the ammo counter, and leave out identification markers for friendly and enemy players to enhance both challenge and immersion. But how do we handle information present in the physical world that can't be seen or heard? And what about bending the physical laws of the game world?
Non-diegetic elements for physical feelings.
Some mechanics aren't legible without the use of non-diegetic feedback elements.
Internal emotions and feelings like happiness, love, sadness, or hunger often begin as gut feelings before they become physically apparent. While these emotions can manifest as moods through facial expressions, body language, and voice tone, their physical appearance may be too late of an identifier for players to react properly.
Let's take hunger for example. Hunger is a game mechanic often found in survival games. If you fail to maintain your hunger you usually start suffering fatigue, in some cases even physical damage. To mitigate this we need to eat when we start becoming hungry. But how do we know we are hungry? Do we listen for a growling stomach, or do we wait for our character to exclaim "I'm starving" to know it's time to eat. Reasonably or character knew it was hungry long before loudly pointing it out to their surroundings.
I think this could be a case where high immersion feedback systems should make use of non-diegetic elements to maintain good readability without sacrificing immersion.
Bending the laws of physics to stay diegetic
Sometimes the information we want to use exists within the world. But maybe not within the scope of our character.
For instance, when a player shoots at something, we play a sound where the bullets land often based on the material we hit. When hitting an important target we want to give the player affirmation that they've succeeded. We can do this in multiple ways.
A non-diegetic way would be through the use of hit markers and icons that tell us if we damaged a player, whether we hit their armor or not, or even if we landed a killing blow.
We could also do this in a diegetic way, for instance, playing different sound effects based on where we land our hit. Hitting an exposed part of the body could sound a lot more meaty or gory than hitting the ceramic plates and fabric of body armor.
These sounds exist and can be heard within the game world by anyone within earshot of where the bullet landed. However, a common implementation of this is playing the hit sound loud enough for the damage dealer to be heard no matter the distance. This is a good way to provide feedback without breaking immersion. However, as the sounds travel beyond the regular audible range set within the game you could argue they either stop being diegetic or that we've started bending the physical laws of the game world.
While there are many clear cases of diegetic and non-diegetic game elements. I think you should avoid getting too stuck on whether something should or shouldn't be diegetic when developing and iterating design choices. While aiming for an immersive game experience through the use of diegetic game elements. I think it's more important to talk about when to make something more diegetic or less diegetic.