/gedg/ - Game and Engine Development General #351 Anonymous
05/28/26(Thu)22:44:36
No.
108929286
[Reply]
►
File: 1760372486636718.png (609.2 KB)
Janitorial staff edition
/gedg/ Wiki: https://igwiki.lyci.de/wiki//gedg/_-_Game_and_Engine_Dev_General
IRC: irc.rizon.net #/g/gedg
Progress Day: https://rentry.org/gedg-jams
/gedg/ Compendium: https://rentry.org/gedg
/agdg/: >>>/vg/agdg
Graphics Debugger: https://renderdoc.org/
Requesting Help
-Problem Description: Clearly explain your issue, providing context and relevant background information.
-Relevant Code or Content: If applicable, include relevant code, configuration, or content related to your question. Use code tags.
previous >>108928416
Showing all 225 replies.
>>
>>
>>
>>
>>
>>
>>
File: realistic driving si1m.webm (2.9 MB)
>>108929339
Wheel and pedal support officially in the next nightly build. No need for awkwardly holding your pedals in the middle anymore like with DOSBox.
>>
>>
i donnu if its the right place to ask but
im using XUnity.AutoTranslator-BepInEx to help my cousin, who doesnt know english, play unity games
...or at least thats the plan. our native languege is [spoiler]hebrew[/spoiler] and the translator reverse the order of the letters.
is there to reverse them again/ prevent the reverse from happening in the first place?
>>
>>
>>
>>
>>
>>
>>
I wouldn't trust the AI to write code in the "real" part of the project but it's great for writing shitty non-critical Python tools and such so you don't have to deal with Python garbage.
>>108933051
Luckily for the janitor, the admins are either busy with vore ERP in dorms or dilating in real life, so he'll get away with it this time.
>>
>>
>>108933976
That's the one I use. Very good at syntax, but still pretty bad at actual software engineering, which is why I don't let it write anything more than individual, small functions. I've seen some absurd design suggestions from it, even on max effort, so I am not trusting it to design my program for me.
But it definitely can write the annoying boilerplate shit.
>>
>>
>>
>>
>>108933919
I've gotten good enough at tard wrangling the AIs that I'll even let them write C now. Basically you just need to generate extremely specific design documents, have the work broken up into small chunks, have them write lots of tests so they can iterate automatically when they fuck things up. And never never ever let them fill up the context and compress the conversation.
>>
File: apu-looking.jpg (26.2 KB)
>>108931084
>>
>>
>>
>>
>>
File: 1750963525577279.png (5.5 KB)
>>108936124
Entities, meshes, materials, everything is in a fuckshit JSON file now that is loaded at startup instead of me just hardcoding it in a code file like God intended.
Honestly not even sure if "data driven" is the right terminology, never really bothered with reading up on it, I just know I need it to not be hardcoded and this is the (easiest) way to do it.
>>108936133
That's because most development is done either by multiple people, some/many of whom can't compile (designers, artists etc) or in languages like C++ where compiling can take a long time. I'm working alone in Jai, even with extensive metaprogram code generation it compiles in less than a second, pic related.
However I still want to do this because assuming I ever release it I do want to allow modding and whatever annoyances I'm having now are not even 1% of what I'd suffer later trying to rework all this. Has to be done now when things are very early.
>>
>>
>>108936219
Yeah but that doesn't change if the definition of an entity is in entity_definitions.json or entity_defintiions.jai/cpp, the latter even gives you some validation and autocomplete without needing JSON schemas.
Now one thing JSON will make easier is hotloading changes into your program without restarting it, but I haven't looked into that yet.
>>
>>108936176
>Entities, meshes, materials, everything is in a fuckshit JSON file now that is loaded at startup instead of me just hardcoding it in a code file like God intended.
>Honestly not even sure if "data driven" is the right terminology, never really bothered with reading up on it, I just know I need it to not be hardcoded and this is the (easiest) way to do it.
It can make development easier, but it's easy to screw up your performance here if you then end up doing hash table lookups each frame on the resource filenames to use
>>
>>
>>
>>
>>
Let's say, hypothetically speaking, you were developing a commercial game. Let's also say, hypothetically speaking, you were considering sdl3-gpu to ship on mac. Is it worth using for first class Mac support? Or should you go with Vulkan 1.3+ and ship with moltenVK? Need your input, chuddies.
>>
>>
>>108936451
I'd make sure if the game was ever run on a Mac it would instead play this on repeat:
https://youtu.be/48rz8udZBmQ
>>
>>
>>
>>108936451
first class mac support is either slang(this is just metal, but you have the option to start off with vulkan+MoltenVK and port to metal later) or metal.
Actually it seems like you could use slang with SDL_gpu. So that might be decent? I just don't think there is any way for you to access the good slang features, such as accessing metal's mesh shaders (since metal has no geometry/tesslation shaders, you may need to emulate that with mesh shaders, which is pretty complicated since I only found one example for mesh shader tessellation and it only works for quads, not triangles, so finding resources is pretty scarce).
webgpu/MoltenVK/Angle/SDL_gpu are all abstractions, you will not be able to access every feature metal provides, and first party graphics debugging tools won't understand your abstraction (Vulkan tools would work on windows/linux).
Do you need every feature that metal supports? no, unless you are targeting the macbook neo/iphone and you are trying really hard to push the limits of the hardware (you aren't, I already know that you are using low poly models).
I think most m1-m4 apple users are going to be fine with just using x86 windows emulation with crossover (or whatever free wine emulator exists).
The only benefit of the app store is monetization ($100 per year dev license) and crash reports.
Should you use slang? I don't know... I tried to search if it has any fatal limitations, but it seems like it does a decent job at keeping limitations tied to the limitations of the API and not so much on the limitation of slang (but from what it looks like, there is probably a large chunk of fragmentation depending on which features you use).
But I tried to check if it supports variable rate shading and someone just vibecoded a part of it... but hey, if it works, it works.
https://github.com/shader-slang/slang/issues/7974
>>
>>
>>
>>108936991
geometry/tessellation shaders are kind of against the whole thin driver philosophy.
it's really hard to write a fast geometry/tessellation shader implementation + keep it consistent between implementations.
if your goal is cross platform performance, you should avoid geometry/tessellation shaders.
>>
>spend like three days fucking around with voxel meshing pattern masks
>finally find something efficient that should work
>realize the geometry won't work out
>'source above' water voxel must be whole
>source must be 7/8ths or else it does an ugly convex meniscus thing
>normals must be in 45° increments
>anything other than a direct slope on stair-steps is ugly
>square water looks cheap
>interpolating heights at the corners would look slavish and breaks instanced rendering
>up to 768 instances would have to be generated at startup
I was tempted to reach for 1765820239144974.jpg. However, I will instead do this: make safe-but-ugly patterns, and then replace common ugly situations with better instances.
>>
File: ygg-mmo-backend-tierlist.png (1.7 MB)
This is my ad for a MMORPG backend tier list https://www.youtube.com/watch?v=0wBSayrO-DI
>>
>>
File: ygg-merlin-gauntlet-500pcnt.gif (16.4 KB)
>>108937811
It's true data structures and the like are applicable to all software, but the tier list is dedicated to the topic of MMO/MMORPG
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>108942418
did you write anything significantly-sized in zig? what did you find annoying?
i'm only playing around with the language, because it looks good on paper, and the only things so far that irk me is the confusing build system and bad error messages
>>
>>
>>
>>
File: 1758042214176673.jpg (36.8 KB)
>>108942824
>How Unity's New AI Assistant BREAKS You
I hate this style of titling stuff and I can't even put a finger on what it is exactly, but it's still some sort of pattern that triggers my anger.
>>
>>
>>
>>
>>
>>
>>
>>108942375
for me it's odin
>>108943083
I find the complete lack of bullshit to be what I enjoy about it. It has some nice features but mostly just small things.
>>
>>
>>
>>
bros, I'm getting filtered by sdl3 gpu. I already went through a triangle tutorial and read some code examples. but I don't really have a deep understanding, I'm just memorizing the order in which functions are called. How the hell do you *really* learn this shit, so you can whip up a renderer from scratch?
>>
>>
>>
>>
>>
>>
>>
>>108944969
Yeah so how about he doesn't learn a shitty dead API that has active bugs that will never be fixed?
Stop telling people who are learning to learn OpenGL holy shit, this is outright sabotage.
>>108944991
This, is you really want to learn something other than DX12 or Vulkan, go with DX11 at least. There's a reason that even back in the day, 95% of games ran on DirectX, not OpenGL, as primary API.
DX12 if you want to potentially get a job with it later and you're fine with being bound to Microsoft in some ways. Vulkan if not. If you REALLY don't want to learn things properly, at least go with DX11.
>>
>>108944925
actually use vulkan instead of some API that abstracts it away. It's not actually that complicated. Even if you want to use sdl3 gpu or something in production after actually knowing how modern apis works makes it way clearer.
It's not actually that complicated it just had a bunch of fucking boilerplate but conceptually what is actually going on is pretty clear.
Just follow https://docs.vulkan.org/tutorial/latest/00_Introduction.html
and anything that isn't clear talk to an ai about it
>>
>>
>>
>>108944925
just read code and focus more on games.
focus on the engine more when you hit a performance wall.
>Stop telling people who are learning to learn OpenGL holy shit, this is outright sabotage.
webgl is the one of the good things about opengl.
You actually have an excuse that justifies not using an engine because engines use C# and scripts like godot, which don't translate to wasm as well as C or C++.
(BUT I have noticed the wasm has started adding in new features that might make C# more competitive, since they are adding in garbage collection and exceptions).
webgpu has great potential, but it at it's current state, the only feature webgpu offers is a compute shader and 32bit atomics (these are good features).
Also maybe in a few years we might see SDL_gpu support webgpu (which might work with slang).
But overall, it's better if you first think of a game, and then just try creating the game using the path of least resistance.
That path of least resistance could even be using an engine. Since people are able to finish games in a week using unity / godot, does it really hurt to try it out to make a prototype, then move to your engine because of the limitations the unity/godot can't solve?
You could even vibe code it if you don't know C# or gdscript.
>>
>>
>>
>>
>>
>>
>>108945677
sorry, maybe I'm different, but I don't open EXE's.
the game needs to have at least 100+ downloads and at least 1 positive review before I download it.
I don't even trust steam games that are free.
Like, how do you even make money if it's free? And if it's free? why is nobody playing / reviewing it?
>>
>>
>>108945746
I was wrong about saying "would you even open an exe if the game was good?".
if the game is "good", that means it was already getting good reviews, so you already solved your problem and you are succeeded at releasing a game.
But before that, unless you can just rally a nice wave of hype and a bunch of wishlists, your game isn't going to catch people's attention just from being good, and the exe is not going to help either, especially if the first few reviews aren't a 10/10.
And I watch a lot of streamers play games, and I honestly probably try playing the same game as the streamer, if it was a web game, but if I had to download it, hell no, the streamer needs to do the dogwhistle thing where they need to tell the viewers that the game is free and they can download it at X. But if it's a web game... the viewers could probably tell just from the fact they can see the streamers browser.
>>
>>
File: 1777023350883003.png (950.8 KB)
>>108945866
That would be a compliment, because I would like to go back and play more games on flashpoint, than watch streamers. Since that sounds like a better use of time.
But honestly watching streamers is more enjoyable than playing the game itself...
So many games are feel so empty.
Do you not watch any streamers?
>>
>>
>>
>>
>>
>>108946023
might add a cluade prompt to the game so you can go 'move player back to 0 0', 'spawn monster near player', etc etc.
Hated AI but it feels like the first legit new thing in software for two decades
>>
File: Screenshot 2026-05-31 at 12.57.09 pm.png (501.6 KB)
>>108946034
lmao brevs we in the future, i love lisp and ai
>>
>>108945904
No, the only time I watch anyone else play video games is when it's a long form edited video. The number of people that still edit their playthroughs on Youtube can basically be counted on one hand so there's about one video a month I watch.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>108946193
>>108946194
cooked is gen z slang you clowns
>>
>>108946195
lmfao, lol, hahaha, omg, you idiot
>>108946198
Ah yes, no one ever said "cooked" before gen Z. Definitely nothing like "your goose is cooked"
>>
>>
>>
>>
>>
>>
>>108946100
The problem with playing games is that my face is like like this 99% of the time:
:l
It's so difficult to get any sort of emotional reaction from a game.
Then when I watch streamers, it's like a podcast, they just make me laugh, because it's not even the streamer who's funny most of the time, it's chat.
I think streaming content has diluted the quality of let's play videos, since I think game grumps used to be pretty funny.
>>
>>
>>
>>
>>108946231
>>108946252
https://www.reddit.com/r/DragonBallZ/comments/1gykgm4/gen_z_trunks/
This is from the DBZ dub before gen z was practically alive. I could probably slog through tons of media and find a billion examples of people saying they're cooked or you're cooked. All gen z did was start using it often. It's the same thing as cap, except cap had a smaller retirement but it existed in the 90s then came back and gen z acted like it was all their unique special word.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>108946611
Nope lmao, the current cutoff is 96 but that's bullshit. It used to be 93/94 which made way more sense but for some reason in 2018 pew changed it to 96. Either one would make zoomers in their 30s if only on the cusp.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>108948781
games/game engines are like the worst case scenario for ai (ai is best with a limited context window where it doesn't need to know anything other than like the 200 lines around it so i can do it in an isolated way, global state is like the worst possible thing for it)
but if you use it well and you are still architecting things and just using it to fill in the blanks it's fine.
Someone whose made engines before and knows about them will use it very differently than new people. Really bad idea for new people to rely on it past like asking questions or those really contained uses i mentioned.
>>
>>
>>108948781
His job is making youtube videos not making games, there are no games made with his game engine. Of course he needs to make videos about the latest hot thing.
>>108948867
Contexts are pretty big now. Pretty sure Opus 1M can hold the entirety of his project in memory lol. Even for actually large projects you can use AI to great effect with a lot of documents (also generated by AI) that help them load exactly what's relevant and do work in small chunks.
>>
>>108949372
you have no idea what you are talking about something saying they have "1m" of context doesn't mean it can understand that.
If you use them at all it is extremely obvious.
How LLMs work in principle are given some set of data, transform it into another set of data. The more data that isn't relevant that you include lowers the probability the output is what you actually want.
Being able to include 1m tokens of irrelevant data doesn't mean the output would be better.
Having an issue where you have say 100 lines of code as all you need for context means the probability you get good output is approaching 100%.
If it needs to read all over your code and be aware of a bunch of stuff at once that isn't directly relevant in order to write something just definitionally it's going to be far less likely to actually produce what you want.
Just because you have 1m context doesn't mean you should fill it with garbage and expect to get anything good out of it, realistically for how ai coding works that will primarily be filled with unrelated information like previous chat history or previous changes.
There is almost no situation in which actually using 1m of context actually makes sense or is something you should do unless you are just looking for some like project wide analysis, which even then it's probably better to use multiple smaller context requests that look into things more specifically.
There are obviously strategies to have restrict focused context for certain kind of requests, but because of how games in particular work where you are working with actual memory, caches, GPU stuff, synchronization and a bunch of stuff all over not all of which is even represented in the code (different paths for different hardware for example) any actual engine wide stuff just by definition will require it include a bunch of irrelevant context, so the output will just be worse.
If you are doing some functional back end w/ pure functions that just isn't the case.
>>
>>108949443
That's why you also have a lot of tests so the agent can iterate changes when it fucks things up. I have a system where it can manually progress ticks as fast as possible with an input replay and compare screenshots at key frames for different pixels.
>>
>>108949443
>but because of how games in particular work where you are working with actual memory, caches, GPU stuff, synchronization and a bunch of stuff all over not all of which is even represented in the code (different paths for different hardware for example)
I don't know about AI but I don't think you know a lot about game engines
>>
>>
>>
>>
>>
File: IMG_2343-scaled.jpg (593.6 KB)
Anyone has experience with making far away fog effect that don't look like shit?
I have a 8x8km map with mountains & valley, and I'm trying to get the effect in pic related - but just toying with Unity's built-in fog settings I can't find a way to make it to both look nice and be clearly visible without fucking up visibility too much.
Do I just suck at art and need to tweak those settings some more, do I have to implement full fucking atmospheric scattering for this, or is there some custom fog formula I need to implement as post-processing?
>>
>>
>>
>>108949558
>>108950180
Actually more interesting would be the damn email to ask for access. It was posted on the Jai subreddit but redditor faggots immediately deleted it because "UR NO SUPPOSED TO POST IT".
I don't have time to go on some wild goose chase trying to find the email, I'll just keep using the leak until I happen upon it and request access.
>>
File: 1483297756504.jpg (28.6 KB)
>>108943005
>exaggerated terminology
>capital letter on each word
>random all CAPS on some word
>>
>>
>>
>>
>>108936451
MoltenVK is fine, but be aware that it supports a restricted subset of Vulkan, so if you just develop for Windows first and then later want to support macOS, you might find you've used features that MoltenVK can't support. SDL_GPU on the other hand, being designed to be fully cross-platform, will only let you write code that can be converted into Vulkan, Direct3D, and Metal. For example, Vulkan supports geometry shaders. Metal does not. If you create a rendering pipeline using geometry shaders, you'll be fucked; on the other hand, SDL_GPU does not support geometry shaders and locks you into the modern approach of vertex shaders, fragment shaders, and compute shaders for everything else, which is compatible with all modern APIs.
With that in mind, I'd say that if you're going for macOS support from the beginning (or developing on a Mac), you can do either one, but if you're developing on Windows or Linux and just want to include macOS support without actively making sure your program works on it regularly, then you should use SDL_GPU.
>>
>>108953122
>MoltenVK is fine, but be aware that it supports a restricted subset of Vulkan
No, it supports pretty much everything except for vendor-specific things that would require a fall back option anyways.
>geometry shaders
Well supports everything except for dumb outdated shit you should not be using
>>
>>
File: 1659398016486194.png (30.2 KB)
>>108949604
I knew ive seen something like this before
timestamped: August 2, 2022
>>
>>
>>
>>
>>108949781
let me start with
t. non-gamedev
the way I see it, it's a depth map from camera's perspective or player's perspective, to that pass you apply a de-saturation, blue/sky color tint and probably a blur filter
>>
>>
File: lighting1.png (844.4 KB)
>>108954918
>>108949604
RTX on
>>
>>
>>
>>
>>
>>108950214
>>108950180
there is 2.029 or something
also you can find the email pretty easily on google
>>
>>108955960
>This is why you make your own game engine.
It's trivial to add new fog types to commercial engines, Anon.
That's like saying people need to make their own car if they want to change how much the window is open.
>>
>>108944925
just give in to the vulkan
https://www.howtovulkan.com/
https://youtu.be/7bSzp-QildA
>>
>>
>>
>>
>>108956502
correct
>>108956510
wrong.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>108957900
I csnt hanfle criticism so every time someone says my game sucks or lookslike shit I crash out and then they dogpile on me and I crash out more and start either self flagellation or claiming im a misunderstood genius and their ire is proof that my game is the best.
In reality, I kinda hate most video games and I hate the stuff they love so I aint gonna be able to get good feedback. Funny enough the criticism here has been really beneficial.
>>
>>
>>
>>
>>108960134
It feels too good in the moment but its probably not good for my reputation.
Seeing everybody respond sincerely to my low effort bait is a good feeling. But it makes me look like a reatard. Hahaha they got so mad when I said "league of legends is the most retarded thing mankind has ever produced" its too easy.
>>
>>
>>
>>
i think i'm about finished with this voice chat server/client. download it here and test it out and tell me if it works. no account is required. type in a name and go. https://magoogan.duckdns.org/
it's an unverified .exe so windows throws a fit about that. not a trojan or any type of malware.
the server will only allow 16 people right now. i have no idea what it's performance is like under load. only tested it with myself and one other person. hopefully there aren't too many bugs.
to get voice chat you have to click the check box next to a person's name. if it's your name it will start a self voice chat. if it's someone else then the voice chat will only start once they click the checkbox next to your name on their end. text chat you type in the box and press enter to send.