← Home ← Back to /g/

Thread 107022982

313 posts 72 images /g/
Anonymous No.107022982 [Report] >>107025808 >>107034967 >>107045182 >>107046397
/gedg/ - Game and Engine Development General
Inheritance 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:
>>106974912
Anonymous No.107023076 [Report] >>107023251 >>107028185 >>107034967
Anonymous No.107023251 [Report] >>107023505 >>107034967
>>107023076
>he thinks he can have bigger brain than Factorio devs
lol, lmao even
Anonymous No.107023505 [Report]
>>107023251
Making a game is pretty small brain when you could IMAGINE and THINK about making a game.
Anonymous No.107023540 [Report]
video game
Anonymous No.107024098 [Report] >>107041400 >>107041865
So how do people do lighting nowadays?
I've got my basic vulkan code rendering some 3d objects, but only flat shading with textures, so now I want to add some lights.
I recently learned about clustered shading and I think I'm gonna try that. It seems not too hard to implement (saw some code examples in d3d11 here https://www.humus.name/index.php?page=3D&ID=90 ). Essentially it just "clusters" lights into a grid and each fragment then looks up a subset of lights that affect it. Apparently you can have hundreds or a few thousands of dynamic lights that way.
Anonymous No.107024272 [Report] >>107025178 >>107025272 >>107033453 >>107064912
I like shaders, this is my take on kuwahara filtering done over 4 shader passes. left is w/ the filter, right is the scene w/o any post processing
Anonymous No.107024314 [Report] >>107024570 >>107024598
Why are /agdg/ and /v/ threads so bad?
Anonymous No.107024570 [Report]
>>107024314
because they're full people that are analogous to webdevs of the game dev world
Anonymous No.107024598 [Report] >>107024678
>>107024314
what the fuck is /agdg/?
Anonymous No.107024678 [Report]
>>107024598
a thread on /vg/ that people use to gossip about gamedev youtubers.
Anonymous No.107025178 [Report]
>>107024272
i guess it's fun to be in a cezanne painting for a few minutes then you realize he painted like that because he was going blind
Anonymous No.107025272 [Report] >>107025420 >>107025451 >>107025494
>>107024272
Mmm, no. The original looks better even as a still picture, and I definitely don't think I'd like it if it were a game. Also maybe there's other post-processing effects going on but notice how the colors get messed up? Like the water hardly matches at all. That would probably be fixed by using one of those fancy new color spaces like OKLab. (Or you're just not taking sRGB into account idk.). Maybe it'd be okay if the strength were parameterized by distance from the window edges (as a vignette) and/or z-depth (as a fog).

Fuck, those colors are incredible; I can imagine all sorts of marvels with different times of day, seasons, and biomes.
Anonymous No.107025420 [Report] >>107025451
>>107025272
it downsamples to .25x resolution. its not something I'm putting into any game I'm making, it's a fun project I'm doing on the side

yeah color grading is messed up because this using the luminance value for everything instead of color, I need to add an additional pass that recalibrates it (right now greens get messed up a lot, its more accurate in pictures without much greenery).
basically the goal is to make an over the top kuwahara and get it fast as possible (this scene with all 4 passes is 2.4ms per frame so its pretty fast). then I can cut it back and dial it in to a more cohesive effect.
Anonymous No.107025451 [Report]
>>107025272
>>107025420
the water's also tough because on pass (pic) is an anti-edge detection pass (i made that up) that causes a stippling-like effect.
for any large blocks of color, it does practically nothing as seen on this pic rel
Anonymous No.107025494 [Report]
>>107025272
It's not like you'd just slap a filter like that on the frame buffer and call it a day. He could use it as part of a sort of painterly depth-of-field shader or as a backdrop when the pause menu is open, there's plenty of reason's you'd want a pretty blur filter with decent performance
Anonymous No.107025808 [Report]
>>107022982 (OP)
>Inheritance edition

I'm ditching Windows because fuack M$... in order to use Godot with .NET.
Anonymous No.107025845 [Report] >>107025932 >>107030872
Overengineered butterflies
Anonymous No.107025932 [Report] >>107026092
>>107025845
But just *what* is your project? It looks like a horror pokemon. I like the atmosphere
Anonymous No.107026092 [Report]
>>107025932
It kind of is. I'm aiming for survival and biology research. Rather than combat, monster species design will be focused on overworld utility and niches.
Still not sure about the combat format, as managing a team of monsters following in the overworld is a challenge itself. I'd like something simple and focused around team building with gimmicky monsters that are hard to handle at first unless you are creative.
Anonymous No.107026810 [Report] >>107026902 >>107027233
Is the standard for Vulkan really to keep a CPU side staging buffer and then just copy it over to a GPU only buffer at the end of frame?
Anonymous No.107026902 [Report] >>107026995 >>107027333 >>107027601
>>107026810
You don’t have to use a staging buffer if rebar is enabled aka if you have any GPU made in the last 8 years. The ONLY time you truly need staging buffers is for images.
Anonymous No.107026995 [Report] >>107027175
>>107026902
Aren't rebar reads slower for the GPU though compared to GPU only memory? Or will writing to CPU memory and then copying them over to GPU memory negate that?
Anonymous No.107027175 [Report] >>107027399 >>107027601
>>107026995
Rebar memory IS your gpu only memory
Anonymous No.107027233 [Report] >>107027399
>>107026810
static geometry you only have to copy over once and yes that's typically done in a staging buffer.
But you don't necessarily have to. check how much memory you have that's both device_local and host_visible. this kind of memory you can write to directly without a staging buffer. You either flush explicitly or use the host_coherent _bit on memory properties. Then you don't flush. Just some gpu's don't have a lot of that memory type, so you then have to go the route with a staging buffer.
Anonymous No.107027333 [Report] >>107027601
>>107026902
>aka if you have any GPU made in the last 8 years
me on my 1060
Anonymous No.107027399 [Report] >>107027503
>>107027175
>>107027233
Doesn't rebar use write combining which is considerably worse for scattered writes which is what most games do?

What is the advantage of rebar other than avoiding copying staging buffers over to GPU only buffers?
Anonymous No.107027503 [Report]
>>107027399
Loading a lot of data into GPU memory quickly, such as open world AAA games that need to dump a bunch of 4k textures into VRAM without a loading screen.

Rebar is probably not relevant for anyone in these threads.
Anonymous No.107027601 [Report] >>107027654 >>107028225 >>107030866
>>107027333
That pepe reaction is exactly what Intels marketing team and retarded zoomies repeating techslop videos stretched out to 25 minutes want you to feel.

Quickie reality check, the initial address written into the PCIe config space by your kernel has exactly sweet fuck all to do with your GPUs ability to read from sysram, in both bandwidth and latency. If anything, the entire PC architecture is built around having everything unsecured and high bandwidth from the get go.

What really happened was the Intel deadbeats with a new GPU generation needed a new excuse to push people onto a new chipset and block VM passthrough, and so they decided to exploit what was usually a write-once PCIe io configuration register write, with a new spec that just said "actually, you can replace this configuration register pointing to sysram again if the device supports it", resulting in the "time to buy a new motherboard, cucko", "you must update, cucko", "your vm doesn't support it? too bad" cope.

Henceforth, you see these shit munching zoomers applying arbitrary madeup timelines and dates as a form of status signaling, like niggers and white trash with iPhones, as though there's a clear delineation between "haha im so great, my $3000 birthday gift from my mother is so great. this gaming pc i hired uncle john to setup last year btfos all the thirdies" and "eww, ur just a poor slob with <gross brand> from <gross year>, get with the times".

Your GPU isn't defective nor inferior; nuffin to sadge over.

>>107027175 >>107026902
What's the psychological mechanism behind your shiteaching zoomie brain that cant help but barge in with retard babble? "<undefined mechanism> is faster than usual DMA. muh gpu memory", "except for images", the dodging of any technical details. Anybody who isn't a grifter or zoomer ought to immediately identify their shortcomings and shut the fuck up, but for some reason, these 2 groups can't stop running their mouths. Nothing u said is remotely true.
Anonymous No.107027640 [Report] >>107027699 >>107028408 >>107036511 >>107078400
Has anyone tried Clay (C Layout)?
>single file C UI layout engine
>supposedly performance focused
>4k LoC
>arena-based, no malloc/free
>zero dependencies
Sounds good, a bit too good even.
Anonymous No.107027654 [Report] >>107028225
>>107027601
>What's the psychological mechanism behind your shiteethin zoomie brain

cont: I really don't get how anybody can be retarded enough to think, "hm, GPUs were always able to stream girthy textures from sysram with no issue before, but something something something, GPU memory, this is clearly a new mechanism that BTFOs DMA and the usual understood limitations of the PCIe bus. how was i ever able to push a few kbs of scene info per frame to a gpu before this?!!?"
Anonymous No.107027699 [Report] >>107027777 >>107028225
>>107027640
"muh 4k lines of code", "so very small", "no alloc" is buzzword slop for "my weekend project shilled into a hivemind of drones".

Every game or other 3D application ends up rolling its own mini-toolkit or other boilerplate for rendering widgets. Why would anyone care or need this?

Maybe this is a hot take, but, nobody gives a shit about some students weekend project that at most is going to serve as some poor fuckers debug menu. Stop obsessing over retarded techbro influencers and their weekend projects, and focus on writing your game. At the very least focus on writing your text shaper so you can get text onto the screen. If most aaa slop titles are anything to go by, youre then just a DrawRect away from an entire hud.
Anonymous No.107027753 [Report]
I'm going to architect my entire engine from top down, full idea guy mode. Everything needs to make sense before I implement it. No more code hammering.
Anonymous No.107027777 [Report] >>107027857 >>107027857
>>107027699
How does properly managing memory instead of lazily using malloc make it more of a "weekend project"? Also it's a layout engine, nothing more, it doesn't draw any widgets for you, let alone handle text.
>focus on writing your game
UI is part of my game.
Anonymous No.107027790 [Report] >>107027864
What are good specs for a computer to use stuff like Unity, Blender, Photoshop, all together? I have an old computer that is just not handling it and I think I need to replace it.
Anonymous No.107027857 [Report] >>107027934 >>107028225 >>107034089
>>107027777
"properly managing your memory" get the fuck off youtube and start working on your game, holy shit. How much of a larper are you for buzzword slop advertising a LOC anyone could shit out in a working week to be your fixation? Last time I checked, serious projects and other such sellable resources/services/titles don't go around advertising them as "very very good code yes", followed by a herd of nigger cattle arguing "hmm, sweetie, very very good code is a good thing. what are you, somebody against very good code?"

>>107027777
>>focus on writing your game
>UI is part of my game.
You're a 2IQ faggot, who couldn't even finish reading a small 4 sentence paragraph, obsessing over a tech jews weekend project, justify as but "4k lines of code" and "no malloc". You have no game.
Anonymous No.107027864 [Report] >>107027895
>>107027790
Any hardware made in the past 10 years that isn't a netbook.
Anonymous No.107027895 [Report]
>>107027864
Netbooks havent been a thing since the death of pdas, what are you talking about nigger? Besides, 10 years is plenty of time to include the most piece of shit unworkable intel igpus and APooU silicon going.
Anonymous No.107027934 [Report] >>107027957
>>107027857
You seem to be irrationally angry at the mere concept of well written software and doing things right. I assume you're some jeet from the slums of Mumbai who ponders suicide every time some shitty badly made game like Lethal Company hits big because
>ugh that could have been ME shitting out that awful slop!
Not everyone is into game development as a way to escape some hellish thirdworld shithole. I get paid more than enough at my job. I'd rather have no game than make some rushed buggy mess because "gotta get it out there and market it bro gotta get that hustle going saar!".
Anonymous No.107027957 [Report] >>107027969 >>107028225
>>107027934
As I said, >You're a 2IQ faggot, who couldn't even finish reading a small 4 sentence paragraph, obsessing over a tech jews weekend project, justified as but "4k lines of code" and "no malloc". You have no game.

Seething about jeets and thinking 4KLOC is this stunning achievement says a lot about the game you're totally working on. Why are you even here? Just to sperge about jeets or are you that much in need of validation over the libraries you wanna use? Talk about stunning and brave nigger cattle.

Bonus points for still dodging everything I said about rolling your own code and focusing merely getting text onto the screen.
Anonymous No.107027969 [Report] >>107028068
>>107027957
Take your meds kek
>rolling your own code
Why do you think I'm weighing using a library? To save time that would be spent writing my own code.
>focusing merely getting text onto the screen
What does this have to do with a library that purely handles layout?
Anonymous No.107028068 [Report]
>>107027969
>cant get text onto the screen by himself
>needs to weigh importing a measly 4k to ~~draw a button or two~~
>...layout a button or two*
>...still hasn't so much as drawn "hello world" yet
>"aaahhh use case for rolling your own code"
>gets uppity over "no malloc" as if its this a stunning achievement
Might I recommend webshit for you? Y'know, since all this is over your sad desperate need for validation over importing a fucking weekend project single header file, I cant imagine you're getting anything of any higher caliber done.
Anonymous No.107028185 [Report]
>>107023076
>the virgin factorio developer
>the chad /gedg/ poster
Anonymous No.107028209 [Report]
Anonymous No.107028225 [Report]
>>107027957
>>107027857
>>107027699
>>107027654
>>107027601
lots of words with nothing valuable to say
Anonymous No.107028299 [Report]
I finished cascaded shadow mapping. There’s still some tiny quirks but small enough for me to move onto the next thing which is point light shadows for which I plan to use a cube map array.
Anonymous No.107028408 [Report] >>107028435
>>107027640
I don't need a layout engine, I need a text shaper/renderer with decent text input for localisation
Clay sidestepped every real problem, solving only the simplest out of the bunch, with a very straight forward solution too.
So how do you solve layout calculation? you defer the render commands and process them at least twice to resolve any dependencies, yeah, that's literally it.
Anonymous No.107028435 [Report] >>107028457 >>107028519
>>107028408
If you're making a game all you need are bitmap fonts
Anonymous No.107028457 [Report] >>107028490 >>107028554 >>107028626
>>107028435
lol no, if you don't support a large section of unicode, and can render your game in multiple languages, you're a sad excuse of an enginedev
Anonymous No.107028490 [Report]
>>107028457
my game is English only. in the settings you can select a language other than English, and whenever dialogue text appears, a clickable hyperlink will show up on the screen that links to google translate of whatever the text is from English to the chosen language.
Anonymous No.107028519 [Report] >>107028554
>>107028435
Nooo, you dont get it. I need 14 dependencies, corporate attribution free font #47, an SDF effect stack, and 2MB TTFs to make my game look nice.

On a serious note, I love how all these faggots are pretending like Clay solved all of their issues, and they go on to say "yea, I still haven't figured out text rendering. I can't figure out localization. Rolling a UI toolkit by hand would be a buggy mess. I have no stylized fonts of my own. But Clay, there's whats holding my entire experience together. I couldn't live without it." Raylib shitters are pretty much the same.
Anonymous No.107028535 [Report] >>107028581 >>107029179 >>107035344
How do I make a game that looks this good
Anonymous No.107028554 [Report] >>107028571
>>107028519
Case in point, some faggot just responded, >>107028457, conflating expanded codepage awareness with text shaping and rasterization, over locales he'll never actually support. I think pretending to have a greater audience than Bethesda, Activision, and EA combined is more of a sad larp desu. But, hey, I wont take your 2MB CorporateSanzFree.TTF away from you.
Anonymous No.107028571 [Report]
>>107028554
>over locales he'll never actually support.
i'm making a language learning game you stupid fuck
Anonymous No.107028581 [Report]
>>107028535
That rock looks like its rocking 512x textures. Those stone models look like they have less tris than a troonslop doom mod. The sand looks like plastic and mud combined. And I think you've found the one screenshot of a recent halo title where dynamic objects don't look like they're lit uniformly with a single color across all viewing directions. The only thing that looks good about this is their copy/pasted water shader.
Anonymous No.107028624 [Report]
Anonymous No.107028626 [Report] >>107028683
>>107028457
You can support all the languages that matter including chinese with bitmap fonts
Enginedevs who make things way more complicated for themselves are embarassing
Anonymous No.107028683 [Report] >>107028694 >>107028700
>>107028626
bitmap fonts are retarded, you're not targeting a snes anymore
i'd rather do offline text rendering on the fly with cairo or whatever svg drawing backend
Anonymous No.107028694 [Report] >>107028717
>>107028683
>bitmap fonts are retarded
Why? Easier to use, faster
Anonymous No.107028700 [Report] >>107028717
>>107028683
>filtered by harfbuzz
>filtered by bitmap fonts
>filtered by real time rendering
>calls other people retarded because they don't overengineer their game for the sake of GloboHomoAttribFreeSans47.TTF containing glyphs he'll never use and over kerning that looks like aids
>...a task he hasn't mastered himself
desu
Anonymous No.107028717 [Report] >>107028722 >>107028736
>>107028694
arbitrary UI size
arbitrary DPI support
>>107028700
>>filtered by harfbuzz
>bloatbuzz
educate yourself
https://github.com/JimmyLefevre/kb
>>filtered by real time rendering
the most useful method is patented
>desu
kek
Anonymous No.107028722 [Report]
>>107028717
>arbitrary UI size
>arbitrary DPI support
SDF takes care of this
Anonymous No.107028736 [Report] >>107028745
>>107028717
>i-im not filtered, i swear
>desperately posts the first library he finds on google
>"EDUCATE YOURSELF"
>still can't render ttf fonts in real time without baking them into bitmaps
>still bitches about DPI
>still bitches about scaling as though this is a separate issue to DPI
>still thinks he's above bitmap fonts
this is pretty sad, desu
Anonymous No.107028745 [Report] >>107028770
>>107028736
>the first library he finds on google
>kb
lol, lmao even
Anonymous No.107028770 [Report]
>>107028745
i accept your concession. consider suicide
Anonymous No.107029179 [Report]
>>107028535
For the most part that’s a standard PBR scene with ray tracing giving a little oomph to the reflections and global illumination. Not difficult to achieve, the art is doing the heavy lifting.
Anonymous No.107029298 [Report] >>107029426
top kek. i am playing this old japanese game from 2001 https://en.wikipedia.org/wiki/Zwei:_The_Arges_Adventure
the devs ciphered the stats to prevent the use of CheatEngine or an action replay.
every time a stats is modified, the integer bytes are shuffled randomly. the shuffling key is then stored in memory right after the integer.

something like this

typedef struct
{
u8 bytes[4];
u8 key;
} shuffled;

void set_shuffled(shuffled *s, int val)
{
s->key = rand() & 0xFF;

val <<= 2;

s->bytes[ emoney.key - 1 % 4 ] = val & 0xFF;
s->bytes[ emoney.key - 2 % 4 ] = (val >> 8) & 0xFF;
s->bytes[ emoney.key % 4 ] = (val >> 16) & 0xFF;
s->bytes[ emoney.key + 1 % 4 ] = (val >> 24) & 0xFF;
}

int get_shuffled(shuffled *s)
{
int val = 0;

val = s->bytes[ emoney.key - 1 % 4 ];
val |= s->bytes[ emoney.key - 2 % 4 ] << 8;
val |= s->bytes[ emoney.key % 4 ] << 16;
val |= s->bytes[ emoney.key + 1 % 4 ] << 24;

val >>= 2;

return val;
}


To increase money, for example, you would do
set_shuffled(money, get_shuffled(money) + 100);


please don't do this.
Anonymous No.107029426 [Report] >>107039395
>>107029298
I've cheated in some RPGmaker shit back in the day (back before it was electron/JS which makes it even easier) and they used to store numbers in-memory as n*2+1.
As much as these kinds of things are trivially easy to defeat once you know, I guess it stops the most basic/casual forms of cheating. I don't really understand the logic of trying to stop people cheating in a single player game.
Anonymous No.107030866 [Report]
>>107027601
Interesting. Wasn't aware that Intel pushed this initially, but of course it made sense for them to market it as a reason to sell a hardware upgrade.
Anonymous No.107030872 [Report] >>107031438
>>107025845
Sweep and sort for collision?
Anonymous No.107031438 [Report]
>>107030872
I'm using continuous swept collisions.
I need to finally put it to rest since it has a lot of inherent problems especially when tens of circles are colliding with each other. At least there's never a case where something phases through another object no matter the size and speed, so it's still pretty good for collisions with static objects.
Anonymous No.107032464 [Report] >>107033169 >>107074562 >>107074616
How dumb am I for trying to make my own 3D engine?
Anonymous No.107032522 [Report]
First attempt at pixel shaders
Anonymous No.107033169 [Report]
>>107032464
yes
Anonymous No.107033213 [Report] >>107033475 >>107033554 >>107033794 >>107035417
I'm making the game without graphics and then making renderer.
basically the game is going to be 'revealed' by the renderer.

what do you guys think?
Anonymous No.107033453 [Report] >>107034041 >>107035303 >>107064912
>>107024272
changed to gaussian blur instead of box blur, then changed the edges flow texture thats made to also change the colors a bit in addition to directing the kuwahara kernel

its annoying while moving but there's a shortfall... on a past shader effect I made, it took the UVs from the objects on the screen and cast them with triplanar samples in order to make a cross-hatching style that was stable while moving around the camera. problem in this scene is that 90% of the objects are quads (grass, tree leafs, bushes) and it doesn't work well on quads... Just has to be meshes.

could do motion vectors but I did a different implementation the other day and the motion vectors got too blurred (some reason, stacking on top of each other not clearing despite me saying to the render "clear this please")
Anonymous No.107033475 [Report]
>>107033213
>the game is going to be 'revealed' by the renderer.
Sounds like the kind of pretentious bullshit Kojima would say, but you haven't built an audience of brainlets that will eat whatever you say up and praise you for it.
Anonymous No.107033554 [Report]
>>107033213
It's like the parable about blind men and an elephant, but this particular man is standing under the elephant's asshole as he's about to shit.
Anonymous No.107033794 [Report] >>107033857 >>107033874
>>107033213
Will we be ashamed of our words and deeds?
Anonymous No.107033857 [Report]
>>107033794
There's a lot there. And just going to have to see it to believe it at this point. It's a lot to explain.

The Game is basically going to change the gaming landscape forever.
Anonymous No.107033874 [Report]
>>107033794
Depends on what you do in the game of course.
It is a game with high freedom.
Anonymous No.107034041 [Report]
>>107033453
It looks better
Anonymous No.107034089 [Report]
>>107027857
are you retarded?
do you have any diagnosed learning disabilities?
you need to take a break, maybe come back later, re-read your own posts, and reflect a little
Anonymous No.107034967 [Report] >>107035555
>>107022982 (OP)
>>107023076
>>107023251
>vehicles have no force
I guess W=F*D is wrong lol
Anonymous No.107035303 [Report] >>107035744 >>107064912
>>107033453
Maybe you will find this post useful: https://forums.tigsource.com/index.php?topic=40832.msg1363742#msg1363742
Anonymous No.107035344 [Report]
>>107028535
>rockslop
>waterslop
>cloudslop
looks gay and retarded, soulless even
Anonymous No.107035417 [Report]
>>107033213
>separation of game logic and visuals
This is good and something you should strive for
>not knowing this is basic engine development
You're a spastic
Anonymous No.107035555 [Report]
>>107034967
Force = team
Anonymous No.107035744 [Report]
>>107035303
super cool, thanks anon. this whole time I thought obra dinn was surface dithering. this will probably help me a lot
Anonymous No.107035809 [Report] >>107035971 >>107036054 >>107037996 >>107038977
how do I into modern graphics dev
I did learnopengl site as a kid and drew some boxes in unit using directx
I know of the vertex shaders, buffers and shit
What I'm seeking is the higher-level knowledge and also more modernized stuff like vulkan
Anonymous No.107035971 [Report]
>>107035809
Vkguide, it's not great but it's the best you get.

Also look at https://github.com/fknfilewalker/vulkan-triangle-modern
Anonymous No.107036054 [Report] >>107036364
>>107035809
vkguide, book of shaders (somewhat old), shadertoy
and most importantly: mental preparation because you're going to start hating your life
Anonymous No.107036364 [Report] >>107036464
>>107036054
>and most importantly: mental preparation because you're going to start hating your life
why
Anonymous No.107036464 [Report]
>>107036364
I suck at math so that's probably why, it took me almost a year to understand the basics of linear algebra
Anonymous No.107036511 [Report]
>>107027640
what in god's unholy hellish domains is this fucking IDE
Anonymous No.107036554 [Report] >>107036655 >>107036690 >>107036793 >>107036984 >>107037278 >>107040730
Is this how modern engines work?
Anonymous No.107036655 [Report] >>107036690 >>107036692 >>107036898
>>107036554
no, they use a job model where jobs get distrubuted amongst any number of threads
Anonymous No.107036690 [Report] >>107037175 >>107041859
>>107036554
>>107036655
I will try doing https://www.rfleury.com/p/multi-core-by-default
Anonymous No.107036692 [Report] >>107036709
>>107036655
IIRC Unreal 5 still has dedicated threads but do some sharing with a job system
Anonymous No.107036709 [Report] >>107036801
>>107036692
unreal engine's multihreading system is a legacy system from the old days
Anonymous No.107036793 [Report]
>>107036554
idk
Anonymous No.107036801 [Report] >>107036825 >>107038019
>>107036709
So? It's modern and the most widely used. Thus it perfectly answers the question about what modern engines do.
Anonymous No.107036825 [Report] >>107036884
>>107036801
it's not modern, that's the point
Anonymous No.107036884 [Report] >>107036900
>>107036825
Unreal 5 IS modern and some anon on the internet doesn't get to change definitions
Anonymous No.107036898 [Report] >>107036910
>>107036655
>no, they use a job model where jobs get distrubuted amongst any number of threads
why the fuck would you distribute input reading among many threads?
and how does that even make sense for graphics since those are done on the gpu?
are you talking about the physics engine exclusively? or asset loading?
Anonymous No.107036900 [Report] >>107036946
>>107036884
It's a modern engine using an aniquated threading system because it's descended from the original Unreal engines
A modern engine uses a job system, there's a talk from Naugthy Dog on Youtube about it
Anonymous No.107036910 [Report] >>107036939
>>107036898
Input reading would be one job
We're talking about CPU threading, GPU is a different thing
Anonymous No.107036939 [Report] >>107036959
>>107036910
so the physics engine and asset loading
Anonymous No.107036946 [Report]
>>107036900
But Unreal also has a job using, for which it uses Intel TBB
Anonymous No.107036959 [Report] >>107036976
>>107036939
Yes but there's way more things in a game engine than that
Anonymous No.107036976 [Report] >>107036989
>>107036959
Anonymous No.107036984 [Report] >>107037018
>>107036554
>copying data
>not swapping two buffers and running at double timestep to save performance
Anonymous No.107036989 [Report]
>>107036976
no, having a dedicated thread per task sucks
you X number of open threads and you have a job system that can distribute jobs between them
Anonymous No.107037016 [Report] >>107037027 >>107040730 >>107040743
Architecture A:
You have a scene graph, and each node is responsible for rendering itself.
It does this by providing a render() method which makes calls like renderer.drawMesh(buffer, material, transform).

Architecture B:
You have a scene graph. Each node contains buffer, material, transform, etc information but no render() method.
Instead the renderer traverses the graph and decides by itself how to draw everything.

Which do you prefer?
Anonymous No.107037018 [Report] >>107037165
>>107036984
>swapping doesnt copy the pointer
Anonymous No.107037027 [Report]
>>107037016
B is better because there's lots of ways you can render something depending on the context
Anonymous No.107037165 [Report]
>>107037018
this is an ancient /g/ meme about swapping to numbers without a copy
if your lang cant do this
x, y = y, x

then it is shit
Anonymous No.107037175 [Report] >>107038015
>>107036690
Neat... So, rather than having a jobs system,
>fork 1 thread per core at the beginning of the program
>all threads are homogeneously executing the same code
>everything is duplicated by default
>use thread_id to actually parallelize
>no "callback-hell"-style backtraces
Anonymous No.107037278 [Report]
>>107036554
I'm sticking to one main thread except where:
>another thread is absolutely necessary (background loading)
>there's another thread but it's created and managed by a library (audio)
Modern cores are fast and I'm not writing The Last of Us. Putting everything in separate threads and/or using an elaborate job system sounds like a recipe for unnecessary complexity and bugs. (And potentially input latency/bad frame pacing depending on how it's handled.)
Anonymous No.107037996 [Report]
>>107035809
Vulkan 1.4, C++23, a decent amount of RAII but not totalitarian
Anonymous No.107038015 [Report]
>>107037175
It's a cool idea, but I get the feeling it will be harder than it seems.

Still, when going narrow is as easy as blocking the rest until the "main" is done, it should be easy to do so when needed or when I'm too much of a brainlet to properly split up a task.
Anonymous No.107038019 [Report]
>>107036801
UE5 is known for having great rendering not being really performant on the CPU side.
Anonymous No.107038568 [Report] >>107038581
I'm not quite convinced by quad trees, even though they are measurably the best tool at hand for the task. 80% of processing time goes to quads stuck between nodes.
If most objects are uniform sized I should theoretically be able to supplement it with grid buckets, right? Or am I too optimistic about this?
Anonymous No.107038581 [Report] >>107038656 >>107041669
>>107038568
That probably is simple to fix, make the quadrants overlap each other
30% is the figure I use
Anonymous No.107038630 [Report]
I'm sitting waiting for TLOU1 to "build shaders" (create and cache pipelines), and I noticed the game ships with dxcompiler.dll.
A quick search of my drive suggests Death Stranding ships it too.
Is this just a holdover from dev builds with hot shader reload? The actual released games surely aren't building from HLSL, right?
Anonymous No.107038656 [Report] >>107041669
>>107038581
Oh shit, that's actually clever. Thanks, will try it.
Anonymous No.107038977 [Report] >>107039106 >>107039919
>>107035809
you say you know buffers / shaders, but you don't actually know, because if using opengl was so easy, you would already have an engine right now.
opengl isn't different from vulkan if you actually understood the problems that vulkan tries to solve. Most people can't actually explain why vulkan is better than opengl other than a missing feature like Raytracing or spirv or mesh shaders (these technically exist on opengl, but only in extensions, some are nvidia only).
There is even more than just that, but I have never seen any benchmarks on real world examples showing a massive difference on the GPU side (for example, there's some nvidia specific stuff related to uber shaders and sub groups being connected to warps, and essentially if all the threads in the warp use the same branch in the uber shader, the warp optimizes the branch away, but what's the fps difference?).
Vulkan is more ergonomic if you immediately start writing zero CPU overhead style code (AZDO), but opengl basically comes out of the box with the bare minimum you need for it to work.
And opengl works on the web with Emscripten (probably one of the few usecases for writing zero bloat game engines because self-hosting is required for multi-thread and precise timer support due to security spectre/meltdown stuff, unless you use webworkers, however you should prioritize a native build because it's hard to make it run well on every browser, and my point is that almost every host will charge you for bandwidth, and on AWS it's like $50 for every tb uploaded, but it is free 100gb per month, soo... if you made the game+assets small, you could probably handle an almost free web game, or just stick to no threads/webworkers and use free hosts like github pages or itch.io)
Anonymous No.107039106 [Report] >>107039192
>>107038977
Why the fuck do people talk about making game engines on web tech
Anonymous No.107039192 [Report] >>107039200
>>107039106
why would anyone want to download an .exe in a so called zip file when everything that isn't downloaded by 1000+ users is considered a potential virus to windows defender?
sure, bypassing windows defender only requires 2 clicks, and steam bypasses windows defender's checks.
but let's be honest, your game is gonna be free if it had a chance to get 1000+ downloads (not players), and you ain't gonna pay the $100 steam tax (refunded after a certain number of sales, I think?).
Anonymous No.107039200 [Report] >>107039208
>>107039192
If you want to make webslop just use Unity
Anonymous No.107039208 [Report] >>107039212
>>107039200
if you want to make a game in general, why not use unity?
why does it have to be for the web?
Anonymous No.107039212 [Report] >>107039238 >>107039258
>>107039208
I figure engine devs take some pride in their work, so if you do why are you targetting the fucking web
Anonymous No.107039238 [Report] >>107039243
>>107039212
You could always use electron and release it for desktop / steam
Anonymous No.107039243 [Report] >>107039262
>>107039238
Or you could not use any web technologies and make a real game like a real man
Anonymous No.107039258 [Report] >>107043490
>>107039212
because users don't need to download the game in a zip file (some users don't know what that is), and the game also works on every platform, even phones, and school computers (nevermind... computer labs don't exist anymore, it's all on the cloud now... windows 365 / google...)
Steam is pretty nice. I think it's where everyone wants to put their games, but it would be nice to put your game on steam, and also run on popular web game sites, like itch.io.
It doesn't need to be a full game, you could make it a demo, and as a demo, you could share the demo as viral marketing.
Anonymous No.107039262 [Report]
>>107039243
Okay, post yours then so I can see a good example of a real game
Anonymous No.107039395 [Report]
>>107029426
i am looking at the inventory management code right now; they wrote a specific DLL to hash and check if an array has been modified or not.

//Check if the current hash is still the same has the stored one
if (!Check_hash(array))
exit();

//modification of the array
array[..] = ...;

//generate and store new hash
Check_commit(array);


To defeat this protection, you simply have to put a breakpoint and modify the memory before Check_commit is called.
Anonymous No.107039919 [Report] >>107039946
>>107038977
what are you yapping about, you have no clue what I have or what I am aiming for
Robotwaifutechnician No.107039946 [Report]
>>107039919
No reason there shouldnt an animated donkey kong in these threads.
This is thread number 300 i think
Anonymous No.107040730 [Report] >>107041869
>>107036554
No, modern engines are just job systems, however sometimes theres 2/3 "threads" of execution as the rendering of frame N-1 happens while updating frame N. but its all just jobs pushed across multiple cores.
>>107037016
B is a lot better but requires more abstraction and infrastructure upfront to handle the ways you want to draw things. the advantage is the renderer can then do sorting/batching and multiple passes and stuff.
Anonymous No.107040743 [Report]
>>107037016
B is better. The more plain data and plain functions that operate on that data you have in your program, the better it is.
Anonymous No.107041392 [Report] >>107041471
>"progress"
I've determined that I'm going to have to delete my existing AABB collision code; not trying to stuff OB collisions into my existing funky algorithm makes everything way more tractable. But it is upsetting to lose polished code. Also the fully optimized code from the dude's paper isn't working, there's some transpose/row-major nonsense going on but it is not being consistent... I should just use the full dot products... "make it run; make it right; make it fast".
Anonymous No.107041400 [Report]
>>107024098
The 2016 doom had it seems pretty good. Not sure about the more recent ones.
Anonymous No.107041471 [Report]
>>107041392
Trying to write the optimized nontrivial version of something first is a mistake I make way too often. You need the simple version that you can trust as a starting point and ground truth to compare with.
Anonymous No.107041669 [Report]
>>107038581
>>107038656
Just got around it. That's a 30% performance boost at 0.6 node size. Thanks pal.
Anonymous No.107041859 [Report]
>>107036690
>I will try doing https://www.rfleury.com/p/multi-core-by-default
this is way too long why can't he just give me a tldr
Anonymous No.107041865 [Report] >>107043461
>>107024098
How people do it I don't know, but I was planning on a clustered forward renderer (so you don't just cluster on the width and breadth, but also depth).
Anonymous No.107041869 [Report]
>>107040730
>No, modern engines are just job systems,
how would I go about implementing this?
Anonymous No.107041942 [Report] >>107041968 >>107043485
If I have an arbitrary 3D triangle, how can I find the length of question mark from p2 to the point on the line p1->p3 where the line becomes perpendicular or whatever to p1->p3? given that I only know the vertex coordinates and could get the length of each side.
Anonymous No.107041968 [Report] >>107042118
>>107041942
Just get the point on P3P1 by dotting P3P2 onto P3P1 then do P2 minus the point you get out of that and get the length.
Anonymous No.107042118 [Report]
>>107041968
got it thanks
Anonymous No.107043461 [Report]
>>107041865
Nice yes I'm also going to do that.
The only part i'm concerned about is shadows. The light assignment and shading part seems rather straight forward (haven't implemented it yet, but it just seems there's not that much to it).
But creating shadow maps seems to be more work. the paper/presentation of the guy who invented clustered shading also shows that drawing the shadows takes up the most time and requires some more none-trivial algorithms.
Anonymous No.107043485 [Report]
>>107041942
https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line#Vector_formulation
Anonymous No.107043490 [Report] >>107043499 >>107044247
>>107039258
If the player gets filtered by installing software they don't deserve to play my masterpiece
Anonymous No.107043499 [Report]
>>107043490
everyone here has the best magnus opum
Anonymous No.107044247 [Report]
>>107043490
just say you are gonna release your game on steam under a paywall.
if your game was free, I don't see why you would want your game to be native only, the first people to try your game out are gonna complain about a virus popup, or just hesitant to download any exe since plenty of discord hacking viruses have been on the news.
Releasing for the web is painful, but for free games, it's the perfect platform, because your game is a giga flop if you are not able to get users to play the game and talk to someone about it (AKA, self marketing game), at least if you made a paywall, you could argue that you at least made $5 from one person who was willing to pay (-$95 since you didn't reach the steam refund threshold).
And then there is the part of steam where, if you don't get enough people to add the game to a wishlist, your game will be buried under the 10000 other shovel ware releases and the game will never be recommended while browsing the store (limited games, AKA, "Steam is learning about this game").
Anonymous No.107044320 [Report] >>107044568
incredibly mad at microsoft that they still haven't made a good system for creating sandboxed programs that can assure users that they're not going to get a trojan or something.
a game needs to open a window, display some graphics, connect to some port if it does multiplayer multiplayer, and read/write files in its own directory. why the fuck can't Microsoft come up with some sort of sandboxing mechanism that when implemented gives you some sort of checkmark that says "this app is safe" and allows people to run it without windows defender popups?
Anonymous No.107044568 [Report] >>107044645
>>107044320
>why the fuck can't Microsoft come up with some sort of sandboxing mechanism that when implemented gives you some sort of checkmark that says "this app is safe" and allows people to run it without windows defender popups?
they have, you can pay to get a certificate
but nobody really cares about this, you're making an issue about nothing
Anonymous No.107044645 [Report] >>107044695
>>107044568
Signed code still gets windows defender popups.
But you will see the name of your organization instead of some unknown source.
The defender popup is purely calculated based on the number of users running the application.
And that's not a sandbox / safety system, anon wants windows UWP but without the windows app store, maybe something like linux's appimage.
Anonymous No.107044695 [Report] >>107044712 >>107044917
>>107044645
>linux's appimage
*I know it's not a sandbox, but it would be nice if steam could host some sort of sandboxed blob, where on the first time you run it, it would tell you what type of access it needs, such as filesystem / networking / camera / etc.
Anonymous No.107044712 [Report] >>107044786
>>107044695
Yeah I really wish my programs were bound to Steam as an operating system
Anonymous No.107044786 [Report] >>107044835
>>107044712
My point is that if windows didn't make UWP exclusive to the windows store (because they have their own in-app monetization + hosting costs for stuff like bandwidth, error reporting with stack trace info, reviews / etc).
Steam should also support games that are sandboxed, because there is nothing stopping steam from hosting viruses (for example the cancer streamer that lost $50k in crypto or something due to someone uploading a game that steals crypto wallets).
And if steam had access to UWP, that means everyone has UWP, so you could just store your games as appimages like zip files (These are just zip files on linux, you can view the files using a archive viewer, but you don't need to decompress them, you just double click on the appimage and it works, but it has access to everything so it's not a sandbox).
Anonymous No.107044835 [Report] >>107044990
>>107044786
nobody wants to live in a world where we're dependent on external services to do anything on our computer
Anonymous No.107044917 [Report]
>>107044695
Programs should have permissions granted via a patch cables metaphor, and it should be easy to give fake permissions. Parent processes should be responsible for the system calls of their child processes, usually just costlessly forwarding them to the grandparent, but namespacing & isolation should not require root. Prompting for a password should be a syscall that shows the user exactly who they're talking to.
Anonymous No.107044990 [Report] >>107045055
>>107044835
I'm pretty happy that steam is a monopoly, I don't like the idea of needing to install epic games + EA + blizzard stores.
I consider the package manager on linux to also be a external service, and downloading exe's from a website is just another annoying external service because it's going to have it's own account system, and it's going to be mandatory for any online game (for a single player game, sure, it's not depending on anything, but you are not gonna make any money unless you go with the patreon or whatever crowdfunding system).
One account, one library, save files are backed up onto the cloud, that's pretty good, it's like netflix before things got shitted up.
But you clearly didn't even read my post because I said:
>And if steam had access to UWP, that means everyone has UWP, so you could just store your games as appimages like zip files
All steam does to launch programs is using system("C:/path/to/exe"), that bypasses windows defender. So if steam had sandboxing, that means there is a self-contained offline version of the game, which is file that you could execute.
Anonymous No.107045055 [Report] >>107045227
>>107044990
So you want Steam to be able to bypass Windows Defender but it can already bypass Windows Defender? idgi
Anonymous No.107045182 [Report] >>107045233 >>107045268
>>107022982 (OP)
this shit is getting way too complex for me, I regret not just pursuing this straight out of college when I still tapped in into all the linear algebra and instead getting in a rush to go webdev wage
Anonymous No.107045227 [Report]
>>107045055
sandboxing is different than Windows Defender, and sandboxed applications don't exist on windows, all .exe programs have access to steal your discord login token.
steam already bypasses Windows Defender, but sandboxing would help allow steam to block games from changing the game into a virus after being approved, by either by explicitly asking for new permissions with a scary popup, or just blocking it entirely (this is how linux sandboxing works, and why people hate linux sandboxes and always install applications like vscode / discord / steam directly because they have bugs due to lack of permissions).
Anonymous No.107045233 [Report]
>>107045182
i dont remember of the top of my head, but if this is yaw/pitch/roll rotation, then you should look how rotation matrix looks like for each axis separately
it makes way more sense, at least for me
Anonymous No.107045268 [Report] >>107045277 >>107045329
>>107045182
You don't really need to understand how various transform matrices are constructed yet (or honestly ever).
You're hopefully using an existing vector/matrix library, so just use the functions it provides and focus on getting comfortable with the general ideas of composing matrices by multiplying them and transforming vectors by multiplying them with matrices.
Anonymous No.107045277 [Report]
>>107045268
This
These "learn the math from scratch" guys are wasting their time
Anonymous No.107045329 [Report]
>>107045268
yeah, i think it was the shadertoy guy who said it, but if youre using explicit angles with cos/sin, you are maybe doing stuff the wrong way. you can get most of what you want done with just vector dot/cross product and matrices.
its still useful to know some of the math though
Anonymous No.107045740 [Report] >>107045758 >>107046067
how much nonstop work are you able to do before you turn into a complete retard?
I'm going on ~9 hours and I'm fucking up left and right. Need to take a break but I don't want to
Anonymous No.107045742 [Report] >>107045777
Using Godot 4.6 is like waiting for Godot. All I can think of is "So when does it get good?"
Anonymous No.107045758 [Report]
>>107045740
>how much nonstop work are you able to do before you turn into a complete retard?
30 seconds or so.
Anonymous No.107045777 [Report]
>>107045742
Godot 4.7 will fix that
Anonymous No.107046067 [Report]
>>107045740
30 minutes once a week
Anonymous No.107046397 [Report]
>>107022982 (OP)
im planning to use UE 5.6.x to do RE2 with WiiU assets like that UDK that got cancelled cuz Capcom sued the guy & cajole him with an early access to RE2 rmk
does UE deal with arc/rarc files directly or do I need to convert to psk/psa since I can do that but too much work
also how do I manage textures directory setup for those?

can deepseek carry thru writing c++ scripts for it since it's kinda simple game?
Anonymous No.107047103 [Report] >>107047175
>Vulkan renderer working
>get a bunch of things going
>lighting, debug points and meshes, etc
>try to spawn a second mesh
>every even mesh (2nd, 4th, 6th, so on) is completely broken (flattened into an infinite plane or line)
>no fucking idea when this happened so I'll have to debug a tonne of shit
Anonymous No.107047151 [Report]
you get what you pay for
Anonymous No.107047175 [Report] >>107058011
>>107047103
renderdoc it and it should be easy to find the issue :)
Anonymous No.107047923 [Report] >>107047941 >>107048396 >>107049138 >>107053880
What’s the recommended way to do collision detection?
Anonymous No.107047941 [Report] >>107047967
>>107047923
Depends on your game
Anonymous No.107047967 [Report] >>107048019
>>107047941
3D first person
Anonymous No.107048019 [Report]
>>107047967
Use a physics library
Anonymous No.107048396 [Report] >>107057039
>>107047923
physx, trying to roll your own is just pure pain, even if you dont need rigid body simulation.
Anonymous No.107049138 [Report] >>107051744
>>107047923
Just use Jolt physics. That’s what everybody is using nowadays.
Anonymous No.107050651 [Report] >>107050664
can you use the physics engine for nearest neighbor search or should keep your own spatial partition map?
Anonymous No.107050664 [Report]
>>107050651
They handle it all for you
Anonymous No.107051744 [Report]
>>107049138
Are you using Jolt Physics? I'm using Jolt and it feels like Cock and Balls Torture. Maybe it's enjoyable if you're a woman, but I'm a white man like Terry.
Anonymous No.107053741 [Report] >>107053976
post your most offensive code
Anonymous No.107053880 [Report] >>107054072
>>107047923
>collision detection
Sweep and prune broadphase and GJK narrowphase. Bringing in a fuckhuge physics engine dependency if you don't need rigid body dynamics is not necessary.
Anonymous No.107053976 [Report] >>107054164 >>107065411
>>107053741
Anonymous No.107054072 [Report] >>107057039
>>107053880
physx just works.
Anonymous No.107054164 [Report]
>>107053976
thats nothing
struct Nigger {
int watermelons_eaten;
int children_abandoned;
bool is_slave;
};
Anonymous No.107055032 [Report]
>rewriting the editor/engine architecture, again
ugh
Anonymous No.107055161 [Report] >>107055190 >>107055234 >>107055236 >>107056863
Why does every engine out there (from the biggest AAA to the smallest hobby projects) feel the need to reinvent absolutely every wheel?
>custom window creation, system event, joystick input implementations for every platform
Just use SDL.
>custom linear algebra
Just use glm.
>custom virtual filesystem/pkg system
Just use physfs.
>custom rhi
This makes sense for AAA, but smaller engines should be using something like bgfx or SDLGPU.
Anonymous No.107055190 [Report] >>107055373
>>107055161
because you're looking at hobby projects
Anonymous No.107055234 [Report] >>107055373
>>107055161
oh sorry that i want to try to implement all that myself
Anonymous No.107055236 [Report]
>>107055161
>Just use glm.
>C++
Anonymous No.107055373 [Report] >>107055482 >>107055492
>>107055190
>>107055234
If it's truly just a hobby project and wheel reinventing is your hobby then fine, I get that.

I'm evaluating various serious and semi-serious open source engines and weighing them against writing my own. Every single one of them defines their own matrix4 and defines their own joystick abstraction. At some point the amount of duplicate effort becomes troubling, especially since the custom versions are usually noticeably worse than the best existing ones.
(For example: SDL2/3 supports PS4 and PS5 pads over both USB and Bluetooth. Most engine-specific joystick implementations either don't support them at all or only support them over USB.)
Anonymous No.107055482 [Report] >>107055504 >>107055512 >>107055552 >>107056783
>>107055373
>throws a bitch fit
>demands everybody else use toy projects that dont actually work and need constant maintenance (besides glm)
>i know better than both AAA and hobbyists
>2 replies later telling me to fuck off
>erm but actually im so experienced in these. i'm ackhually weighing AAA and "semi-serious open source" (keke) projects
>(i have no engine)
>(i have no game)
>(i have no experience in anything)
>IM REMOVING SO MUCH DUPLICATED EFFORT
>(starts to seethe at forks that fix those aforementioned perpetual maintenance issues)

When is this general ever not a nudev sieve? istg any one of the game maker faggots on vg have more experience in clicking buttons than this entire thread combined in their actual professions.
Anonymous No.107055492 [Report] >>107055552
>>107055373
What you think are "serious and semi-serious open source engines" are probably still hobby projects
Anonymous No.107055504 [Report] >>107055529
>>107055482
If you don't have anything constructive to add you can just not post
Anonymous No.107055512 [Report]
>>107055482
>(besides glm)
nvm i take that back. glm sucks ass too. i forgot how much i and others end up rerolling so many common operations. i forgot how it doesn't vectorize shit compared to directxmath. using glm means you need to roll your own math lib over it from day 1.
Anonymous No.107055529 [Report] >>107055533
>>107055504
t.
Anonymous No.107055533 [Report] >>107055551
>>107055529
is that a picture of you?
Anonymous No.107055551 [Report]
>>107055533
that's this whole general
Anonymous No.107055552 [Report] >>107055567 >>107055639 >>107055681
>>107055482
>>107055492
By "semi-serious" I'm basically talking about various smaller (and mostly older) engines that are in no way comparable to Unity/Unreal or even Godot, but are fairly well-developed, are far beyond the "casual side project" stage, and in most cases have shipped commercial games. Think Ogre, Irrlicht, Torque.
What issues have you had with SDL and GLM? They've been rock solid in my experience.
Anonymous No.107055567 [Report]
>>107055552
>Ogre, Irrlicht, Torque.
All of these are garbage and not worth using, saying this from experience and people I know who have used them for real projects
Anonymous No.107055576 [Report] >>107056843
my engine is the best
no, you cant see it
Anonymous No.107055639 [Report]
>>107055552
Probably cause ogre, irrlicht and torque are super old and sdl/glm didnt exist back then.
but the usual reason is that the only people who are enginedeving are the types who want to reinvent the wheel, so theres a selection bias.
Anonymous No.107055681 [Report] >>107055693 >>107055885
>>107055552
Yea, I'm sure am surprised that the nudev who believes Unity is the pinnacle of game development and geninely believes that old=le bad can't spot any issues with glm.

Meanwhile in reality:
>testing components is a hassle
>...everything turns into a mess of glm::all(glm::epsilonEqual, glm::epsilonNotEqual, etc
>...then you have to start defining an epsilon because thre is no default epsilon
>aliasing subcomponents has historically been a mess and continues to be a mess
>simple shit like 3d pythagoras is a 2 function operation
>cant so much as calculate a midpoint
>cant snap to a grid
The list goes on. Babys first quake clone with a bunch of copy/pasted idtech VectorXXXX boilerplate is less cancer than tard wranglin GLM.

Dont worry, anon. I'll be sure to hop on that totally functional sdlgpu or bgfx bandwagon since apparently old stuff = le bad and "even godot" is better. You sure are saving the industry with these ~~deduplicated efforts~~, I mean, shit that doesn't work well or outright doesn't fucking work at all. Maybe two more weeks of you "weighing" "serious-serious open source" (keke) will solve all of our grievances.
Anonymous No.107055693 [Report]
>>107055681
You sound like you have a lot of pent up impotent rage
Anonymous No.107055868 [Report] >>107057982
How much faster would games run if GPUs had a fixed-function PBR hardware unit
Anonymous No.107055885 [Report] >>107055928 >>107056052 >>107056253
>>107055681
I put Unity in "tier 1" (next to Unreal) just for its sheer size/popularity/commercial support/etc, but it's actually a non-contender for me. I'm only considering engines that are fully open source with no royalties or other legal complications.
Anonymous No.107055928 [Report]
>>107055885
You get what you pay for
Anonymous No.107056052 [Report] >>107056783
>>107055885
>unity > [...]
>unity and unreal are the pincale of game development
>nobody else can compete!!!
>old=bad
>size=good
>popularity=good
>commerical support=good
>acshually open sores good
>acshually i cant use software with commerical licensing
>acshually 2 more weeks of weighing "semi-serious open source" projects and i'll have solved the jewish question
>reee why wont you just use sdlgpu
>reee bgfx just works
>reee glm number one
>reee forks of open source are evil and duplicated efforts
>why wont you just use bgfx
>reee i have big opinions about everything, but the most depth i can add to the conversation is "unity is popular therefore second place in my mental charts"
>still no game
>still no engine
>still no opinion on technical merit stated
>still no meta-opinion implying you might have an opinion on the technical merit of any given subject matter
>still no original thought for that matter
>still no stated goal
kys larper. phone posters and zoomers are a disaster for mankind
Anonymous No.107056253 [Report]
>>107055885
you're in the wrong general then
Anonymous No.107056555 [Report] >>107056707
Fixed my issue with cascade shadow maps. Turns out I was mistakenly using frag pos from the camera instead of view space depth which ended up selecting the wrong cascade in certain scenarios. Now I can move onto my choice of SSAO, SS shadows, or HDR rendering (which leads to bloom)
Anonymous No.107056707 [Report]
>>107056555
very cool :)
Anonymous No.107056783 [Report] >>107056829 >>107056882
>>107055482
>>107056052
It does kind of look like I've been contradicting myself.
I want to make a game with roughly the complexity of a late PS2/Xbox title. I want to do in an engine that's small and simple enough that I can fully understand it, heavily modify it, port it if I need to.

UE4/5 and Unity are non-starters for licensing reasons.
In an ideal world, UE1 or 2 would have been released under MIT and I'd start with that.

Instead, for a few weeks I've been modifying Irrlicht.
>all Windows, Mac, Linux, mobile, web specific code
Deleted, replaced by one SDL3 device.
>D3D9, OpenGL 2.x, GLES2 renderers
Deleted, replaced by one SDLGPU renderer.
>really bad custom matrix/vector classes
Too widely used to excise completely in one go, but added converters to glm types and using glm in my own code.
>clumsy system of antique makefiles and various IDE project files
Deleted, replaced with cmake.

On the one hand, I'm quite happy with what I have. And I've noticed that every time I've removed wheel reinventions or platform-specific code and replaced it with something well known and cross platform, it's made the codebase smaller, easier to work with, just better in general. That's what sparked my "why the fuck does everyone roll their own everything" complaint.

On the other hand, I've got a lot of work ahead of me. I'd need to add scripting, serialisation, write a level editor tool, integrate Jolt, upgrade asset importing to support gltf or use assimp, etc. So I decided to take one last look at my other options before committing to this path. That's why I'm rambling about Torque and Godot and so on.
Anonymous No.107056829 [Report] >>107057169
>>107056783
>UE4/5 and Unity are non-starters for licensing reasons.
I know this is an enginedev general but you're being retarded, if you care about making a game use these
Anonymous No.107056843 [Report] >>107056977
>>107055576
>my engine is the best
>no, you cant see it
Anonymous No.107056863 [Report]
>>107055161
They're either built upon ancient codebases where it was a reasonable idea back then, or they had performance issues with those libraries.
Anonymous No.107056882 [Report] >>107057169
>>107056783
>UE4/5 and Unity are non-starters for licensing reasons.

The additional development overhead of not using one of these choices far, far exceeds any licensing costs. Which as a single developer on a small project, you won't be on the hook for anyway.
Anonymous No.107056900 [Report]
Competence can't be bought.
Anonymous No.107056977 [Report]
>>107056843
engines missing, there's yer problem
Anonymous No.107057039 [Report] >>107058050 >>107058093
>>107054072
>>107048396
PhysX is outdated and proprietary. Looks like shit compared to modern alternatives.
Anonymous No.107057169 [Report] >>107057211 >>107061702
>>107056829
>>107056882
There are other reasons I don't want to use those engines, but have you ever checked the Unity TOS for example?

>[...] you will not (and will not authorize, encourage or cooperate with any third party to):
>(w) Access, store, distribute, introduce, or transmit any material during the course of its use of the Offerings which is
>false, deceptive, misleading, harmful, threatening, defamatory, obscene, infringing, harassing or racially or ethnically offensive,
>facilitates illegal activity, promotes unlawful violence, is discriminatory based on race, gender, color, religious belief, sexual orientation,
>disability, or is otherwise illegal or causes damage or injury to any person or property
>or authorize or otherwise permit any third party, including but not limited to End-Users, to do so
>[...]
>Your breach of this “Use Restrictions” section shall immediately and without further action terminate the rights granted under these Terms

The game I'm planning isn't sensitive or controversial in any way, but this is what you're dealing with when you use proprietary engines.
I'm not willing to put my rights to distribute my work at the mercy of a single third party.
Anonymous No.107057211 [Report]
>>107057169
>I'm not willing to put my rights to distribute my work at the mercy of a single third party.
why not?
Anonymous No.107057228 [Report] >>107057253
Anons the vulkan example for animating a 3d model is public
https://github.com/SaschaWillems/Vulkan/tree/master/examples/gltfskinning
Animate s rigged a model stop being such n00bs
Anonymous No.107057253 [Report] >>107057333 >>107057982
>>107057228
It's a shame that 3D rendering has to be so convoluted
Anonymous No.107057333 [Report] >>107057354
>>107057253
Fine raylib then
Anonymous No.107057354 [Report] >>107057367 >>107057367
>>107057333
raylib cannot do real 3D
Anonymous No.107057367 [Report] >>107057383
>>107057354
>>107057354
Yes it can its just not going to be shaded and look good out of the box but neither did minecraft
Anonymous No.107057383 [Report]
>>107057367
Yeah that's why I said "real 3D"
Anonymous No.107057982 [Report]
>>107055868
slower unironically
>>107057253
opengl 4.6 is unironically peak
Anonymous No.107058011 [Report] >>107058416
>>107047175
>do this
>transform buffers look good
>mesh buffers look good
>every even mesh is still fucked
>spend 3 hours on it today, still not solved
If only it were so easy.

Silver lining: I found and fixed 3-4 other bugs that would have bit me in the ass in the future.
Anonymous No.107058050 [Report] >>107058093
>>107057039
physx is open source, bullet is a piece of shit. physics engines dont become "outdated", god you sound like a webshitter hopping between frameworks.
Anonymous No.107058093 [Report] >>107058131 >>107060011
>>107057039
>>107058050
How many in here ACTUALLY need a generic 3D physics engine anyway?
Anonymous No.107058131 [Report] >>107058136 >>107060011
>>107058093
Implementing your own is kind of difficult
Anonymous No.107058136 [Report] >>107058188 >>107060011
>>107058131
Ok but how about not implementing one at all?
Anonymous No.107058188 [Report] >>107058205 >>107060011
>>107058136
You need things to move and collide with each other
Anonymous No.107058205 [Report] >>107058247
>>107058188
You don't need a generalized physics engine for basic box and sphere collisions. Especially if your game is 2D.
Anonymous No.107058247 [Report] >>107060011 >>107061258
>>107058205
You need A physics engine
So long as you don't need rigid body simulation you can implement your own simple one with boxes, spheres and triangle meshes
There just aren't many guides to doing this because everyone is so focused on rendering so it's gonna be hard for a beginner
Anonymous No.107058416 [Report] >>107061258
>>107058011
I've not dealt with raw manly naked Vulkan rendering, but perhaps it's an alignment or padding issue? It should be easy to switch from f32 to f64.
Anonymous No.107060011 [Report]
>>107058093
>>107058131
>>107058136
Exactly. The game I'm building has the physics engine pulled out. All physics is done at the animation step and all characters are attached to a grid with context based animations for jumping and interactions.

>>107058188
>>107058247
No you don't
Anonymous No.107061258 [Report] >>107063946
>>107058416
Padding and alignment were the first things I checked due to having issues with that previously in the project.

I probably fucked up somewhere like a retard, thankfully the renderer isn't that big yet so there's only a few hundred lines of code where the issue could reside.
>>107058247
Depends on your definition of a physics engine. Regardless, you absolutely do NOT need something even half the size of most publicly available physics engines/SDKs/libs like Bullet.
Anonymous No.107061410 [Report] >>107061445
do any of you know off the top of you head how old games would make enemy's move around in cool ways? the only thing I can think of is using lookup tables or easing functions, but I'm assuming there are others but can't find an answer.
as an example, I think Mario had an enemy that would swoop down at the player in a cool curve
Anonymous No.107061445 [Report]
>>107061410
I hope pic related is not your code and you're not using lookup tables in 2025.
Anonymous No.107061702 [Report]
>>107057169
Try godot then or something
Anonymous No.107063839 [Report] >>107063994
https://www.youtube.com/watch?v=jTpY47KHqWw
Interesting watch.
Anonymous No.107063946 [Report]
>>107061258
>Regardless, you absolutely do NOT need something even half the size of most publicly available physics engines/SDKs/libs like Bullet.
If you want rigid body simulation you do
Anonymous No.107063994 [Report]
>>107063839
You need a better mic and a better speaking voice
Anonymous No.107064025 [Report] >>107064244 >>107064250 >>107064549 >>107064713
What's the opposite of "parse"
I parse a string of JSON to turn it into a data structure, what's it called when I turn a data structure into a JSON string
Anonymous No.107064244 [Report]
>>107064025
Serialize.
Anonymous No.107064250 [Report]
>>107064025
thats called serializing
Anonymous No.107064549 [Report]
>>107064025
unparse
Anonymous No.107064713 [Report]
>>107064025
stringify, that's what js does
Anonymous No.107064912 [Report]
>>107024272
>>107033453
slowly figuring out how to stabilize the edges flow texture. This is a new shader for testing out how to project from screen space onto world UVs
it feels pretty stable while panning the camera or moving it around the scene
>>107035303
thanks again anon, that post is helping me out a ton
Anonymous No.107065411 [Report]
>>107053976
>void
checks out.
Anonymous No.107065593 [Report] >>107070389
I added collision detection to my engine today
Anonymous No.107065982 [Report] >>107067261
Swapchains are gay and clunky.
Anonymous No.107067261 [Report] >>107068785
>>107065982
just don't bother with the clever way of resizing it and do a full wait and recreate. smoothly resizing your window shouldn't be a priority.
you can then treat it merely as a proxy object to get the presentable image, but ignore most details beyond that.
Anonymous No.107067367 [Report] >>107067521
I can't understand any of this LITMAX nad BIGMIN shit, lemme do it myse-
switch (i & 0b1111) {
case 0b0001:
case 0b0101:
case 0b0011:
case 0b0111:
case 0b0100:
case 0b0110:
i = ((i & 0b1111111111110000) | 0b1000) - 1;
break;
case 0b1101:
i = ((i & 0b1111111111110000) | 0b1110) - 1;
break;
case 0b1001:
i = ((i & 0b1111111111110000) | 0b1010) - 1;
break;
default:
switch (i & 0b111111) {
case 0b001011:
case 0b011011:
case 0b001111:
case 0b011111:
case 0b010000:
case 0b011000:
case 0b001100:
case 0b011100:
case 0b010010:
i = ((i & 0b1111111111000000) | 0b100000) - 1;
break;
default:
i = (i & 0b1111111111000000) + 64 - 1;
}
}
continue;

But honestly, the naive approach has no business being so fast.
Anonymous No.107067521 [Report] >>107067603
>>107067367
what the hell are you doing?
Anonymous No.107067603 [Report]
>>107067521
I thought that it would be clever if I iterated z-order curve indexed data one by one, but it can go completely off the queried rectangle and this code helps it jump ahead. It actually makes it way faster, but still not as good as simply iterating a rectangle in cartesian coordinates and generating index each time.
Anonymous No.107067878 [Report] >>107067942 >>107068232
https://x.com/MarioBrothBlog/status/1984265716703609117
What could possibly cause this
Anonymous No.107067942 [Report] >>107068023
>>107067878
deferred renderer with a big transparent object maybe. deferred shading can't do transparency, so it requires a separate pass just for transparent objects and maybe that's badly implemented or there's some additional overhead in their engine for that.
Anonymous No.107068023 [Report]
>>107067942
it apprently only happens at night with that particular object, so probably a bad combination of some very specific edge cases.
Anonymous No.107068232 [Report]
>>107067878
The green character is probably made of tiny transparent boxes. Stacked transparency is terribly inefficient
Anonymous No.107068550 [Report] >>107068593 >>107068764 >>107069305
Hello, I will pay $15 to 3 people to play my game for 15 minutes:

https://rumba-studios.itch.io/jumperia

https://www.my-chan.com/post/1/2
Anonymous No.107068593 [Report]
>>107068550
I'll do it for $1500
Anonymous No.107068764 [Report]
>>107068550
here is my free advice. use this
https://emscripten.org/
Anonymous No.107068785 [Report]
>>107067261
I was just getting sync errors despite following a tut but it turns out vkQueueSubmit and vkQueueSubmit2 have subtly different behaviors even if you're calling them in a way that looks identical, at least on my drivers.
Anonymous No.107069305 [Report]
>>107068550
c'mon bro not even a static background? Is your professor grading you based on how many playtesters you got or something?
Anonymous No.107070389 [Report]
>>107065593
God I wish that was me.
Anonymous No.107071650 [Report] >>107073140
https://www.youtube.com/watch?v=ji0Hfiswcjo
It wasn't just CGI?
Anonymous No.107073118 [Report]
dead
Anonymous No.107073126 [Report]
everyone is on shabbat today so im the only one who's posting
Anonymous No.107073140 [Report] >>107076954
>>107071650
>that loser faggot ThreatInteractive seething in the comments
kek
Anonymous No.107074024 [Report]
I an ubershader the way to go for bindless?
Anonymous No.107074562 [Report]
>>107032464
if your goal is to sell a game then you're retarded. If your goal is to educate yourself then on the contrary.
Anonymous No.107074616 [Report] >>107074736 >>107074841
>>107032464
There is nothing that your engine can do that other engines cant. It used to be open world was the limitation but not anymore. The physics engines can also do pretty much anything if you program them right. You can even spam baddies because the engines are optimized to havd the baddies act within the viewport. I dont think youll be seeing custom engine games any time in the future other than the ocassional zoomer clout guy.
Anonymous No.107074736 [Report] >>107074765
>>107074616
yeah but making a game in your own engine is an +aura and an S tier flex
Anonymous No.107074765 [Report] >>107074803 >>107074841
>>107074736
Not really considering you won't finish it or even get close
Anonymous No.107074803 [Report] >>107074908
>>107074765
if you keep the scale down its totally doable, like say an 1v1 sniper vs sniper CS style map or such and such. Even a shitty tech demo on your own engine is still more impressive than an asset flip on a commercial one
Anonymous No.107074841 [Report] >>107074908
>>107074616
The one thing custom engines have is performance for any sort of "retro" style game. You can absolutely make a Thief 2 looking game that runs well on UE5, but it will still run a lot worse than a purpose made engine. This becomes apparent when you have a 4k 240hz monitor.
>>107074765
That's not true at all and only happens because people are retarded and think they should make a generalized engine instead of a game. You don't need PBR, you don't need a generalized physics engine, you don't need an editor window, you don't need content pipelines (e.g. FBX import), you don't need a VFX editor ala Niagara (or even Cascade), you might not even need skinned skeletal meshes/animations.
Anonymous No.107074908 [Report] >>107074931 >>107075031
>>107074803
>>107074841
Making 3D pong in your own engine isn't actually more impressive than making a better game in Unity
Anonymous No.107074931 [Report] >>107074939
>>107074908
wrong
Anonymous No.107074939 [Report]
>>107074931
The only people you will impress are other amateur engine developers
Anonymous No.107075031 [Report] >>107075063
>>107074908
go back to >>>/vg/agdg, simpleton
Anonymous No.107075063 [Report] >>107075172
>>107075031
I've made my own engine, just saying nobody is gonna care about your shitty game just because it has a homemade engine
If your game is GOOD they will
Anonymous No.107075172 [Report] >>107075195 >>107076095
>>107075063
Performance is a HUGE deal when it comes to people enjoying the game thoughever. Retard normalfags might not realize why they "just don't feel like playing it", but that 45-70ms latency on everything is putting everyone off.
Anonymous No.107075195 [Report]
>>107075172
People are playing Unity games, don't delude yourself
Anonymous No.107075253 [Report] >>107076028
Both agdg and egdg are wrong. The sge of high effort is over ghe age of slopa is here. Now you can make adolf hitler school shooter sim or epstein islands cheese pizza mine. What matters is that the meme is buzzing.
Anonymous No.107076028 [Report]
>>107075253
thanks for contributing that to this thread
Anonymous No.107076095 [Report] >>107076174
>>107075172
I use Unity, it actually has really good performance.
The problem with Unity is how saturated the asset store is. Like yeah, performance is gonna take a hit when your game is a frankenstein of 30 assets.

But, if you're halfway competent and make everything yourself in Unity, it'll most likely have very good performance.
Anonymous No.107076174 [Report]
>>107076095
If a dev can make use of 30 assets its a good game
Anonymous No.107076494 [Report] >>107076757
how od i make a crappy .io game & make $400,000 from it
Anonymous No.107076502 [Report]
somebody spoon feed me a whole concept & a way to market it & implement all of that for me pls
thanks.....
Anonymous No.107076757 [Report] >>107076799 >>107076812 >>107077900
>>107076494
Just make anything but with localisation in mind. If you already have a system that allows you to localize then use it and slam it into every market you can.
>$5 game -- average price point
>10k copies per region sold
>spanish speaking = 427m potential customers
>English = 339m
>Chinese = 1.3b
>arabic = 300m
>russian = 103m
>japanese = 128m
>hindi = 260m
You can make a lot of money just by hitting the poorer markets. Just targeting the Chinese you're quadrupling the chance of your game getting picked up. There has to be at least 10k buyers in each of these lingual markets just by size alone. 8 localisations each netting 10k on a $5 game will get you $400k.
Anonymous No.107076799 [Report]
>>107076757
retarded post
Anonymous No.107076812 [Report]
>>107076757
The chinese only buy games if there's gambling or collecting involved like skins.
At the same time there's no deflationary skins games since the csgo skins drama.
I wouldnt bother telling agdg that since theyre deadset on making their beautiful pixels and cant get a game to save.
Anonymous No.107076954 [Report] >>107077041
>>107073140
he is consistent in his shitting on UE at least
Anonymous No.107077041 [Report] >>107077066 >>107077110
>>107076954
can't believe he admitted know knowing shit about shader programming
Anonymous No.107077066 [Report] >>107077389
>>107077041
What I can't believe is that people are so naive and stupid that they didn't see from his first video that he had scammer written all over him. Even his body language is screaming "I am a liar, I don't know what I'm talking about". I assume these are the people that fall for Indian tech support scammers and such.
Anonymous No.107077110 [Report]
>>107077041
he doesn't create things, he only complains
Anonymous No.107077389 [Report] >>107077448
>>107077066
its good to have dissenting voices its just a shame he's such an unprofessional autist about it
Anonymous No.107077448 [Report]
>>107077389
he really comes off as being on the spectrum, or at least of being a narcissist
Anonymous No.107077900 [Report]
>>107076757
tyvm
i had considered region had something to do with it, but this gives me more to think about...
Anonymous No.107078400 [Report]
>>107027640
NES dev is a lot of fun good luck bro