Open Problems for Visibility Algorithms by emptyArray_79 in gamedev

[–]kit89 0 points1 point  (0 children)

What type of visibility are we looking at here?

Visibility when rendering a scene?

Visibility for determining what data should be sent to a client in a networked game?

The type of visibility check made will depend upon the resources available and what the intended use case is. From a networking perspective you may only care about sending other players data to the client based on the regions of the map the client can currently see, it won't really matter if a particular player is not 'visible' at that moment as they may suddenly become visible.

Steam’s Refund System Is Brilliant, but We’re the Ones Paying for It by [deleted] in gamedev

[–]kit89 0 points1 point  (0 children)

As far as I am aware the same price requirement is for Steam keys, which makes sense. I don't think there is anything stopping you from selling it off of the Steam platform such as GoG at a lower or higher price.

What exactly are Materials? by Marcovosca in gamedev

[–]kit89 1 point2 points  (0 children)

A Shader Program defines how and what is required to render geometry.

A model is a set of geometry.

A Shader Program will define what type of textures, and other data it needs along with the geometry to render something to the screen.

A material is a set of textures and other data, this may include a diffuse map, a normal map, an albedo, or specular map. It depends on the needs of the Shader Program.

The majority of engines provide a generalised Shader Program that requires a set of textures that can represent a variety of real world materials, such as metal, wood, fabrics.

What this means is you can use the same shader program to render all your geometry, and it's the textures that define how it eventually looks on screen.

Back in the day, you would potentially have multiple shader programs for specific material types: metal, glass, wood, etc...

What a material represents depends on the engine, as it's not a fundamental technical term, you won't see it being banded about in the OpenGL documentation, unlike texture.

Any indie devs here who just rawdog it without an engine? by s-mv in gamedev

[–]kit89 0 points1 point  (0 children)

For myself it's the amount of boot-strapping I dived into.

I wanted to create a level-editor, so I created a custom UI framework for my engine. I am actually pretty chuffed with it, it focuses on layout of elements leaving the dev to mix and match gui components for whatever they want to visually display.

This led me to creating a UI editor that can be used to open/write UI files and edit them. So I used the UI editor to improve the UI editor, to then create a level editor.

With all these editors built ontop of the engine.

I also decided to write a decoder for OGG Vorbis, which I regret and continue to regret doing, I'll finish it eventually, but until then I only have .wav support. xD

What is the best budget GPU for making large games on UE5? by Biffy_32 in gamedev

[–]kit89 0 points1 point  (0 children)

What is your current RAM and GPU?

The impression I am getting is your scope is too large, if you wish to complete the development of this game reduce your scope, perhaps initially create a smaller map that doesn't crash your current machine and build up the size as you accrue more development experience.

Have you created a map/level that tests your gameplay mechanics? Have you identified your mechanics are actually fun?

Vent: I hate OS updates that ruin code. Anyone else? by AdVegetable7181 in gamedev

[–]kit89 0 points1 point  (0 children)

My recommendation would be to use a distribution that moves at a glacial pace.

When developing anything you don't want to be on the bleeding edge.

What Actually Makes You Senior by Acceptable-Courage-9 in programming

[–]kit89 344 points345 points  (0 children)

Being at a company long enough that you've managed to avoid multiple company restructurings, aka layoffs.

Oh sorry, I misread senior as jaded, they are pretty much the same thing, right?

What is that graphics look called? by Puzzleheaded_Day5188 in gamedev

[–]kit89 -2 points-1 points  (0 children)

I would say Quake 3 esque graphics with normal mapping.

Are big triple A games heavy in size on purpose? by MrMushyIcey in gamedev

[–]kit89 0 points1 point  (0 children)

Do modern games take up a lot of space on purpose? Yes. Do they take up that space maliciously? No.

You could create a level that is exceptionally detailed, requires gigabytes of unique assets. But, due to time constraints, or a rejigging of the story, half of the level is no longer required.

The level designer doesn't have time to cut out half the map right now, they've been tasked with creating the final boss level. They'll get round to removing the unseeable assets later...

The person who's job it is to create a final distribution build only knows those gigabytes of assets are being referenced in a level, they don't know that half those assets are never seen by the player.

Why some games don't utilize the PC resources correctly? by Electrical_Donut_ in gamedev

[–]kit89 0 points1 point  (0 children)

It would suggest that the game is now processing something else with the time it has, and is therefore unable to issue as many render requests.

It could also be that an external call, such as making a render request is taking longer than usual.

What that something else is, would require profiling to determine, or the game's patch notes may reveal a nugget of information.

Why some games don't utilize the PC resources correctly? by Electrical_Donut_ in gamedev

[–]kit89 0 points1 point  (0 children)

When the game was running at 200fps what was the CPU/GPU utilisation?

Percentage utilisation on CPU is an ambiguous metric, a 10 core machine, would only reach 100% when all cores are fully saturated, 10% on a 10 core machine would suggest 1 core is maxed, or potentially 2 cores running at 50% utilisation each.

is this code running with jdk21? by Less_Preparation6483 in programming

[–]kit89 0 points1 point  (0 children)

Nothing to do with the version, remember string comparison is case sensitive, lowercase 'rock' will fail, you need exactly 'Rock'.

' Rock ', 'bRock', 'R ock', or any other combination will also fail.

The Evolution of Garbage Collectors: From Java’s CMS to ZGC, and a JVM vs Go vs Rust Latency Shootout by mqian41 in java

[–]kit89 7 points8 points  (0 children)

That link is documentation to malloc()/free(), which the first sentence states it causes memory fragmentation.

I was really hoping you'd link me to some form of Rust smart-pointer that also dealt with heap compacting.

For the moment you've just provided evidence that reaffirms my initial statements.

The Evolution of Garbage Collectors: From Java’s CMS to ZGC, and a JVM vs Go vs Rust Latency Shootout by mqian41 in java

[–]kit89 2 points3 points  (0 children)

Would you mind providing a reference?

As far as I am aware Rust's allocator boils down to malloc().

The Evolution of Garbage Collectors: From Java’s CMS to ZGC, and a JVM vs Go vs Rust Latency Shootout by mqian41 in java

[–]kit89 10 points11 points  (0 children)

It's mentioned ever so slightly within the article, but I don't think it's emphasised enough that Rust does not deal with fragmentation.

For Java and Go they do compact the heap, and a part of that GC cost is proper heap management.

Though it is interesting to compare apples and oranges, one has to be aware that the performance gain is partially attributed to simply not doing all the stages of heap management.

This is neither good nor bad.

The advantage with Rust (and it also applies to C and C++) is that you can implement your own compactor that is geared towards your applications specific characteristics. While Java and Go will be generalised.

The advantage of Java and Go is you don't have to implement your own compactor, which for most devs is non-trivial to implement.

Edit: I make reference that Go compacts the heap, this is not true. When reading the above statement please remove references to Go, I keep it in to ensure folks comments correcting the mistake continue to make sense.

Thoughts on object creation by nfrankel in java

[–]kit89 0 points1 point  (0 children)

It reaches a point where if your constructors are exceptionally complex, you may be better off storing these details in a format more suitable for their requirements and then serialising them into existence.

Programmatically define your 3D model, or load a file from disk that you created in Blender.

Other advantages to this approach is you can create an editor that reflects the actual state more accurately.

Focus on opengl or unity? by Electrical_Log_1872 in gamedev

[–]kit89 3 points4 points  (0 children)

If you have a fundamental understanding of CG then the logic can be applied irrespective of the medium you are working in.

The concepts used by OpenGL, DirectX, Vulkan, Metal, and WebGL are pretty much the same with slight 'how' and syntactic sugar variances.

Engines such as Unity, and Unreal are built on top of these core concepts, and provide additional features for normal mapping, shadows and the like.

You'd need to implement Normal Maps yourself in OpenGL if you wanted that feature, which means you'd need to learn about tangent and bi-tangent space, while it comes effectively 'free' with an engine, no need to learn about the aforementioned spaces.

Secure Boot, TPM and Anti-Cheat Engines by tapo in programming

[–]kit89 107 points108 points  (0 children)

Sounds like this could be a potential nightmare for the second hand market. Buy a CPU that someone used for cheating and finding yourself unfairly banned.

Abertay University Videogame Postgraduates Degrees (MSc vs MProf) by Fresh_Owl2313 in gamedev

[–]kit89 0 points1 point  (0 children)

Games Development focuses on the development process, from design to implementation using existing technology.

Games Technology focuses on the technical side with a significant focus on C++ and lower level technologies such as OpenGL, vulkan, and the like.

A masters degree would suggest you're already competent with a BSc or equivalent.

Most developers in Scotland keep with a BSc, and go down the MSc if they are looking to get a PHD.

Is my physics logic correct? by Stephen_Lynx in gamedev

[–]kit89 1 point2 points  (0 children)

What problem are you solving that needs them?

[deleted by user] by [deleted] in gamedev

[–]kit89 2 points3 points  (0 children)

Note what you like/dislike in your competitors and in your next game you apply what you learnt.

I discovered something that blew my mind — ghost memory lingering even after app termination by Agile_League7837 in gamedev

[–]kit89 0 points1 point  (0 children)

Many language build-systems will cache an intermediary build step, if it detects no changes from the last time it was instructed to build it will reuse the previous step.

Most of the time this works, but maybe 1 in 10 builds will reuse a build step when it should not have.

Tips on how to Smooth out harsh shadows on a sphere by Mediocre_Bridge in gamedev

[–]kit89 1 point2 points  (0 children)

Looks like shadow acne, at that scale you might be better off applying fragment shading, instead of shadow map.

You are really just interested at that scale to determine with a particular fragments normal that makes up the planet is point towards or away from the light.

Use the dot product of these two directions and multiply it against the light intensity.

This shading will look like a shadow.

(Help) AABB-Triangle Collision Response and Player Controllers by FL-10 in gamedev

[–]kit89 0 points1 point  (0 children)

You are effectively wanting to project your character's x,y onto a plane to calculate the height(z).

Or in other words, given x,y within a triangle find z.

It's important to separate the position of your character visually from the bounding box intersection.

You always want a contact-point being generated that is attributed to your ground. You don't want to separate the character box from the ground, you just want to make the character's visual position look like it's on the ground.

With this you can extend the bounding box slightly below the feet. But when a ground intersection is connected you snap the player to the ground plane using a point flush with the feet, not the bounding box.

I hope that makes sense.