[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: images.jpg (40 KB, 479x417)
40 KB JPG
Installing DirectX7 SDK 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: >>109716990
>>
File: 765.jpg (96 KB, 1280x720)
96 KB JPG
>>109779824
>tfw ywn see this kind of quality jump ever again
>>
File: 432.jpg (51 KB, 640x480)
51 KB JPG
why arent you making a retro game engine that will run only on Win95/98 ?
>>
HMMMMMMESH
>>
>>109779858
>>>/g/sqt/
>>
seems like this general is pretty much dead. What would revive it? Where did the passion go?
>>
>>109781031
I'm working on some big stuff that's not ready to show so I just lurk here sometimes but you're not wrong. I suspect I'm not the only one.
>>
>>109781031
AI.
>>
File: file.jpg (946 KB, 1440x1780)
946 KB JPG
>>109781031
I have been spending the last weeks trying to make a game similar to pic but fuck art is hard. I think there is a similar game already but it has bigger scope not city levl autism.
>>
>>109781031
Don't know if it's the kind of answer you were searching for, but as someone new to game programming, the reason I started lurking a month-ish or so ago was to learn new stuff. And the reason I never post is that I still don't know enough about the subject for my opinion to be worth shit.
Knowledge is hard to come by, there are almost no decent books on the subject of game architecture and the only other source of information for newbies nowadays seem to be one of those 500+ hours youtube series.
Maybe expanding the compendium and the wiki could be useful? At the very least it could spark some discussion about what to put in it and what newbs should avoid.
>>
>>109781031
The sister /agdg/ seems very busy.
>>
>>109781836
is it because you can just slop together anything without making any effort now but to do actual engineering and game engine stuff takes effort and nobody wants to put in the time to do it properly?
>>
>>109781031
nah its okay
>>
File: 1783301361447543.png (51 KB, 780x670)
51 KB PNG
I just grabbed a library for a bunch of common geometry operations (such as intersections of polygons) and suddenly remembered how blessed we are in this modern world of open source. Not only did math devs figure out and implement all the logic, but they also created a library around it and just gave it to everyone else to use. Without this little piece of code, I would be fucked trying to implement any of these calculations myself. Thank you, open-source anons, for supporting my retarded ass with the real programming that I am unable to do.
>>
>>109779842
Why did hos face get censored in dx9, what'd he do
>>
>>109782444
checked
>>
>>109782207
Based
>>
>>109782444
Thats motion blur also checked
>>
>>109782207
Damn, i wrote my own
>>
>>109781031
burnout is pretty common in gamedev, and now even more so with all the AI noise. people just unplug, even those who were truly passionate about this trade, and programming in general. the game industry being in the shitter certainly doesn't help either.
>>
>>109782207
It depends on what you want to do but most things can be done via rectangles in 2d and spheres in 3d and ray casting.
>>
>>109781031
i don't post progress anymore cause AI just makes it feel kinda pointless. i'm still happily trudging along but the urge to share with others is basically gone for me at this point.
>>
File: file.png (2.37 MB, 2012x803)
2.37 MB PNG
it fuckin works
>>
>>109784611
Has anyone played an ai game that's been fun for more than 10m? Even if people use ai they still have to put the effort into making it good, that's the bottleneck.
>>
>>109781031
This general was never alive
>>
>>109779858
I miss this game, wasted too many hours in the map editor
>>
>>109784655
QRD?
>>
>>109779858
Thought I was the only one who ever played this.
>>
File: file.png (165 KB, 1127x726)
165 KB PNG
>>109788361
I'm working on a first person dungeon crawler. This is the dungeon generator, inspired by DungeonMaker's design, but ultimately heavily modified.

It's got a builder system that can semi-randomly create features.Each feature creates a series of 'sockets' which then inherit the builder's traits. One of those sockets then continues the builder's lifecycle, and the builder decides what they should build. For example, a hallway, a junction, a ramp, a loop, or a join. These features are then also changed based on the build size of the builder. When a builder reaches its maximum age, it dies, and the sockets it created are queried to see if they are now 'child' builders that inherit their parent's traits.

For meshing I am using hierarchical instanced static meshes with nanite static mesh displacement for lots of detail.

I've also created a main path, as well as bottlenecks.
>>
File: eeeehe.jpg (35 KB, 309x260)
35 KB JPG
>>109781031
The world ran out of suckers for an idea as moronic and doomed as a 4chan gamedev community, a place where you have nothing to gain but plenty to lose.
>>
After the C vs C++ discussion in the last thread, I started reading about both languages to be sure I understand the implications of choosing one over the other.
Speaking of pure C, why do I hear people say to avoid dependencies on the C runtime library? Do you do that?
>>
>>109789636
libc is everywhere and basically unavoidable. most compilers are lazy and force it as a dependency to allow your program to even initialize things like argv/argc from main, for example

the reason to avoid it is just because it's dated and barebones. you really need to build up your own dependencies when you use C. this is both a strength and a weakness. macros are dated dogshit though, unironically consider a modern C memelang like odin instead
>>
>>109789783
>the reason to avoid it is just because it's dated and barebones.
I get the reason why people, for example, ditch the null terminated strings and make their own string libraries.
What I don't understand is why they refuse to use stuff like stddef.h or stdint.h if, like you've said, you still need the C runtime library for crt0.o.
>unironically consider a modern C memelang like odin instead
Should I really?
>>
>>109790845
The only reason to avoid stdint.h is if you are stuck on C89 for some reason. I know some people deliberately use C89 because they think it makes them more hardcore or something, maybe that's what you're referring to.
I can't think of any reason why you would avoid stddef.h.
>>
>>109789636
nothing wrong with the C standard library.
the only problem with the C standard library is bloat autism, so maybe wasting a few megabytes if you statically link the C runtime on windows (note that every single C/C++ program pre-installed on windows uses something called a hybrid UCRT which only statically links the VC++ runtime but keeps certain C functions like malloc/printf dynamic, that's why the VC++ runtime is not preinstalled on windows even though most programs are written in C/C++, and static linking the UCRT usually increases the binary size by a couple mb depending on the functions used, total size is 15mb, but the entire VC++ library is like ~300kb in total).
You should just look at the DLL's that you exe depends on, which many tools can help with, but if you have a non-home edition version of windows 10/11, you can enable windows sandbox which is a lightweight VM of a fresh windows install, so you will know exactly how a program will behave on another PC with nothing installed.
>>
>>109790845
>stddef/stdint
they do use those things. you would only avoid stdint if you’re trying to make your software maximally portable to all compilers and target platforms. something that is extremely niche in 2026 when everything is 64-bit and no one is using esoteric 30 year old compilers for forgotten hardware. no one sane is strictly adhering to c89 anymore, at a minimum they’re using c99 headers and features

>Should I really?
probably. some people have this weird desire to seek out “purity” and so they stick with C but the problem is C has a lot of foundational issues to begin with and they were never allowed to be solved because once you have standardized things, changes to the correct way of doing something will break existing code. so either you have something like C++ which is a franken monster of bandaids layered over bandaids or you have memelangs that never reach 1.0 because they don’t want to commit to writing implementation in stone and it being the wrong choice they’re now stuck with. you should probably learn C just because there is so much of it out in the wild, but at some point it really is worth moving to something more modern that has all the hindsight that C didn’t

odin, jai, zig and c3 are all worth at least playing around with
>>
Really is the blind leading the blind in here with people pretending C++ isn't the most practical choice
If you don't want all the bullshit of C++ try Odin
Don't use C
>>
>>109794029
Use Jai
>>
>>109794036
That's another option but it's closed beta
>>
>>109794036 >>109794049
>using blowjob's memelang
NGMI, just use a real language like Odin, Zig, C++, or even Rust
>>
>>109794058
if jai is a memelang, why are you recommending another memelang that isn’t as feature rich and literally stole all of its ideas from jai in the first place
>>
>>109794058
>Odin
Ok but doesn't over much over C.
>Zig
memelang
>C++
shitlang
>Rust
troonlang
>>
>>109794058
Zig is a memelang made by a dumb web dev full of dumb design decisions
Rust is a masochistic language, there's very few practical use cases for the borrow checker bullshit
>>
>>109794081
Beef.
>>
>>109794082 >>109794081
I agree. Still beats Jai tho.
sidenote, wtf is the point of making your own language/engine if your shitty sokoban clone you've been making for 10 years runs like ass. sub-30 FPS on a steam deck is unacceptable for a game that looks like that.
>>
>>109794107
He STILL hasn't come up with an excuse for this btw lmao
He said something about "yeah we're working on getting it performing better on low end graphics cards"
My PC can run Doom Eternal at 60 FPS and it can't run your Sokoban game that looks like it was made in 2010, and you spent your entire life bitching about performance
Dude is insane
>>
>>109794107
OtSS was GPU bound, not CPU bound.
>>
>>109794081
>Ok but doesn't over much over C.
good. C with a few flaws fixed like macro hacks, integer promotion and stronger primitive typing is practically perfection. my main problem with odin is that for that specific usecase, the compiler is getting bloated with tons of external libraries being included with maintained bindings and that just seems to violate the philosophy of “modern C replacement”
>>
>>109794125
They don't know what that means. If they had that kind of knowledge they'd already be using Jai.
>>
>>109794123 >>109794125
crazy for it to look like that and be GPU-bound. anyways the guy is clearly full of shit so I wouldn't touch anything he makes with a 10-foot pole
>>
>>109794125
how is that an excuse

>>109794129
you're bikeshedding
>>
>>109794144
>you're bikeshedding
compiler technical debt is real. if all the compilers in the world vanished overnight, the guy who wrote everything in C and maintained his own dependencies would be up and running again in a matter of months if he had to write his own compiler. as an extreme example, imagine if he had written it in C++23. there would be no hope
>>
>>109794171
>if all the compilers in the world vanished overnight
stop being a fucking retard
>>
>>109794171
your hypothetical is retarded but even beyond that what you're describing is more of the standard library not the compiler itself
>>
>>109794178
what happens if jangafx goes defunt and gingerbill jumps out of a building? what happens if jonathan blow gets hit by a bus? these compilers would have to be maintained by other people or rot and die

a c compiler is always going to be there, for every environment imaginable and you can set your own constraints to be as portable as you want. C is just the best way of immortalizing software, objectively

>>109794183
the hypothetical isn’t supposed to be serious. it’s just a thought exercise to recognize the scope of the machinery your software actually depends on and weigh how much QoL you’re getting in return for it and if that is actually worth it or not when scrutinized
>>
>>109794265
>a c compiler is always going to be there, for every environment imaginable and you can set your own constraints to be as portable as you want. C is just the best way of immortalizing software, objectively

this is just retarded. as long as it can be compiled it's "immortalized". you can still run software written in the 70s from languages that no one uses anymore. all you need is the source code or binary to run the compiler.
>>
>>109794265
code doesn't rot
>>
>>109794081
Odin and C have very interesting tradeoffs imo. C is more mature, reliable, proven, has compilers for every platform under the sun. But also stuck with some poor, archaic decisions. Programming in Odin is much more comfortable, with lots of little refinements and details based on years of observations about how smart people actually write programs and reason about types and memory. But it uses LLVM, doesn't have broad platform support, and even though it's relatively stable for a young language, it's still a young language and niche compared to C.
>>
>>109794318
>But it uses LLVM, doesn't have broad platform support
who cares?
so many fucking bikeshedding nodevs in here
>>
>>109794331
>who cares?
Some do, some don't.
Are you too stupid to understand the concept of a tradoff? Or do you just spend all your time online shitposting about languages?
>>
>>109794548
There is no tradeoff
Any platform not supported by LLVM is irrelevant to you
>>
>>109794657
Odin's platform targets are constrained by more than LLVM.
>>
>>109795251
I'm sure that doesn't affect you in any way
>>
File: file.png (16 KB, 342x328)
16 KB PNG
>>109794029
See the light use beef
>>
File: tilemap_ed_draw_test.webm (1.28 MB, 1700x978)
1.28 MB
1.28 MB WEBM
I'm making a game with tiled graphics but decided to do my own little tilemap editor because I was doing them by hand and it sucked a lot. Still needs a lot of features but the core works.
>>
Three.js Chads won.
Web Dev Chads won.
Vibe Chads won.

You trannies lost.
>>
ok, but who asked
>>
What editor do you guys use? I'm currently using neovim. Every once in a while I like to test other editors instead of working on my engine.
>>
>>109789636
>>109790845
The (ISO) C standard library is actually pretty small when you really look at it.
A good chunk of headers are just definitions, some memes related to keywords, some floating point crap you won't use except maybe pow(), and a bunch of decently niche stuff that you won't use most of the time.

- Anything touching locales in a trash fire
- Part of that, anything touching text-encoding is a trash fire. FINALLY they're adding non-locale affecting encoding functions in an upcoming standard.
- The I/O functions are generally pretty good (except that parts that overlap locales).
- The allocation functions are fine, despite what some autistic schizo might claim.
- rand() is shit, but if you appreciate that it's shit, then it's fine.
- atomics are good
- threads are whatever, fine for a lot of basic cases
- Say what you want about C strings (skill issue) but a lot of the string functions don't work in a particularly helpful way.
- Some functions have implicit global state (e.g. strtok) and should be avoided.
>>
>>109797201
neovim or zed because its easy to setup keybindings lite-xl when I just want to jump around and read the code from a third party.
vs code is fine if you setup seperate profiles for different languages.
>>
File: review brah giovanni.jpg (306 KB, 1920x1080)
306 KB JPG
>>109797201
emacs -nw
>>
File: 1783447006534202.png (144 KB, 512x356)
144 KB PNG
>>109797201
I use VS Code and windows 10-desu.
>>
Three.js con was fun.
>>
dead general dont die before I post progress.
>>
File: brave_ygaRSy624O.mp4 (1.04 MB, 870x664)
1.04 MB
1.04 MB MP4
Prog
>>
>>109798423
what does -nw get you over the gui emacs?
>>
>>109784655
noice
>>
>>109794171
And the guy that wrote FORTH would be up and running in days at worst.
>>
File: 1758998957546455.jpg (31 KB, 456x320)
31 KB JPG
>got a new job
>no progress in 5 weeks
Finally getting back into it bit by bit now I guess.
>>
>>109802117
color palette from your terminal emulator
>>
>>109788964
Make the gameplay like Arx Fatalis.
>>
basically if I see a dev trying to make a big deal about not using ai I just assume that
1) he's transexual
and
2) he's trying to use the lack of ai as an excuse for the quality being shit
>>
>>109804415
AI is neat for deepdive googling shit (with a lot of mistakes), but I think the product is the AI, not the games that it could theoretically code.
I don't think that the future of generative AI/AI coding assistance in games is going to be in the shape or form that you want it to be.
I think everyone is going to get a personalized experience through the help of AI, and it's just going to be a feedback loop where the AI has cracked the code to our dopamine receptors because it can scan your brain or something.
https://en.wikipedia.org/wiki/Experience_machine
Of course, people will reject the machine, everything that gives you dopamine is a drug and it can quicky switch from you being in control of your destiny, to you being controlled by a source of dopamine.
I think we are probably going to have a ideas guy's wet dream machine, where you have a game that's already pretty fun and replay-able, and then the AI can just add or remove or change anything that you desire about the game, then people can just share and vote.
>>
>>109779842
Indeed. Everything after picrel has been a downgrade.
>>
>>109779858
>only on Win95/98
If it runs on 98, chances are it will run on XP... How would one even go about ensuring that a Win98 game wouldn't run on anything newer?
>>
File: capture-333648.jpg (1.26 MB, 10000x2105)
1.26 MB JPG
>>
>>109800323
The writing is on the wall. There's no point in making a new niche indie engine when vibers can just do our years of work in a day with three.js. It's legitimately over for indie engine devs. If only we listened a few years ago.
>>
>>109806623
>we
larping jeet
>>
>>109806707
You can tell by the fact he mentions three.js.
>>
File: file.png (135 KB, 587x661)
135 KB PNG
>>109806726
>>109806707
Three Chads won, little pussy faggot BITCH!!!
>>
>>109807487
you cant be a chad if you program in js
>>
File: file.png (100 KB, 577x531)
100 KB PNG
>>109807502
Sorry little nigger boy, I can't program at all. I just type what I want and the robot does it for me.
>>
>>109806707
>jeet
It's probably the bosnian retard.
>>
>>109807523
same thing
>>
>>109807487
I don't even want to play actual GTA6, why would I want to play le vibecoded GTA6?
>>
>>109807748
You lost, tranny.
>>
>>109807752
I hardly see what me being transexual has to do with anything
>>
>>109807777
he doesnt understand how insults work, he's a jeet
>>
>>109807511
>>109807487
You've had about 2 years of being 10x (or more) due to AI. Could you show the 20 years worth of projects you or anyone else has completed with that boost?

Thanks.
>>
Does anyone here have good resources/tips on how to cleanly separate the platform layer from the rest of the game?
I'm using SDL3 and things went haywire when I started trying to implement hot reloadable code.
I've tried moving away from a game that constantly calls the platform towards a platform that controls the game loop, but it didn't work out as well as I had hoped.
As for why I want the separation: autism, I think. I don't see myself using a different framework anytime soon but I'd sleep better knowing I could if I wanted to.
>>
>>109809419
depends on your lang
>>
>>109809429
It's [spoiler]pure C[/spoiler].
>>
>>109809419
whats a platform layer?
>>
>>109809592
that's what you put in your platform directory
>>
>>109809419
wouldnt it make more sense to work on this backwards? I.e. look up how a rendering backend for microui/imgui is written? Afterall those are both platform agnostic.
>>
>>109809410
>could you dox yourself by showing your work that I could look up on github because you hurt my ego by calling us out

Digits and a nigger on crack saws this guy's legs off.
>>
>>109809713
rolling
>>
i want to get myself into 3d rendering programming, is the learnopengl book the best place to start?
>>
File: ItemChoicesDWidget.png (429 KB, 1466x378)
429 KB PNG
Cross-cross-post from the other dev threads, because I'm just that much of a thirsty loser.

Progress, but nothing terribly exciting.

Modeled a new treasure chest for one of the zones.

Finally got around to adding the ability to choose items within dialogues, went a little easier than I though it would once I got my head around it. Dialogue system was one of the first systems I wrote, so it's got a few bad / confusing code flows in it. Also wrote up the relevant behavior tree tasks to go along with it, mostly to check if player has items of type and remove selected items once used.

Also added a new system that automatically sets up traps on chests using a generic chest actor, so I don't have to make 6x of them for each zone. Added a new item that lets the player auto-succeed at disarming traps.

Additionally added some extra code to the weather management system that sends some flavor update text when the weather changes, both to set the mood and give players a warning of what the new weather is without having to check manually.

Next up is a few rounds of playtesting to catch bugs in all the new stuff I added, and get the wrinkles ironed out.
>>
in my video game homosexuality is normal and straight cis people are the weird creepy ones
>>
>>109810126
brave
>>
Before I render an object, I check to see if it's above the top of the screen by doing this:
>if (renderY < -height && renderY < -width * sin(rotation * pi / 180.0f))
If that evaluates to true, I do NOT render the object.
Is this a good method? The second term is bothering me.
>>
>>109810340
bro your depth buffer?
>>
>>109810349
i'm not nearly as smart as you think i am.
>>
>>109810374
my default when talking to someone on 4chan is to assume they're missing half a brain
so no worries
>>
>>109809419
>hot reloadable code.
this is a gimmick, stick to just having a save/load system, and you can just load a save by running the game in the IDE to speed up iteration.
the fact that you need to compile your code to update it, makes it not very useful for hot-reloading (also msvc has hot-reloading built-in, but it is incompatible with address sanitizer which is why I never use it, and it has unavoidable issues that could mislead you).
At least with lua, you can just replace a global that represents the state of a module that is hot-reloadable, and anything referencing the old state will still work (BUT globals in lua are slower to access, it's good practice to cache globals into local values, which will then break hot-reloading). But lua offers no way to save the data into a file.
I guess technically, you can try to save your variables as 32bit offsets, and saving is done by just a memcpy of a big heap, but all your IO like timers, files, audio, GPU data, window data requires to be serialized (probably with indices to a table for each type), and ALSO no more function pointers (use an xmacro enum+switch), no char* strings (unless it's a literal AKA never stored inside the int32 heap), no stackful coroutines/fibers, no static global variables, no thread local variables, everything is now a int32 offset.
Plus address sanitizer, valgrind(linux)/dr memory(valgrind for windows), and memory sanitizer(linux) will become useless because it relies on hijacking malloc and knowing global variables (you can try to do explicit poisoning with asan however).
Also I don't see why you need to replace SDL3, like we mentioned in the last thread, if you replace SDL3, you end up with another C library that accomplished the same result as SDL3. You can replace SDL3 with another C library if you want, like raylib or glfw + webgpu or whatever is popular.
>>
>>109810340
>renderY < -width * sin(rotation * pi / 180.0f)
why the fuck do you have this?
>>
>>109809592
The part of a program that interfaces with the OS and abstracts it away.
Or at the very least, that is what I meant. I'm not sure if my terminology is correct, I'm new to this and learning as I go.
>>109809688
Not sure about this, a gui library and a game seem quite different to me, but I'll try to take a look around.
>>109810498
>this is a gimmick, stick to just having a save/load system
I don't know, having to serialize and deserialize stuff for the save system seems daunting too, but you're right on the fact hot reloading is full of limitations. I'll have to think more about this.
>Also I don't see why you need to replace SDL3
Like I said, it's the 'tism. I want my code to be well organized and as "clean" as possible.
>>
>>109810672
>The part of a program that interfaces with the OS and abstracts it away.
Why does that control the game loop?
>>
>>109810681
The idea is to have the platform layer being the executable that loads the game proper (compiled into a shared object). That way you can modify the game code and hot reload it without having to shut down the main executable.
>>
>>109810716
That's not what a platform layer is, you contridicted your own definition
>>
the platform layer is the API and the OS specific code you compile conditionally
>>
>>109810731
Thanks for the maieutics example, Socrates.
Some platforms, e.g. iOS, want to own the loop so that could be considered platform specific code, too.
>>
>>109810875
>Some platforms, e.g. iOS, want to own the loop
no they dont, i think you're confused
>>
i need gpt pro to finish my engine. i wish i had a job
>>
>>109807487
people keep posting this shit and have nothing to show for it
>>
>>109809419
>how to cleanly separate the platform layer
>hot reloadable code
handmade hero
>>
>>109810498
hot reload is absolutely not a gimmick, it depends on what type of game you're making. if you're making something where iteration without restarting isn't useful then sure. E.g. if you're making something simulation-heavy or an autism game (factorio, ksp, minecraft, etc.) then you can get by without it. but if you have a lot of fine detailed/authored gameplay it's an absolute lifesaver. I can't imagine going back to no hot reloading. Being able to swing a weapon, visualize the collision, make a change, and then just swing it again instead of having to restart with each change is huge. otherwise you end up with a bunch of hacky dev tooling to compensate.
>>
>>109812824
>hot reload is absolutely not a gimmick
It is
It imposes a ton of constraints, embed a scripting language or use a data driven architecture
>>
>>109812863
>It imposes a ton of constraints
just a single memory constraint
>>
lukewarm reloads
>>
>>109813132
No, you can only really reload function bodies
You can accomplish the same thing in a much cleaner way with scripts and data
>>
>>109812293
three has been retweeting games nonstop for the last month vibecoded in three. Define nothing to show for it. Because if you mean money, 99.99% of this thread has nothing to show for any of their games, everyone here is hobbyists. I'd wager after ad revenue more three.js people probably made at least a little bit of money than anyone here.
>>
>>109813241
>you can only really reload function bodies
so 95% of what constitutes a program? I have never found myself shuffling struct fields around constantly. most of the time you are changing functions, not data layout so that's an inconsequential issue

you can also trivially reload state over and over again with this approach too, not just hot reload code
>>
>>109813272
>Define nothing to show for it
shipping a good game

>Because if you mean money, 99.99% of this thread has nothing to show for any of their games, everyone here is hobbyists
the onus is not on me to prove people are capable of making games the same way they have since the beginning, the onus is on you faggots to back up your wild claims like
>"a solo dev can make GTA6 now!"
no, the equivalent of a shitty, unfinished mobile game doesn't meet the barometer, sorry
>>
>>109813273
It means all you can do is tweak values but tweaking values is better accomplished through data because you can enforce clear boundaries and write tools that manipulate the data for you
>>
>>109813299
>It means all you can do is tweak values
no it doesn't, you can write entirely new functionality too, but even if you wanted a separate way to tweek values that is "more organized" than through code, you can still do that too. that's not a mutually exclusive thing

hot reloading just gives you a lot of mileage for not a lot of effort assuming you follow the memory constraint from the start
>>
File: file.png (169 KB, 878x1200)
169 KB PNG
>>109813289
No one here has shipped a good game ever. Or an engine used in a good game ever. At most a few people from /agdg/ has shipped games people played. At most the guy from /wdg/ who shipped Agar.io has has more influence than you ever will and popularized .io games. You've done nothing and never will.

>a solo dev can make GTA6 now!
You're putting words in our mouth so you can get mad about it. I never claimed that. Your anus of proof or whatever is based on your own strawman.

I simply said years ago three.js would explode due to webGPU and AI and you faggots seethed about muh web dev, and claimed it a toy because your goofy Odin or raylib memes only used here or whatever was supposed to be the future. Except I was right and you all were wrong and now I'm here to laugh at you. At the end of August, they had 15m download in a week and people are pumping out content left and right while you do nothing in life. YOU LOST!
>>
>>109813318
>you can write entirely new functionality too
you can't hot reload changed data structures or even new functions in some langs
>>
>>109813320
>No one here has shipped a good game ever
irrelevant, again, the onus isn't on me. can you not follow basic logic?

>I never claimed that.
the image in the post I was literally replying to did you stupid faggot
>>
>>109813326
Wow, it's a good thing the iteration process does not involve changing changing data structures 95% of the time. You have a new idea, you add a new field to some fat struct and you only fully recompile the first time. The rest of the time hot reloading is spent building and iterating on the actual functionality around it.

>or even new functions in some langs
Don't use a shitlang.
>>
>>109813337
I'm here to laugh at people in this general for shipping nothing while three.js Chads stay winning, I don't give a fuck about your anus you homosexual.

>the image in the post I was literally replying to did you stupid faggot
No, the three.js poster was talking about a guy who was talking about unreal. Learn to read you blind nigger.
>>
>>109813350
You can't implement new functionality without changing data structures or function definitions
What you can do is tweak values like the jump height or an animation or whatever, but that's better accomplished using data
>>
>>109813353
>im here to shitpost and add no meaningful discussion besides AI demoralization
noted, I'm ignoring you now
>>
>>109813361
>without changing data structures
I just explained to you how that doesn't really effect the iterative process in practice with hot reloading.

>or function definitions
Now that's just not true.
>>
>>109813375
The only programming work that doesn't involve changing data structures is tweaking values, what you call iterating
When I'm writing new code designing the data structures is most of the work, writing the code that modfies them is just the boilerplate
>>
>>109813390
>When I'm writing new code designing the data structures is most of the work
I invite you or literally anyone to look at any codebase in existence and tell me how much of it is struct definitions and how much of it is actual fucking code that has to operate on those structs. What you're saying is so divorced from reality I don't really know what else to say. The process of changing input data into output data is what constitutes the essence of a program. All the work it does for that transformation to take place and all the problem solving to get there is where the vast, vast majority of the labor comes from. The data layout does change during that process, but it is a very small part of it in terms of overall work on the programmer's behalf. I've never seen anyone try to argue against something that is so obvious to me before. This is like the sky is green shit.
>>
>>109813435
It's got nothing to do with lines of code, when you're working on new code and iterating on it you're CHANGING the data structures you made to feel out the program
I can bring it back to your initial example of using hot reloading, changing a hitbox or an animation timing, that's design work not programmer work, you can use hot reloading for that but I think it's better off if you export design work to data / scripts
>>
>>109813454
bro, if I suddenly need to start tracking a new vec3, I'm adding it once to the struct and then the other 99% of my time is spent writing handling code to actually do things with it. There are times where I can simplify and remove terms or think of a smarter way to do something, but it's not some constant thing where I can't reason about what to put in the struct and it keeps changing. that's just nonsense
>>
>>109813503
I've been programming for 30 years and I'm modifying data structures most of the time I'm working with code
>>
>>109813514
>most of the time
If most of your time, as in more than 50%, is spent adding or removing fields to structs and not figuring out how to change the data from one form to another and writing the code to do that then we are in two completely different worlds.

agree to disagree I guess
>>
>>109813529
Obviously most of the code anyone writes is functions but as you're writing your program and designing new functionality you are creating data structures and you're changing them as you learn more about the program
I can't think of any situations where the data is known upfront and then you just have to write a bunch of functions, unless you're creating content which is what we've been talking about
>>
>>109813543
The data changes, but not enough to even make it an annoyance when using traditional hot reloading. You are arguing it's this constant thing that consumes most of your time and I just can't see what you're talking about.
>>
>>109813553
The point is you can't make significant changes to your program and hot reload it
The only time you need to tweak -> compile -> test -> repeat is when you're doing game design related tasks
>>
File: 1745897866274114.gif (2.36 MB, 300x220)
2.36 MB GIF
In the context of games, aren't you normally talking about hot-reloading level data etc, not actual core engine shit?
Setting it up so you could actually hot-reload that kind of thing seems like way more trouble than it's worth.
>>
>>109813585
They're talking about code so core engine shit
>>
Three.js Chads STAY WINNING
https://x.com/codetaur/status/2099236759825707232
>>
>>109813320
Ok but what if I don't care about slop?
>LOOK LOOK HOW MUCH SLOP THIS PIPE PUSHES OUT! ISN'T THAT AMAZING? THE PIGS LOVE IT!
Ok?
>>
>>109815402
Don't (you) me no game. Don't ever fucking (you) me. You're below me.
>>
>>109815451
t. subhuman who has spent several days trying to justify his slop to others on an anonymous imageboard
You're not going to find acceptance here.
>>
>>109815501
I don't want your acceptance. I want to laugh at you all. YOU LOST TRANNY!
>>
>>109806623
I like learning however.
>>
>>109815602
Us web devs are going to hold your mouth open and fart in it! WE FUCKING RUN THIS BOARD!
>>
>>109812863 >>109813241
those are all language implementation constraints. I'm using lisp and have native hot reload, I can recompile my classes or make new function definitions and it's not an issue.
>>
>>109813299
also this "enforce clear boundaries and separate between data and logic meme" is only good if you're making a cookie-cutter asset dump game. In my case data IS logic. If I wanted to make everything data, I'd end up with a pseudo scripting language anyways, or end up with a massively bloated schema because every other item has some unique functionality.
>>
>>109813558
the argument is you're not making significant data layout changes 90% of the time you're iterating
>>
File: 1788471647090549.jpg (16 KB, 221x246)
16 KB JPG
>>109815513
Ok, show us your game that "won".
>>
File: burgers.png (38 KB, 500x501)
38 KB PNG
>>109816052
you're responding to the bosnian shill bot, anon
>>
>>109779824
>>109781031

Am I good to shill my game here? Please wishlist and look forward to the demo (slated currently for release Oct 15th, gonna be participating in Steam Next Fest).

Yes, I am aware this is horrible timing due to Ace Combat 8 coming out Oct 2nd but I planned on this rough timeline (demo release in Sept/Oct) before that release date was announced, and I'm kinda time-constrained because if I don't get support for the game I'm going to have to go back to having a normal job.

https://store.steampowered.com/app/4484890/ASTRIDER/
>>
File: PE101-v1.jpg (1.71 MB, 4276x3184)
1.71 MB JPG
>>109813375
>Now that's just not true.
No he's right, if you change a function you will change the offset of the memory layout of every single function afterwards.
But of course, you can use msvc's hot-reloading which is black magic.
But if you are talking about lua, it does kind of work fine. But you get zero data (it's technically hot-reloading because you are changing the code without restarting, but in some ways it's not hot-reloading in the same way as msvc's hot-reloading).
At least lua doesn't segfault, data and functions act are reference counted, and it's possible to work around the common issues of serialization in a hot-reloadable lua file, BUT you absolutely cannot hot-reload the whole program, just the file that is carefully crafted to be perfectly decoupled from the rest of the code (which might be fine, if your game NEEDS a load/save system, the hot-reloading serialization system will just share the same code as the load/save system, I think?).
Similar to lua you can load a DLL but you get no data (msvc's implementation is very complicated, you can't do it without low level changes to everything), so you can attempt to decouple everything and essentially use it like a plugin, like lua (but most DLL plugins I've seen just act like static DLL's but optional, so you still need to restart the whole app to use it), also in windows, you cannot replace a DLL that is currently loaded, so you must unload the DLL first which is a little bit annoying, so you need to add an extra step (but windows has msvc's hot reloading, so doing this on windows is absolutely pointless anyways).
>>
>>109816529
I don't think anyone minds you posting here, especially progress, but if you're going to shill it does it use its own engine?
>if I don't get support for the game I'm going to have to go back to having a normal job.
Start working on those job applications. Maybe 1 in 3000 games make enough money to sustain a full time salary, and you're competing with AC8/PW2. Hope you're not located in the first world.

Trying to make it on indie game dev is always a bad idea, it just ends up giving you big CV gaps and it fails for 99.99% of games. Always work on it part-time.
>>
>>109817312
Yeah, built my own engine in Zig. I've been applying to a bunch of places for a long time but apparently fifteen years in the industry isn't good enough suddenly. And yeah, first world.
>>
>>109817360
>Yeah, built my own engine in Zig
Wishlisted.
>I've been applying to a bunch of places for a long time but apparently fifteen years in the industry isn't good enough suddenly. And yeah, first world.
US? Either way yeah the odds of making enough money to fund another (potentially longer) dev cycle is very slim even outside the first world so don't go counting on it.
>>
File: file.png (23 KB, 703x165)
23 KB PNG
>>109817360
Lmao @ Ur life. Even Bun doesn't use Zig anymore and it was already a dogshit meme ripping off uws.js to fake speed tests. Just take the three pill, ascend past the losers and dorks in this thread. They're gonna be making toy renderers for the rest of their lives instead of adapting to the future.
>>
>>109817417
Thanks! Yeah I figure I'll have to go back to something else.
>>109817622
The whole original point of the project was to learn something new that's closer to the metal, and I chose Zig because I don't like Rust. I don't give a shit about Bun, I'm not a frontend guy, and I actually like Zig, it performs quite well for my purposes. 400+ fps with volumetric clouds and 100km terrain in every direction is quite good.
>>
>>109818103
Clearly you don't like having a job either faggot. Enjoy your toys while I enjoy going 120 in the lambo with my favorite latina prostitute. WEB CHADS FUCKING RUN THIS BOARD, PUSSY!
>>
>>109818103
Don't reply to the AI retard.
>>
>>109815719
>also this "enforce clear boundaries and separate between data and logic meme" is only good if you're making a cookie-cutter asset dump game
no, you want clear boundaries between code and game design, that's the best way to program games
>>
>>109818313
it's definitely a *clean* way architecturally to program games but it's not conducive to experimentation and game design, you just end up locking yourself into a schema early on. Which can be fine if you're making an RPG every item can be expressed in a .csv or something but if you're making something more authored it just sucks, you almost always end up invariably needing scripting or recreating it it in some shitty form.
It's also only the "best way to program games" if you're using a shitty restrictive programming language. Which is sometimes what you're forced to do in vidyadev but if you're already using e.g. lua there's basically no benefit to trying to schematize all your game mechanics. Keep it free flowing in the places it makes sense to.
>>
>>109818363
I'm saying you should have an engine layer and a gameplay layer, the gameplay layer can include scripting languages like lua it doesn't need to just be a big data file
>>
>>109818400
>engine layer and a gameplay layer
Actually a better way to put it is a program layer and a content layer
Content is things like art, levels, animations, entity prefabs, cutscenes, dialog. The stuff artists and designers create which is more subjective and iterative
>>
>>109818400
This is possibly the dumbest and most incorrect opinion I've seen here this month.

Splitting the engine and the gameplay layer is a horrible idea for any indie, it only starts paying off at large scales when you have full fledged teams of artists etc that need it and even then you want visual scripting, not regular scripting, or you'll be maintaining all the shit code written by non-programmers anyway. You absolutely do not want a scripting language as a solo dev or a small team in your custom engine, that's a huge time and effort investment for little to no payoff and probably the dumbest decision one can make in indie enginedev.
>>
>>109818525
Embedding a scripting language is not hard and not even strictly neccessary because most things can be done with plain data
You can embed lua into your program in 30 minutes
>>
>>109818493
>>109818525
Both of you little pussies are wrong. You should have a renderer and no engine. Three.js. but you're both hobbyist jelly niggers and will both die alone and poor.
>>
>>109818564
fuck off webdev
>>
>>109818543
>Lua
And you faggots have the nerve to talk about javascript. How about I embed my dick in your throat?
>>
>>109818566
That's web Chad to you, broke nigger.
>>
Reminder everyone in this thread is poor and wishes their toys could make them money like us Web Chads.

Reminder you're posting on a WEB site and not a shitty indie game.

Reminder Web Chads run this fucking board, broke pussy NIGGERS!
>>
>>109818576
Lua is a superior language, though. It is close to perfect.
>>
>>109818812
not statically typed
1-based indexing

It's a good baby's first language though because it's very simple and small. I would use it if I needed a sandboxed environment for modders to do as they please but I wouldn't actually program anything in it
>>
>>109819663
>1-based indexing
baby duck issue
>>
>>109819664
It isn't. Lua was my first language almost 20 years ago. 0-based just makes reasoning about offsets trivial and reduces off by 1 errors. Oh yeah, and you can't even use operators like += for some retarded reason. Also, metatables make code more difficult to reason about.
>>
>>109819676
>reduces off by 1 errors
With 0-based indexing you have to do Length-1 to get the last element
With 1-based indexing you just do Length
So the opposite is true
>>
>>109819682
>inclusive ranges are less error prone
>bro has to do (end - being)+1 to compute a substring length
lol, ok dude
>>
>>109819764
Some operations require +/-1 with 0-based indexing, some require it with 1-based indexing
The most common operations like getting the last element are better with 1-based indexing
>>
>>109819801
Getting a last element is a trivial operation to understand, and it's not even the common one. The common thing is just iterating, where with 0-based indexing you're just doing i != Length. Regardless, operations that are even just a little bit more complicated, which are the ones we should really be thinking about making as easy as possible to understand, like computing ranges, get more confusing with 1-based indexing and it's just because the range becomes inclusive. Inclusive ranges are just dogshit to work with generally.
>>
>>109819867
all these operations are trivial it's just a question if you have to type +/-1 or not
most of the time you're not working with ranges
>>
>>109819663
>>109819676
It's open source, you can patch it. In fact, there are already zero based index patches out there.
>>
>>109819663
>not statically typed
Good.
>1-based indexing
I know. It is perfect.
>>
File: 1767543846493131.jpg (45 KB, 418x338)
45 KB JPG
Post triggers
>for (int i =0; i < count; ++i)
>++i
>>
>>109821894
increment i makes sense over i increment
>>
>>109821894
That one is the more logical version though.
>>
>>109821894
using i < count instead of i != count
>>
>>109805094
Implement protection that works similar to Denuvo, but just to check what OS it is.
>>
Debating between Unreal and Unity
I might wanna try the unity toon shader, which is harder to do in unreal?
But unreal has better control of animation and rigging and especially within unreal rather than an external pipeline?
>>
>>109821894
I have a lot of code/dev icks:
>auto or similar functionality that obfuscates the type
>C++ std monstrosities that make it look like a different language
>template metaprogramming
>actually just 90% of modern C++ really
> if (x) code; (most commonly it's something like if (x) continue;) instead of proper brackets and newlines
>"smart" pointers and general fear of raw pointers, pointer arithmetic, and raw data
>anything more than sparing use of libraries and third party code
>indies thinking their engine needs to be a generalized engine like Unity/Unreal (somewhat) clearly separate from their game when they're making a 2D platformer
>>
>>109822398
it's ok, i thought this in my first few months of programming too
>>
>>109779858
i pretended to be sick as a kid so i could return from school skiing trip faster to actually play more of this game
>>
>>109822398
>dislike everything that makes C++ good
why even use it?
>>
>>109822744
Who said I do?
>>
>>109822759
I don't see why would you bother to complain otherwise. whatever.
>>
>>109810340
Give the entities an AABB and update it when the rotation or position change, check the intersection between the viewport (or frustum) and the AABB; render if it intersects or ignore it if it doesn't.
No need to do exotic stuff an AABB is generally all you need; anything outside of the viewport isn't going to be assigned any fragments regardless so it's not a big deal if the AABB hits the viewport but the entity is technically not within it.
>>
>>109822037
>Cosmic ray bit flips your integer
>Loop runs 2^32 times
>>
>>109822879
>cosmic ray driven development
based, I like it
>>
File: 1770040788731312.png (1.03 MB, 1255x1080)
1.03 MB PNG
>>109822744
>that makes C++ good
>>
>>109822865
I use it at work, but I don't use it in my own project.
>>109822531
But anon, I have 14YOE.
>>
>>109822898
boomers who never progressed past basic ifs and fors are pretty common in the field. with some few exceptions, they're usually a nightmare to work with.
>>
>>109822879
That was debunked btw.
>>
>>109822920
Good. Sorry did I say you'd get a raw pointer? lmao my bad you're getting an offset and a count into a byte buffer.

Fuck your smart (trans) pointers and borrow checkers broccolihead, go eat a tidepod.
>>
I'm going back to C
>>
>>109824479
I'm sorry bjarne I didn't really mean it please forgive me
>>
How's SDL_GPU lads
worth using for a new 3d project?
>>
>>109822203
for license autism, use godot (but there is some sort of license for porting to consoles). It could support C++ or C#, but you should just follow the tutorials with the most quality and just port to C++/C# after you find a performance bottleneck (you might even just let an AI port it to rust for you, since I wouldn't trust AI with C++).
unity for RE modding (every single popular game released recently that has a huge modding community, is just reverse engineered unity games, it's great because usually mods = viruses, and sandboxing like lua is restrictive because some games enjoy adding features like "lovense vibration mod" which requires system permissions, or turning the single player game into a multiplayer game & etc, but since the community is hosting the files, they are liable for the damages, BUT this also means every update you make will potentially break some mods) and because C# (or whatever dialect of C# unity uses) is better than any other engine's language of choice (you can compile C# to C++ to increase performance and to make it harder for people to mod and reverse engineer the game).
unreal... it has replication graphs which might help with multiplayer? (still very low level, and blueprint heavy I believe), but you can't export a game to the web, unlike unity and godot (but obviously, there are lots of limitations with the web export, and generally the web games are always an inferior experience to native).
>unreal uses C++, that's why I want to use it
lol
>>
>>109781836
>sister
Dunno what changed here in the years after I stopped being a regular on /g/, but /gedg/ always had different goals from /agdg/, with aggy daggy focused on vidya development and this general focused on vidya engine development, so making a game without using Unity or Godot or something. Looking around at what's being posted in here these days, at first glance it looks like the main difference now is one using AI more than the other.
>>
File: 1280px-Vulkan_Logo_(Bug).png (87 KB, 1280x1031)
87 KB PNG
Haven't posted in here in forever. Is it still worth it to learn Vulkan if I'm intending to eventually find work with it beyond my personal vidya projects, or is it not worth pursuing anymore because everyone just has Claude fart out all their Vulkan code?
>>
>>109827037
Just make something that stands out and doesnt have unreadable shit code. That's how I got my job.
>>
>>109827251
>unreadable shit code
What I'm asking is if most Vulkan jobs now are people just shoveling shit out of Claude into their company's repositories, like how many enterprises are currently doing with their Java and webshit projects.
>>
>>109827324
>Vulkan jobs
what Vulkan jobs? there are like 10 jobs coding Vulkan in the world. and half of them are driver development.
>>
>>109827387
When I was unemployed last year I came across a few Vulkan jobs, they're either drivers like you said or helping to write simulations
>>
If I dispatch a simple noop compute shader my program(Vulkan/wgpu) just hangs. Debugger says it(CPU) is stuck waiting for a semaphore. If I create compute pass, bind the pipeline but not dispatch, it works fine. There is a clear_buffer command right before it and a graphical render pass after it.

Any ideas how can I debug this? Some program that could let me see what GPU is busy doing/waiting for? For linux preferably.
>>
>>109827546
Try Renderdoc
>>
>>109827558
What do I do with it? Can it even do anything if the frame never gets presented?
>>
>>109827546
https://renderdoc.org/docs/how/how_debug_shader.html
I'm not the other anon, But Uhhh... I don't know if you can actually capture if your code is deadlocked, I don't use vulkan or compute shaders.
That doesn't sound like a GPU shader issue, since your shader is a noop.
I think if you have an nvidia GPU, nvidia nsight might be better suited for cpu side vulkan issues? but I don't actually know (Nsight Systems or Nsight Graphics?), or if it has full feature parity on linux.
>>
>>109826076
I want to use Unreal because of the animation rigging retargeting and built in animation tools and ability to just slap some shit together for nice lighting easily.

Unity has C# which I'm familiar with. Unity has the toon shader built in, which I want to rip out some assets from Pokemon SwSh and knock something together as one curiousity I have which may suit a toon shader etc and afaik that's easier to work with in Unity while using those assets in Unreal might look weird? But it's not the only thing I want to do.

Ultimately it sounds like Unreal has more of what I want, but I'm not after hyper realism, just really nice lighting, atmospheric effects, and destructible things like a wooden fence or stone wall I can make destructible.
>>
File: out.mp4 (3.98 MB, 1280x720)
3.98 MB
3.98 MB MP4
>>109827558
>>109827993
Ok, I figured it out. I had an override variable in shader that defined size of compute workgroup, and the override value I've chosen went past the workgroup size limit I requested and wgpu/vulkan didn't really detected that and just UB'd or something.

I separated diffuse pass from the final draw pass and now I can do reflections.
>>
>>109828120
You should stick with unity, but honestly you should ask a different website that has people who are experienced with unreal + unity.
But also I would be worried if that website is full of posers (like this thread, including myself who doesn't use either unity or unreal or any experience beyond watching a couple tutorials / browsing documentation to see if I could do something or not but not fully committing to it).
Like I wouldn't be surprised if AI is able to tell you exactly how to get the same workflow using the help of some unity plugin or help your blender workflow or maybe it has the feature built into unity you just don't know it.
I know that there are AI models for retargeting a animation to fit a different character with different bone proportions to to make it look natural (this is probably not viable for procedural animations, I know that unreal has some fancy stuff for that, but I have only seen the code in blueprints as a VR body rigging project in GPL and it's kind of hellish and blueprints are known to be slow), But it seems like there are algo's that can retarget the animation with different proportions without AI. I believe mixamo is what you would use with unity, but it doesn't have procedural animations it seems. But I feel like procedural animation mostly just depends on which tutorial are you going to steal from, does the unreal walking animation in that tutorial look that much better than the unity walking animation in that tutorial? I dunno. There are probably 1000's of tutorials, and then you got games that just don't do it (or make it look jank) and are very successful.
>>
>>109825447
I'm gonna give it a shot, lads
>>
Bumping so the thread doesn't autosage.
Slightly related, been trying to scope an image editor (just color correction stuff) but the libvips WASM bindings are making me angery.
I might just have to build the image pyramid layer by layer going back and forth between OPFS and vips.
A specialized routine for building all of them in one pass would be way faster and make more sense, I suppose I could just have vips give me rows and I could do the gaussian downscaling myself but it's not entirely straightforward.
Loathsome modern webdev.
>>
>>109805094
>How would one even go about ensuring that a Win98 game wouldn't run on anything newer?
Rely on too much DOS stuff.
>>
>There's web devs with more impressive landing page games than your meme engines now

Grim.
https://x.com/threejs/status/2100224277064904830
>>
>>109831750
I really hate how it looks. artistically, definitely slop tier. still, technically pretty impressive. it would take me a fuckton of time to make manually.
>>
>>109831750
>let's make user wait 2 minutes to load the page
>let's make them wait 10s just to see next 4 words on page
>let's shit all over SEO and accessibility so the page never appears on searches
>let's trigger epilepsy to all
Good idea
>>
>>109831750
the guy literally animated everything manually by hand, the AI just strung the sequences together but if you see what he made in blender it looks the same as the site already
>>
>>109819801
>>109819889
>The most common operations like getting the last element are better with 1-based indexing
>most of the time you're not working with ranges
Retard.
What's common for you isn't what's common for everyone. It's far more common for me to work with ranges.

The only common class of scripting-tier problem where I find myself annoyed by having to subtract from 0-based indexing is spreadsheet columns. If I want to operate on the 2nd column and the 5th column it's 1 and 4 in the code. That's kind of annoying. But most of the time I'm not counting manually at all and so 1-based indexing offers no advantage.
>>
>>109795317
It does.
>>
>>109832400
He made custom Blender plugins to make it too.
>>
>>109819801
>Some operations require +/-1 with 0-based indexing
Give an example of that that doesn't involve "converting from 1-based indexing to 0-based indexing". I am yet too encounter any.
>>
>Browsers have Nanite and your shitty engine doesn't

Grim.
https://three-meshlets-z23hmxbz1jwlff.needle.run/
>>
>>109831864
>>109831918
>>109832400
Stop replying to the jeet please, if you deny him attention he'll likely end it all soon.
>>
>>109832798
Getting the last element. arr[arr.len() - 1]
>>
>>109782444
He's an American, you just know
>>
>>109832875
>If we ignore the Three Chads maybe they'll go away and stop rubbing their superiority in our face :(

T. gamelet enginelet nigger boy
>>
>>109832434
>What's common for you isn't what's common for everyone
yes it is
>>
>>109828234
amazing shit, is there room there for gamma correction or similar?
>>
>>109834123
>>109828234
picrel is merely destructive operation on photopea (online photoshop so to speak), so imagine if you did it properly, with 10-32 bits color space and so on
>but how?
Idk pham, figure it out!

>t.
>>109744197
>>109741108 (before)
>>109746300 (after)
>>
>>109834123
you're mentally ill
>>
>>109834218
>projecting this hard
>>
>>109834197
forgot the pic
>>
>>109779824
What does /gedg/ think about Rust and Go?
>>
>>109834271
don't pick go for game dev its maddening. Rust is fine if you plan stuff out and otherwise you have to refractor a lot. In theory c++ etc. all require the same as well but they don't enforce it at compile time. D is pretty nice.
>>
>>109834320
D without GC right?
>>
>>109834249
Looks like shit lmao three.js mogs the fuck out of it lmao
>>
File: 1614127060518.jpg (33 KB, 503x602)
33 KB JPG
>>109834249
is this correct, does it make sense? I think it does, I have very basic notions of digital imagery

what I did was bring the mid tones to the half of the histogram and the brights to the reasonable top, it's called gamma correction
>>109834748
cool seethe-post
>>
>>109834271
Rust is really good for engines, not so much for games per se. But it takes a while to get a good grasp of it to do big project like that.
Go is not useful for anything related. Unless you only know Go and need to use it and want to keep it simple like a VN or something. But there is really no reason not to use renpy then.
>>
>>109835020
>Rust is really good for engines
No it's not
>>
>>109835029
Works on my machine
>>
>>109835039
There are no Rust game engines lol
>>
>>109835042
>>
>>109835067
Obviously I meant there are no Rust game engines that anyone actually uses and are worth something, anyone can make a pile of garbage and call it a game engine
>>
>>109834249
not anon, but gamma correction has not much to do with banding.
it's very likely just an artifact of video compression (not just from exporting to to fit 4mb, it's possible the video source has a very low bitrate).
and his color is already gamma-correct, just look at the red and green color's blending into yellow, in a gamma-incorrect format it would blend into dark brown (ZERO yellow at all, not even a little bit).
All that you are doing is just changing the gamma curve of the output pixels, which is a "reversable" operation, unlike gamma incorrect blending, and many games implement it as a slider to adjust brightness.
IF you added that gamma slider as a post-processing effect, you "need" a higher framebuffer bit depth if you see colors being crunched.
But if you leave the gamma untouched (or you don't have any post processing that adjusts the colors, such as a bloom effect), and you use an srgb texture to store the color of the lighting, you will not have massive banding, because the hardware will convert the srgb texture data in/out of linear space for you.
RGB10A2/RGB9E5 might be better? I don't actually know if it's perceivable (I think RGB9E5 is only for HDR). But you may need a post-processing step to convert back to srgb, but post processing is what originally caused the issue so it's basically free.
I think most OS's support drawing to a linear back buffer? BUT I think this implicitly makes your application HDR, which will make it look ugly if you don't utilize it.
(side note srgb is very similar to ~gamma 2.2 and I heard that most monitors don't actually represent color in srgb, so unfortunately, storing your data in a higher resolution depth to use the incorrect gamma conversion is technically more "correct" on those monitors, because the hardware will use srgb instead of gamma 2.2)
>>
>>109835067
some of these have been out for a decade at this point and no one makes anything with them other than tech demos
>>
>>109835091
*Actually my bad, You should not use the srgb textures. On nvidia it blends the textures in fp8 linear (AKA the alpha transparency), and that's still how it's done.
Is this a critical requirement for lightmaps? I haven't bothered to use lightmaps yet.
>>
>>109835081
>>109835128
https://store.steampowered.com/app/2198150/Tiny_Glade/
https://store.steampowered.com/app/2286390/Tunnet/

Why move the goalpost?
>>
>>109835161
tiny glade only uses the ECS part of bevy. it's also basically a tech demo masquerading as a game. there isn't even gameplay it's really just a 3d editor.
never seen/heard of tunnet but it's something I guess.
>>
File: 4chan_arguments.jpg (35 KB, 447x447)
35 KB JPG
>>109835161
>>
>>109835091
I don't get much of what you just mentioned sorry, to me "gamma correction" is about representing light and shadow in a "correct" way, granted that I have no clue what that'd mean in real time CGI, and I can barely explain what it means in digital video imaging, honestly I'd say it's an issue mostly from CGI, since "wrong" gamma came as default, it has for years, and I don't know what it takes to correct it but it is indeed a thing, I've seen articles and vids about it, but that was 7 trillion years ago
>>
>>109835245
You think you'd know something about the topic given you've been trying to bring it up in unrelated conversations for years now
>>
>>109835091
>>109835131
This is ray traced, there is no hardware blending here. The banding is just video compression. Diffuse lighting is stored as linear 32bit int per channel per voxel(hashmap). Specular is calculated per pixel, combined with diffuse and stored to srgb 8bit int per channel per pixel (framebuffer). This is also not physically based so lighting model and BRDFs are arbitrary, the only brightness correction I do is multiply results by 16.0 (saturating) because otherwise there was just not enough light. I could make some sort of auto exposure setting probably.
The calculations are done in linear space and the final write to framebuffer automatically writes gamma correct srgb value which monitors can natively handle.
>>
>>109835252
well look at this:
>>109834197
it works...
>>
>>109835272
nta, ... the other guy here, it's not about banding specifically, it's about "correct lighting" which I suspect the boxes example is not handling, which imo, makes sense since it's something that either comes working out of the box or you have to figure out how to set up which might be simple but only if you know how
>>
>>109835296
>>109835252
the thing is that it is quiet complicated and technical, I can barely work my way around it in after effects and that's it
>>
>>109835320
>it is quiet complicated and technical
It's really not
You're just using a higher numeric precision to represent colors, that's all it is
>>
>>109835272
>>109835252
this is where I originally read about it
https://prolost.com/blog/aces
several posts, not feeling like fishing each one of them

here's an interesting vid that might help
https://www.youtube.com/watch?v=xuJJ5-Wii6Y
>>
>>109835336
if it was that simple CGI wouldn't have come up with the wrong approach for decades, and the one bringing it to the spotlight wouldn't be a cinema colorist
>>
>>109835360
>CGI wouldn't have come up with the wrong approach
It's not "the wrong approach", it's an approach used to save memory
>>
>>109835368
and it looks like shit
>>
>>109835371
All images you see on your screen are in sRGB, you only need to convert to linear RGB to blend colors correctly
>>
>>109835389
what's your take on 32 bits then?
>>
>>109835405
Colors converted from sRGB to linear RGB shouldn't be stored in 8 bits, you don't need 32 bits though, you could use a 16, 12 or even 10 bits
Floating point is probably best for HDR color, 16 bit or 32 bit
>>
>>109835417
when I worked with this stuff, mostly just footage composition and animation, which often involved lighting effects, the images were "normal" aka jpgs even, .movs at best, and what was actually 32 bits was "the project" aka you made the compositing and effects in a 32 bits project. there was another catch, to do it "right" you had to add 32 bits "effects" or the 8 bits ones would apply "destructive" modifications, meaning data loss and poor handling of overbrights and darks
there was an extra catch, there was no such thing as 32 bits vid, or if there was I didn't know about it (almost 2 decades ago), so you had to render those overbrights to an image sequence of special format, then import back as a sequence in 8 bits and then just render, bam
"simple" my ass
>>
>>109835437
It's simple if you have the mental capacity to understand abstract concepts and not get lost in the weeds of implementation
>>
>>109835452
>capacity to understand abstract concepts
yeah, it needs to be explained, which nobody did thoroughly just bits by bits, you've seen all it took, honestly just fuck them for not explaining it thoroughly
>>
>>109835417
>you don't need 32 bits though
I use 32bit because the results get aggregated over voxels. If the camera is close to a wall, there might be hundreds of thousands of samples atomically added together. Originally I wanted to keep it at 16bit and compact it on the fly if needed but it's finicky and I have lower hanging fruits to get first.
>>
>>109835482
>it needs to be explained, which nobody did thoroughly
look up linear rgb vs sRGB, there are several blogposts on it and it's simple to understand
>>
>>109835183
>there isn't even gameplay it's really just a 3d editor.
Didn't they write the first version in Blender? It's literally a Blender plugin that they ported to Rust.
>>
>>109835482
That's to be expected when you exclusively work in high level tools instead of implementing yourself in C
>>
>>109835510
isn't that what I just did here?
>>109834249
>Gamma Correction and Response: sRGB applies a non-linear transfer function (roughly a gamma of 2.2 to 2.4) that matches how human eyes perceive brightness, packing more data into darker shades. Linear RGB values are directly proportional to physical light energy, meaning a value of 0.5 emits or represents exactly half the physical intensity of 1.0.

>Storage and Bandwidth: sRGB optimizes limited 8-bit integer formats by preventing wasted precision in bright areas and avoiding ugly dark-region banding. Linear RGB requires 16-bit or floating-point precision to avoid severe quantization artifacts and banding in dark gradients
oh wait so linear RGB is OP, more info to go along

>Use Cases in Rendering and Shading: sRGB is used for storing final output images, color pickers, and displaying textures like albedo or diffuse maps meant for human viewing. Linear RGB is used for 3D rendering, blending, lighting calculations, and mathematical maps like normals, roughness, and metalness.
I see, I think this is the key when it comes to CGI


so this >>109834249 was a lossy sRGB to linear, so I assume you've got to tweak your render engine or whatever it is to work by default as linear, and give him like 10-16-32 bits or whatever it is
>>
>>109836088
Basically if you can afford the memory bandwidth you can just store everything in linear RGB and just covert it to sRGB for the final render to the screen
>>
>>109836088
on a second thought, maybe give textures 10 bits, and special VFX passes like lights maybe shadows, etc. a higher bit density to really work the "magic"
t. take it with a grain of salt I'm just theorizing
>>
>>109836101
yes, I thought about this step too
>>
>>109834249
how performant is this stuff nowadays btw? i was debating doing software ray tracing cause it looks cool but it'll probably make my game run like ass
>>
>>109836137
Voxel based ray tracing can be pretty fast. Teardown is fully raytraced. But it's a new frontier of graphics so there is no standard ways of doing things.
>>
>>109836177
>it's a new frontier of graphics
raytracing literally existed before rasterization
>>
>>109836312
Not real time voxel based ray tracing via GPGPU.
>>
>>109836366
all the princples are the same
>>
>>109836376
Not really. Voxel based ray tracing is quite different from mesh ray tracing. Both in terms of algorithms used and performance.
>>
>>109836391
raycasting against cubes or polygons are topics that have been researched probably before computers could even draw anything
>>
>>109836402
Agreed
>>
>>109834042
Getting the last element is not more common than accessing a range of elements, if you think it is, you are wrong.
Furthermore, many 0-based languages have first() and last() functions or some kind of syntax sugar for that special case.

The only other actual practical advantage for 1-based indexing is when you're using arbitrary integer literals to access specific elements by position. It's more natural to think of items that way. But that is definitely rare as the overwhelming majority of accesses in real programs are done with variables.
>>
>>109836704
it really depends
a range can be its own data structure in which case you're not specifying the end of the range explicitly
and you could be working with an inclusive range or an exclusive range
>>
>>109836088
The entire image is sRGB you can't just say part of it is linear.
>>
>>109836985
be more specific
>>
>>109836985
what I mean is
>look at the two gradients:
>>109836088
one is linear the other is gamma 2.2... or some bullshit like that
so I take the down one and spread its histogram kind of like the other one, I fucked plenty of information and there's massive data loss, however, the image looks more "real", or so it should.
you should do this, as stated before, in a 32 bits float space, where information wouldn't be shattered and lost
it's more complicated than that and I sure don't fully get it
but to make an example, it's like one image is "lit as according to physical laws" the other is lit in a "bad way", so take the wrong and make it right, something like that
>>
>>109837280
>it's more complicated than that
it's not
>>
>>109837318
you just love nay saying, be honest
>>
>>109837903
you're being retarded and overcomplicating it
>>
>>109838038
cool story breh
>>
>>109838100
Maybe you're struggling how to understand basic mathematical concepts like how if you're trying to expand an 8 bit number into a larger range you need more than 8 bits otherwise you lose information
>>
>>109838157
I bet u havent applied these concepts once in your whole life while I've applied them countless of times while ALSO getting paid for it
l8r retard
>>
>>109838331
If you've applied them why do you keep asking questions about it



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.