← Home ← Back to /g/

Thread 106843063

282 posts 94 images /g/
Anonymous No.106843063 >>106843512 >>106852800 >>106858443 >>106881523
/gedg/ - Game and Engine Development General
Shader 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.

(Actual) Previous: >>106658977
Anonymous No.106843272 >>106843512 >>106843679 >>106877232
Interface re-ordering, stacking, focus/unfocus
Anonymous No.106843512
>>106843272
wow your UI looks good
>>106843063 (OP)
and really cool menu too.

Good stuff Ygg, you get my gold star for the week
Anonymous No.106843679
>>106843272
Looks very nice.
Anonymous No.106844519 >>106884992
Attempting to convert all the collision code from float to double again.
Anonymous No.106844549
you will never be a video game
Anonymous No.106845588 >>106845646 >>106845683
>wake up
>work all day on game development
>get off work
>start working on my own game
>go sleep
>repeat
Anonymous No.106845619
>spend all day trying to find out why all the meshes in a model arent translated correctly
>realize i didnt give them a slot in the descriptor table
mfw
Anonymous No.106845646
>>106845588
living the dream
Anonymous No.106845683 >>106846037
>>106845588
Why the FUCCC

with a triple capital c

are you sad about that
Anonymous No.106846037
>>106845683
that's him being happy
Anonymous No.106846088 >>106848633 >>106871744
How do you guys handle materials and such? My current plan is:
>Material Pipelines which are just wrappers around Vulkan pipelines, stuff like Material_Opaque, Material_Translucent, etc. with each one having its own constants struct (and possibly others)
>Material Instances (or just Materials) which contain a handle to the pipeline etc and an instance of that constants struct with per-instance data
>you just do Material_Pipeline.make_instance and pass your constants struct instance etc and get back the instance
Anonymous No.106847127 >>106847265 >>106847287 >>106847624 >>106847802 >>106848815 >>106858678
Is Java the best choice if I'm building a game with 2d tile based graphics that uses multiple OS windows at the same time and don't want to have to waste time writing custom GUI code? I've researched all the different alternatives like SDL and they all seemed to be designed to work with the game being confined to one window. Will I run into any performance issues with Java 2d graphics APIs if I'm only targeting modern PCs?
Anonymous No.106847265 >>106847279
>>106847127
Just use C/C++ with the win32 api, and use the default windows API for handling user interface. Even Java or C# might work because I think they do support Win32
Anonymous No.106847279 >>106847384 >>106847772 >>106852535
>>106847265
I don't want this to be restricted to one platform. I want it to run on Linux, Mac OS, and Windows out of the box without having to do any extra porting work.
Anonymous No.106847287
>>106847127
Im not sure but couldnt you do something like this with wxwidgets and C++? I think wxwidgets is able to expose a GL context for rendering.
Anonymous No.106847384
>>106847279
Would it be fine if the entire game is in a one big window but inside that window you can have sub windows like transport tycoon?
Anonymous No.106847503 >>106847657 >>106848365
Anonymous No.106847624
>>106847127
Python is another option. If you can do a bullet hell then you should be fine for most cases?
Anonymous No.106847657
>>106847503
Lol. Add me to the thread enemy hitlist too.
Anonymous No.106847772
>>106847279
>I want it to run on Linux, Mac OS, and Windows out of the box without having to do any extra porting work.
stupid goal
Anonymous No.106847802
>>106847127
What makes you think SDL is not suitable for multi window applications? Genuine question, I have never worked with SDL and am using GLFW for window creation which has a lot less features than SDL, and with it creating more than one window is trivial. I can't imagine SDL being much different.
Anonymous No.106848365
>>106847503
Add me to the list too. I'm a transgirl dev.
Anonymous No.106848633 >>106851465
>>106846088
assuming they all use the same vertex format and only differ in textures and some constants, then i handle them all in the same rendering pipeline. I predefine all the materials to use and put the textures in a big array on the gpu (the bindless approach).
During rendering I pass an index along with the instance to tell it which texture to use
Anonymous No.106848752 >>106848952
IHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITYIHATEUNITY
bloated piece of shit why does it fucking exist if only godot was a good engine then i wouldnt be forced to use this piece of shit fukcingh software
Anonymous No.106848815
>>106847127
Pretty sure you can have multiple windows with SDL. And you definitely can with Qt, which also has some helpers to give you an opengl context that draws into a canvas you can use alongside the other widgets.

Or, with Dear Imgui you can have multiple sub-windows that draw inside your main window, kind of like old MDI programs.
Anonymous No.106848952
>>106848752
fuck this im restarting the project from scratch and building my own engine from JS and if anyone has a problem with it they can kiss my ass. And if any script kiddie decides to cyber rape me then I guess I'll have to keep cyber vaseline on standby
Anonymous No.106849363
Fixing float imprecision issues again. Hopefully for the last time.
Anonymous No.106849708 >>106849953
legitimately considering making a coomer game rn
Anonymous No.106849837
Starting to wonder if I should just mod existing games instead of essentially making clones of them
All the games I want to make would just be clones
Anonymous No.106849953
>>106849708
easy money until visa and mastercard comes knocking
Anonymous No.106850806 >>106851632
the keyboard can sample any node audio you put in it
Anonymous No.106851465
>>106848633
Yeah sounds like we have more or less the same setup then. Seems to be the best way to go about it.
Anonymous No.106851489
Anonymous No.106851632 >>106851716
I hit a terrible dead end. I'm very upset. I think I'm going to leave this for tomorrow.

>>106850806
Very good looking UI. I'd like to see this webm with sound.
Anonymous No.106851716
>>106851632
thanks, I have the little video at least lol
https://www.youtube.com/shorts/YaY0S9UnU2k
Anonymous No.106851857 >>106852109
I spent time working on enemy distance targeting and added and check that compares distances between enemies and the player and always targets the closest one as the first. It also has a max distance float that may tag actors but wont add to the array of targets if beyond the float threshold.
Anonymous No.106852109 >>106852164
>>106851857
That's nice, but it's not enginedev is it.
Anonymous No.106852164
>>106852109
No but while I am a ue5 shitter the uhh other places to discuss this specific stuff is not going to happen.
Anonymous No.106852535 >>106856403 >>106857258
>>106847279
if you wanted your code to run on mobile, your only sane choice is html.
I say that, because nobody gives a single shit about apple or linux. The number of mobile users is massive, and gen alpha prefers all games being on their phones.
Anonymous No.106852800
>>106843063 (OP)
I'm officially burned out. It's joever.
Anonymous No.106852805 >>106853387 >>106854503 >>106858567 >>106859981
Considering some gamers are having an exodus from windows to linux rn, I think I'm gonna target linux (along with windows)
However, linux support for unity or unreal, at least the editors, is shit, so I guess I'm gonna enginedev
Anonymous No.106853387 >>106853491
>>106852805
that's a bold statement when the steam hardware survey says 95% of users are using windows, and linux grew by 0.04% this month, and a pretty large chunk of those users are on a steamdeck (not a usable PC, closer to a phone OS than windows handheld's, not trying to say that windows handhelds are better, but if you plugged it to a monitor + keyboard and mouse, you could do everything a PC can do).
Also the next steam index seems to be a VR headset.
Anonymous No.106853491 >>106853560 >>106853954
>>106853387
i think we're at the start of it where the growth is not strong enough yet to be noticeable in the numbers to such a large degree yet. there's just much more output from people looking away from windows to other alternatives.
could be a good idea to consider linux as a primary target early now, and not try to port a few months or years into development later when the numbers are clearer.
Anonymous No.106853560
>>106853491
you're retarded
Anonymous No.106853954 >>106854513 >>106888724
>>106853491
I've used linux for years coping that it's good for programming (windows 7 until 2019, tried linux until 2022, now I just use windows 11 without updates), but I can't really make a list of reasons for why linux is better for gaming or programming.
At the very best, I think using linux is a flex, and it's comfy when it works. But in terms of actually saving me time, linux is a huge waste of time (especially when you can still make portable code on windows, you could use WSL if you wanted to save SSD space instead of a dual boot).
There are like 40 things I need to fix on a fresh windows install to make it useful, but that's nothing compared to the autism that C/C++ has for you, especially when it comes to making portable code (and I feel like the #1 reason someone engine dev's is because of autistic languages like C/C++, if you use JS or C#, it's basically the same language as Unity or Godot, while no language support C/C++ as a first class language, unreal doesn't count BTW).
Anonymous No.106854503
>>106852805
>I'm gonna target linux
Why do people think porting a game to another platform is some big thing that only elites can do?
Anonymous No.106854513 >>106854518
>>106853954
>Rad Games (from Epic) is porting their entire tool chain to linux
>RadDebugger is coming to linux
>Valve is working hard to solve the distro problem
>We have a professional gaming handheld running linux
This is all cope?
Anonymous No.106854518 >>106854535
>>106854513
The only thing that matters is "% of people playing games on Linux"
Anonymous No.106854535 >>106854560
>>106854518
>The only thing that matters is "% of people playing games on Linux"
So you know better than the people making decision at Valve, Epic, Rad, etc
Anonymous No.106854560 >>106854603 >>106854686
>>106854535
Appeal to authority is a pathetic argument bro
Anonymous No.106854603 >>106854609
>>106854560
Read it again.
Anonymous No.106854609 >>106854679 >>106854686
>>106854603
You're appealing to authority, yes, it's pathetic
Until people are actually using Linux to play games it's meaningless
Anonymous No.106854679
>>106854609
Read it again.
Anonymous No.106854686 >>106854698
>>106854560
>>106854609
It's a simple yes or no question, do you know better than people working at Valve, Epic, or Rad?
Anonymous No.106854698 >>106854815
>>106854686
On some things, yeah
But that's not even relevant, they're trying to push Linux adoption, that doesn't mean it's going to work
Anonymous No.106854815 >>106854824 >>106854842
>>106854698
>On some things, yeah
That's not the point. Do you know more than the people making decisions at Valve, Epic, Rad or stuff "relevant" to Linux as an alternative to windows?
Anonymous No.106854824
>>106854815
>or
*on
Anonymous No.106854842 >>106854958
>>106854815
Not neccessarily, but they're pushing for adoption, adoption is not yet here
Until adoption is here there's no reason to even think about it
Anonymous No.106854958 >>106854972
>>106854842
>but they're pushing for adoption, adoption is
Wrong, they are actively working to make Linux better for adoption. None of them are saying, bro just switch to Linux. Each of them is working on a specific problem and iterating on solutions.
>Epic/Rad is focusing on the developer environment
>Valve is focusing on OS level services
Anonymous No.106854972
>>106854958
Ok, so what? The point remains
Anonymous No.106856316
Live.
Anonymous No.106856403 >>106858085
>>106852535
>if you wanted your code to run on mobile, your only sane choice is html
It's the same thing as running on wasm.
You can compile to native and just have onclick and keydown and draw buffer and UI stuff like that abstracted to app language
Anonymous No.106857258
>>106852535
>a game in html
...a website?
Anonymous No.106858000 >>106858092 >>106858619 >>106858641 >>106864060
instanced sdf drawing bump
total polygon death soon
Anonymous No.106858031 >>106858547
I added a pool it make everything so smooth
https://github.com/SpaghettiCodeMasterThe/Godot-quadtree-terrain/tree/main
Anonymous No.106858085
>>106856403
It's not sane because debugging wasm is not fun and supporting both a native and wasm toolchain is not sane (it is fun, if you want a challenge).
I personally think UI is a big issue for games, and C++ does not have many options that work well with a mobile UI, how does imgui work on touch screens?
Anonymous No.106858092 >>106858907
>>106858000
Sounds awesome. Need to see a .webm of this.
Anonymous No.106858443
>>106843063 (OP)
>43594
rune-server name?
Anonymous No.106858547 >>106861747
>>106858031
I see cracks at the lod transition!
Anonymous No.106858567 >>106858805 >>106865904
>>106852805
win32 is the only stable api. Target that and make sure your game runs with proton and it will work better on linux thatn 99% of games with native linux builds. Even valve can't manage to keep there old linux builds working.
Anonymous No.106858619 >>106858907
>>106858000
Impressive, very nice.

Lets see a complex mesh.
Anonymous No.106858641 >>106858907
>>106858000
>sdf
like this is ray marched ?
Anonymous No.106858678
>>106847127
>Is Java the best choice if...
No
Anonymous No.106858805 >>106859154
>>106858567
in the future we will all be using linux because windows has gotten so bad but all the software will actually run on wine with dxvk because open source autists just could not agree for the life of them on a single sane API and a stable ABI for doing basic desktop stuff that any graphical application would want to do.
glibc developers will still go "hurrrrrr not my problem WONTFIX/INVALID" any time they make a breaking change and it will still be used by SkibidiRizzlerOS (modded arch linux) so companies will just invest a lot into wine and make their own libc for it to have a sane deployment environment irrespective of whatever distro autism the user's machine has.
Anonymous No.106858907 >>106859131
>>106858092
nothing special at all.
but it runs perfectly smooth on my many years old gpu which is good enough for now.
focusing on rigidbody dynamics and sdf collision check.
>>106858641
yes but instanced with depth test between so it's not a big union which would be way too slow.
>>106858619
>Mesh
no such thing. but i'm gonna try more complicated shapes and more bodies soon.
Anonymous No.106859131
>>106858907
Awesome.
Anonymous No.106859154 >>106859282
>>106858805
I honestly would love to have my phone as a OS, and I just plug it into a dock when I need a PC, and I can get calls on my PC.
the closest thing to getting calls on your PC ATM is by using the windows phone link, there are handheld PC's and laptops with sim card trays, but it's ONLY for internet, no SMS or calling.
just a few changes to android or IOS, and honestly, it could run 99% of all desktop apps and even dev tools (even right now it could, with winlator or mobox, but it should be part of the OS, and the filesystem needs to be opened up).
Anonymous No.106859282 >>106859534
>>106859154
The issue is a modern pocketable x86, we have mainline ARM actually. PMOS, droidian, SFOS are all mainline. If you still needed apps you can use use waydroid. Otherwise you can patch your own together from debos-builder recipe, or raw debian with ofono and no hw acceleration. Thats pretty much the landscape.
Anonymous No.106859534
>>106859282
I don't know what you are saying, but I looked at waydroid and it turns out that someone was able to put cellular into it. So I guess it's possible to get a phone in a VM container on linux.
The problem however is that the mini-pcie LTE adapter costs $70 (with messaging, I assume GMS is for voice and GPRS is for texting and 2.5g), and I bet 5g is just proprietary and exists only as raw chips since nobody wrote drivers in x86, and of course this would not fit into a pocket, and I have not looked into how ISP services behave when you put a sim card into something exotic like that, and I would hope that the data is usable by the host PC if the internet went out (... maybe you can use windows + WSL + phone link?).
https://forums.quectel.com/t/android-ril-and-gnss-driver-for-android-13-on-x86-64/31970
Anonymous No.106859870 >>106860048 >>106860336 >>106862429 >>106862491
What math do I need to know to render isometric tiles with different elevations like in simcity or transport tycoon? Any code examples of this kind of thing?
Anonymous No.106859981
>>106852805
>Considering some gamers are having an exodus from windows to linux rn
Lmao never change Linux fags
Anonymous No.106860048 >>106860357 >>106862434
>>106859870
there is ancient code scattered around the internet, but unity has gotten so good that you could find a shader that just makes everything look retro, and just make everything 3D, and then you wont need to worry about animating 8 directions of a car, you could have smooth rotations (the secret is that you need to find the right pixel resolution that makes the models look the best with the outline shader and just upscale it when you zoom into it, a good example is VRchat Neo Worlds, which is 3d turned into isometric), and then you can add another shader for drawing outlines hidden behind walls since you can rotate (you can make cliffs, because sim city can't display cliffs without blocking stuff, which is annoying, so you don't need to write the code for special anti-cliff map editing if you wanted to real time editing).
The easy way with unity is a height map and paint it with tiles (it would look kind of like shit), and then you could make it complicated if you want cliffs and tile set rules so that water has a smooth edge around the coast, and smooth sand/grass transitions. You could also try a voxel approach, lots of examples of that.
Obvious this requires a lot of engine dev code inside of a game engine that you would normally avoid doing all of that in. So it's not trivial, not a lot of examples, but it is generally worth it at the end.
Anonymous No.106860336
>>106859870
Just multiplication and division
Anonymous No.106860357 >>106860391
>>106860048
I think getting something like that to work on Unity could be just as much work as just getting it to work on SDL2.
Anonymous No.106860391
>>106860357
It isn't because in unity that's like copy pasting code from 3 projects, and maybe paying for a plugin. I think someone with zero programming experience could figure it out by brute forcing through all the build errors.
No need to reinvent the wheel for isometric when there are examples that exist to be copied.
Anonymous No.106861747
>>106858547
I will close the crack, I get the neighbor heightmap and interpolate
Anonymous No.106862429
>>106859870
I don't think it's code if you just use the same tile heights for the height right? Colliders take care of the rest?
Anonymous No.106862434
>>106860048
>but unity has gotten so good that you could find a shader that just makes everything look retro, and just make everything 3D, and then you wont need to worry about animating 8 directions of a car, you could have smooth rotations

literally soul vs soulless as thinking
Anonymous No.106862491
>>106859870
>What math do I need to know
Basically none. Just draw a bunch of terrain pieces, then paste them together in the right order.
Anonymous No.106863203 >>106863210 >>106863590 >>106872972 >>106874668 >>106876315
I know this isn't really the place to ask about this, but there isn't a thread on /v/ up like this.

I need an idea for the story of my game without just ripping off an idea from it's inspiration wholesale. (maybe need is a strong word)
It's a procedurally generated first person dungeon crawling RPG in a similar style to Daggerfall or Arena. I'm just looking for a story justification for giving the player character a call to adventure, and give them a reason to travel all across the world doing dungeons.

Arena had the idea that you need to assemble the eight pieces of the Staff of Chaos in order to defeat Jagar Tharn and save Emperor Uriel Septim. An idea taken pretty blatantly from Legend of Zelda now that I spell it out like that.

But yeah, I just want to know if anyone else has some fun ideas they want to put out there. Like I said, it's procedurally generated, and very low fidelity in terms of graphics, so it can't rely too much on in-game events or pre-placed set pieces.
Anonymous No.106863210 >>106863217
>>106863203
why would i give you my 3 billion dollar ideas for free?
Anonymous No.106863217
>>106863210
because I'll put your post number in the credits.
Anonymous No.106863590
>>106863203
Collecting the eight golden sticks and fulfill your destiny by assembling the mighty golden faggot.
Anonymous No.106864060 >>106865222 >>106866197
>>106858000
>instanced sdf drawing bump
can you explain in detail? I did a sdf modeller but paused it because performance sucked when using over 100 shapes. Mostly read from a buffer and had a index to terminate the loop and different shapes/color ids which were all generated at runtime, using cone tracing it lagged a lot on standard igpu hardware so I stopped working on it.
Anonymous No.106865222 >>106866197
>>106864060
This only works if you have many SDFs that you want to draw as objects in a scene but they are indepenent shapes not part of a common csg tree.
The main benefit you can get then is instead of doing a min over all shapes per pixel, just do the one shape's SDF within a screen space bounding box.
Write the ray hit depth to gl_FragDepth and the depth test will make sure your overlaps are correct which looks the same as doing a min or union over all per pixel.
Anonymous No.106865904 >>106865942 >>106866197
>>106858567
ironic considering linux as a kernel has a stable API/ABI
Anonymous No.106865942 >>106866197
>>106865904
The kernel ABI is stable, glibc mostly is, but the things you need to build a GUI program are not. X11 is deprecated and being removed from distros, Gtk and Qt both experience breaking version churn every few years, pulseaudio is being replaced by pipewire, et cetera.
Unmodified source for 20 year old Linux GUIs will almost certainly not work today, but likely will on Windows.
Anonymous No.106866197 >>106878691
>>106865942
>>106865904
>>106865222
>>106864060

Is vibecoding worth it
Anonymous No.106866700 >>106869023 >>106870696
Anyone using KTX2? Why are there no decent libraries for it? I'll write my own simple importer but still, does Khronos want people to use it or not?
>libktx
Bloated mess of C and C++, like 25 files. Just give me a single C header for God's sake.
Anonymous No.106867294 >>106867504
If I posted the C++ code for my spatial hasher, could anyone tell me what's wrong with it? It usually says there are no colliding objects, even when there are. It's also REALLY slow when in debug mode, although release mode works fine.
Anonymous No.106867504 >>106867577
>>106867294
post it and ill at least take a look
Anonymous No.106867577 >>106867847 >>106876238
>>106867504
Thank you.
https://hastebin.com/share/ejehewaxoj.cpp
I think the problem might be with the getID() function. It gets the four corner buckets, but if the object is large enough to span multiple buckets, it won't get any of the ones inbetween. It sometimes also adds objects into buckets that are far away for some reason.
Anonymous No.106867847
>>106867577
well it looks like, in getCollideObjects you have some code i dont think compiles, the for (int id : getID(object)) should be something like for (auto [id, cells] : getID(object))
and for getID, youd need to loop between min and max by however many times the width/height of the object fits in that range. also i think you need to do some clamping to make sure you dont get some silent "out of bounds" errors
worry about the speed after it is correct
Anonymous No.106868942 >>106885726 >>106885908
Cross posting on /wdg/ - I'm building a browser game on web tech. Bit like a text-based sci-fi management sim / idle strategy game, with multiplayer interactions (trading/market, leaderboards, group missions). Still in early stages.
Anonymous No.106869023 >>106869032 >>106872458
>>106866700
Nevermind, writing an importer for it was trivial, 70 lines of code including empty lines. Probably another 40 to load it into GPU memory and my image management system.
Anonymous No.106869032
>>106869023
Should note this is excluding compression. That would probably add a lot more LoC.
Anonymous No.106869323
Implemented Snake using Odin and raylib as an exercise because I don't have any actual game ideas of my own.
Anonymous No.106870518
Life is pain.
Anonymous No.106870696 >>106872458
>>106866700
I've used it to test it out, but i'm just a guy learning how to do gamedev, not a big studio.
I only went for ktx because I had managed to load some gltf files, but decoding PNG textures with stbi was taking long enough to be a little annoying.
I agree the interface is kind of unclear at first and there are no good examples to get started. But in the end, all I really needed was just ktxTexture2_CreateFromMemory. I looked at the internals of ktx code and the C function is really just calling a method in the Texture2 C++ class. It seemed kind of insane, but at least the C interface is easy to use.

If you've never done texture compression, there is lots of similar sounding terminology which can be confusing, but actually using it is not that bad. You need your ktx textures to be in one of the BasisU encodings (UASTC (slightly bigger but higher quality) or ETC1s (slightly smaller but much worse quality, pretty much only for mobile)).
GPUs cannot use these formats directly, they're intended to be transcoded to different compressed formats that the GPU can actually use.
I don't know which graphics api you're using, but ASTC is not available on opengl for example. Let's say you want your texture to use BC7 compression, then you'd call ktxTexture2_TranscodeBytes(texture, KTX_TTF_BC7_RGBA, 0). Assuming you have opengl 4 functions you'd do glTextureStorage(tex_id, mipmap_levels, GL_COMPRESSED_RGBA_BPTC_UNORM, width, height) to create the texture.
Note that you can use the toktx tool with --genmipmap. Then ktx gives you all mipmapped textures for all levels (starting with the smallest). You probably shouldn't call glGenerateMipmaps because that is insanely slow on compressed textures. Instead, do something like this:
pixels = decoded_bytes + length;
for level {
pixels -= width * height;
glCompressedTextureSubImage2D(texture, level, 0, 0, width, height), GL_COMPRESSED_RGBA_BPTC_UNORM, level_size, pixels);
width /= 2;
height /= 2;
}
Anonymous No.106870712
This was actually pretty painless, I expected the c/raylib to web assembly pipeline to be hell.

Guess I can uninstall Bloatdot now.
Anonymous No.106871116 >>106871746
webgpu and wgpu / dawn seems like goyslop. opengl for life.
also runs on mac, windows and linux. the most multiplatform graphics api there is.
Anonymous No.106871744 >>106872130
>>106846088
use Dynamic Mode and reimplement OpenGL in your own rendering backend so that you can get work done.
Anonymous No.106871746 >>106875688
>>106871116
>also runs on mac
not anymore. Apple's legacy implementation is extremely buggy and only getting worse.
But you can compile against ANGLE and get a reasonable metal implementation of OpenGL.
Anonymous No.106872130 >>106873653
>>106871744
>OpenGL
I started with Vulkan and have never written a single line of OpenGL, so I wouldn't really know what that looks like.
Anonymous No.106872458 >>106872852
>>106870696
In my case I was using Vulkan so it was literally just >>106869023. Didn't handle compression though because I don't think I'll need it, but it shouldn't be too bad just import Zstd etc and do that.
Anonymous No.106872852 >>106872990
>>106872458
>zstd
that's a different kind of compression than I was talking about. With zstd you'd have a compressed texture, but to use it on the gpu you'd still have to decompress it and upload the full texture to the gpu.
Texture compression methods like bptc or astc are about that. They store an image on the gpu using other compression methods (block compression) that then allows the gpu to sample from that compressed image directly with essentially the same speed as an uncompressed image. That way you use less gpu memory.
zstd compression might still be useful for you to make the asset files smaller but it's a different goal.
Anonymous No.106872972
>>106863203
1000 year old vampire girl embarks on a quest to suck the most cocks.
Anonymous No.106872990
>>106872852
My bad, speedread your post a bit too much.

In the case of Vulkan, KTX2 is very straightforward with BC7 (which I'm using), just load the miplevels into a buffer and dump them into a VkImage so I didn't have to worry about compression. Because of that the only compression on my mind was whatever supercompression scheme used. It's entirely unnecessary for my game though since I'm not aiming to have a meaningful number of textures above 1k.
Anonymous No.106873056 >>106873675
pray for me as I embark on the journey to link the necessary libraries for OpenGL development on Linux
Anonymous No.106873653
>>106872130
Vulkan Dynamic mode is basically OpenGL 5. You can just make a single pipeline pass and push everything through and let the driver sort 90% of it out.
Anonymous No.106873675 >>106874084
>>106873056
>link the necessary libraries for OpenGL development on Linux
it's literally just -lGL
Anonymous No.106874084
>>106873675
>Not using -lOpenGL
Enjoy your're bloat.
Anonymous No.106874668
>>106863203
your dilator rods are stolen and you must retrieve them before your neovagina closes
Anonymous No.106875688 >>106879801
>>106871746
>not anymore. Apple's legacy implementation is extremely buggy and only getting worse.
Haven't had any issues with it yet, works just fine on my mac.
Only thing I'm missing on mac is compute shaders which seems like ANGLE metal backend also doesn't support yet.
Anonymous No.106875985
https://bumbershootsoft.wordpress.com/2025/10/11/sharp-bilinear-filters-big-clean-pixels-for-pixel-art/
Anonymous No.106876238
>>106867577
did it help?
Anonymous No.106876315
>>106863203
You are part of a futuristic neo-medieval team of archeologists investigating the disappearance of the great civilization of *insert civilization name here*. So you adventure to the forbidden archpelago/ planet system/ generic abandoned place and fight fauna, enter dungeons and protect the base camp from a raid or two while you read lore, find ancient artifacts of power and in general delve deeper and deeper on the ruins of this great city.

This way you can have all the lore and story progression in "entries" you get from the walls, letters and memory cubes. The sources for shameless stealing of ideas include metroid prime, skyrim dwemer quests and dwarf fortress.
Anonymous No.106877148
>tfw it took me more time to fix a bug in my string format function than getting an image displayed in my 341st engine rewrite
wow, what a productive day
Anonymous No.106877190 >>106879983
I've opened up some games and seen like a thousand shaders compiled and I gotta ask, is this normal?
I've been very conservative with my shader use, like less than 3 vertex/fragment pairs, but seeing some videos about effects they make a lot of separate shaders
I've been thinking about making my code more generic for future use and I wanna ask if it makes sense to associate a model/object to a shader so I swap to it when I render it or if I should instead manually swap the shaders and render all objects that use that shader
I just find it weird maybe wasteful to have an entire shader pair for a small effect, is that not expensive?
Anonymous No.106877232 >>106900832
>>106843272
very cool! do you have more characters?
Anonymous No.106877960 >>106877995 >>106878130
question for the 3 other people that post here
how many times did you rewrite your api? or are you not autistic and used the first revision to get shit done?
Anonymous No.106877995
>>106877960
Haven't gotten that far. I'm stuck redoing the vulkan tutorial.
Anonymous No.106878130
>>106877960
For graphics
My first API was just straight up guerrilla because I had no idea what I was doing
Then I wrote another one where I went full nazi strongly typed everything was wrapped in a helper class, template meta programming and so on
Then I started over and just did the absolute thinnest wrapper I could come up with, no template, just a couple multi-purpose base classes and no inheritance and this is the one I still use
For math
I have four different APIs for this and for the better part of a year I never even bothered to remove the old API after I wrote the new one so all four were being used at the same time in different places
Anonymous No.106878691
>>106866197
for webshit and SQL? definitely, i'm spinning a local server for a web application and it's surprisingly comfy, it gets any UIX related stuff from the first go. i wouldn't let it touch the server however, or anything low level for that matter.
Anonymous No.106879801 >>106880850
>>106875688
Uhhh I just googled this and didn't read it but Zink supports mesh shaders. (I do know that zink runs slower than native, BUT zink isn't opengl ES so I don't know the whole grand relative performance aspect or if Angle is in the same bucket, and I don't know what your performance targets are, some people here are really autistic with micro-optimizations for a PS1 game running at 2000 fps)
https://www.phoronix.com/news/Zink-Mesh-Shaders-Ready
Also Apple has crossover, and I heard it's good.
I want to believe that crossover has good opengl support, but if it's missing mesh shaders, that's where zink comes in.
So a apple port would look like this:
zink -> vulkan -> crossover
(I think you could also use zink with angle, I've seen some macros related to it's EGL setup, but no mesh shaders).
I doubt it would run well (I am suspicious of zink), but I don't see any reasons why it would not work.
The reason I assume it would work is because Alan Wake 2 works on crossover (it's DX12 but I assume it runs with DXVK and the VK is the same version Zink would use with mesh shaders, BUT I would not be surprised if CrossOver silently disabled mesh shaders just to make it run).
I probably should try to get Zink running, since portable mesh shaders on opengl sounds kind of neat even if I don't need them (but I see the words mesa, and I immediate feel like this is linux only).
Anonymous No.106879983
>>106877190
something something switching shaders require a lot of state to be contructed, in opengl that state needs to be constructed and cached, but on vulkan it's all done low level.
on unity it all becomes a ubershader if those are the examples you read.
also vulkan is better suited for uber shaders because I believe boolean uniforms cost nothing if all the threads use the same value in the warp (nvidia specific), I think vulkan adds in something specific for subgroups so that you can make it fit work exactly in a warp (but it's a kind of new feature I think).
So if you are using opengl, you probably should stick to an uber shader for performance (I'm sure the driver optimizes the groups well enough for the cost of branches to be miniscule), but switching a shader probably doesn't matter that much if you simple graphics, so you would still get plenty of fps, and I bet uber shaders are slower than separate shaders in some edge case on some GPU driver.
Anonymous No.106880850 >>106880887 >>106889917
>>106879801
Nevermind Alan wake seems to work without mesh shaders (but I am too lazy to double check the youtube video to see if the popup appears).
And nothing I do can get GL_EXT_mesh_shader enabled with mesa, but note that I don't have a GPU with mesh shaders (1660 TI).
for whatever reason, the dx12 gallium driver will deadlock my SDL while exiting.
setting GALLIUM_DRIVER=zink fixes this issue.
Binaries here if you are wondering (just drag the DLL's to your binary, just like Angle).
https://github.com/pal1000/mesa-dist-win/releases
Sadly zink also lacks geometry shaders (GL_EXT_geometry_shader).
But for whatever reason, my GPU also does not support geometry shaders... Native GL, nvidia. Actually, that might be caused
But Angle with vulkan supports GL_EXT_geometry_shaders... (the default DX11 won't work).
And CrossOver should absolutely work with that.
(but... why does my 1660 TI lack geometry shaders? and Angle somehow supports it?)
Anonymous No.106880887
>>106880850
*I need to use GL_ARB_geometry_shader4 for desktop GL.
And it does not work in gallium DX12/Zink, sad.
Anonymous No.106880990 >>106881160 >>106881161 >>106882849 >>106883796
What engine would I want to use if my game is going to be 2D and I want it to be able to run on potatoes. And not just "I have a 11th gen Intel so now my PC is a dinosaur" potatoes, I mean even something like 1st gen Intel i3 or AMD Athlon series. Maybe even older. Assuming such things are possible.
Anonymous No.106881160 >>106881212
>>106880990
Godot is fine because it's more tailored for 2D.
Not for performance or ancient hardware support.
Unity is better if you want native games, but it has dropped support for 10+ old hardware (anything 3d wouldn't handle it anyways, it's mostly intel igpu's, a 18 year old GPU's like 8800 GT from 2007 should be able to run unity because it has DX11, I think? I assume it can run windows 11).
If you want to do everything from scratch but you don't want C++, and you want everything to run on potatoes, maybe even phones, I would suggest making a web game with three.js and using the webgl1 renderer, with typescript. But note that webgl1 sucks for good reasons, but for 2D it shouldn't matter.
Anonymous No.106881161
>>106880990
Raylib.
Anonymous No.106881212
>>106881160
*nevermind, scratch threejs, I though it had some 2D features, there are probably dozens of JS / typescript 2D libraries / wrappers around three.js / webgl out there.
Like you could use it, but other than audio and fonts, it wont help much.
Anonymous No.106881255 >>106881405
I'm making a game in Godot that is not political but every left-tard and right-tard is going to think it will be, and they will also not be able to tell if it is for or against what they think / what they hate. How fucked am I? Difficulty: in Godot.
Anonymous No.106881405
>>106881255
Why do you say that? Can you spill some beans about it?
Anonymous No.106881523 >>106882045
>>106843063 (OP)
'mirin' that menu. good job!
Anonymous No.106882045
>>106881523
Which one of you was hired to make this game?
Anonymous No.106882849
>>106880990
Your own engine in C99 with OpenGL2.0. Guaranteed to run on genuine fossil hardware.
Anonymous No.106883242 >>106883589
>Want to open libreoffice for something completely unrelated to this
>Type "libre"
>Godot opens
>It installed a desktop entry for "libre game engine"
Anonymous No.106883589
>>106883242
Based Godette
Anonymous No.106883796
>>106880990
If you are intending it to run integrated graphics, then I doubt any modern engine would be sufficient. I wouldn't event count on drivers to do a decent job, before an update mine had vertical sync running on 50fps.
Try rpg maker, game maker, but both scale badly, or roll your own.
Anonymous No.106884612 >>106884662 >>106884734 >>106886193
I am making a RimWorld clone in Godot and using OOP is confusing the shit out of me.

Should I switch to ECS?
Has anyone here had a much easier time working with ECS compared to OOP?
Anonymous No.106884662 >>106884718 >>106886193 >>106886193
>>106884612
>Should I switch to ECS?
You're making a RimWorld clone, so yes absolutely.
>Has anyone here had a much easier time working with ECS compared to OOP?
Yes, I learned programming with OOP and did OOP for years, then decided to try other styles and never looked back. Some OOP can work, but pure OOP? Never again.
Anonymous No.106884718 >>106884896
>>106884662
RW doesn't use ECS, to be fair (despite using a custom implementation of "components" to implement some form of composition that is faster than Unity's)
Anonymous No.106884734
>>106884612
>Should I switch to ECS?
If you have to ask, then no. You'll know it when you need ECS. Stick with OOP or do a mix.
Anonymous No.106884896 >>106884994
>>106884718
>despite using a custom implementation of "components" to implement some form of composition that is faster than Unity's
I dunno anon that sounds like ECS. If it has entities composed of components that are worked on by systems, that's an ECS.
Anonymous No.106884992
>>106844519
and around and around we go...
Anonymous No.106884994 >>106885004
>>106884896
>I dunno anon that sounds like ECS.
ECS isn't just "composition over inheritance" lmfao
Anonymous No.106885004 >>106888775
>>106884994
That's exactly what it is, you've just been psyoped by retards online into thinking ECS are (and need to be) overcomplicated 50k+ LOC abominations.
Anonymous No.106885290 >>106886123
something a bit more vague, I know I should build what I need but I also don't want to overly rely on trial-and-error, is there a recommended book on game data structures
for example, my cameras are separate from my objects, but if I want a camera to follow an object I need to write really specific code to get the position, rotation, and do shit with it, when I could instead have a single transformation on top of the object's transformations but then I'd need a generic transformation hierarchy thing that everything can use, I've been thinking how to rewrite it but maybe a template already exists
I'm not talking straight code, moreso a detailed structure that I can adapt, does this make sense?
Anonymous No.106885423 >>106885522 >>106886056 >>106886381 >>106886759
Hardware vendors HATE this one simple trick for reducing drawcalls
Anonymous No.106885522 >>106885555 >>106885598 >>106886759
>>106885423
is this a bad thing?
don't modern games have single characters with that many vertices?
Anonymous No.106885555
>>106885522
Most of the character is on screen when they do that.
Anonymous No.106885598
>>106885522
no, the models have way less polygons than that, the normal maps used are from high poly models tho
sage No.106885726 >>106885779
>>106868942
Nice, I don't think I'm the target audience for this but imo the interface look doesn't fit very much, as in if it's a text-based game then I think ideally the interface would look kinda autistic/out there
Anonymous No.106885779
>>106885726
Hey thanks. Anything you would like to see different on the interface? Areas to improve etc? I'm open to feedback
Anonymous No.106885908 >>106885954
>>106868942
The AI art is going to be a turn-off for a lot of people.
Anonymous No.106885954
>>106885908
All placeholder art as far as I'm concerned, until I know what exactly I need to commission.
Anonymous No.106886056
>>106885423
252k is literally nothing, but it's still unreasonable to do that due to overdraw unless they postprocess the mesh into chunks. If it's gamefreak developing this then they no doubt draw it all.
Anonymous No.106886101 >>106886169
I don't understand the overdraw, I get that all those vertices will go through the vertex shader and get discarded, but isn't the bulk of the computation in the fragment shader after the vertices outside the frustum are discarded?
Anonymous No.106886123 >>106886190
>>106885290
Disclaimer: I HAVE NO IDEA WHAT I'M TALKING ABOUT!

>my cameras are separate from my objects
Naturally
>if I want a camera to follow an object I need to write really specific code to get the position, rotation
Why? Shouldn't be both the camera and position data across all objects already be identical in the first place since they rely on the same data to be placed into world space? This makes no sense to me. You set the camera position to be at the object position plus the offset keeping in mind the object height, boom, you're done. Or not? My dunning kruger might be showing idk.

Shit I haven't read but is on my to buy list:
- Game Engine Architecture by Jason Gregory
- Real-time Rendering by Tomas Akenine-MΓΆller and others
- Foundations of Game Development by Eric Lengyel
Anonymous No.106886169 >>106886518
>>106886101
Reducing overdraw is about culling fragments by early discarding with depth, alpha and stencil test.
Anonymous No.106886190
>>106886123
well, the offset would be something like 10units back 10units up, but that's relative to the object, you need to convert that to world units
if you want it fixed, you need to follow the direction and rotation of the object, but that direction and rotation can be saved as a single local transformation and you can just add the offset to it, like how skeletal animation works, but for separate objects
thanks for the books, I'll check them out
Anonymous No.106886193
>>106884662
>>106884612
I converted my game to ECS and it's a lot better. But I think it only works for games with a lot of similar entities.

OOP is sometimes the best architecture, but as >>106884662 said, pure OOP is enterprise hell.

I use OOP for the GUI elements since inheritance actually makes sense there.
Anonymous No.106886346
I am going to make the best game ever made. It's going to be on Linux, it's going to be on MacOS, it's going to be on OpenBSD, but guess what it's NOT going to be on? Hahaha.
Anonymous No.106886381 >>106886820
>>106885423
so this is good because it reduces drawcalls,

but really it's bad because nothing gets culled when out of view: if one part gets drawn the entire model has to get drawn?

And that's pretty much it, right?
Anonymous No.106886518 >>106887176
>>106886169
But isn't that the norm now?
the clipping after the vertex shader does the frustum culling, and early depth testing is automatic too, so would there be such a big impact on a big model being rendered?
Aren't modern gpus already optimized to do all those things no issues?
Anonymous No.106886759
>>106885423
damn, gamefreak really cooked with this one

>>106885522
its a really bad thing actually
Anonymous No.106886820
>>106886381
Sex with Pomni.
Anonymous No.106887176 >>106889839
>>106886518
Because the order in which you draw things matters. If you look at the model from where the last faces are and look toward the direction of first drawn faces, which are now are far away, you get the worst case scenario where not much will be culled.
Then there are some additional tricks like z prepass etc., but all that is far from being handled automatically by the gpu.
Anonymous No.106887631
wow, writing out the matrix transform functions isnt as bad as i thought
good thing i somehow remember the slides from uni
Anonymous No.106888724
>>106853954
Use what's best for you then. Linux helps me get all the shit I need done and install all the C++ packages I need easily. But if windows works for you, use it. I don't understand why the dorks here can't understand that different people have different usecases.
Anonymous No.106888775 >>106888811
>>106885004
ECS is way more than just using components
Anonymous No.106888811 >>106888838
>>106888775
Why?
Anonymous No.106888838 >>106888903
>>106888811
it needs a way to select entities that have groups of components and run systems on them at the bare minimum
Anonymous No.106888903 >>106888921 >>106889539
>>106888838
Yeah no shit but that's like saying OOP needs to have functions doing stuff on objects on top of the objects themselves.

It doesn't need to be a 150k+ LOC monster like FLECS though.
Anonymous No.106888921
>>106888903
The point is you aren't doing ECS just because you have components
Anonymous No.106889481 >>106889712
why are we being invaded by godotrannies
Anonymous No.106889539
>>106888903
>Yeah no shit
no, not "no shit"
your argument is retarded and your appeal to a hypothetical 150k lines of code has no relevance to the discussion
Anonymous No.106889712
>>106889481
still better that the thread dying
the only time the thread starts getting posts is when 2 or more autists (including me sometimes) argue about something
Anonymous No.106889839 >>106890599
>>106887176
at least you can minimize it with a double-pass, right? one pass just to fill the depth and then the real pass that discards the further fragments
is the increased complexity of multiple separate objects individually rendered still faster than one single big model double-passed?
Anonymous No.106889917
>>106880850
zink has geometry shaders when using GL es (I was testing only desktop GL).
The URL with windows binaries only has mesa 25.2, I need mesa 25.3 for mesh_shaders.
Too lazy to build from source, and I can't find a ubuntu PPA with 25.3 so I will just wait and probably forget about this.
Gallium has a optional built in hud showing FPS, not too distracting compared to MSI afterburner / PresentMon, but not as detailed.
Zink runs slower than Angle (but it's fine since I have a huge performance headroom, but it feels like half the fps of angle/native).
My 1660 ti has mesh shaders with GL_NV_mesh_shader.
thank you for reading my ted talk.
Anonymous No.106889939 >>106890023
I know it's paid and closed source, but is it possible to copy the dll/so files from a game and use havok in your own project?
Anonymous No.106890023
>>106889939
yes but but not because you can reverse engineer it, but because I believe the code has (probably?) been already been leaked, at least the source engine was leaked.
also valve says that commercial games made with the official source SDK don't need to pay havoks $25,000 license (but, I assume that there are benefits to being able to modify the source engine, and that requires valves license).
Anonymous No.106890599
>>106889839
Yeah, in this case it's not really worth doing much else. It already looks shittier than any LOD could be, and too little vertices for frustrum culling.
Anonymous No.106890874 >>106890937
Hmm, considerin either making a 3D platformer, 3D dungeon crawler, or 3D FPS
Anonymous No.106890937
>>106890874
make all three, a first-person dungeon crawler with platforming
that sounds a little familiar, it's like when you're exploring a cave in minecraft and your pickaxe breaks, but as a whole game (hopefully with spells)
Anonymous No.106891091
the fact that whoever owns the rights to Gauntlet hasn't reimagined the game as a vampire survivor-like is downright criminal
Anonymous No.106891667
I'm having a really tough time adding imgui to a C project, I don't get any of this shit.
I thought it was gonna be plug-and-play...
Anonymous No.106892480 >>106892613
seΓ±or webshitter here

realistically speaking, what kind of comercially viable games can a solo dev finish in 2 years or so? like genre, maybe 2d, isometric. I can make good textures and music, the rest I would probably have to buy or hire someone to make it for me, unless it's basic like rimworld
Anonymous No.106892492 >>106893018 >>106901632
I'm bad at pixel art. Can I use AI for that? What tools?
Anonymous No.106892613
>>106892480
all it takes is a couple good tutorials and swapping assets.
but actually finishing the game is not the issue, you will get bored or start a new project before you finish.
your first game is gonna be shit, so it's 100x better if it's a low hanging fruit type game that you can move on from and learn (game jam style slop).
generally everyone in this thread is wasting time on stuff that wont make a game fun, mostly code flexes, when it really doesn't take a lot of time to make a fun game that isn't that complex.
You said you are a websitter, so if you already know how to make a function or class, there is no excuse to why you can't get a proof of concept demo running in a week.
Anonymous No.106892884 >>106892962 >>106894451
today I learned how to draw triangles without passing any data onto the GPU
for some reason you need to have a VAO, but all you need is to draw triangle strip with however many vertices you want
I took the idea and shader code from https://www.youtube.com/watch?v=R-bjXOEQyX8
that red diamond shape is the result
Anonymous No.106892962
>>106892884
>for some reason you need to have a VAO, but all you need is to draw triangle strip with however many vertices you want
Unless you're using a fairly old version of OpenGL or a compatibility profile, you must always have a VAO bound. There used to be a default VAO bound, but they removed that.
Anonymous No.106893018
>>106892492
I wish. The base models are all godawful if you're going for low resolution, like 16x16 tiles (SNES RPG style), and I haven't found a lora that can handle it either.

I've seen a few botnet models that claim to be able to do this, like https://www.pixellab.ai/ and https://www.godmodeai.co/, but haven't tried them because they're botnet
Anonymous No.106894451 >>106896564
>>106892884
>today I learned how to draw triangles without passing any data onto the GPU
What does this even mean? Do you just mean bindless?
Anonymous No.106894980 >>106895193
I got sucked in to watching handmade hero and now I'm unironically considering wasting significant portions of my time on enginedev and I know it will end up being for little benefit beyond educational. Please, someone convince me to stop now.
Anonymous No.106895193 >>106895201 >>106895796
>>106894980
That purely depends on what kind of game you're making.
>2D
Making your own engine isn't hard at all.
>3D but low poly/retro
Harder than 2D but still not that bad.
>I want it to look like *whatever newest AAA slop* (or even just Crysis 1)
Now you're fucked.

Just remember you're making a game, not Unreal Engine 6.
>you don't need an editor
>you don't need a physics engine
>you don't need PBR
>you don't need whatever else retards end up wasting 25 years on instead of making the fucking game
Anonymous No.106895201 >>106895249
>>106895193
>>you don't need an editor
you probably do need this one
Anonymous No.106895249
>>106895201
All of them (and a lot more) depend on your game, some might genuinely need an editor and a physics engine. The more of them you actually need, the more reason there is to use UE/Unity/Godot but I guarantee you most games don't need many of those features.

Point is don't waste time on shit your game doesn't need and making your own engine isn't that bad.
Anonymous No.106895796 >>106896101
>>106895193
I want PS2 era graphics, 3D. Probably no dynamic lighting, no shader use. Everything baked and a lot of AO hand drawn right on to the textures themselves. Honestly, the collision detection scares me the most, even if I go for something like souls or pre-nu-zelda where there isn't even any "real" physics simulation going on.
Anonymous No.106896101
>>106895796
Basic 3D physics can be reduced down to sphere -> triangle sweeps which you can find the algorithm for online
Anonymous No.106896564
>>106894451
usually you pass the position data of every vertex to the gpu, but you can instead just generate the position using the vertexID
Anonymous No.106896702 >>106896770 >>106896930 >>106897289
Modern Vulkan is down to 380 lines for a triangle https://github.com/fknfilewalker/vulkan-triangle-modern
Anonymous No.106896770 >>106896798
>>106896702
Is there really a point to shader objects or is it just a case of people used to OpenGL wanting it to work more like OpenGL? Pipelines are probably the least annoying major part of Vulkan, but I also learned with Vulkan so I never got used to OpenGL's way.
Anonymous No.106896798
>>106896770
Not really. You can mix and match different stages without creating a new pipeline but I don't see much application in that outside of tech demos.
1.4 obsoleting VkShaderModule and extended_dynamic_state get you pretty much to shader objects in terms of usability.
Anonymous No.106896930 >>106897000 >>106897265 >>106897602
>>106896702
> 380 lines bro
yeah no
did they get the scammer Hotz to write this? Its not terrible but fuck all this shit.
Anonymous No.106897000 >>106897004
>>106896930
Checking extension support is just a nicety here I wouldn't even count that towards the total.
Anonymous No.106897004
>>106897000
thats just 1 example though. rest of the code looks similar. this isnt 380 lines of code, this is 380 lines of badly indented, formatted and generally trash cpp code.
Anonymous No.106897215
>come home from work
>forgot what i was going to dev today
i really should write shit down
Anonymous No.106897265
>>106896930
that's unreadable, i'd rather take 2000 lines of readable code than look at 400 lines of that shit
Anonymous No.106897289 >>106897351
>>106896702
That's barely smaller non-modern, and there is stuff I forgot to delete after refactoring.
https://pastebin.com/M4PLPq57
https://pastebin.com/JW4jfc8w
Anonymous No.106897340 >>106897352
i (re)writing my own wayland client procrastination?
Anonymous No.106897351
>>106897289
Shit, forgot to push
https://pastebin.com/YzvqiBYf
https://pastebin.com/wcY85evE
Anonymous No.106897352
>>106897340
is*
Anonymous No.106897383 >>106897402 >>106897548 >>106897748
how do you guys measure the time it takes to render a frame and all of its components?
do you spam starttime endtime and have a fuckhuge hardcoded table or is there a better way to do it?
Anonymous No.106897402
>>106897383
Open your program in your hardware specific debugger of choice (Nsight/whatever AMD uses)
Only way to get reliable stats
Anonymous No.106897548
>>106897383
>do you spam starttime endtime
yes
Anonymous No.106897602 >>106897914
>>106896930
I wish C++ just slapped the methods on top of each container so we could just do this:
template bool extensionsOrLayersAvailable(const auto &available, const auto &requested)
{
statis_assert(std::is_same_v || std::is_same_v);
requested.all_of( [&available]( auto const & requestedElement ) {
available.find_if( [&requestedElement]( auto const & avail ) {
if constexpr ( std::is_same_v ) {
return std::string_view( requestedElement.layerName ) == std::string_view( avail.layerName );
} else {
return std::string_view( requestedElement.extensionName ) == std::string_view( avail.extensionName );
}
} ) != available.end();
} );
}
Anonymous No.106897613
Active target tracking is working now!
Anonymous No.106897748
>>106897383
in nvpro_core there is a profiler that links to nvidia nsight.
you could use just the plain old debug push / pop or whatever, but nvpro uses an sdk to add color to the profiling messages.
note that gpu's need special query timers because the code your run on the CPU is not actually being executed (unless you are calling a function that returns a result from the work).
but intel presentmon is enough if all you want to know is if your game is cpu or gpu bottlenecked.
Anonymous No.106897914
>>106897602
Yeah method chaining is so vastly superior it's ridiculous.
Anonymous No.106898022
Least favorite part about OpenGL compared to Vulkan is not having control over what memory buffers get put into. Wonder if using EXT_external_objects and allocating everything from Vulkan is worth.
Anonymous No.106898408
i hate it when i change my mind on design decisions
i have a platform module but now want to just have it in my core module
guess im procrastinating even more today
Anonymous No.106898495 >>106898524 >>106898594 >>106898819 >>106899360
Realistically how hard is it to make a colony sim?
Anonymous No.106898524
>>106898495
nothing is actually hard, the problem is time and how good your knowledge is about the topic
Anonymous No.106898594 >>106898686 >>106899360
>>106898495
as a first project, it's rough.
I think if you could find a RTS tutorial (or a project that is not GPL), I think you could repurpose the engine and get some AI working.
I don't think copying 1:1 is a good idea, not because it makes you a lazy programmer, but because it turns out that those who teach typically are not very good programmers, so the code you inherit is going to have a lot of problems (also tutorial code is dumbifed intentionally, typically lacking good error handling for the sake of making the code as short as possible).
It's better to take things step by step so that you actually understand the code, and actually fix the code so that it's in a usable state.
And if this is your first game, don't take it head on, try to make simple game that shares certain aspects. Maybe just learning how to make a top down game and get some pathing working (like a... tower defense game? vampire survivors?), and keep the game extremely sloppy and simple (like a game jam game).
Anonymous No.106898607 >>106898620 >>106898686 >>106901468
Colony sims don't work nowadays theyll just say its a dwarf fort ripoff
Anonymous No.106898620 >>106898689
>>106898607
make people pay $60 a month to run a AI ant farm where each dwarf is a chatgpt AI model.
Anonymous No.106898686 >>106899086
>>106898594
Make it tile based like rimworld/df and just use A*. Make some pawns, set some ingame goals (eat, sleep, list of player-provided tasks) they can do, pathfind to it, do action, repeat.

>>106898607
Fuck the haters. Enough room for more amazing colon simulators.
Anonymous No.106898689
>>106898620
I'm surprised nobody has done this, even localshit LLMs could handle a colony sim ascii game
Anonymous No.106898819 >>106898998
>>106898495
sim games and strategy games are more about game design and less about technicalities
Anonymous No.106898998
>>106898819
>game design
buzzword
Anonymous No.106899046 >>106899055
leave Fygoon alone!
he's reformed now
Anonymous No.106899055
>>106899046
>fygoon
literally fucking who lol
Anonymous No.106899086 >>106899113 >>106899369
>>106898686
>Fuck the haters. Enough room for more amazing colon simulators.
Don't really agree here, dwarf fortress was in development for almost 20 years and is still gaining popularity, so you have the same problem as someone who making a minecraft-like block game that you cannot develop fast enough to catch up while also adding some unique aspect that sets you apart from the original, anything you try to bring to the table could just be a mod to the engine that has decades of polish already built in.
Anonymous No.106899113 >>106899220 >>106899377
>>106899086
DF lost all traction the second it went steam release. Everyone realized the game isnt a game and is just autism simulator. Which it always was, but the mysticism vanished, and the new controls killed the oldfags.
Anonymous No.106899220 >>106899229
>>106899113
The great cataclysm was the addition of Z levels. Ruined the game in so many ways.
Anonymous No.106899229
>>106899220
i do wish there just a dfclone open source for dwarf fortress 2d... kino...
Anonymous No.106899360 >>106900065
>>106898495
>>106898594
RTS games are hard to make, colony sims are much easier because they don't require multiplayer or advanced AI
Anonymous No.106899369 >>106899375
>>106899086
You're really out of touch, DF has not been popular in at least a decade, Rimworld is the premier colony sim and there's tons of colony sims on Steam doing well, it's a good genre of game to make
Anonymous No.106899375 >>106899386
>>106899369
Even aside from that, the roguelike dev community is niche but very much active
And an ascii colony sim game would probably go over well with them
Anonymous No.106899377
>>106899113
> the new controls killed the oldfags

This is why I haven’t played since the steam release. I internalized the janky, illogical menu system over a decade ago and I refuse to relearn it.
Anonymous No.106899386 >>106899551 >>106900405
>>106899375
ascii graphics are a major debuff to anything you could make
Anonymous No.106899551 >>106899560
>>106899386
a lot of traditional roguelikes are ascii
Anonymous No.106899560 >>106899587
>>106899551
yes and nobody plays them
Anonymous No.106899578 >>106899591
>Nobody plays them
>Ignores the very present trad roguelike community
yes anon EVERYthing must appeal to 100000 normalfags
consoom make profit
Anonymous No.106899587 >>106899603
>>106899560
People play shit like CDDA and DCSS
>MUH TILESETS
Yeah its still an ascii game thoughbeit
Anonymous No.106899591 >>106900138 >>106900405
>>106899578
if you take issue with trying to make your game more appealing you're a moron
Anonymous No.106899603
>>106899587
When it has a tileset it's not an ascii game anymore
Anonymous No.106900065
>>106899360
I highly doubt you would find a RTS tutorial that includes multiplayer.
I'm just talking about tutorials for moving characters around in unity or whatever engine is your flavor.
If there was a tutorial for RTS without a game engine, that would be fine, but I think the quality of code dramatically drops with C++ tutorials.
Anonymous No.106900138 >>106900177
>>106899591
>MUST! MAKE! PROFIIIIT!!!!!!!!!!!
Anonymous No.106900177
>>106900138
a moron, like i said
Anonymous No.106900405
>>106899591
>>106899386
picrel is much more visually appealing than most AAA games
Anonymous No.106900822
Making a jank as fuck game based off some TTRPG rulesets I liked, using all public domain assets with the hope that people mod it to make their own campaigns. Almost done with character creation, I dread the day when I have to implement a save system.
Anonymous No.106900832
>>106877232
Thanks. The players are all dynamic based on equipment, but I do have about 50 different character heads on that. Other than that I have some static NPC and Monster types
Anonymous No.106900885 >>106900922
Anyone know where I can find CC0 assets other than OGA?
Anonymous No.106900922 >>106901470 >>106902589 >>106902663
>>106900885
Itch.io is the only other option unless you want to hop around decaying sites and Internet Archive links. I know Japan has a host somewhere for cc0 assets as well but I have no clue where it is.
The other option is to make your own with pdimagearchive and pexels. It's what I'm doing, and it's pretty fun.
Anonymous No.106901468
>>106898607
just make a game version of pic and you are set. Its essentially a colony sim from the pov of a dungeon lord.
Anonymous No.106901470 >>106901600
>>106900922
>I know Japan has a host somewhere for cc0 assets as well
I looked but I could not find anything like itch or opengameart.
any help?
Anonymous No.106901600 >>106901646
>>106901470
Japan is weird about copyright, you just genuinely have to look around and hope you don't get fucked over by some "free to use but not for this" bullshit those nips like using alot (the black souls dev got fucked by this a acouple times). Edge has the best website translator right now, so I'd recommend using that.
I do know there is a CC0 japanese music website somewhere because I've heard the same music be played in indie games and in japanese arcades.
Anonymous No.106901632
>>106892492
Retro diffusion is alright. You can even buy the model and run it locally.
It's still not that good, but decent for just generating item icons.
Anonymous No.106901646 >>106902492
>>106901600
Also to add to this, I haven't seen a single japanese artist ever actually take legal action. So much so that there are japanese artists that are just rendering other japanese artists artwork. No one wants to go through the legal trouble, especially if its overseas
Anonymous No.106902492 >>106902539
>>106901646
>Just steal, all the other subhumans are doing it
No, that's beneath me
Anonymous No.106902539 >>106902589
>>106902492
>No, that's beneath me
but begging for spoonfeeds from mongolian basket weaving forums and poo in the loo botnets isn't? I only gave you the option because you seemed too retarded to act without it.
Anonymous No.106902589 >>106902706
>>106902539
>>106900922
You were wrong about Japan having a site for cc0 assets. It never existed, probably got it mixed-up with one of your animes.
You're probably going senile.
Anonymous No.106902663
>>106900922
Okay, guess I'll just try making shit myself
It'll look like shit tho
Anonymous No.106902706
>>106902589
nice bait, but I ain't spoonfeeding you
seethe more desu
Anonymous No.106903431 >>106903598
huh... horrifying
Anonymous No.106903598 >>106903630
>>106903431
>alice model
Are you making a khlike or something
Anonymous No.106903630
>>106903598
no, I was just testing my model loading code
found it on a cool website, models.spriters-resource.com
Anonymous No.106904325
A subtle bug that had been slowly degrading a subset of my textures up until now. In the video, I made the editor reload the texture after every save and saved changes repeatedly. The strange pixel deterioration is caused by the premultiplication/demultiplication phase. You see, the color channels are stored as 0-255 range integers, so I must convert them to float before applying/unapplying the alpha. I forgot to include a round() to the final result, so the RGB values were slowly getting floored away.