I cant blend edition/gedg/ Wiki: https://igwiki.lyci.de/wiki//gedg/_-_Game_and_Engine_Dev_GeneralIRC: irc.rizon.net #/g/gedgProgress Day: https://rentry.org/gedg-jams/gedg/ Compendium: https://rentry.org/gedg/agdg/: >>>/vg/agdgGraphics 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: 108525178
>>108552924you had one job
Nobody cares about graphics or music. What they care about is the impeccably designed private header files you crafted for your game engine.
Use C.
>>108553337first time baking. Be gentle autist sempai.
can you even properly play midi files on modern hardware or does it just go through 15 levels of emulation
>>108553750You know that MIDI files sounded different on every sound card right? There's no "authentic" sounding MIDI
>>108553755you can just say you don't know instead of going off on tangents
>>108553761The answer is yes because the idea of "emulating" MIDIs makes no sense
>>108553765midi is a standardized instruction setold audio hardware could directly accept those instructions and generate audio signals from themmodern hardware uses software layers to convert those instructions into something that the hardware can actually understand (aka emulation)maybe fact check yourself with chatgpt next time before embarrassing yourself on the internet
emulate deez
>>108553774jesus christ this post smells of curry
>>108553781you bloody bastard bitch fuck your mother!
>>108553750Integrated audio chips dropped midi support around Windows XP era. Unless you have a discrete audio card, any midi playback these days is done in software. Anyways even in software it's trivial, you can even write your own midi system. Just be careful with soundfont licenses.
I only realized now I wanna make games and I'm in my late 20s now. Its done I'm done. I don't know anything and have zero skills. Some people are just like that. They realize it too late. And they suffer for it. I deserve to suffer. I deserve everything that's happening to me. Why the fuck I didn't realize what I wanted to do AT 16 LIKE EVERYONE ELSE. goddamn man I deserve to go back in time.
>>108553787kek
>>108553963but transsexuals are the most likely to vibe code and yet they've never produced anything of value
>>108553967>transsexuals are the most likely to vibe codeLGBTQ+ adults, particularly transgender individuals, express the highest levels of concern regarding AI, with 95% worried about the removal of human oversight in safety systems and 94% concerned about bias in content moderation.
I wish the internet was age restricted
every vibe coder I've ever seen has been brown or transsexual or both
With AI you win
>>108553984brown maybe even furries but trannies are extremely vocal against AIyou're making shit up. trannies are the most likely 'person' to be vocally against AI
>>108553991#1 you're generalizing based on the handful of transsexuals that you follow on bluesky#2 you can't even tell if someone is transsexual just by looking at them, some of your favorite devs might secretly be transsexual, maybe even a family member or that girl you used to date
>>108554001Sure, bud.https://www.lgbttech.org/post/bias-privacy-and-promise-what-lgbtq-adults-say-about-aihttps://www.forbidden-colours.com/wp-content/uploads/2024/01/240130-Report-on-LGBTIQ-AI.pdfhttps://www.correlation-one.com/blog/llgbtq-people-ai-algorithmic-bias-harmhttps://link.springer.com/article/10.1007/s43681-024-00423-8
>>108554013you are obsessed
>>108554017Yeah, check my pronouns in bio and leave your hate speech at the door, chud.
>>108554013mental illness
>>108554026I'm pretty sure he's joking. They're the most obvious people on earth to spot and if they don't look it they for sure will tell you with flags and pronouns.
>>108554026>>108554032Actually the people who believe this are primarily gooners who still in 2026 do not understand that the man they are gooning to is using an AI filter to make their face look like a Korean vtuber.
>108554044bad b8, m8
>>108554050saar...
>>108554050Anon, even the biological women you fap to on OF have been using face swap and instagram filter shit for a decade now.
>>108553694die
>108554074
>>108553774>>108553761you sound retarded and heres whyhardware implementations of midi are as arbitrary as the software implementations there is no one standard sample set, you are ignorant as fuck and dont know how to use google
everything is so fake and gay now... my game will be the only thing that's real... gamers will love it...
so why come the AI isn't directly generating insanely optimized assembly code? why is it generating high level abstract programming languages that were only invented to make programming easier for humans?
>>108554122use case?
>>108554129video games running 100 times faster than anything a human could produce
>>108554122>>108554137Is this the same guy making every retarded post in this thread?
>>108554137use case?
>>108554122Where would they steal enough assembly source code to train the model?
>>108554165>assembly source code
>>108554168You are retarded.
>>108554184you were being sarcastic right
>>108554195Go ask ChatGPT to educate you.
>>108554199this thread isn't your designated shitting street bro
The only book you will ever need.
>>108554525nerd, i learned from the quake source code
>>108554525damn, Imma write some blazing fast unix games with those hot tips
>>108554525made my own graphics/network/game engine in C++ / OpenGL, I feel like people optimize way too much for their solo projects. Implement first, and go back and optimize when needed. You'll speed up your process tremendously. probably doesn't hurt to read that book though.
>>108554577You're assuming these people complete projects instead of just writing an ECS system and half a renderer and calling it quits
>>10855457799% of optimization is just understanding the task you're actually trying to perform and using the right data structures for it. Structuring your project sanely from the start isn't what they mean by "premature optimization".
>>108554588optimization is a refinement process
wtf my dumb chess ai just beat stockfish 10-0
>>108554525Skimmed through it on archive. The sections on tooling are completely deprecated. It has a good summary of basic optimization strategies which were probably novel to a lot of people in 1992, but are either obsolete or common knowledge in current year.Could be useful if you were doing something like retro console dev where your compiler probably sucks or you might even be using assembler.
>>108553600zoom zoom here, how far back would you have to go for a computer to take 2 seconds to increment a variable 30,000 times? when was this written, and what book was it published in?
>>108554850qbasic in the 90s was that slow
>>108554850if it's trying to sell the reader on c and using basic as a reference point, combined with those values, my guess would be around 80-84
>>108554553>quake source codegames like doom and quake are more remarkable for the performance of their rendering algorithms which is going to be lost on you unless you have a computer science background, the programming itself isn't particularly amazing, doom at least has a lot of hacks and ub (intentional and unintentional) that you'd want to avoidabout the only game I often hear as some kind of "holy grail of programming style" is doom 3, which is otherwise completely unremarkable as a game, and from what I can tell it's mostly just c++ programmed by someone who clearly wanted to be using c
>>108554859>>108554964thanks anons :)
dx12 is prounced dicks12
>>108555329For me it's Dicks Eleven
>>108553985This
>dx1-4 is lost mediasad
how can raytracing improve my 2d pixelslop "game"?
>>108555732>how can this technique which is by definition only applicable to 3D help my 2D game
Is this book even real? Nobody seems to know for sure and it's not on any of the piracy sites.Note it's the 2nd edition supposedly released in 2025.
>>108555732Better lighting.>>108555753>only applicable to 3DNo?
guys I had an idea
>>108555958>frank lunaso it'll be the same baby's first introduction to matrix algebra he's copy/pasted word for word in every book for the past 30 years, followed by the complete text of the 1st edition, followed by a note that you can also do raytracing now
>>108556114why have you read multiple editions of the same book?
>>108556242>why would a professional game programmer be familiar with every resource on game programmingyou are ngmi
>>108556261it's for beginners
>>108556269and? there's like 5 non-ai generated gamedev books released in a decade, you spend the 10 minutes to skim themyou are ngmi
>>108556295>you spend the 10 minutes to skim themwhy?
>>108554083Do it faggot
raylib basic window hello world from c++ with all the reasonable optimizations enabled only uses 28mb of memory, might try to slop out a game with this and see how it performs
>>108555958yea i have it, its a very minimal introduction to dx 12, half of which is copy pasting "call this function with these parameters. heres what the arguments are, copied directly from msdn, without explaining why we use his choices" and the other half being copy pasted from his previous booksits barebones and piss poor if you want to make an actual engine
>>108553891Neuroplasticity be damned, just learn2code. I think I did my first python tutorial at ~23 and now I'm 26 and I'm making the autism engine of my dreams in C. No classes, just check out the book from your library and google shit if you don't understandwagmi
>>108557067No, I won't. Stop trying to convince me to do it your way.
>>108553891>late 20sWow truly you are a senior citizen, have you been checking out nursing homes yet? Shut the fuck up retard, you're just coming up with excuses to avoid hard things. >Why the fuck I didn't realize what I wanted to do AT 16 LIKE EVERYONE ELSEThe vast majority of people don't realize what they want to do in life even at 61.
>>108555958>>108557065https://learn.microsoft.com/en-us/windows/win32/direct3d12/directx-12-programming-guideLiterally all you need. Everything is described in autistic detail, it has links to dozens of sample projects that show you how to use every feature, and it even has the full source code to "MiniEngine" or whatever it's called that you could literally git clone and make a game in if you wanted. Literally the only thing a book could provide is half assed paraphrasing.If you can't follow it, you don't need a DX12 book, you need a C++ book and probably experience actually building projects, Windows programming, and using libraries.
>>108557092theres more to a game engine than the renderer
>>108555958Its literally the 2nd result on google when you search "3d game programming with directx 12"
>>108557104Why are you even in this thread? DirectX provides every single feature you need to make a game. Direct3D is just one component.
>>108557092i pirated it, and only did so because i hoped it would focus on how to effectively use all the new tech, without the clutter in other sample projects. unfortunately he glossed over async command list generation, parallel queues, and using fences for async resource generation. oh well, at least i didnt spend a single cent on some pretend programmer giving a tldr of the msdn docs for like 20 or so functions
>>108557145>DirectX provides every single feature you need to make a gameno it doesnt
you ever wish you could go back to 2006 but with all the knowledge you have now about gamedev
>>108557175does bitcoin count as gamedev knowledge?
>2006 was 14 year ago
>>108557175i released my first game in 2001
>>108557208
Trying to do terrain generation purely via simplex noise and fractal brownian motion. The goal is to be able to easily zoom in so I don't need to work much on the small-scale terrain.Current approach is small-frequency continent+plains mask, high-frequency hills mask and a ridged-fbw mountain mask. The plains and hills stuff looks good, but the coastline and continents in general kind of suck.I tried to do a continent-seeding thing where I randomly seed the continents and add another mask for that but it doesn't seem to work well, at least not how I wrote it.
>>108557035huh raylib seems to have some issues at least on my machine, first of all fullscreen borderless windowed mode blinks black whenever focus shifts to or away from it, second the window is always drawn on top of all other windows when in borderless windowed mode which kind of defeats the purpose, and third it seems to have intermittent hitching in all modes even with vsync enabled and regardless of whatever you set the target fps toI'm guessing all these issues stem from the cross platform window library it uses but it doesn't really expose a lot of functionality to fix it
>>108554989>which is going to be lost on you unless you have a computer science backgroundYeah bro you need a college degree to research things. I learned just fine with it by porting the engine over to directx 9 a long time ago. I just did hands on approaches with everything. most efficient way to learn? maybe not but it was the most practical. Now it doesn't even matter.
Thought up a system for multi-threading my engine, but after doing the math it's the draw calls taking up the vast majority of execution time. In DX11 they cannot be dispatched in parallel.
>>108557531nvidia control panel, 3d settings, vulkan / opengl present mode (bottom of list) -> set to DXGII don't know how AMD or intel behaves by the way.You can emulate OpenGL ontop of DirectX to get the same effect without needing to tell users to toggle this option.I bet Raylib has an option to select a OpenGL es backend (it seems you need to build it), so then you can just use Angle (NOTE, GL ES can be loaded from the OPENGL profile AKA through WGL, OR it could be loaded directly from GL es binaries, AKA you need to load libGLESv2.dll (which requires libEGL.dll instead of WGL) not opengl32.dll inside system32 for Angle to work), which means that it might be impossible for Raylib to use Angle unfortunately. I just copy the DLL's from chrome/edge.You can use Mesa3d which should "just work" by putting the DLL's beside the binary (uses d3d12 by default, zink is SLOW), it works with Desktop GL, but it's a lot larger (~100mb).https://github.com/pal1000/mesa-dist-winAlso I was going to write a long essay about how this problem is not related to Independant Flip, but it turns out that in windows 11 all DX11 applications (including Angle) will use independant flip, and it seems like intel presentMon shows "compose: Copy with GPU GDI" incorrectly for Angle, when it's probably does use Independant Flip. System > Display > Graphics > Change Default graphics settings > "Optimizations for windowed games".However... when I use angle with "EGL_DIRECT_COMPOSITION_ANGLE" (SDL+hint) which shows "Composed: Flip" in presentmon, it does feel a little bit different (while resizing the window), but I don't see any FPS increase in particular from my testing.Also while resizing the window, I usually see a black section of the window, this is probably a OpenGL issue. But when I use angle with vulkan selected, it fixes it (but it lacks Flip, and there is one bug that breaks the windowed mode if you press the windows button while in fullscreen, so I don't use the vulkan backend).
>>108558795*OH I deleted my post because I thought raylib rlgl was not a header only library. But it does mean you can't switch between deskop and Angle GL which I think is pretty lame. L on raylib for that because from my testing, 99% of GL ES is compatible with Desktop GL, you don't need different functions (but I think this is more of an issue with GLFW than raylib).Yes you can just set #define GRAPHICS_API_OPENGL_ES2and Angle will be loaded if you copy the DLL's.
How annoying is it to make an engine that can be compiled for the web AND desktop?I think WASM doesn't have the ability to allocate memory at all, there's just a big chunk of memory you have to live with. OpenGL-ES also doesn't support persistent buffers. That's all I know.
>>108559199I mean you could always do it the other way around, an engine built on web tech that is also usable as a desktop application with Electron / Tauri
>>108559196>but I think this is more of an issue with GLFW than raylib*it's not, nevermind. GLFW isn't the problem. It's just the raylib API requiring macros to set the GL to ES.>>108559199It's really annoying. Also persistant mapping can mean 2 things, you could be talking about glMapBuffer, which isn't real on emscripten, it just uses scratch buffer using malloc. And persistent memory that has a ton of fences manual synchronization and stuff (GL ES 3.1 might support it, with EXT_buffer_storage, but webgl will probably never support it). But that feature seems to be purely made for multithreadded rendering (AKA, everything in opengl is not thread safe, except fences and sync objects, so you can just write to that buffer on another thread as fast as you need, while the main thread does all the draw / state execution).The first big problem is that itch.io and github pages will not give you a site that has the HTTP header that lets you use SharedArrayBuffer (required for threads to share memory) and precise timers (default timers are only 10ms accurate or something), specifically you need a secure context and cross-origin isolated. So you need to host your game on your own server which will make the $100 steam fee (that is refunded after $1000) look very cheap.The #1 problem is that I personally feel that webgl just feels sluggish no matter what you do. webgpu won't fix it, nothing can fix it. Also different browsers run wasm / webgl differently. The sluggishness matters a lot if you intend on making a game that is 3D or has effects following your mouse cursor / drawing. But you can treat the web version of your game as a demo, in theory.Webgpu is for compute shaders. webgl has feedback transform which isn't great. both webgpu and webgl are both missing geometry /etc shaders, and I don't know if webgpu will ever get those shaders since I think there is more hype around webgpu AI's.
>>108559446>you need to host your game on your own serverThat's only a problem if you have bloated AAA assets, haven't seen anyone here make a game like that.>webgpuIsn't that just a wrapper on top of webgl? That's what I read when I looked into it, but I immediately lost interest so maybe I didn't read enough.>precise timersI had the impression that requestAnimationFrame is similar to vsync.>will not give you a site that has the HTTP header that lets you use SharedArrayBuffer required for threads??? What's even the point? That seems like it defeats 99% of the purpose of having threads. I'm surprised all the unity/godot games work with that kind of limitation.
>>108559199Why would you target the web when you could go native?
Only way to reliability get rich gamedevving is to make porn games
>>108559734There's a barrier of entry to playing a game when it has to be downloaded and installed first. Being able to play the game just by going to a webpage makes it infinitely more accessible and significantly more likely for people to try it out.
>>108559446>I personally feel that webgl just feels sluggish*To be specific, the games feel like triple buffering (it's kind of doing that, since your webgl surface is technically an offscreen texture I believe)So if the game runs at 144fps + 144hz monitor, you will feel almost nothing, but if you are running with a 60fps monitor + the game runs around or below 60fps, it will make the game feel much worse than a native game.*Also I think the timer has a 1ms resolution, not 10ms.here is doom3 demo in emscripten for fun:https://wasm.continuation-labs.com/d3demo/>>108559686>Isn't that just a wrapper on top of webgl?Nope, and surprisingly webgl is officially supporting webgpu as a backend even though at the moment nobody is asking for that. but hey, maybe if they add new features to webgpu, webgl will get those features through angle (hopefully the browsers in the future will include Angle, so we don't need to run Angle in wasm...).>??? What's even the point?Technically the most important requirement for threads would be audio, and audio is already easily handled by web audio worklet / webaudio web worker stuff (emscripten and libraries handles it for you, so you can just use SDL or OpenAL or miniaudio or whatever and it will work)Web workers work fine but they don't share memory, the memory needs to be sent in channels. Side note: The backend emscripten code tends to avoid wasm a bit because it's a bit harder to debug (maybe?), and wasm doesn't support async stuff and exceptions very well (and there is an overhead when you switch between JS and wasm).And I believe timers could be helpful for low level audio stuff. Not sure exactly what, but it's there somewhere.timers are also important for showing the FPS and showing a little UI performance measurement thing if you have one (it's good enough for showing the FPS, but if you wanted something fancy, you need more than 1ms resolution). Obviously, users don't need that, but it's annoying that it's broken.
>>108559774I still think that part of Minecraft's success was due to the demo being playable as a Java applet in your browser.
>>108557035my engine does 2mb and I dont even have any proper build flags enabled, its just default cmake, add dear imgui and it goes up to 3 or 4
>>108559774Is that the general perception? When things have to run through the browser the performance is much worse and personally I'm not okay with that.
>>108559746I always hear this but I don't get, don't you basically have to make a patreon and pray that people discover your game? It seems like more of a gamble then the traditional route of releasing a game on Steam with a proper paywall
>>108559825you ever heard of f95? Make a porn game that ticks enough fetishes, doesnt look like the most basicass ai slopped art style ever and the game basically promotes itself on that website
>>108558795>"Optimizations for windowed games".I should have probably tested it before I mentioned it, the option does not seem to do anything (maybe it's for a list of popular games that work). So right now it just seems like using DXGI is the only solution.
Oh look, another small refactor turns into a massive one.
its ludover
>>108561377wow wow woww very great news sirs i am village boy will make many lakh rupees with Godot-King pls give tutorial in Hindi sir
>>108561546proof you are village boy?
>>108561377saar the term "king" goes against godot's fundamental committment to trans rights
>>108554092what is this, a boxxxy for ants?
cfags BTFO
>msdn documentation>everything makes sense>actual source code to a real engine>90% incomprehensible slop that was never mentioned anywhere in any docs or book
>>108562384just feed it into claude and ask how to work it retard
>>108562384Your indieslop.exe probably isn't potentially consuming more resources than the computer running it even has so you don't need to request or query shit. You don't need some kind of custom exception handler. You're probably just using built-in types and not reinventing the string for maximum performance. I have no idea what SetErrorMode does but I'd imagine it sets some kind of error mode which you probably don't care about. I have no idea what InitializeCriticalSection does but it's probably related to multithreading which you're probably not doing or you're doing through language features rather than directly through OS calls.
>not even manually setting your system fpu precisionand you call yourselves gamedevs? your entire game is probably broken because you forgot to do this
>>108562459That one's not even esoteric.Anyways, if you're asking "how would I even know to do this", the answer is by spending the next 2 years of your life dissecting open sourced AAA game engines.
>>108553985With AI it seems like you win, but in reality you lose horribly.
Can you make a full blown Zelda-like that only consume 128 bytes of memory?
>>108562609No./thread
>>108562609no
>>108562609yes**ignores the memory required by the emulator which will be running your homebrew atari game
>>108562498you ludlost
god I hope windows dies once the steam machine releases I hate windows programming I want to make linux games
>>108562994lol
>Minecraft adds Vulkan support>Hytale announces 3D chunksAll of a sudden the things I was excited about that would my Minecraft clone unique aren’t so anymore. Nonetheless I still have advantages on my side: time, no gayreaucracy, and no lofty aspirations of an ecosystem. C++ too I guess, among some other various tidbits. The good news is my new Vulkan backend is coming along very nicely. I just need to finish implementing the descriptor heap manager before I can take it on a real test drive. The downside right now is that renderdoc and nsight don’t support the descriptor heap extension yet. It’s not a move killer or anything but I wish renderdoc could launch like nsight at least since I prefer that interface more.
your not going to make ityou were never going to make itthere wasn't even an it to be made from the start
>>108557202Anon, I have bad news...
I'm doing itI'm vibecodingI'm a winner
>always through AI would be cool like in ther Terminator>instead it's gay faggot shit like "vibe coding" and discount Studio Ghibli
>>108563982noooooooooooooI ran out of tokens to feed grokit's so over
thank you for moderating this thread whoever you are
>thank you for moderating this thread whoever you arelmao fecaloids. fecaloids everywhere
>>108564187You welcome, citizen sir!
>>108562491count: 0
Not a single progress post. You all have lost it.
>>108565027too busy making progress to post about it
>>108565031You're just copy and pasting cris
>>108562994>>108563002I'm also optimistic
code written by the udderly deranged
>>108565132Now you're coding with COM objects
vk_ext_descriptor_heap is critical to my backend so unfortunately if you have an AMD gpu that’s not rdna3+ you won’t be able to run my engine. Not my problem.
>>108565036>criscris making progress every day with her dilator/gamedevelopment. cris is winning while you are just a mean vile cynical person.
>>108565300Thread is 2 days old and not a single progress post