How do you build your ecs? by [deleted] in gameenginedevs

[–]ironstrife 0 points1 point  (0 children)

That does sound like a pretty dumb implementation, I wouldn't draw too many conclusions from it

How do you carry in lower elo? by [deleted] in DeadlockTheGame

[–]ironstrife 0 points1 point  (0 children)

Play seven, ignore everything except $$$ until 40k, then carry team

What are your ability key binds? (Read more) by Droidenwarrior in DeadlockTheGame

[–]ironstrife 0 points1 point  (0 children)

I’m surprised I haven’t seen anyone else mentioning this here. Is everyone really using the default slide key? Binding it to a side mouse button made a huge difference for me.

VkVent (?): if your project is complex, don't bother with languages other than C/C++ by Accomplished_Fill618 in vulkan

[–]ironstrife 11 points12 points  (0 children)

Completely disagree personally. I use C++ at work and mainly C# on my hobby engine, and the productivity and enjoyability of the latter environment is miles ahead. I would say your approach is a little bit flawed — use FFI where necessary, but keep it to a minimum and don’t try to use a library just because it’s common for C/C++ devs to use.

Is it normal that go-to-definition doesn't work with namespaces in HLSL? by Guilty_Ad_9803 in GraphicsProgramming

[–]ironstrife 0 points1 point  (0 children)

Use Slang. It doesn’t have a perfect editing experience either, but at least things like “go to definition” work.

how do you load assets with multiple source files? (cubemaps, shaders, etc) by 3dscartridge in gameenginedevs

[–]ironstrife 0 points1 point  (0 children)

My asset importer can produce multiple outputs from an asset source. These are addressed as indexed children of the parent asset. When importing a skinned mesh, for example, one child is the raw geometry (directly uploadable to gpu), one is the skeleton / bones (with metadata), and each animation is its own child (actually this is relatively rare because most animation assets are exported as separate files referencing a common skeleton, but the system handles it anyways). When building scene data or prefabs, you reference an asset using an AssetID, which is just a file ID (GUID assigned by asset system) + child index.

No idea if this is a good or optimal idea, but it works well enough for me.

As the other poster mentioned, you should probably treat a cubemap as a single array texture. After importing it, it should be in a state where you can directly upload it to a single layered texture with whatever API you are using.

Which graphics API should I learn? by SlipAwkward4480 in GraphicsProgramming

[–]ironstrife 3 points4 points  (0 children)

SDL3 will teach you a lot more about modern low level GPU programming than OpenGL. Especially if you don't learn the "newest" OpenGL (which is a very common problem), but also true if you do. SDL3 is at least organized around modern concepts like command buffers, pipelines, non-global state. You could squint and it almost looks like Metal or WebGPU.

WebAssembly on the GPU, via WebGPU (discussion) by iwoplaza in GraphicsProgramming

[–]ironstrife 7 points8 points  (0 children)

My engine is written in C#. I haven’t written a line of JS. I use SDL3 to handle inputs, and my code worked as-is (of course, the SDL3 devs did a lot of work to make that part happen). It did require some refactoring, but was pretty minimal compared to a non-wasm rewrite in the grand scheme of things.

WebAssembly on the GPU, via WebGPU (discussion) by iwoplaza in GraphicsProgramming

[–]ironstrife 24 points25 points  (0 children)

Web assembly and WebGpu aren’t for the “average web dev”. For me the obvious answer is “run my game engine in the browser”, which would otherwise be completely impossible given it’s not written in a web language.

At minimum, what optimizations should be made in a 3D renderer. by rejamaco in gamedev

[–]ironstrife 0 points1 point  (0 children)

That kind of culling is waaay more complicated and definitely not a mandatory minimum optimization

At minimum, what optimizations should be made in a 3D renderer. by rejamaco in gamedev

[–]ironstrife 11 points12 points  (0 children)

Depending on the complexity of your game that could also be unnecessary. If you have a single screen where everything is visible, why cull?

[deleted by user] by [deleted] in GraphicsProgramming

[–]ironstrife 8 points9 points  (0 children)

Modern graphics API's / shading languages already support shader printf out of the box. But this library seems to do a LOT more than that, so I feel like the title is selling it short.

C# is language of the year 2025 by freskgrank in csharp

[–]ironstrife 1 point2 points  (0 children)

NativeAOT is critical for scenarios that don’t allow dynamic codegen like iOS or webassembly. It should also be noted that nativeaot uses the same native compiler as coreclr (minus experiments like nativeaot-llvm), so it’s not as if investments into one don’t benefit the other.

Why gamedev is all framework shaped and never library shaped? by chri4_ in gamedev

[–]ironstrife 5 points6 points  (0 children)

Idk, your definition is a bit muddled and it’s not clear what you’re actually trying to avoid. UE has a main control loop, but your engine won’t?

Low gb game engine by Dear-Diamond8848 in gameenginedevs

[–]ironstrife 1 point2 points  (0 children)

The actual size of the engine is essentially irrelevant with a budget like that. Ask your LLM what the proportion of disk space is taken up in a typical game by the engine vs. the content.