/gedg/ - Game and Engine Development General #292 Deleted Garbage File - /g/ (#105992556)

Anonymous
7/22/2025, 11:50:15 PM No.105992556
garbage_thumb.jpg
garbage_thumb.jpg
md5: bca7a7679549935ac2119b1e802d9ed4๐Ÿ”
Deleted the Garbage File 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: >>105943307
Replies: >>105995636 >>105996499 >>106018282 >>106019561
Anonymous
7/23/2025, 12:18:27 AM No.105992835
THREAD THEME:
https://www.youtube.com/watch?v=YJVmu6yttiw
Anonymous
7/23/2025, 12:50:07 AM No.105993119
ygg-1753221218-halfscale_thumb.jpg
ygg-1753221218-halfscale_thumb.jpg
md5: 0fb316d40e1e67e64912d6f9587568a8๐Ÿ”
>>105963073
Progress:
- Computing multi-stage projectile tick and travel rates server side vs the local client animation and that timing is in place, still in progress. I precompute the sum time of the animation/frames in each stage and cache that, during the spell cast I add the travel time based on spell speed to that.
- A* pathfinder is now bidirectional so I can identify impossible paths quicker. I have other flags for adding randomness or inefficiency to paths so its not always the same predictable pattern, which I will probably have NPCs use.
Replies: >>105994453 >>105996144 >>106004202
Anonymous
7/23/2025, 1:15:58 AM No.105993349
>>105984205
It's pretty fun to make random shapes and throw boosters on them in different configurations to see how they spin around.

>>105984427
I don't want to pay for that.
Anonymous
7/23/2025, 1:33:33 AM No.105993482
what_the_fuck_cpp
what_the_fuck_cpp
md5: 5de1b4c89d7491dea7cb784d1defbac7๐Ÿ”
Why the heck is that even a thing?
Anonymous
7/23/2025, 2:19:57 AM No.105993886
>use C
>try to look up anything
>C++ shit
I'm gonna go crazy.
Anonymous
7/23/2025, 3:35:49 AM No.105994453
>>105993119
Is ygg pronounced like yeah-gee-gee or yuh-gee-gee or is it just like the word young?
Replies: >>105994655
Anonymous
7/23/2025, 4:07:10 AM No.105994655
ygg-120524-2-halfscale-compressed_thumb.jpg
ygg-120524-2-halfscale-compressed_thumb.jpg
md5: 9ae4d74b72b80c4edd20a080c66e7dbc๐Ÿ”
>>105994453
Phonetically "igg" from the Yggdrasil (World Tree) from Norse myth
Replies: >>105994672 >>105994699
Anonymous
7/23/2025, 4:09:31 AM No.105994672
ygg-030925-chaos-7_thumb.jpg
ygg-030925-chaos-7_thumb.jpg
md5: 0c37207e0d215ebe4a84c40e74cfdc48๐Ÿ”
>>105994655
But I also say why-gee-gee in my head constantly, so yeah
Replies: >>105994699
Anonymous
7/23/2025, 4:13:45 AM No.105994699
>>105994655
>>105994672
Whats it supposed to be
Replies: >>105994731
Anonymous
7/23/2025, 4:19:35 AM No.105994731
>>105994699
"igg engine" is the cannon and official way to say it
Replies: >>105994734
Anonymous
7/23/2025, 4:20:14 AM No.105994734
>>105994731
I mean the game
Replies: >>105994804
Anonymous
7/23/2025, 4:28:43 AM No.105994798
apu-denying
apu-denying
md5: 86f6a86532f2c2cf8776e203f044854a๐Ÿ”
i will not use smart pointers
Anonymous
7/23/2025, 4:29:35 AM No.105994804
>>105994734
Ah, I misread. A multiplayer sandbox with either a "build your own" adventure or player other templates. The primary vanilla game server will be like an RPG with an adventures guild, shops, etc. But we have a fully destructible world so there is a minecraft-ish experience, and maybe you toggle a feature like "enable zombies at night", etc- giving you your own experience between everything you can set. Or maybe you build a roguelike dungeon server and host that. Clients will connect and experience "your creation". The game server is authoritative, but even that is intended to be a toggle (saves us some CPU cycles on security checks) in case it was just you and friends playing.
Replies: >>105994878
Anonymous
7/23/2025, 4:46:04 AM No.105994878
>>105994804
In my head I don't see why a player can't even have a "shop keeper" experience, or a "habbo hotel" clone. I have some really fun ideas for ygg engine opening demo that I don't want to spoil.
Anonymous
7/23/2025, 5:39:37 AM No.105995227
Does anyone know where to find prebuilt binaries that have all the debug features enabled?
http://angleproject.org/
Replies: >>105995946
Anonymous
7/23/2025, 6:51:59 AM No.105995636
>>105992556 (OP)
where's grok 4 in the OP? why are ai seethers trying to sabotage solodevs?
Replies: >>105995717 >>105996144
Anonymous
7/23/2025, 7:03:20 AM No.105995717
ygg-1753246690_thumb.jpg
ygg-1753246690_thumb.jpg
md5: 533327d44118006ff67418e1bbf44f5e๐Ÿ”
>>105995636
I baked the bread and I removed the garbage that was added
Replies: >>105997028 >>105997052
Anonymous
7/23/2025, 7:36:50 AM No.105995946
>>105995227
You don't need those debug features, just enable the debug context and enable the debug callback, and enable address sanitizer if you have not already.
You would only compile Angle yourself with asserts or whatever if you were trying to diagnose a problem inside of angle.
If you aren't crashing (with Angle or native GL or GL ES) or you aren't getting debug callbacks, whatever angle "debug features" offer isn't going to debug whatever issue you have, it's time to use debugging tools like RenderDoc or Nvidia Nsight and inspect your data or look at what your code does different than a working opengl example.
Anonymous
7/23/2025, 8:14:46 AM No.105996144
>>105993119
looks nice

>>105995636
fuck off shitbrain
Anonymous
7/23/2025, 8:40:00 AM No.105996246
anyone using odin here? I trying to come with a speed up the cloth example from last thread one way was to do instancing with raylib but that requires the data to be in some kind of continuous array is it possible to get one from the SOA or is that just compiler magic and the data isn't actually laid out in one continuous chunk? i.e. in the example below there is no way to access cloth.points.pos as a continuous array right? I guess data pointer+offset will have to do...
Point :: struct {
pos: rl.Vector2,
prevPos: rl.Vector2,
initPos: rl.Vector2,
isPinned: bool,
isSelected: bool,
}

Stick :: struct {
p0: int, // index
p1: int,
isTeared: bool
}

Cloth :: struct {
points: #soa[dynamic]Point,
sticks: #soa[dynamic]Stick,
}
Replies: >>105997060
Anonymous
7/23/2025, 9:33:14 AM No.105996499
>>105992556 (OP)
Started a basic Vulkan tutorial, I haven't done much coding recently at all and never really got too into graphics programming so this will be an experience, first impressions are that people weren't lying about it being a lot of code but I can see the potential in it.
Replies: >>105996503
Anonymous
7/23/2025, 9:34:25 AM No.105996503
>>105996499
grok 4 heavy works well for boilerplate bs
t. pogeet !!b2oSUmilA2N
7/23/2025, 11:12:30 AM No.105997028
img_687fd74d22e5d9.20338537
img_687fd74d22e5d9.20338537
md5: fd10cf036875370228f502ee53a92d43๐Ÿ”
>>105995717
>there is no way to access cloth.points.pos as a continuous array right?
why?
#soa directive tells the compiler to allocate the data with a slightly different layout but apart from that, its just your regular array. Its perfect for doing ECS stuff.
Also, there are a few things I'd like to point out.
if you are looking for performance, ditch dynamic arrays. They will do implicit allocations and depending on the usage, it can be slow. Calling make() and delete() on []Point and []Stick arrays is very straightforward.
A reason why cloth.points.pos might not be working is that in the cloth sim example, they used an array of pointers for each of points and sticks while calling new() for every individual element allocation and appending that with dynamic's implicit allocator. Depending on how the OS ends up allocating these points, there will a hit on performance due to cache misses.
You are using the direct struct type themselves as arrays so you'll have to do cloth.points[0].pos to access the pos element at that particular index, after prior memory allocation with make(), of course.
If I understood what you are trying to do correctly, here is a sample code
Cloth :: struct {
points : #soa []Point,
stick : #soa []Stick,
}

cloth : Cloth
cloth.points = make(#soa[]Point, width * height) // allocate cloth's WIDTH * HEIGHT number of Point types in soa
cloth.sticks = make(#soa[]Stick, width * height)

// you can access and assign the values to points like you would with normal arrays
cloth.points[0].pos = {10, 10}

// you can also access the elements of structs as if the elements were arrays
fmt.println(cloth.points.pos[0]) // prints [10, 10]

// but don't try to assign values the latter way, there is an llvm backend issue with this syntax
cloth.points.pos[0] = {10, 10} // avoid. doesn't always work. bug.
Replies: >>105997060 >>105998283
t. pogeet !!b2oSUmilA2N
7/23/2025, 11:15:49 AM No.105997052
you
you
md5: 5cffc14ff40407fd58baf74469dd83ef๐Ÿ”
>>105995717
based saar
t. pogeet !!b2oSUmilA2N
7/23/2025, 11:17:21 AM No.105997060
1752986741894362
1752986741894362
md5: 4e2fbd71985c0e0e6985453e54aa8a65๐Ÿ”
>>105996246
>>105997028
I focked up. Here.
Anonymous
7/23/2025, 2:35:04 PM No.105998283
>>105997028
soa works already its not much faster (1400 vs 1800fps on my pc) since drawing the sticks was the main bottleneck so I wanted a way to get a slice from the soa which I have figured out. You need to do view := cloth.points[:len(cloth.points)] and then you have your normal array which you can pass to opengl for instanced rendering without trying to use pointer + stride.
Anyway I saw the blog post allocating everything I don't get why he did it suppose he likes to have stick adjusting the points directly I guess. I didn't bother with that. https://pastebin.com/6fb7sXpD
Replies: >>105998293 >>105998900
Anonymous
7/23/2025, 2:36:06 PM No.105998293
>>105998283
>have your normal array
*slice
Replies: >>105998900
t. pogeet !!b2oSUmilA2N
7/23/2025, 3:54:53 PM No.105998900
1709253497032214
1709253497032214
md5: 2f0030a2ce4cbb765133a6f3233fff33๐Ÿ”
>>105998283
>>105998293
>its not much faster
that's to be expected considering there isn't much going on in the simulation to make the performance different highly significant.
Slices are cool. I always rely on them when parsing. Under the hood, its just a pointer and length.
https://github.com/odin-lang/Odin/blob/master/base/runtime/core.odin#L400
Its very convenient to snatch a chunk from an array and pass it around like without any hassle while the language implicitly takes care of bounds checking for you. A good QoL improvement over C's array/pointer shit.
Anonymous
7/23/2025, 6:35:33 PM No.106000243
how do you guys sort your render items? by material, pipeline state, model, or something else, and in what order?
im debating about ordering by pipeline state, then model, and then material. since each model can have multiple materials
Replies: >>106000707 >>106001007
Anonymous
7/23/2025, 7:25:23 PM No.106000707
>>106000243
by shader program, everything else is moot I think
Replies: >>106001437
Anonymous
7/23/2025, 7:57:10 PM No.106001007
>>106000243
randomly opaque followed by unsorted transparent followed by 2D directly in the color buffer
Replies: >>106001437
Anonymous
7/23/2025, 8:14:26 PM No.106001164
Reading through "Hello triangle" from learnopengl dot com

holy shit what is this shit, should this really be this fucking hard?
I'm fucking going insane. I barely understood a thing. Ended up with 200 lines of boilerplate and not knowing if I should move on.
Replies: >>106001235 >>106001331 >>106001438 >>106002114 >>106002199
Anonymous
7/23/2025, 8:24:03 PM No.106001235
>>106001164
try raylib
Anonymous
7/23/2025, 8:40:22 PM No.106001331
>>106001164
You should be familiar with a game engine plus the asset pipeline and c++ before going into learnopengl
Anonymous
7/23/2025, 8:50:55 PM No.106001437
>>106000707
>>106001007
dont you guys use multiple meshes, materials, shaders, or passes?
Replies: >>106001453
Anonymous
7/23/2025, 8:50:58 PM No.106001438
>>106001164
Try Vulkan kek
Anonymous
7/23/2025, 8:52:45 PM No.106001453
>>106001437
Yes but I'm not even sure if it's worth sorting by mesh and material, that's advice from the 2000s, would it even make a difference in current year? Test it and find out
Replies: >>106001486
Anonymous
7/23/2025, 8:56:19 PM No.106001486
>>106001453
so you just rebind everything for each draw call?
Replies: >>106001503 >>106002569
Anonymous
7/23/2025, 8:57:42 PM No.106001503
>>106001486
My current renderer sorts by shader program, mesh and material but I don't think the latter two actually matter that much from the tests I've done
Replies: >>106001595
Anonymous
7/23/2025, 8:59:11 PM No.106001520
No shaders, no OpenGL, No Vulkan, No Metal. Where does this lead me to?
Replies: >>106001546 >>106001569
Anonymous
7/23/2025, 9:01:17 PM No.106001546
>>106001520
directx7
Anonymous
7/23/2025, 9:03:48 PM No.106001569
>>106001520
glide
Anonymous
7/23/2025, 9:06:09 PM No.106001595
>>106001503
it might be worth it for larger scenes, ill have to stress test it at some point, i do think it at least saves on entries in the descriptor heaps
Anonymous
7/23/2025, 9:08:31 PM No.106001611
Anything but writing to the framebuffer directly is the wrong answer btw.
(But I forgot about DirectX though, Gabe's fault we are stuck with it)
Anonymous
7/23/2025, 10:02:31 PM No.106002114
>>106001164
why don't you just ask about which parts you don't understand here
Replies: >>106002321
Anonymous
7/23/2025, 10:12:02 PM No.106002199
>>106001164
>200 lines scares me
Anonymous
7/23/2025, 10:25:25 PM No.106002321
>>106002114
Almost everything.
But thanks for asking. For now I'm reading other stuff, trying to reinforce my C++, in which I feel comfortable but maybe it is still a good idea to red more into.
I'll try to watch a video tutorial on the contents of "Hello triangle" to see if I can grasp it a little better, if not, i'll start making questions here.
Anonymous
7/23/2025, 10:44:18 PM No.106002504
Screenshot_2025-07-23_145853
Screenshot_2025-07-23_145853
md5: 6ac0f3ab0a6e8761f9eb967b684fc6ba๐Ÿ”
I got the three light types going. I love Shader Storage Buffer objects. Still lots to do.
Anonymous
7/23/2025, 10:50:56 PM No.106002569
>>106001486
probably just material (shader + textures), mesh usually don't repeat unless its a 'multi-mesh' system with a single draw call for shit like foliage.
really you should make 3 systems, one by single shader bind, other by single texture bind and other by binding again and again and let us know the results
Replies: >>106002651
Anonymous
7/23/2025, 10:59:38 PM No.106002651
>>106002569
idk the terminology, but by multi-mesh do you mean a single mesh like for example a house that has one set of textures for wall and another set of textures for doors, forcing you to split the rendering of it up into 2 draw calls, one for each set of textures?
Replies: >>106003228
Anonymous
7/23/2025, 11:51:04 PM No.106003072
1740797974693413
1740797974693413
md5: 1d39e568c1f0f2349909ed8dc57e3f27๐Ÿ”
>want to make my game in Jai
>no Jai
>think about doing it in Odin
>but feels like I'm just doing it in the meantime and then have to port once Jai releases (unless it sucks)
Replies: >>106003216 >>106003285 >>106011806
Anonymous
7/24/2025, 12:07:13 AM No.106003216
>>106003072
the chances of Jai sucking are almost zero
Replies: >>106003237
Anonymous
7/24/2025, 12:09:28 AM No.106003228
>>106002651
no, i mean multiple copies of a single mesh but each having a different transform, an example is grass quads, all have the same shader and mesh, but with different transforms
Replies: >>106006420
Anonymous
7/24/2025, 12:10:20 AM No.106003237
>>106003216
Yeah, I know, but the chances of it coming out in 2025 are about the same.

Surely it's close enough that he can push an open beta at least?
Replies: >>106003288 >>106003774
Anonymous
7/24/2025, 12:17:10 AM No.106003285
>>106003072
There is nothing special about Jai, you might aswell use Odin
Replies: >>106003774
Anonymous
7/24/2025, 12:17:41 AM No.106003288
>>106003237
>Surely it's close enough that he can push an open beta at least?
It's been close enough for that for over 5 years but he doesn't want just anyone to use his super special programming language
Replies: >>106003759 >>106007138
Anonymous
7/24/2025, 1:16:35 AM No.106003759
>>106003288
Wrong, people do get to use it. He just isn't releasing it publicly until Sokoban is out which is really soon.
Replies: >>106003779 >>106007138
t. pogeet !!b2oSUmilA2N
7/24/2025, 1:19:23 AM No.106003774
img_6880edd5963df9.23755490
img_6880edd5963df9.23755490
md5: 7ef2d833b0cd689f9351327ac63f3b6b๐Ÿ”
>>106003285
yes.
Apart from its comptime and insanely fast compile time, there is nothing special about Jai.
Its funny but allowing instruction to run at compile time like they're part a scripting language itself surprisingly worked well for Jai.
But honestly, Odin is good enough.
I wanted something that is not C++/Rust/Zig slop for gamedev and Odin is just perfect.
even if Jai comes out, I don't think I'll bother now. I'd rather fork Odin and work on it myself and chill.
>>106003237
2 more weeks saar
Replies: >>106003791
Anonymous
7/24/2025, 1:19:48 AM No.106003779
>>106003759
He has no reason not to release it publicly except his own elitism
Replies: >>106007138
Anonymous
7/24/2025, 1:21:02 AM No.106003791
>>106003774
I don't really see the point in the comptime shit
Like yeah it's nice, but it's not that useful
Replies: >>106004546
Anonymous
7/24/2025, 2:09:27 AM No.106004202
ygg-1753315065_thumb.jpg
ygg-1753315065_thumb.jpg
md5: 9b0ba1bc4ddcceb5b1acae34b5caa6eb๐Ÿ”
>>105993119
Showing the path randomizing/shuffling, which now the RNG can be seeded as well
Replies: >>106004546
t. pogeet !!b2oSUmilA2N
7/24/2025, 2:47:07 AM No.106004546
img_6880f5b92c3961.61912364
img_6880f5b92c3961.61912364
md5: fb723a68a7c2de67f26c3ca4e6a298b9๐Ÿ”
>>106003791
Jai's meta programming is very flexible.
Its not just simple pre-processor shit like in C that is very limiting. Its like an entire scripting language with no restrictions that executes during compilation.
luckily, GingerBill is working on introducing something as flexible as that into Odin but its still in design phase. We'll eventually see something like that in Odin and I don't mind if Odin takes a second or two more than Jai would to compile my code so I probably won't be missing anything.

>>106004202
peak saar
Replies: >>106004567
Anonymous
7/24/2025, 2:49:16 AM No.106004567
>>106004546
I know what Jai metaprogramming is, I just don't see the point
Replies: >>106005901
t. pogeet !!b2oSUmilA2N
7/24/2025, 6:02:55 AM No.106005901
444c6d05df7e7dd3a8e7e4909a21639b
444c6d05df7e7dd3a8e7e4909a21639b
md5: e35de829601018b305340624495b8a73๐Ÿ”
>>106004567
I can make use of it.
I do some reflections on types at runtime during startup that can be done at compile time and reduce a little overhead.
And if meta programming is as flexible as Jai, I can generate cache friendly strcuts and not rely on dynamically allocation a memory chunk somewhere in the next continent of ram. A retard like me would go very far with this over-engineering friendly features.
Anonymous
7/24/2025, 7:25:48 AM No.106006420
>>106003228
thats just instancing
Anonymous
7/24/2025, 8:11:07 AM No.106006683
I can make a game engine in vulkan but Im too retarded to make a website
Anonymous
7/24/2025, 9:39:09 AM No.106007138
>>106003288
>>106003759
>>106003779
>only allow a few people into the beta because you don't want random webshitters etc. in it
>let fucking randy in
Anonymous
7/24/2025, 10:10:53 AM No.106007260
1740018234399961
1740018234399961
md5: 36d309a670886987db9fab8b6c0d66bf๐Ÿ”
Polymorphism in C. How is it?
Replies: >>106007388 >>106007548 >>106009740 >>106019325
Anonymous
7/24/2025, 10:41:13 AM No.106007388
>>106007260
its stupid
Replies: >>106007598
Anonymous
7/24/2025, 11:14:53 AM No.106007548
>>106007260
That's a tagged union, hardly polymorphism.
I will say, I really hate the typedefs.
Anonymous
7/24/2025, 11:25:34 AM No.106007598
>>106007388
this
Anonymous
7/24/2025, 4:33:37 PM No.106009609
Bump
Anonymous
7/24/2025, 4:49:47 PM No.106009740
>>106007260
i dont like/understand this C retardation of having to say typedef and name the struct twice
Replies: >>106010122
Anonymous
7/24/2025, 4:53:25 PM No.106009768
wojack-grim-keking
wojack-grim-keking
md5: 9d9489e9b8a295686d1c4c7288aeefaf๐Ÿ”
mfw my blender-like is already at 1.2k locs
Replies: >>106010002
Anonymous
7/24/2025, 5:22:51 PM No.106010002
>>106009768
Blender like huh? I've been kind of wanting to make a 3D modeler and would be interested to see your progress.
Replies: >>106010118 >>106010717
Anonymous
7/24/2025, 5:38:02 PM No.106010118
>>106010002
See
>>105960216
>>105977961
Anonymous
7/24/2025, 5:38:49 PM No.106010122
>>106009740
for some reason "struct S" is the typename instead of just "S" so they need to typedef it
classic pure c retardation
Anonymous
7/24/2025, 5:48:25 PM No.106010194
Does anyone have experience with "affine" transformation matrices? I have been trying to implement it into a game engine that does not have a base implementation of it and it has been a brutal experience. Main goal is to support skewing behavior.
Replies: >>106010262 >>106016268
Anonymous
7/24/2025, 5:54:25 PM No.106010262
1732601412343436
1732601412343436
md5: fb31ff0509dc2b600a151b99c7b738cf๐Ÿ”
>>106010194
You aren't being very specific, but I'd suggest looking at cglm for implementations
Replies: >>106016268
Anonymous
7/24/2025, 6:58:38 PM No.106010676
>maps are declares as map[keytype]valuetype in Odin
>example: map[u16]quaternion128
Psychotic, mentally ill.
Anonymous
7/24/2025, 7:04:56 PM No.106010717
blender-like3_thumb.jpg
blender-like3_thumb.jpg
md5: 8df050f4905b15e362a661a2cff1fd3b๐Ÿ”
>>105977961
manual face normal flipping
camera ortho/perspective transitions
extrude region still create inner faces sometimes

>>106010002
Replies: >>106010727 >>106010775 >>106016268
Anonymous
7/24/2025, 7:06:26 PM No.106010727
>>106010717
oh, and vertex transforms are cancelable now, with right click
Anonymous
7/24/2025, 7:13:24 PM No.106010775
>>106010717
Very nice. What kind of mesh structure are you using?
Replies: >>106010872
Anonymous
7/24/2025, 7:25:30 PM No.106010872
>>106010775
not sure what you mean but here are the strucs

std::list<Vertex*> vertexSelection;
std::list<Edge3*> edgeSelection;
std::list<Quad3*> quadSelection;

struct MeshEditable {
ยฆ std::list<Vertex> vertices;
ยฆ std::list<Edge3*> edges;
ยฆ //std::list<Triangle3> triangles;
ยฆ std::list<Quad3> quads;
};

struct Vertex {
ยฆ Vector3 position;
ยฆ Vertex* newCopy;
ยฆ void* newEdge;
ยฆ Vector3 previous;
ยฆ std::list<void*> edges;
ยฆ std::list<void*> quads;
ยฆ bool shouldDelete = false;
ยฆ bool selected = false;
};

struct Edge3 {
ยฆ Vertex* p0;
ยฆ Vertex* p1;
ยฆ Edge3* newCopy;
ยฆ std::list<void*> quads;
ยฆ bool regionInner = false;
ยฆ bool shouldDelete = false;
ยฆ bool selected = false;
};

struct Quad3 {
ยฆ Vertex* p0;
ยฆ Vertex* p1;
ยฆ Vertex* p2;
ยฆ Vertex* p3;
ยฆ std::list<void*> edges;
ยฆ bool shouldDelete = false;
ยฆ bool selected = false;
ยฆ Vector3* triangulated[4];


ill probably need to redo Quad3 into Face. when i began i wasn't sure if i should do faces with multiple triangles or just quads and tris, but now im considering just having Ngons with a vertex count where algorithms that reuire a quad just check this count to see if its 4
Replies: >>106011405 >>106011814
Anonymous
7/24/2025, 8:19:17 PM No.106011405
>>106010872
>not using n-gons
Replies: >>106016268
Anonymous
7/24/2025, 8:57:26 PM No.106011806
>>106003072
c3
Anonymous
7/24/2025, 8:58:15 PM No.106011814
>>106010872
I just meant like winged edge, half edge, quad edge, etc.
Replies: >>106011950
Anonymous
7/24/2025, 9:12:49 PM No.106011950
>>106011814
i need to look up the standard solutions, im just brute forcing things, but there are probably smart efficient algorithms and structures already that i should be aware about =/
Replies: >>106012573
Anonymous
7/24/2025, 9:44:00 PM No.106012272
For a game to be released on Steam, what do players want in terms of quality? Would it be wiser to release ones first game (solo dev) despite non-optimal graphics and a small scope? Are free demos required or even clever? Do people even play demos? What about the pricing? How do you determine that without going too high or too low?
Replies: >>106012377 >>106012423
Anonymous
7/24/2025, 9:44:57 PM No.106012285
he fell for the zoomer meme
Anonymous
7/24/2025, 9:52:31 PM No.106012377
>>106012272
Doesnโ€™t matter how much content your game has. Itโ€™s all about presentation and quality.
Replies: >>106012525
Anonymous
7/24/2025, 9:57:29 PM No.106012423
>>106012272
If you want a no-shit answer to this question the truth is nobody will play your first game on Steam, it will be completely swamped and forgotten by the thousands of other games released every day
Replies: >>106012525
Anonymous
7/24/2025, 10:07:50 PM No.106012525
>>106012423
That's sad, I hope at least some will play it and have fun. But I suspect as much, especially since I don't have any marketing.

>>106012377
It won't have much content, I'm sure. Had to scope down a lot because it's unfeasable to do something big alone without selling ones soul.
I'll try to polish it then as much as I can.
Replies: >>106012545
Anonymous
7/24/2025, 10:08:43 PM No.106012545
>>106012525
Marketing won't help either
Replies: >>106012580
Anonymous
7/24/2025, 10:11:45 PM No.106012573
>>106011950
Lol yeah, it'll definitely help when it comes to traversing the mesh and performing common operations...
Still, there's definitely something to be said for just going for it first, leads to better understanding than being handed the solution right off the bat.
Anonymous
7/24/2025, 10:12:08 PM No.106012580
>>106012545
I don't think it's quite as bleak as you put it. That's a bad attitude to have lol.
Realism is useful, but realism also goes beyond self sabotage and doomerism. Any amount of increased exposure increases the chances of getting more traction. I have released other stuff besides games and this is a logical and real phenomenon, which is why proper marketing is important if you want to gather a good audience.
But I appreciate your thoughts on that matter.
Replies: >>106012665
Anonymous
7/24/2025, 10:19:30 PM No.106012665
>>106012580
Realism is understanding that game developer is very popular and very easy to get into right now, so you need to put in a lot of work to pop off. 5 to 10 years
Anonymous
7/24/2025, 11:41:12 PM No.106013480
out_thumb.jpg
out_thumb.jpg
md5: 86e7414b5c865d62f763539a504adc7f๐Ÿ”
I'm making progress in my Godot game, but i'ts quickly turning into spaghetti code and lack of order. I come from webshit so the nodes and setting variables on the editor makes me feel lost when tracking specific functionalities. Any good resources on architectural patterns for Godot or making games? Like for example i was expecting pooling every bullet on the game in a single "pool node", but apparently i have to make one for each kind of bullet scene and it rubs me out in the wrong way.
btw the pattern is just a test on the pooling stuff, some guy on the /vg/agdg/ got offended by the pattern for some reason.
Replies: >>106013982 >>106014059
Anonymous
7/25/2025, 12:29:48 AM No.106013982
>>106013480
Why do you have to manually pool things? You'd think a game engine would do this for you
Replies: >>106015240
Anonymous
7/25/2025, 12:37:18 AM No.106014059
>>106013480
juan said you shouldn't pool cause instantiation is quick and there is some form of pooling internally already, so you should probably benchmark
gdscript is slow though, so even with pooling you may get shit performance just updating the instances
having multiple pools for different types of things is fine
Replies: >>106015240
Anonymous
7/25/2025, 1:34:42 AM No.106014476
I don't think learnopengl.com is as good as everyone says.
It has lots of grammar mistakes like it could use a better usage of commas or periods. It doesn't really explain all functions or lines of code shown.
It shows lines of code without explaining where in the rest of the code they're supposed to be ALL THE TIME, and so on...

Anyone has a better resource?
Replies: >>106014490 >>106014537 >>106016268 >>106018157
Anonymous
7/25/2025, 1:36:37 AM No.106014490
>>106014476
>It has lots of grammar mistakes like it could use a better usage of commas or periods
nigger are you serious
Replies: >>106014498
Anonymous
7/25/2025, 1:37:59 AM No.106014498
>>106014490
>are you serious
Yes.
I might have explained myself poorly, as english is not my first language. But still, I've read many books and resources in english without a problem. This is harder to read.
Replies: >>106014503
Anonymous
7/25/2025, 1:38:41 AM No.106014503
>>106014498
well ok, learnopengl is the best resource you're going to get, it doesn't get easier
Replies: >>106014513
Anonymous
7/25/2025, 1:40:28 AM No.106014513
>>106014503
Hopefully it's just me.
The content is very dense. That's probably just it.
Replies: >>106014519 >>106014537
Anonymous
7/25/2025, 1:41:22 AM No.106014519
>>106014513
If you have any questions about OpenGL you can ask here
Replies: >>106014550
Anonymous
7/25/2025, 1:44:36 AM No.106014537
>>106014476
I agree, not a fan of that site. I found vulkan-tutorial.com far better written but of course vulkan is more complicated and tedious.

>>106014513
>The content is very dense. That's probably just it.
Nah, it's just shit.
Replies: >>106014550
Anonymous
7/25/2025, 1:46:21 AM No.106014550
>>106014519
Thanks anon I'm new to this general but I'll be around. Right now I'm not even sure what questions I have, just trying my best to understand "Hello Triangle".

>>106014537
Thanks anon but, I will try to stick to opengl for now.
Anonymous
7/25/2025, 3:21:19 AM No.106015240
1711715802352485_thumb.jpg
1711715802352485_thumb.jpg
md5: 991fa03c8bbed5cc564793d9e0a1e835๐Ÿ”
I just realized how making the "core" gameplay is the relatively fastest part, everything else takes a lot of time, the main menu, the scoring systems, the pause menu, settings menu, customization, difficulty settings, etc. even making a pong takes its time due to that
>>106013982
I saw a video of a guy talking about pooling and how that improves Godot performance, so I assumed it was necessary specially on a danmaku i'm planing to run on web browsers.
>>106014059
Nice thanks, yea I'm happy with 60 fps, so I'll do my best to keep it and checking with benchmarking
Replies: >>106015360
Anonymous
7/25/2025, 3:32:46 AM No.106015360
>>106015240
make sure to use the godot profiling tools to see how long it spends on your scripts
Anonymous
7/25/2025, 4:46:24 AM No.106015961
Highly recommend Pikamuโ€™s 3d graphics course to get started.
Replies: >>106016012
Anonymous
7/25/2025, 4:53:30 AM No.106016012
>>106015961
>paying $100 to learn to make a software renderer
Why not just do this for free? https://github.com/ssloy/tinyrenderer/wiki

Or just figure it out on your own. SDL can write a pixel to the screen easy enough, simply elaborate on that.
t. pogeet !!b2oSUmilA2N
7/25/2025, 5:26:14 AM No.106016268
img_688113085797f8.98335205
img_688113085797f8.98335205
md5: 735813651d6f2e9d6b3fe0db3dd989c1๐Ÿ”
>>106010194
>skewing behavior
da fack iz dhat sapposed to bee, saar? did you mean shearing behaviour?
"affine" transformation simply means performing transformations relative to a point(rotation, scaling, transformation) or a line(reflection, shearing or skew) respectively.
as shown in >>106010262 picrel, by introducing a third row of [0 0 1] into your preferred form of calculation (either (row vector * matrix) or (matrix * column vector)) for dealing with homogeneous coordinates, you can perform 2D affine transformations with ease.
>>106010717
peak
>>106011405
n-gons are not good for parformance saar
>>106014476
>learnopengl.com
>people usually get filtered by math or C skill issue
>anon gets filtered by engrish
>complains about website's narrative not being to his preference and leaves a bad revies
>requests for better resources as if its a web novel
um... saar... its not THAT bad
Anonymous
7/25/2025, 11:34:38 AM No.106018157
>>106014476
>I don't think learnopengl.com is as good as everyone says.
It's the best. That doesn't necessarily mean it's great, or even good.
Anonymous
7/25/2025, 12:01:19 PM No.106018274
the best way to use learnopengl.com is just to go to the 2D game section
Anonymous
7/25/2025, 12:02:15 PM No.106018282
>>105992556 (OP)
Is it wrong to use AI generated placeholder textures in the prototype stage?
Replies: >>106018432 >>106018455 >>106019432 >>106019658 >>106020449 >>106020476
Anonymous
7/25/2025, 12:32:29 PM No.106018432
>>106018282
wrong according to who
Anonymous
7/25/2025, 12:37:33 PM No.106018455
>>106018282
no, its a prototype
Anonymous
7/25/2025, 2:42:52 PM No.106019325
>>106007260
I do similar things, the definitions are usually okay but using it is not always pleasant
Anonymous
7/25/2025, 2:59:01 PM No.106019432
>>106018282
As long as you switch them out for non-placeholder AI generated textures before release.
Anonymous
7/25/2025, 3:16:42 PM No.106019561
rpg_thumb.jpg
rpg_thumb.jpg
md5: 6e1d51144dcd28a14efc470b266d1b5c๐Ÿ”
>>105992556 (OP)
I have special array for objects likely to be static to speed up Y-sorting
Replies: >>106020287
Anonymous
7/25/2025, 3:30:53 PM No.106019658
>>106018282
no rules
only tools
Anonymous
7/25/2025, 5:01:26 PM No.106020287
1737657324510349
1737657324510349
md5: 66e96538f0b69bcc4fcebeec8904d80b๐Ÿ”
>>106019561
>Optimising for an 80s game
Based
Replies: >>106020434
Anonymous
7/25/2025, 5:17:08 PM No.106020434
>>106020287
An 80โ€™ game would have 1/5 of that resolution, be written in 6502 assembly, and would easily fit in 32k of ram graphics included.

OP is just a lowkey wanker losing his time
Anonymous
7/25/2025, 5:18:12 PM No.106020449
>>106018282
nah im doing that rn. im not planning to sell my game anyway. Also is way faster than having to look for the specific sprites like bullets on those free websites when the quality is more often than not inferior to the ones made with chatgpt
Anonymous
7/25/2025, 5:21:52 PM No.106020476
>>106018282
yes. just scribble a picture if you need a placeholder. the danger of AI is that you might trick yourself into thinking it's "good enough", whereas your users/customers will absolutely not think that.