/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.
I guess I'm baking now. :\Pray for the original baker.
raytraced audio best audio?you wouldn't want to leave out the deaf people, right?https://www.youtube.com/watch?v=u6EuAUjq92k
>>108849078sorry, my game engine is made with eugenics in mind. handicapped people are not welcome
>>108849147>handicappedthe term you're looking for is "defective"don't let them control the language
>>108849202youre right, i dont know what came over me, accidentally using their flowery language
i am making softbody physics, the dynamics and collisions now all work, should i torture myself to do fancy dynamic data structures for the broadphase or just slap space hashing on it and call it a day (it will probably work better anyway)
I recently picked up a CRT monitor and it's increased my dev efficiency 100 fold.
https://youtu.be/eheKKQdhCs4as much as I hate the recent trenchbroom fad, I think if you can git gud at quake mapping it's basically the optimal method of creating aesthetic 3d levels in a reasonable amount of time without 20 years of experience in 3d modeling software
>>108849898learning actual 3D modelling software is better
>>108849954For world building? Not really. Nothing is going to beat brush modeling for speed of development, and indie devs probably aren't going for photorealistic environments so the fidelity is fine. Even if they were that's mostly about texture work anyways.You're still going to need to learn Blender or something though unless you're making like a liminal space walking simulator since most 3D games require, you know, 3D modeled characters and stuff.
>>108850013All those editors can do well are blocky hallways
>>108850138Tell me you gave up after 2 minutes without telling me you gave up after 2 minutes.
>>108850264Been mapping since Doom, made maps for Quake and Half-Life with WorldcraftEventually I was working on a game that used a Worldcraft / Hammer knockoff for maps and we had to cancel the game because the mapping pipeline was so bad
>>108849898I take Q3 map files with curves/patches and generate it into a mesh in my engine. I think it works quite well. Prototyping can't really be much simpler. Q3 is definitely the way to go since you get better texture projection options and have the ability to make tessellated curves/pillars/etc.
>>108850138As opposed to round hallways? I don't need my game too look better than Half-Life 2 lol.>>108850299>we had to cancel the game because the mapping pipeline was so badYeah I doubt that is why it got cancelled. You could have just converted the maps to meshes and continued onwards if that was a real issue.
>>108851237The issue was producing maps that the game needed was very slow, because they weren't Quake-style blocky hallways
>>108851245Valve had no problem making Half-Life 2, Portal, Team Fortress 2, and Left 4 Dead with blocky hallways. Sounds like a skill issue. Blaming the tools for your own mistakes is dumb especially when you could have just changed tools.
>>108851263Valve is a great case study for this, like you can look at the original Half-Life 2 and see how low detail and angular many of the levels are, then with Episode 1 and 2 and Portal 2 they start introducing more standard mapping features to their editor, using complex shapes and imported models, and their maps look much better
>>108851271So it never occurred to you that it's possible for you to use both in conjunction as well? Whatever you keep making whatever it is you're making I don't understand why you have a hate boner for any specific tool. I don't go around crying about how bad 3DS Max is.
>>108851301>I don't understand why you have a hate boner for any specific toolI just told you why, I had to cancel a project because of it
>>108851305>I had to cancel a project because of itBut that's very obviously not true. That's like if the Fez guy said he had to cancel his project because the tile map editor he used didn't support 3D.
>>108851327>But that's very obviously not trueHow the fuck would you know?We commited to the workflow, got 1.5 years in and making maps was taking way too longTo switch to a different pipeline would have taken too long, we were out of money
>>108851245>CS:GO and CS2>Every call of duty ever>Titanfall>Modern doomYeah, basically just hallways. >>108851271>more standard mapping features to their editorThe fuck are you talking about? 99% of the early evolutionary steps were just raising the patch limits, adding the ability to disable tess, and adding vertex painting. >>108851301The dumbass acknowledged this very fact, just to continue seething about his failed project. Sorry, "we" /"our" failed project.
>>108851337So the project was mismanaged and you're blaming the tools. Got it. That's what the good craftsmen always say!
>>108851343>The fuck are you talking about?Their editing tools evolved to include stuff that wasn't bsp brush based, so most of the maps you see are just regular geometry
>>108851345Mismanaged in the sense that we chose the wrong tool, yes
>/g/ still thinks graphics are more important than gameplaydoesn't surprise me since people here think buying rtx 4090s is what gaming is all about
>>108851359You're such a dumb gorilla nigger you think a few minor extensions freetards were too dumb to add themselves = "NOT HECKING BSP"; even though that was never the standard to start off with. You even had to truncate your quote because it meant citing not-brush related Q4/D3 entities/features and the minor developments thereafter.
>>108851364Well maybe don't try to make an open world game with quake tools LMAO>>108851359You've never loaded up a HL2 map in Hammer ever in your life and it shows.
>>108851379I have no idea what you're trying to sayTrenchbroom / Quake is 99% brush-based BSPIf you look at a newer value game like Portal 2 most of the stuff you see on screen is not made from brushes, they're just imported models
>>108851381That's why I said Valve games were a good case study, because they started out primarily brush-based and moved away from it over time as each new game came out
>>108851390>Trenchbroom is brush-based *TFTY. Now stop blaming the original quake and "muh bsp" for you being a dumb gorilla nigger
>>108851401What are you talking about?
>>108851397>>108851390You people have no idea what you're talking about. Do you go onto Steam and seethe every time you see a game made with brushes? I have a strong feeling you're just Unrealtards. Is Tim Sweeney in the chat?
>>108851413No I loved making maps with Worldcraft it just sucks if you're trying to make something that doesn't look like QuakeDetailed geometry, organic outdoor stuff, open world, etc
>>108851413No, he really doesn't. see> >>108851408 >>108851390 >I have no idea what you're trying to say
>>108851435Thats because you lack communication skills not because I don't understand the topic
>>108851426Call of Duty 2 famously looks just like Quake.
>>108851440No idea what map editor they used for that but it wasn't Worldcraft
>>108851440All of the call of duties use radiant for mapping. All they did was add terrain patches (displacements/disabled tess), height painting, and then abused model spam for fake world depth (debris and such). Granted, the earlier revisions were a POS, but it's still pretty much the exact same thing as what they had in the mid 2000s after Q4.
>>108851413Why is it that every low IQ retard somehow always ends up sperging out at Unreal/Epic/Sweeney when cornered? Reminds me of Americans randomly lashing out at China for no reason mid argument.
>>108842072Newbie here, this post made me realize just how much my (first) engine is deeply coupled with SDL everywhere.I'm a shit coder and I need examples to learn from, any resources on how to keep things neatly separeted? Or is it something you just learn from experience?
>>108851472>Or is it something you just learn from experience?Pretty much this. There are plenty of open source projects you could find that use SDL, though and it might be worth looking at them to figure out how they did things. Architecting things "correctly" will always be the biggest hurdle for anybody. The more you learn the more you'll figure out that you really don't like what you were previously doing. It's why so many projects start over from scratch. Basically don't be afraid to fail just DO.
What’s your build environment like? I’m in love with the visual studio suite but it’s obvious c++26 support isn’t coming for years and I want to get the jump on reflection and embed. I’ve spent the last few hours getting cmake/ninja/gcc up and running.
>>10885239510x as IDE, Houdini as DCC and just about everything I can fit in it really. Don't really use anything else.
>>108852395>embedYou can already do that, though not in a standarized way across compilers as far as I know. I'm using rc resource files in visual studio and incbin elsewhere, with fallback file reads for those for dev builds and because embedding is a bad practice in the long term.
what if we made an engine togerther?
>>108853422it would suck ass
>>108853611but we are the sharpest minds on the internet !
angle schizo here.I got order independent transparency kind of working using Pixel Local Storage (it works, just I don't know why my clear color gets overwritten right now), but the directX backend seems to run way slower than vulkan (and this is just with 2 layers, technically 4, due to float depth).Also vulkan and DirectX seem to only support 8 total PLS layers (on my 1660 ti), so the max for me would be 4 transparent layers (5 if I use half floats for depth), not great but I'm really happy with the results from just 2 layers (BUT I have a strong feeling that putting transparent objects / effects around a body of water would immediately break the draw order).But 8 pls limit is also annoying because I was going to try out rbga16, I still could in theory, but with only 2 layers... (and the minimum the extension supports is 4 layers, which is probably on mobile). I was genuinely thinking I would get more than that, like 200 layers, since I was thinking desktop GPU's don't have tiled memory, I hope this is not a hard coded limit for webgl (I probably could get 200 layers with desktop GL techniques like 64bit atomics).Also renderdoc can't do shader debugging for the PLS shader in vulkan... (it works in dx11 but I get less info than vulkan).Pixel storages is neat, I was thinking about using the negative of the depth as a flag for adding a new separate blend effect.Also I'm not interested in trying to make realistic transparency, since normal over blending is not the same as transparent glass, it's more similar to see-through cloth. But this blog brought up a cool transmittance transparency effect which I don't see any code examples of.https://osor.io/OITAnd if someone wants to know how Angle is implemented on every backend, this is how (but in 2024 they removed GL_EXT_shader_pixel_local_storage for mobile tiled gpu's because it's slow / but I wouldn't use it anyways since I want vulkan, not GL es):https://issues.angleproject.org/issues/40096838
>>108853648Based, that's actually interesting.I have a feeling I could have saved myself a lot of headache by implementing custom blending using this feature instead of brute forcing math for all possible blendings for several days in search of the least artifact ridden solution.
>>108853648Draw your transparent objects. At each top edge, either of the triangle or of the screen, exchange the buffer's old value with the triangle_and_draw_index + 1. If the old value was not zero, scan for zero in a second buffer, going upwards, and put it there. Colliding edges should be fairly rare. You can imagine your transparency draw as a wireframe mesh to get an idea of when collisions would happen.Next, you can, in parallel, scan down from the top of the image, each thread holding a stack of raster info. It needs to calculate & store:>the triangle's draw call & triangle index>how long until the triangle starts (in case a collision pushed it up)>how tall the slice of the triangle is>z and delta-z (crossing triangles will not be a problem with this technique)>whatever your fragment shader inputs would have been if it were a regular fragment shaderOnly one triangle will be inserted into the stack per pixel; the others may need to re-order, and multiple triangles may end.You would need to carefully handle the depth buffer; a transparent triangle might start & end behind something opaque. It must not be consulted until the paint pass.Hazards:>it taking too long to find a hole>running off the edge of the screen>degenerate meshes>lots of small transparent triangles far away>standing directly in front of a stack of 100 triangles>looking at a sky-scraper on-edgeWould dz need some division by w / PS1 texture perspective correction thingie? Not sure how that works.
>>108849078My engine will have raytraced audio, because audio is as important as visuals.
just used my profiler and used AI to tell me what some of the logs meant and how to fix said slow functions. my engine performance went 5x (it was dogshit before)kind of crazy this would have taken me, a novice, 5x more hours with stackoverflow and google, i kneel.im a beginner btw. thoughts? this humbled me because i realized making a good engine pre 2022 would have been extreme for me, but now with AI, i am suddenly good enough
>>108856703you arent good enough
>>108856713in regards to what. my game is pretty far along. I dont think i would have the skills to do this pre-ai.i only started using Ai as a debug tool and for optimizations, and it cleaned up all my noob mistakes. instead of finally making a good engine onmy 3rd try, i am just amending my first attempt. kind of crazy.
nobody cares what your code looks like but they care about what your graphics look like
I can watch like 3 YT videos then I get a 2 hour IP ban for using an ad blocker. I can't dev like this.
>>108857170is watching YT videos deving?
I've done it...I've finally done it! HOORAY!!!
>>108858426The system is a live-object model with no class definitions: every entity is a concrete, active object. You create an object by writing it directly just as physical objects don’t require class templates. Every pair of parentheses denotes an object, and objects may nest arbitrarily, so a program is essentially a nested expression like (object (object (object ...))). The syntax is terse and assembly-like by design; it’s not meant for casual reading but as a structural description. The whole program behaves like an organism composed of smaller organisms (cells or subprograms). The entire real program is intended to be read and manipulated through a visual live node graph.
>>108858865it's also essentially a game engine or can be turned into one easily.
>>108858865You invented Lisp? congrats
>>108858974No Lisp isn’t a pure object language. It’s closer to Self/Smalltalk than to Lisp: I borrowed recursion from Lisp but placed it inside a pure-object paradigm. By contrast, Lisp is primarily a function system and is largely agnostic or incoherent about objects. This is essentially Self/Smalltalk, but done right.
If you're writing code in any traditional way: stop. It's over.
>>108858999I'm also planning on writing a game engine once the base system is done on top of it. thus the relevancy here.but it's probably going to be slow, since it's my first time writing something like this and it's gonna be a tree-walking interpreter.
>>108859039I write code with my feet. It's the RMS way.
>>108858999cool story bro
ok /g/ is too retarded for this.I'm gonna announce my OS/Programming language elsewhere. what was I thinking shilling it here?
>>108859221Nobody likes lisp. Make a proof of concept I only care about SPEED so C++ is it for me until I die.>ok /g/ is too retardedThis is true, though.
>>108859241Bro, speed isn't everything.abstraction > speedimagine coding in assembly, that will give you the most speed but with shit abstraction.
>>108859258This is game engine development. Speed is everything. I already use Wren for my scripting.
>>108859221>>108859258You have literally never programmed anything complex or valuable in your life
>>108859294Can you stop shit posting here?and...I'm trying ok? it's not easy with this brain I have to work with mmkay?try being in my shoes and doing anything
>>108859327Perhaps you should start with something that isn't fucking retarded
>>108859350What's "retarded" about this?
I don't know what is or isn't retarded but nobody wants or is asking for yet another scripting language. It's why there's zero interest. We have a damn near infinite well of scripting languages.
>>108859380BRO, it's not a fucking "scripting" languagethere is nothing like it on the market.we don't need C++/Rust clones either.first of all, it's not just a language, it's a complete system. you can use it to do anything, the closest analogue is Smalltalk.second, it's basically a self-reproducing meta-programming system. so sort of like Lisp but with objects instantiated without classes.THERE IS NOTHING LIKE IT OUT THERE,it's not fucking Lua. Lua is a scripting language.it's not something you shove in your engine like fucking Lua or even Lisp. it's something you write your engine with.
>>108859436It's not anything because you haven't made it
>>108859436>it's something you write your engine with.Cool. Can I use Vulkan/OpenGL with your language yet? If so what's the general performance like compared to C++/Rust? Until you can provide the answers that I want I simply don't care like most people won't care. I'm not saying you shouldn't make it I'm just saying I don't care until I can actually use it and see actual metrics.
For saving/loading 3D Minecraft chunks what format do I use?
>>108860146XML
>>108860146rle encoding
A swat team is currently outside anon's house to help him debug water spread.
Tips for someone who wants to do 3DCG?
>>108862666learn blender>>>/3/
I can support about 4 square kilometers of terrain now before my tools start shitting themselves, technically more if I break it up into chunks but I'll never utilize that amount of area anyways so meh
How do you make it make sense that directly outside of the imperial capital there are swarms of low level monsters to kill?
>>108865316Yeah I've never been to Washington, DC either.
why can't devs into controls???a game should:>Detect every single input device the OS detects (more than 200 buttons and 100 analog axis)>allow simultaneous use of multiple input devices (ie: moving with the thumbstick on a gamepad and aiming with the mouse. starfield doesn't allow this)>allow total remapping of every action and analog axis>allow mapping combination inputs (ie: A+S to do some shit or 2xW to run)>have analog actions wherever possible (leaning left/right, boosting, crouching, movement...etc)>detection and mapping of 2 or 3 mice separately (user may have a trackball and a normal mouse and may want to assign different things to each of them)
>>108865867>have analog actions wherever possible (leaning left/right, boosting, crouching, movement...etc)That sounds like a lot of work for shit nobody would ever use.>detection and mapping of 2 or 3 mice separately (user may have a trackball an a normal mouse and may want to assign different things to each of them)This is limited by the OS unfortunately. Too bad, would be neat to have a split screen fps with 2 player mouse look.The others should be done though I agree. And usually are done on non shit games.Your keyboard is gay btw.
Why don't memory types have a size attribute? Isn't the max volume of a memory type of a memory heap limited? Like if you have VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT for a particular memory heap, it's possible only a part of it is actually device local? I don't know how any of this works.
>>108865867>This is limited by the OS unfortunatelycouldn't it be done by reading raw input from the device?
>>108865867You forgot>should be able to set dead zone and mouse sensitivity on every single stick/analog trigger/mouse independently
>>108866736I guess this is possible after all, huh. One should never assume.https://github.com/alastaira/MultiMouse
>>108859258>abstraction > speedNot for games it doesn't.
>>108867126For games it ESPECIALLY does. The harder something is to make, the more you benefit from "abstracting" because it makes you more likely to actually finish it instead of posting in /g/.The key is to know what needs to be fast and what doesn't, to use tools that allow you to optimize when necessary, and program in a way that doesn't makes it easy to optimize later. It's also important to know if you're really benefiting from "abstractions", some things feel better but don't actually make your life any easier.
>>108859258>>108867191You are fucking retarded, stop spreading retarded ideas.
>>108867231Where's your game?
>>108867252Where's yours? You're making claims here, so back them up, retard.
>>108867259I'm talking to /gedg/ where the majority has your worldview and nobody has a game.
Imagine thinking there's some binary choice between "abstractions" and "performance"
>>108867357You're right. C++ does a good job at this.
>>108867321>no game posted
>want to make some custom hotkeys in blender>every single key and key combination is already taken
Chuddy's brief foray into Rust has ended with reverting back to C. I don't have the time or patience to master the language, and will be using SDL3 anyways, so there's no point. I was comparing half edge data structure implementations with deepseek, and unsafe rust's syntax is absolutely horrid. Logic errors will be the most difficult part of the implementation, not memory errors, so Rust won't help me there. Plus I can just use sanitizers
>>108870412>Le rust game enginePretty funny. There's a FOSS Rust game engine in works called Bevy and I found out recently it's using webGPU renderer. That'd be cool except it's using the Rust version of webGPU instead of the superior C++ version, and it's so far behind three.js it's not even funny.Unironically you'd be better off using three.js than bevy. WebGPU is doing all the lifting anyways but three.js is way more mature with tons of plugins and has like a bazillion examples of things to work off of all over the web. There's a guy adding in meta humans to three.js right now and the three.js twitter just posted this.
Should I do the Panda3D thing or no
Working with shader is always a pain for me, specially because I'm not a 3D artist. Very hard to get the assets to work the way I want without knowing how to properly use Blender.
>>108870483three.js never stops blowing my mind
>>108870648You should see some of the projects that came out this week.Some guy has been vibe coding a Meta humans and got a shit ton done this week. The hair, skin, face, body all looks fine. He's currently working on the clothes.https://vibe-stack.github.io/vibe-human/Another guy has been working on this Pro Water thinghttps://x.com/dangreenheck/status/2056853273978589700I said a few years ago that Three.js would rapidly explode as soon as webGPU and TSL came out due to the way three.js is the perfect vibecoding engine and webGPU is a safe and sandboxed renderer, and I was right. Everything is starting to come together.
me? I just manually write down the location of each vertex in a txt file
>>108870749I'm homeless and a rapist.
I used to think creating an engine was a meme. But here I am getting closer and closer to needing to create gui component creation tools within my engine. Kinda cool.
You can do anything with geometry nodes.
>>108848278ROLLER is now officially completely busy-wait free. I have refactored basically everything to callbacks/state machines. Release builds can use as little as 9% in top. As compared to always being over 100% no matter what even on a static page like it as-written when everything was while(1) everywhere. It is now ripe for porting to wasm and ios/android. My laptop doesn't even turn on a fan anymore when running this, before the fans would kick on to max.And not to worry, the game still plays exactly the same as it always did. Luckily the one thing that was already on a callback was all the control input/physics, a 36Hz timer from the sound card. That's still on an SDL timer as before.
>>108859069RMS hasn't written code since before you were born.
>>108870749This but I write them directly as constants in my source with ASCII diagrams of each face.
>>108870749I unironically did this in a flash game I made back in the early 2000s, designed like a dozen spaceships that way
>>108870749I just subdivide a plane and hardcode all the math to calculate the z coordinate for each model.
Making an MMORPG zone is harder than it seems... And before you ask, no, I'm not making an MMORPG.
>>108872097we talking world of warcraft or we talking ragnarok online
>>108870624Wow, looks great, you giving zelda a run for its money! You better design it well!, coding gives you autismo brain
>>108851461Bait
Why is indexed drawing faster than strip drawing?
>>108870624visuals are dope
>>108872988way less vertex data because you can share vertices between triangles
guess i'll take the odin pil-->Odin needs the MSVC compiler and windows SDK from the “Desktop development with C++” component.never mind
It's all coming together. >>108873065Doesn't strip drawing use less data?
how come I have never heard of this thing before? it looks awesome.https://www.youtube.com/watch?v=brJHWbeMl74