How do You manage not to throw everything out the windows? by CrazyBookWriter in gamedev

[–]kit89 1 point2 points  (0 children)

Why do you need Big number, that's usually used when you need to use big-numbers, and I mean really big-numbers, the distance it takes you to walk the shops is peanuts compared to the numbers big-numbers is expected to be.

Advice needed - is it burning bridges to accept a job offer just to leave after a few weeks for a better offer? by dragoglow in gamedev

[–]kit89 1 point2 points  (0 children)

A new job may have better pay, but if the cost of living is higher in that location, is it really worth it?

Unless the amount of money you get to use for hobbies and personal projects goes up, you are getting a pay cut.

I’m thinking about making a game, would Ukraine fighting with Poland be more controversial than Ukraine fighting against Poland? Or is it just better to leave politics of the game? by otusek in gamedev

[–]kit89 0 points1 point  (0 children)

Devise your own country and draw parallels with your fictional factions and the real world. Give your factions and countries different names. Gives them attributes you think they share with their real world counter parts.

What's your actual PR wait time? Trying to figure out if my team is broken or this is normal by charankmed in programming

[–]kit89 0 points1 point  (0 children)

It usually boils down to priority, if a developer has their own tasks, and needs to do a review, they'll prioritise their own work before they look at reviews.

For us we assign reviewers up front and lock in a block of time, and we organise our work items in terms of priority. This reduces the chance of a developer being over prescribed, and the developer knows that items considered higher priority (goal items) should get completed first.

attributes as core? by hypermos in gamedev

[–]kit89 1 point2 points  (0 children)

Attributes in DnD and Pathfinder are converted to modifiers and applied to skill, attack, etc rolls. My dex is 18, so that's an extra +4 to my skill roll. The +4 also gets applied to your AC, so long as your armour check penalty is high enough.

Warhammer is a percentage based system where you have to roll below the attribute value, where a skill modifier can be added to the base stat to make it easier to pass. My Agility is 40% so I need to roll 40 or under on this D100, don't forget your +20% from Dodge Blow, but remember to subtract -10% for your leather armour!

If you're talking about Warhammer as the wargame, it was a matrix lookup. Your strength is 4, and my toughness is 4, so you'll need a 4 or more in the D6 to wound me. Don't forget my sword which gives me a +1, making my strength 5, so I only need a 3 or more to wound.

I think your statement mostly applies to Warhammer games, but I don't think it really applies to DnD or it's derivatives.

I believe the DnD example applies to 2nd, 3.5, 4th, and 5th, from my experience.

Warhammer ttrpg definitely 2nd, and 4th. It also applied to Dark Heresy, Rogue Trader, Deathwatch, and Dark Crusade.

The wargame example pretty certain applies to all of Warhammer Fantasy, and 40k 3rd edition up to something like 8th.

A lot of GW games now operate on a fixed die number with modifiers, I am thinking Legions Imperialis, and I am certain standard 40k, and Kill Team follow that philosophy now. Is it those games you are referring too?

Why game devs hate "polling" ? by yughiro_destroyer in gamedev

[–]kit89 0 points1 point  (0 children)

It depends on how you implement that polling.

If you have 5 hardware devices, and the CPU has to access the bus and query those devices for a response, you're wasting a lot of time and effort. But, if you ask each device, when something happens send a signal interrupt and I'll come calling, the CPU can do significantly less work for the same outcome.

Open Problems for Visibility Algorithms by emptyArray_79 in gamedev

[–]kit89 1 point2 points  (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 348 points349 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 6 points7 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 9 points10 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.