← Home ← Back to /g/

Thread 106292911

317 posts 100 images /g/
t. pogeet !!b2oSUmilA2N No.106292911 >>106293059 >>106297632 >>106302676 >>106303052
/gedg/ - Game and Engine Development General #297
"Let me in!" 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.

Previsous: >>106189131
Anonymous No.106293059 >>106293069 >>106306313
>>106292911 (OP)
Fix your webms fag
t. pogeet !!b2oSUmilA2N No.106293069 >>106293095
>>106293059
why?
looks fine to me.
Anonymous No.106293095 >>106293160
>>106293069
Bruv...
Anonymous No.106293160 >>106293334 >>106293557 >>106293565 >>106294055 >>106324221
>>106293095
Its vp9 codec. Are you on a webkit browser or something?
Anonymous No.106293307 >>106293583 >>106297049 >>106300420 >>106306974 >>106308259 >>106313879
Some visual progress, finally.

I've already hit the limits of floating point math at 0.000001 scale as you can see here, in the last room in the video. I'm going to advance to nanometer scale soon, then we can get levels where you interact with accurately sized atoms. It doesn't seem like much right now, but all the objects and layers have global positions in the game world, so there are a lot of fun scenarios for levels.
Anonymous No.106293334 >>106293717 >>106294827
>>106293160
I hate this game with a passion
>diagonal pixels
>bad sub-pixel alignment
Anonymous No.106293500 >>106293538 >>106303816 >>106311229
all aboard
Anonymous No.106293538 >>106294055
>>106293500
minecraft but with better biomes
Anonymous No.106293542
man, the steam api is almost well documented, but it just falls short every time
Anonymous No.106293557 >>106293717
>>106293160
nta but I'm having the same issue with all your .webs for some reason. could you try in the next ones with this command?
> ffmpeg -i input.mov -an -vf scale=640:-1 -c:v libvpx-vp9 -b:v 600k -crf 32 -pix_fmt yuv420p output.webm
Anonymous No.106293565 >>106293717
>>106293160
Nice sprites. Is that an invisibility cloak?
Anonymous No.106293583 >>106293707 >>106293735
>>106293307
Damn usually anons here are lacking on the art department, myself included. But your game looks pretty cool. I see some choppiness on the movement still.
Anonymous No.106293707 >>106293808
>>106293583
yeah anon talked about the floating point precision issue
funnily enough you run into the same problem if you want to make really (literally) big games, like traveling across planets etc. you need a more sophisticated way of dealing with coordinates to accommodate all the different scales.
Anonymous No.106293717 >>106294055 >>106295566
>>106293334
Yixels will prove to be superior technology

>>106293557
Here are my normal ffmpeg inputs, I would be surprised if it was bitrate or pixel format
ffmpeg -i ygg-epoch.mkv -vcodec libvpx-vp9 -b:v 1M -an ygg-epoch.webm

>>106293565
I was thinking of the ghostly robes from runescape
Anonymous No.106293735 >>106295566 >>106300420
>>106293583
Thanks, I think I find art a bit more enjoyable than programming even though I'm writing an engine. I don't regret it though because it feels great to be able to do anything you want and not having to look up someone else's documentation.

I'm fixing the choppiness as we speak. The weird camera shake at the end is actually caused by float imprecision and is not deliberate. Resizing from atomic proportions to normal is really weird, you can really see the view matrix breaking down here.
Anonymous No.106293808
>>106293707
Yeah. I need to adjust the layers' origins to be close to where you fall or the collision code will become unstable. The different sizes are done by scaling the layers' view matrix, so it's purely a visual effect and won't affect game logic. Internally every layer is the same size.
Anonymous No.106294055 >>106303816
>>106293538
Thank you sir

>>106293717
>>106293160
sick
Anonymous No.106294261 >>106294282 >>106294845 >>106299176 >>106299670
how do we make UIs great again
Anonymous No.106294282
>>106294261
Write your own window system.
Anonymous No.106294827
>>106293334
>ideaguy.jpg
Meta game where the fun is in creating an engine with everything that triggers random anons and never actually make a game.
Anonymous No.106294845
>>106294261
going back to Skeuomorphism and leave the cookie cutter simple monochrome shit for only the things that kind of go well with it like some future-looking environments. Highfleet did it beautifully
Anonymous No.106295001
I asked grok to vibecode me the road tool from unreal engine
Anonymous No.106295014 >>106295511 >>106295605 >>106303816
Anonymous No.106295511
>>106295014
That's a lot of ice cream, I must have it
Anonymous No.106295566 >>106295837
>>106293717
now your .webms work for me
>>106293735
>I find art a bit more enjoyable than programming even though I'm writing an engine.
Cool, good luck and hope to see it finished. Also hope you are a normal guy too.
Anonymous No.106295605
>>106295014

what is that? where can I play it?
Anonymous No.106295837
>>106295566
>Also hope you are a normal guy too.
Ahahaha
t. pogeet !!b2oSUmilA2N No.106297049
>>106293307
This looks very well polished. Amazing.
Anonymous No.106297616 >>106297662 >>106297776 >>106299679 >>106301020 >>106309636
Thoughts on webGPU, the successor of webgl? It seems that it's meant for desktop as well, not as complicated as vulkan, supported more widely than vulkan (officially by apple), but unlike opengl it's a modern-style API with support that should last long into the future.

I want to start building an engine, and rather than use vulkan and suffer or go with opengl and finish the engine by the time opengl gets deprecated I think I'll go with webgpu
Anonymous No.106297632 >>106297684 >>106302739
>>106292911 (OP)
I'm learning Python just so I can use gdscript/Godot.

I picked Python instead of jumping straight to GDscript because I want something that will be useful outside of gamedev.
What I wanna know is the difficulty curve.
So far I've learned the basics, and it's pretty manageable. Passing variables through different functions was tricky at first but I'm starting to understand it a little.
Is there a point in Python where the difficulty just spikes up? Or will remain in a steady state?
Anonymous No.106297662
>>106297616
>Thoughts on webGPU
its webshit
Anonymous No.106297684
>>106297632
The real learning for you in general will be learning data structures, patterns that are independent of the language you use. For example, you need a large world but that would consume too many resources to have it all in memory. So what do you do? You would only render what you "see" sure, but now you also need to think about culling right. Then you ask yourself what are the proper data types to store these objects, etc.
t. pogeet !!b2oSUmilA2N No.106297776 >>106297989
>>106297616
>Thoughts on webGPU
Its better than the WebGL shit but its still shit.
for learning, it good. The main issue is with WebGPU implementations. There aren't even a handful of them even after years and there probably won't be because webdevs are just too incompetent for implementing several renderer backends compatible with the specs.
Its the best you got when you want to target the web shit platform but in general, its shit.
Anonymous No.106297989 >>106298016
>>106297776
>There aren't even a handful of them even after years
What do you mean? There's two portable implementations, wgpu and google's. Wikipedia says firefox and safari rolled out support just this summer, while chrome's had it for a while.

I did hear a complain about not having separate queues or something like that
t. pogeet !!b2oSUmilA2N No.106298016
>>106297989
wgpu is the firefox's one.
Safair's support is just support for metal and oengl backends. Its doesn't have to give a shit about directx, vulkan and that is not an implementation you could use. Its just a support for wgpu features.
Currently only google's Dawn is doing well but even that is far off. Firefox's wgpu is progressing very slowly which is as expected since its a Rust project.
Anonymous No.106298687
Anonymous No.106298809
>accidentally invert an if condition causing me to flood a remote server i dont own, now im blocked by edgesuite.net
oh fuck oh fuck, i hope this is only temporary
Anonymous No.106299176
>>106294261
would be funny to rice your desktop like this
Anonymous No.106299670
>>106294261
by immersion and thinking like an artist instead of a ui designer
Anonymous No.106299679 >>106299883 >>106302676
>>106297616
I've been using dawn to make a simple deferred renderer.
Problems are
>Most dawn builds don't fucking work and google doesn't give out compiled code.
I recommend you use this guy (who does the webgpu cpp tutorials) tag to find which versions work.
Don't use this for cpp though, dawn comes with it.
I don't know why google jeets are allowed to have broken PRs.
https://github.com/eliemichel/WebGPU-Cpp/blob/main/dawn/dawn-git-tag.txt
>API is a bit unstable and the specs will be ahead of the API.
Firefox/WGPU is even further behind.
The biggest difference I see from my usage was that the storage texture formats weren't updated although that could've recently been implemented but I'm on a 6 month old dawn build.
>Backends don't have an equal amount of support.
DX12 is better supported than Vulkan. When it comes to feature limits such as MaxStorageAttachmentBytes.
I am unsure if this is the case with other things.
I recommend complying with the default limits and not setting anything.
>No one reports bugs because no one uses it.
It doesn't help that there's no stable builds.
I would've reported a bug to google (extra triangle being generated on dx12 when higher than the default limit of a storage attachment or something like that) but I don't know if it exists in the current version since I can't build it and I don't know what the last buildable version is.
>Some features just aren't there.
eg. Early Depth Testing so your fragment shader can have pre depth tested outputs.
sometimes you'll want something and you see a PR opened by one of the few familiar faces 2 years ago.
>WGSL doesn't support includes.
It makes sense for web.
But for desktop it sucks so I made a preprocessor.
You can compile shaders to SPIRV with a bit of trial and error which I did try with HLSL. I'm not sure if compute shaders work though.

If you create a deferred renderer pack everything or you'll be hit by limits and bugs of raising limits.
I spent months figuring this out.
t. pogeet !!b2oSUmilA2N No.106299883 >>106299892
>>106299679
I've been through this shit and felt like writing my own wgpu implementation in Odin at one point but not having a good js engine at my disposal made me mind my own business instead.
Web shit devs are purely incapable of making things just werk.
Anonymous No.106299892 >>106299963
>>106299883
You don't get to shit on web devs when you're using javascript, you are a web dev
t. pogeet !!b2oSUmilA2N No.106299963
>>106299892
as a pajeet, I shit on anything and everything, even on you saar.

jokes aside, I'm not a web dev anymore so I get to shit on js to my heart's content.
Anonymous No.106300065 >>106302676
I'm so tired bros. Game dev after a day of full time software development feels like a chore
Anonymous No.106300420
>>106293307
>>106293735
nice art
Anonymous No.106300940
Implementing multiplayer has opened a can of worms with lots of concerns.
I will have to duplicate my data structures to deal with packet loss or client side prediction. The data structures on the server and client will be different.

Oh well, first step will be to just simply send the current state to clients.
Anonymous No.106301020 >>106303029
>>106297616
>opengl gets deprecated
This won't happen any time soon.
Anonymous No.106301471
I will open-source my game under the +nigger license.
Anonymous No.106302413
Day 2: Finally managed to configure DX11 correctly. Understood the entire math behind the projection.
Where can I find 3D model ripped from retro consoles and early arcade machines? Sega Model M2 had beautiful non-shaded Texture mapped models but had interesting stuff like ponytails, ribbons, etc
Anonymous No.106302676 >>106308183
>>106292911 (OP)
Gonna finally try to sink my teeth into C++ gamedev today /g/irlygirls, wish me luck

>>106299679
>I don't know why google jeets are allowed to have broken PRs
"Move fast and break things"

>>106300065
I've never had this problem back when I was employed because none of my enterprise jobs ever really had me code despite my title being SWE. Every job was maybe 20% actual programming, the rest was deployments or writing tests or dealing with so-called "product owners". I never reached burnout from programming because there was barely any programming going on at my work. I imagine that with the arrival of LLM's, the percentage of my next job that will be programming will likely be near 0%.
Anonymous No.106302739
>>106297632
No. If you understand expressions, statements, variables, conditionals, loops and functions, you understand programming
t. pogeet !!b2oSUmilA2N No.106303029 >>106303090
>>106301020
>last OpenGL update was in 2017
it already has happened.
The industry and hobbyists are just too afraid to let go.
Anonymous No.106303052 >>106303077 >>106303092 >>106303550 >>106308183
>>106292911 (OP)
im going to start developing.
I played around with godot and made some basic controls and cool mechs like gravity reversal or gravity pull and im rally enjoying it.

I also have a good idea for a game but thats not important for now as i need to learn more first.
Is godot worth it? ik i shouldnt worry about this but i heard its piss easy to decompile, how do people even get their game tested without it being stolen? I have trust issue yes. Don't know anyone IRL that could help me test and the people i know online i cant fully trust.

Also what is the best way to get sprites? AI(preferably not)? paying artist on fiver? learning myself to draw? I've always been horrible at drawing, i got background in classical music so i can compose my own soundtrack.
Anonymous No.106303077
>>106303052
>how do people even get their game tested
1. Most of them never play test seriously.
2. You can just release a demo with only the first level. And use that for testing.
Anonymous No.106303090
>>106303029
Doom 2016 was made on OpenGL, I severely doubt anyone here needs more than that.
Anonymous No.106303092
>>106303052
>Also what is the best way to get sprites?
Jonathan Blow designed 90% of Braid's content with programmer art, his friends helped him during playtesting. And then at the end he hired artists to draw the assets only once.
Anonymous No.106303107 >>106303160 >>106303539 >>106308720 >>106318351
Believe it or not, DirectX is far better than OpenGL for everything. The only bad thing I can say about DX is the shitty : SEMANTIC syntax in HLSL.
Anonymous No.106303160 >>106303250 >>106303605 >>106308720
>>106303107
DirectX is fine as long as you intend for your game to never leave Windows. Most people making indie slop eye eventual Switch compatibility down the road, which is why so many go with other libraries.
Anonymous No.106303250 >>106303665
>>106303160
if you made your game with d3d and it did so well on pc that it's worth porting it to switch then that's a great problem to have and one that is not that hard to solve.
best to just use whatever you will feel most comfortable with.
Anonymous No.106303539 >>106303551 >>106303618 >>106317993
>>106303107
They're both outdated crap. Use Vulkan
Anonymous No.106303550
>>106303052
>but i heard its piss easy to decompile
why does this matter, how is getting binaries+spaggheti code any better than just getting binaries. The only reason i see for not wanting people to see code is if it's bad.
Anonymous No.106303551
>>106303539
vulkan is more outdated than the latest dx
Anonymous No.106303605 >>106306316
>>106303160
>DirectX is fine as long as you intend for your game to never leave Windows
How is that a problem? You ship your first game on windows, if it does well then you write a vulkan backend or hire someone to do it for you.
Anonymous No.106303618
>>106303539
>outdated
webdev mentality
Anonymous No.106303665 >>106303768
>>106303250
>one that is not that hard to solve
1. Replace 1000 lines of boilerplate initialization code.
2. Convert every HLSL to GLSL (there are tools that does it for you)
Seems easy enough.
Anonymous No.106303768
>>106303665
you can use DXC and compile your shaders to SPIRV so no need to rewrite your shaders.
when it comes to CPU code, it depends on how complex your game's rendering code is, but like it really isn't that hard.
if you're using d3d12 then porting to vulkan is tedious but trivial. if you're using d3d11 then there will be a bit of a learning curve since vulkan is lower level and you will need to do synchronization etc yourself but it's not that bad. it's way easier than for example adding multiplayer to a game that was designed to be single-player.
Anonymous No.106303816 >>106306831
>>106293500
>>106294055
>>106295014
is this the sequel to terry's flight simulator game? https://www.youtube.com/watch?v=CYQEfLaR4Pg
Anonymous No.106303853 >>106305505
https://youtu.be/5-YfphriWto?t=180
Anybody know how Dead or Alive handle cloth/tail simulation? It couldn't be something complicated because they have been doing this since the PS1 era.
Anonymous No.106305473
Bump
Anonymous No.106305505
>>106303853
something like this
https://www.youtube.com/watch?v=k7tKZ5o_EjA
Anonymous No.106305784 >>106305908 >>106305915 >>106305939 >>106317129 >>106317224
Is learnopengl shit or what?
>doesn't actually explain anything you're doing
>likes to throw snippets of code at you with no surrounding context
>doesn't do things in the same order as they are eventually shown in the full source at the end
>in fact the full source at the end outright adds or removes pieces of code compared to the tutorial
Anonymous No.106305908 >>106310674
>>106305784
https://gist.github.com/d7samurai/261c69490cce0620d0bfc93003cd1052
This is literally all you need to get started. Make sure to read the MSAA version once you are familiar with the basics
>learnopengl
>uses a library for initializing opengl
>now you have to maintain a shitty 3rd party api along with your own code
fuck that.
Anonymous No.106305915
>>106305784
i remember in some podcast the guy who made the site said that he wrote the articles as he was learning opengl himself lol

anyway it's an okay resource to get started but definitely not the end all be all
Anonymous No.106305939 >>106306049 >>106306049
>>106305784
you probably just have a learning disability, very common, perseverance is key
Anonymous No.106306049 >>106306092 >>106306316
>>106305939
That link looks good anon but it's not OpenGL, it's dx11.
>>106305939
No, it just doesn't explain things properly, at the end of the page you have a working program but little understanding of what is actually going on in your code. Just use raylib at that point.
Anonymous No.106306092 >>106306318 >>106317129
>>106306049
>it's dx11
That's the point. But if you really-really want open gl, then picrel is what you need.
Anonymous No.106306313
>>106293059
maybe stop being a phoneposting faggot
t. pogeet !!b2oSUmilA2N No.106306316
>>106303605
you defined several problems yourself.
Shipping the game itself is a big problem.
And then it doing well is another big problem.
Writing a vulkan backend or hiring something is another big risky problem.
>>106306049
>it's dx11
that anon's been shilling dx11 over OpenGL and I can't even blame them.
For most /gedg/ toy projects, with wine and proton around, dx11 is cross platform and a better alternative than opengl for video games.
Anonymous No.106306318
>>106306092
>That's the point.
I am tempted to just use directx but I am working on a grognard game so Linux users might actually be overrepresented in my audience.
>picrel
That actually seems really good from skimming it, thanks.
Anonymous No.106306831
>>106303816
It's a good game
Anonymous No.106306974 >>106307175
>>106293307
>I've already hit the limits of floating point math at 0.000001
why would you do that instead of just compartmentalizing the scales?
t. pogeet !!b2oSUmilA2N No.106307175 >>106308755 >>106318570
>>106306974
yeah, anon's doing something very wrong
Anonymous No.106307311 >>106307788
Looking at the code for Spartan Engine right now and it’s a goldmine for me personally. Code is very readable too.
Anonymous No.106307788 >>106307798 >>106310142 >>106311144
>>106307311
>Spartan Engine
Engine description is some guy sucking himself off calling it the most advanced engine ever when all it is a bog standard renderer with no other features
sounds very /gedg/
Anonymous No.106307798
>>106307788
He said it not me. The code isn’t anything crazy hence why it’s readable.
Anonymous No.106308183
>>106303052
>>106302676
Good luck, /g/ devs.

>i got background in classical music so i can compose
I wish I had an ounce of talent with music, it's the only "vital" skill I have almost zero experience with.
Anonymous No.106308259
>>106293307
This is really dumb. You should just store the maps independently and adjust their scale so that the current one is always at a reasonable scale range (e.g. 0-100)
Anonymous No.106308720 >>106309620
>>106303107
you will appreciate semantics when you run into a problem how to reuse one shader to render meshes with different vertex attributes.

>>106303160
you're not making UE rendering system. you can always rewrite all your 5 shaders in opengl, or vulkan later.
Anonymous No.106308755 >>106308763
>>106307175
the miracle of clearing the bytebuffer and changing the view frustum
Anonymous No.106308763
>>106308755
depthbuffer
Anonymous No.106309620
>>106308720
So just skip the rewriting step.
Anonymous No.106309636
>>106297616
I've had better success with SDL3_GPU, if you combine it with Slang it's possible to get 1 set of shaders and "native" Metal / Vulkan backend support. You have to know Vulkan though, if it fucks up you will just get naked Vulkan Validation layers. For someone who already knows Vulkan but doesn't want to deal with all the verbosity of raw vulkan its a good choice.
t. pogeet !!b2oSUmilA2N No.106310142 >>106311144
>>106307788
>me tries to build Spartan Engine
>mfw "Error: your GPU does not support vulkan 1.4, please update your drivers"
>the GPU of my 7 years old laptop was discontinued 3 years ago.
Requiring only modern hardware is not so /gedg/
Anonymous No.106310674 >>106310719 >>106311813
>>106305908
>https://gist.github.com/d7samurai/261c69490cce0620d0bfc93003cd1052
This should be the bar for code quality: unpretentiously do one job such that there are obviously no mistakes instead of there being no obvious mistakes.
>t. dude who brought up beeflang last thread
Anonymous No.106310719 >>106310772
>>106310674
You're comparing game code to a 200 loc program that opens a directX window
Arrogant newbies are the worst
Anonymous No.106310772 >>106311024
>>106310719
Not the point.
If the person had insisted on making this initialization code fit an object oriented model, the complexity would balloon up to a size far larger than it deserves to be.
Anonymous No.106311024 >>106311169
>>106310772
Why would you make a 200 LOC program OOP?
OOP is a way of organizing your code to make it easier to change and expand
Anonymous No.106311144 >>106311158 >>106311200 >>106311816 >>106311935 >>106312910 >>106320977
>>106310142
>>106307788
Holy mother of cringe

>Cutting edge Vulkan renderer.
Buzzword slop
>128-byte push constant buffer for lightning fast CPU to GPU data transfer.
Source: i made it the fuck up
>On the fly single dispatch GPU-based mip generation for render targets ().
>On the fly compression and mip generation for material textures.
"i have no offline asset pipeline"
>Fully bindless design (materials, lights, even the samplers).
Nobody can prove bindless is faster. If anything, it reduces the possibility for GPU driver codegen optimizations and forces slowpaths
>Vulkan (main) and DirectX 12 (wip) backends with universal HLSL shaders.
Bragging about not having D3D support. oof.
>Unified deferred rendering with transparency (BSDF with same render path).
Oh, cool, so let me guess, you can't render leaves, wires, or string?
>Real-time global illumination
inb4 world has a fucking aneurysm the moment i camera flick
>Screen space shadows ().
>Screen space ambient occlusion ().
>Screen space reflections ().
Post modern rendering slop. 0/10 looks like ass. HMMM LOVE ME SOME SCREENSPACE SLOPPA
>Upscaling (XeSS 2 & FSR 3).
>Dynamic resolution scaling (fed directly into the upscalers).
Post modern rendering slop. 0/10 looks like ass.
>Temporal anti-aliasing.
Post modern rendering slop. 0/10 looks like ass.
>Advanced shadow features with penumbra and colored translucency.
Damn, hommie managed to multiply depth by the color attachment.
>Physical light units (intensity from lumens and color from kelvin).
Impressive... in 2011...
>Frustum & occlusion (Hi-Z) culling.
WOWZA FRUSTUM CULLING
>Physically based camera.
What does this even mean? Fuck being physically based anything. You will never be the real world, you will never feel organic, and you will never feel unique.
>HDR10 output.
Bragging about selecting surface format
>Tonemappers like ACES 2.0, AgX and others.
Bragging about color mapping in current day

Here's your thousands of shithub stars sarrrrrr
Anonymous No.106311158
>>106311144
take your meds
Anonymous No.106311161 >>106313585
who remembers U N L I M I T E D D E T A I L
https://www.youtube.com/watch?v=DrBR_4FohSE
Anonymous No.106311169 >>106311196
>>106311024
>Why would you make a 200 LOC program OOP?
I wouldnt. Some, however, would like to make sure their code is considered "readable" and "maintainable" among the circles they show it off to, or because it fits their mental model of what code should be. (That is, modelling the problem domain)

Anyways, I (not the other anon last thread who has impersonated me) shall refactor the example code and make something out of it, time permitting.
Anonymous No.106311196
>>106311169
It's so obvious you're a beginner programmer, why are you trying to have opinions
Anonymous No.106311200
>>106311144
based https://gist.github.com/bazhenovc/c0aa56cdf50df495fda84de58ef1de5e
Anonymous No.106311229
>>106293500
sovl
Anonymous No.106311813 >>106312910
>>106310674
Yep, it's amazing how dogshit most books/tutorials are at this. For example:
Most D3D/OpenGL tutorials fall for one of these:
1. just use this 3rd party library lil bro
2. Everything is wrapped up in a class, there are virtually no function calls, but wait see those countless nested "new"s? Track them to figure out how the fuck things are getting initialized.
I fucking hate codebases like picrel so much. And guess what App.cpp is also a 100 line file with a 5% actual statements that does something and 95% function calls.
Anonymous No.106311816
>>106311144
based graphics guru calling out soulless modern renderers
Anonymous No.106311935
>>106311144
He also uses tessellation and geometry shaders
t. pogeet !!b2oSUmilA2N No.106312910 >>106313149
>>106311144
trvth nvke
>>106311813
>5% actual statements that does something and 95% function calls
the irony is that nobody has a problem with that and its considered the appropriate way to do things, meanwhile Go's error handling syntax happens to trigger everyone instantly.
Its clearly evident that modern software development prioritizes only aesthetics and deliberately ignores performance. Like how Mikrosaft makes software worse or how Rust fags boast that their 1 line of code does a lot while completely ignoring how many lines that macro calls underneath.
Functional languages have always been the best.
Modern procedural languages are a big mistake. C, Pascal, ML and co. were the peak. OOP contaminated everything it touched and corrupted it all. I'm glad that shit like Odin exists that has a complete OOP-free vision in the modern times.
If OOP is important then it should have been practiced appropriately within a functional environment using a message-passing system inbetween objects, like how Alan Kay intended, instead of replicated that concept within a procedural language and over complicate the shit out of both the design principle and the procedural language itself, just so that the replication can have a fraction of functional language's message passing power.
Its all retarded and so are we for playing along with this shit show.
Anonymous No.106312918
I'm going to have all my objects add particle instances to a global vector and then draw all the particles using a single draw call. Is this an efficient way of handling particle systems?
Anonymous No.106313004
what is worse for branching event chains, phaser.js or pygame?
Anonymous No.106313149 >>106313958
>>106312910
>Functional languages have always been the best.
Do check out array languages such as uiua (It's got a really nice online editor) or APL. Programming in them will make you very quickly realize that computers are best at transforming homogenous sets of data (see: GPUs and their ever increasing parallel computing abilities), and therefore shift your mindset accordingly.
If you think about it, code is a red herring; all the end user cares about in any program are raw numbers being transformed and interpreted correctly (to a variable extent sometimes) and in a timely manner. Therefore anything else is cognitive bloat.
Its amazing to see such rich varieties of computation being expressed in such few characters when all the ceremony is stripped out, to the point of being able to do things like talk about and debug entire programs with a marker, on a napkin.
Reasoning about the typical scalar oriented PL feels like wading through cotton candy afterward, never mind the pointless extra indirections that the programming community in general is advocating. :-(
Anonymous No.106313371 >>106313958
>be me
>autistic so I like "containerizing" my dev environments in virtual machines
>autistic so I put XP in those virtual machines because it's comfy
>implemented Hello Window from that one OpenGL tutorial
>GLFW won't start
>try it on the VM's host (Windows 10)
>everything works fine
Am I doing something wrong, or is VMWare just fucked? I've gotten games to work in VMWare before, but I guess those were all using DirectX instead of OpenGL, maybe OpenGL isn't an option in VM's?

Since I know people are going to ask this, I went with OpenGL instead of Vulkan because I heard it makes things easier if you've never done graphics programming before and because I want my games to work on XP for autistic reasons. I might eventually upgrade to Vulkan if things end up working out with OpenGL.
Anonymous No.106313393 >>106313408 >>106313444 >>106313643 >>106313842 >>106317056
is it possible to get opengl to not have a bit of a blue when zoomed in on a texture? Is there a way to get pixel perfect without this shitty blur? It's not really obvious going through the docs
Anonymous No.106313408
>>106313393
>blue
*blur*
Anonymous No.106313444 >>106313467
>>106313393
I don't know how to do it since I literally started learning OpenGL yesterday, but the term you're looking for is "nearest neighbor".
Anonymous No.106313467 >>106313483
>>106313444
nearest neighbor calc is in there but when rendered there is a soft bleeding blur and I can just see the individual pixels like when working with sdl rendering. it's very strange
Anonymous No.106313483 >>106313958
>>106313467
>can
*can't*
fuck me I'm butterfingers today
Anonymous No.106313585
>>106311161
I haven't thought about those guys in years. What ever ended up happening to them? I mean, I assumed from the beginning that it was vaporware but was there a specific downfall?
Anonymous No.106313643
>>106313393
Linear filtering? Use texelFetch() on the fragment shader to get crisp pixels. Also, when combined with linear filtered textures you get the best of both worlds, and can set linear filtering or nearest filtering easily.
Anonymous No.106313842 >>106315585 >>106317056
>>106313393
Isn't it just
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
Anonymous No.106313879 >>106314058
>>106293307
reminded me of
https://www.youtube.com/watch?v=yhCyUaHslWg
Anonymous No.106313894 >>106313958
It’s finally time for me to upgrade from GLSL to Slang. All because glsl structs can’t have member functions.
t. pogeet !!b2oSUmilA2N No.106313958 >>106314200 >>106314203 >>106318196
>>106313149
I have yet to spend serious time with array and stack based programming languages so I didn't comment about them. I tried uiua a while back and it was fun. Uiua symbols are hard to replicate in our usual text editors so it makes sense that their online editor is the only comfortable way to access the language.
I usually have an urge to make a game engine. But frequently, I get an even greater urge to create my own visual programming language so that I can isolate myself form the heavy OOP shills. I am planning to explore more programming language before I dive into that rabbit hole.
>>106313371
check out what OpenGL version you are initializing.
Windows XP seems to support OpenGL version 1.1 at most. That might be the issue. This also means that you won't have lots of features at your disposal.
>>106313483
>fuck me I'm butterfingers today
me all the time saar. My ADHD brain won't let me type straight.
>>106313894
I update from GLSL to HLSL a while back.
After coming across Slang, I immediately rewrote HLSL shit in Slang and was happy ever since.
Anonymous No.106314058
>>106313879
ah, soulful early CGI era
Anonymous No.106314200
>>106313958
>Windows XP seems to support OpenGL version 1.1 at most
Well shit, guess I'm SOL if I want my game to work on XP then. I really wanted to do something where my game would work on XP onward with the possibility of porting it to a ninty console later on, but I guess you can't have everything. I guess my options now are to either switch to DirectX so that I keep XP support, or go with Vulkan and abandon supporting operating systems whose last update was over a decade ago.
Anonymous No.106314203 >>106318646
>>106313958
>I immediately rewrote HLSL shit in Slang and was happy ever since
but Slang is HLSL
Anonymous No.106314769 >>106315422
is Computer Graphics: Principles and practice a good book to go through?
it goes through some stuff like WPF and im not sure how relevant that is.
Anonymous No.106315406
Can an APU-GPU directly write to user-process memory?
Anonymous No.106315422
>>106314769
WPF is not much relevant, to game programming, also I would rather write a gui in Winforms
Anonymous No.106315585
>>106313842
neat. I'll give this a go when I am home
Anonymous No.106316119 >>106316274 >>106324608
Is there really no matrix inversion function is slang? Do I really have to make my own implementation? I don’t know matrix math!
Anonymous No.106316274
>>106316119
I’m just ignoring inverse for now
Anonymous No.106317056 >>106318767
>>106313393
I just do NN >>106313842
Anonymous No.106317129 >>106317719
>>106305784
Graphics programming fucking sucks ass, welcome to hell.
>learnopengl
It's ok but as you noticed it has plenty of drawbacks.
>ogldev
Would be good but quite slow (video format) and uses glut for some ungodly reason instead of GLFW/SDL, and yes he uses functions beyond just window creation.
>>106306092
This has everything, but it's 800 pages long.

Basically no, there's no good way to learn OpenGL, you just gotta suffer.
Anonymous No.106317224
>>106305784
Works for me
Anonymous No.106317719 >>106317915
>>106317129
This made me thing: is Vulkan any better when it comes to tutorials?
Anonymous No.106317915
>>106317719
no, opengl is easier by every metric. vulkan is better, though
Anonymous No.106317993
>>106303539
You are too focused on DX vs Vulkan
The reality is that it's not just DirectX vs Vulkan, it's DirectX + DXGI vs Vulkan + Windowing API (you can't use just vulkan, you need a window to load it, like SDL or you do it yourself with win32 + vkCreateWin32SurfaceKHR).
This seems pointless, DXGI offers nothing, but vulkan is actually using a legacy API.
On nvidia's control panel, in "manage 3d settings", at the bottom of the list you will see "Vulkan/OpenGL present method".
By default it's native (whatever that means), but you could switch it to use DXGI swapchain.
The difference this makes is that when you alt tab in exclusive fullscreen (might depend on win10/win11 versions, and the resolution matches the display), the native swapchain will make your screen turn black for half a split second, but with DXGI, the alt-tab is instant. This also allows you to see certain overlays, such as volume control (ctrl+WIN+v), or IME CJK inputs (WIN+period for emoji IME), while in fullscreen (but overlays such as steam or WIN+G will work fine).
There is also something about Independent Flip (I think it offers lower latency?), you need DXGI, but I don't think it has anything to do with the black flicker on alt-tab, you need to manually enable it I think (use intel presentMon to check, you need to add the present mode widget to the overlay). The native present method uses "Copy with GPU GDI" which is not the SLOW bitblit if you are wondering, it's a present method used since win7.
I haven't really noticed anything about the performance however, and I don't know how it's like on AMD.
Anonymous No.106318196 >>106318376 >>106318646
>>106313958
>Windows XP seems to support OpenGL version 1.1 at most.
windows xp supports every openGL version, stop spreading misinformation
Anonymous No.106318351
>>106303107
Been thinking about this a lot. Been using Raylib but it's just a placeholder. I wanted to learn OpenGL because it works on everything but what's "everything"?
>I'm only targeting desktops as my game isn't really playable without mouse and keyboard
>Apple desktop devices aren't significant
>Linux desktop is also a tiny percentage and will probably be 50% of the support forum threads
So really, OpenGL just has the "advantage" of working on that 1.3% Linux desktop users and the advantage of not having to worry about MS sperging out and causing issues with older dx versions on newer Windows versions.
Anonymous No.106318376 >>106318646
>>106318196
This, Microsoft has adopted and supports OpenGL 1.1 in core Win32. But you can use WGL extensions to use any verison of OpenGL that your graphics driver supports.
Anonymous No.106318570 >>106318646
>>106307175
Are you THE gingerbill!? Hellope is your trademark and I remember this app you were making.
t. pogeet !!b2oSUmilA2N No.106318646 >>106318734 >>106324171
>>106314203
yes, mostly, except for the few scenarios, in my case, its the scoped enums.
>>106318196
I said that might be the issue. Didn't say that is the issue though.
>>106318376
>that your graphics driver supports
there you go.
You'll need a graphics card that was discontinued over a decade ago for it to work on both windows XP and windows 10(which is getting discontinued in a couple of months) at the same time then.
Windows 10 would runs like shit on such a graphics card and considering how anon was even running a VM, anon was using a modern graphics card whose vender definitely didn't bother supporting windows xp.
>>106318570
NO
I'm just a pajeet living in India. I posted picreal because it was relevant to what the anon was doing.
GingerBill made this app within a few hours for randy's jam. Almost all of the development was done during the streams. He named it striga.and its available on itch
https://gingerbill.itch.io/striga
Anonymous No.106318734 >>106318774
>>106318646
>You'll need a graphics card that was discontinued over a decade ago for it to work on both windows XP and windows 10
this is also wrong
Anonymous No.106318767 >>106319170
>>106317056
how did you manage to record with screen tearing?
the fps seems to be limited.
if you are going to disable vsync, just let it run at 400hz, or just enable vsync since it seems like you have a frame limiter that's below the max fps (vsync won't kick in due to VRR).
t. pogeet !!b2oSUmilA2N No.106318774 >>106318793 >>106324171
>>106318734
please don't hesitate from enlightening me on what graphics card supports modern OpenGL on both windows xp and windows 10, if you could, to prove yourself.
Anonymous No.106318793 >>106318806 >>106319029
>>106318774
windows xp works on modern graphics cards
t. pogeet !!b2oSUmilA2N No.106318806 >>106319029
>>106318793
>modern graphics cards
by modern graphics cards, you mean RTX and RDNA?
okay. Suit yourself.
Anonymous No.106319029 >>106319126 >>106319215 >>106324171
>>106318806
>>106318793
you are both retarded.
vmware might support opengl 3.3 on XP, but I don't know (all I know is that you can run bioshock and a few other games decently).
If you ran a VM without any virtualized GPU (qemu) it would be software emulated opengl 1.1. But trying to load opengl 4 could be the cause of the error, and glew could probably be precompiled in some way that breaks XP (and building C++ without cmake and vcpkg on XP is all sorts of torture, my main issue is the lack of address sanitizer).
Windows XP supports GTX 960 (the last GPU with XP support, 970/980 is excluded), which got XP updates till 2016 (368.81).
Which has support for modern graphics API's (whatever the specs the 960 has).
But apparently the 760/960/10 series GPU's are not going to get updates like right now.
Also I was pleasantly surprised nvidia release notes PDFs are pretty detailed, they still make the same pdf's on new updates.
Anonymous No.106319075
i'm learning d3d11 and it's actually simpler and better designed than opengl. and they are very similar, you can almost map 1 to 1 opengl to d3d11. just make sure you use directx 11.1 since it has SetConstantBuffers (glBindBufferRange equivalent).

the only notable difference is that you can't bind objects directly, you need to create "views" first.
t. pogeet !!b2oSUmilA2N No.106319126 >>106319241 >>106324171
>>106319029
>you are both retarded.
I don't know about the other one but I sure am
>If you ran a VM without any virtualized GPU (qemu) it would be software emulated opengl 1.1
this is the only sensible, useful, actually contributing thing that has happened till now instead of random retards pointing out I'm wrong with whatever retarded reasons. I don't think there is a way for VMWare(what the anon was using) to emulate a 980 so the windows XP inside the VM will always be software emulated to OpenGL 1.1.
>GTX 980
yep. Definitely over a decade old hardware.
Anonymous No.106319170
>>106318767
Good catch. Vsync, target fps, resolution, min/max zoom levels, render tiles are all configurable options in the login screen or set from environment variables so I will let the user sort their self out on first launch. Other than that I am recording at 30 fps on X11, and my monitor (RD280UA) is only 60 fps. I usually have the target fps raised to 240 so I use more cpu cycles during developing/testing.
Anonymous No.106319215 >>106319364
>>106319029
>I don't know
I developed games natively on XP using OpenGL 3.3
Anonymous No.106319241 >>106319364
>>106319126
Technically the 960 has been getting updates up until 2025 (last update was today 581.08, I think the next month it's going to lose updates), it's as obsolete as the GTX 1080 from the POV of Nvidia, and apparently the GTX 970 / Titan X (11gb, same gen) are usable with a modified driver on XP.
They only dropped driver support very recently.
t. pogeet !!b2oSUmilA2N No.106319364 >>106319370
>>106319215
then you should have realized that doing things inside a VM is way out of your scope instead of relating everything to your native experience.
>>106319241
>last update was today 581.08
that's really wild lmao
Not so NVIDIA like.
noice!
Anonymous No.106319370 >>106319536
>>106319364
Why would you do anything inside a VM? You can develop applications that work on XP easily
t. pogeet !!b2oSUmilA2N No.106319536 >>106319568
>>106319370
>You can develop applications that work on XP easily
wrong. Stop spreading misinformation.
Anonymous No.106319568 >>106319839
>>106319536
I can do it right now on my current machine with no VM you fucking moron
t. pogeet !!b2oSUmilA2N No.106319839 >>106319851 >>106320116 >>106320133
>>106319568
>I can
who said you can't?
Again, stop spreading misinformation
You can develop applications that work on windows 10 in windows XP easily but the vice versa is not easy at all and it requires a significant amount of work to get things to work right.
Go ahead and do it with your current machine. That's not what the anon who's using a VM is doing though, so stop acting like a retard and save yourself some embarrassment.
Anonymous No.106319851 >>106319860
>>106319839
>but the vice versa is not easy at all and it requires a significant amount of work to get things to work right.
No it doesn't, it's very easy
t. pogeet !!b2oSUmilA2N No.106319860
>>106319851
okay. suit yourself
Anonymous No.106319957 >>106319984 >>106319991 >>106320037
pogeet gets all his information from ai chat bots that call him master
t. pogeet !!b2oSUmilA2N No.106319984
>>106319957
Anonymous No.106319991 >>106320016 >>106320037
>>106319957
He literally just makes things up because he wants to appear wise and knowledgable then gets really upset when anyone corrects him
t. pogeet !!b2oSUmilA2N No.106320016 >>106320031
>>106319991
>gets really upset when anyone corrects him
this rarely happens.
The anon completely ignored the VM fact and kept coming at me with "stop spreading misinformation" and I was getting back at him with the same.
Never did he ever bother to correct me instead of blatantly stating "I can do it. I did it." while ignoring the anon who asked the question wasn't talking about doing it in an actual machine but on a virtual machine instead.
All of you can keep on coping.
Anonymous No.106320031 >>106320048
>>106320016
>this rarely happens.
It happens all the time and you go on multi-day arguing stints where you double and triple down on your bullshit and pretend you said A when you said B all to avoid admitting you were wrong
Anonymous No.106320037 >>106320048
>>106319957
>>106319991
i'm afraid it's even worse and unfortunately a commonality on here. literal children love to copy/paste the first thing they seen on google and run with it as form of foundational knowledge. no matter how retarded the take, no matter how much they're questioned, they will always double down.
t. pogeet !!b2oSUmilA2N No.106320048 >>106320074
>>106320031
its not my fault if the other party wasn't consistent about what they said and kept on constantly changing their point, just to pin it on me one way or another.
>>106320037
kek
t. pogeet !!b2oSUmilA2N No.106320064 >>106320084
so, let's get to the point then. Can anyone point on what I am wrong about right now?
Anonymous No.106320074 >>106320082
>>106320048
>its not my fault
It is your fault. If you aren't sure, just don't speak. It's such an easy rule to follow and it will stop you looking like an idiot but you just can't help yourself
t. pogeet !!b2oSUmilA2N No.106320082
>>106320074
>but you just can't help yourself
not always but sometimes, yeah.
Anonymous No.106320084 >>106320099 >>106320116
>>106320064
Most of the stuff used today is still compatible with Windows XP so it's very easy to write Windows XP software, you don't need to run it in a VM or change your program or anything, you may need to use some old libraries but that's it
Anonymous No.106320099
>>106320084
BUT HOW?!?!?!? DOTNET 8.0 ISN'T ON XP!
t. pogeet !!b2oSUmilA2N No.106320116 >>106320126
>>106320084
>Most of the stuff used today is still compatible with Windows XP
take a look at >>106319839 again
It only holds true for legacy software.
DWMAPI isn't supported in windows xp at all and that is always there for windows 8 and above, which happens to be the actual "most of the stuff used today". There is also the XPDM driver that got obsolete by Vista's WDDM, dropping the chances for XP driver support much further.
>you don't need to run it in a VM
but the anon who was asked the question was running it on a VM and that is what is relevant. No if you can run it on a real machine or not.
Anonymous No.106320126 >>106320133
>>106320116
>DWMAPI isn't supported in windows xp at all
so dont use it
t. pogeet !!b2oSUmilA2N No.106320133 >>106320141
>>106320126
not using it is one among a lot of things to consider not using.
And all of those "don't use it" will add up and become a significant amount of work to get thing to actually work well.
I'm literally repeating >>106319839 again
>it requires a significant amount of work to get things to work right.
what pointless shit are you gonna suggest now?
Anonymous No.106320141 >>106320158
>>106320133
What else is there to consider?
t. pogeet !!b2oSUmilA2N No.106320158 >>106320166
>>106320141
For someone who developed for XP, you sure are wasting my time without sharing anything from your development experience. Either you didn't develop anything or you developed only shit.
You wouldn't get it anyway so I won't bother explaining.
Feel free to pin in on me with whatever you could find.
Anonymous No.106320166 >>106320184
>>106320158
>so I won't bother explaining.
You mean you don't fucking know
Developing on XP means you write OS code that is compatible with WindowsXP (which still works just fine on modern systems) and that's it
I wrote my game engine on XP - I'm still using it right now
t. pogeet !!b2oSUmilA2N No.106320184 >>106320195
>>106320166
>Developing on XP means you write OS code that is compatible with WindowsXP
wow.
Takes a real genius to figure it out.
I'm too dumb for that.
>I wrote my game engine on XP
must have been bland dog shit if you didn't come across forward compatibility issues.
Not everyone will be making bland shit like you so stop assuming the complexity will always stay the same.
Anonymous No.106320195 >>106320211
>>106320184
You need to understand that a game barely interacts with the OS at all
t. pogeet !!b2oSUmilA2N No.106320211 >>106320213
>>106320195
if the game is a flappy bird clone then I totally agree.
You need to understand that games more complex than that exist.
Anonymous No.106320213 >>106320236
>>106320211
No, all games barely interact with the OS at all
t. pogeet !!b2oSUmilA2N No.106320236 >>106320248
>>106320213
Just because something is running on user-space doesn't mean that it isn't interacting with the OS at all.
There is a very huge difference between barely using all of the OS features vs barely interacting with the OS at all. Why are you saying I need to understand, as if you can't make me understand because you know very well that its not the case.
Anonymous No.106320248 >>106320285
>>106320236
Once again you're performing stupid mental gymnastics instead of admitting you don't know what you're talking about
When you have a game you have a small OS wrapper that does all the OS tasks you need
Usually SDL can do it all for you
This applies to tiny games or huge games
Anonymous No.106320251
pogeets knees reaches his chest when he shits
t. pogeet !!b2oSUmilA2N No.106320285 >>106320289
>>106320248
>When you have a game you have a small OS wrapper that does all the OS tasks you need
>Usually SDL can do it all for you
ah, you never used win32api and always relied on SDL/glfw for handling all that windowing shit for you.
If you are gonna use SDL always, yes, they will abstract the difficulty for you.
You said its easy to develop application on XP and applications unlike games don't use SDL. They directly use win32api instead. So no wonder you kept on disagreeing with me.
You should have sticked to games and not dragged application development if you used SDL throughout your life.
Anonymous No.106320289 >>106320347
>>106320285
>you never used win32api and always relied on SDL/glfw for handling all that windowing shit for you.
No I wrote everything myself in the win32 API, I'm just saying SDL would do it all for you
Anonymous No.106320323 >>106320354 >>106324171
i exclusively code in vb 6.0
t. pogeet !!b2oSUmilA2N No.106320347 >>106320377 >>106320900
>>106320289
and yet you somehow failed to provide any win32api example till now.
Shows me how amazing the applications you wrote were.
What you are saying only holds true for doing basic windowing shit.
Win32api introduced a lot of fancy concurrent, parallel shit fibres and also utf-16 variants for WinMain and all core kernel32, user32 and other library functions. You have to make sure not to use them and only choose the ASCII variant from the API if you want to make your application work on windows xp.
You never used win32 API. You'd have been aware of this and wouldn't have asked me "what else" after I mentioned dwmapi. You would have already considered this as a significant work load for a windows 10 and xp compatible application, without me having to point it out if you actually have.
Keep on shitting on me more and you might gain more backing.
What shit will you come up with now?
t. pogeet !!b2oSUmilA2N No.106320354
>>106320323
>i exclusively code in vb 6.0
holy shit!
you were alive?
I remember you.
I salute.
Anonymous No.106320377 >>106320460
>>106320347
>and yet you somehow failed to provide any win32api example till now.
https://pastebin.com/KhTbSqR4 Here you go
>Win32api introduced a lot of fancy concurrent, parallel shit fibres and also utf-16 variants for WinMain and all core kernel32, user32 and other library functions
All of that works on Windows XP
Anonymous No.106320384
I’ve seen enough. Slang > glsl. I no longer have to do that declaration nonsense with buffers. I can just use raw pointers in my push constant struct.
t. pogeet !!b2oSUmilA2N No.106320460 >>106320492
>>106320377
>Here you go
I see nothing beyond basic I/O handling. That shit obviously will work with windows XP. Its wrong to say all modern applications will work on windows xp because the simple, bland shit that you wrote worked. That is not the case.
>All of that works on Windows XP
okay, I looked it up and utf-16 seems to work well on XP as it was introduced into NT around mid 1990 but that's it.
If a game uses modern win32api features like threadpool, anything above directx 9 or above .net 4.6, it just won't work on windows xp.
If the game used networking then shit like openssl will find it hard to run even with static linking. I don't know how well the present visual studio builds will run on windows XP but I doubt they will.
Anyway, my point still holds firm that modern applications do require a significant amount of work to get their applications to run well on windows XP because modern applications use features way beyond basic I/O, usually the multi-threading, multi-process apis, sockets and TLS for netwokring as well, all of which demand are new rewrite for functioning well on windows xp.
Anonymous No.106320492 >>106320525
>>106320460
>simple, bland shit
That's what OS code is buddy, it's not supposed to be exciting, it's supposed to work, the game part is supposed to be exciting
You don't need any modern Windows features to do everything a modern game does with threading or networking
t. pogeet !!b2oSUmilA2N No.106320525 >>106320531
>>106320492
>You don't need any modern Windows features to do everything a modern game does with threading or networking
I don't create bland shit like you.
I need window's threadpool API to design a CSP like communication among two threads for creating hot reaload for my game engine during development.
I need the latest OpenSSL library for crypto usage and security reasons.
OS code is what makes the exiciting game part possible in the first place. That is what GLFW/SDL do by eliminating the complexity for you. It does not, in any way, mean that I don't need modern WIndows features.
(You) don't. But I clearly do.
Anonymous No.106320531 >>106320549
>>106320525
>I don't create bland shit like you.
I don't think you should go there, because you don't create anything
>I need window's threadpool API
It's simple to write your own thread pool
>I need the latest OpenSSL library for crypto usage and security reasons.
Game developers do not need this though
t. pogeet !!b2oSUmilA2N No.106320549 >>106320556
>>106320531
you are too inexperienced to understand the actual complexity of all you suggested not to care about or claimed are easy to create.
I'd rather get shit on by everyone than go though and correct your retarded shit.
Anonymous No.106320556 >>106320617
>>106320549
>you are too inexperienced
I have written a game engine (something nobody else in this thread has done)
The game engine has a thread pool
I've also made some networked game prototypes
You have never posted your work, ever
Just shut the fuck up and admit you were wrong for once, at least to yourself, and stop dragging everyone else down with your small dog insecure bullshit
Anonymous No.106320573 >>106320594 >>106324560
Every time I think this thread can’t outdo itself with stupid arguments I’m proven wrong. If this was a true game engine dev thread 50% of posts would be discussing Vulkan and the other 50% would be discussing c++ and actual engine stuff.
Anonymous No.106320594 >>106320627
>>106320573
It's been pretty shit for a while now
t. pogeet !!b2oSUmilA2N No.106320617 >>106320643
>>106320556
>I have written a game engine
I never said you didn't.
>The game engine has a thread pool
>I've also made some networked game prototypes
I never said you didn't do that either but... does it work on XP?
Using C/C++'s thread pool is not the same windows's ThreadPool API that I'm talking about.
>Just shut the fuck up and admit you were wrong for once
wrong about what, exactly?
You completely diverted from XP to "you don't post, so you don't know shit", which is fine by me, actually.
Anonymous No.106320620
all versions of windows are bad
Anonymous No.106320627 >>106320638
>>106320594
Unironically need to establish requirements. No raylib, must have gpu less than 6 years old, no mobile.
Anonymous No.106320638 >>106320875
>>106320627
>no mobile
why... are you racist or something?
Anonymous No.106320643 >>106320657
>>106320617
>does it work on XP?
I wrote it on XP
You change your point every single post so you can *feel* right, most of the shit you say is just made up, you have no experience in this topic at all, so why talk?
t. pogeet !!b2oSUmilA2N No.106320657 >>106320661
>>106320643
>I wrote it on XP
exactly.
You can't make it work otherwise.
Especially, if you wrote it on windows 10.
>You change your point every single post so you can
what point did I change?
Anonymous No.106320661 >>106320688
>>106320657
I wrote it on XP and it works on Windows 10 and 11
I could write it on Windows 11 and it would work on XP because it's the same shit
Anonymous No.106320666
>noooo you can't just use an old compiler
>noooooooo this is difficult saaaaaar
t. pogeet !!b2oSUmilA2N No.106320688 >>106320697
>>106320661
>I could write it on Windows 11 and it would work on XP because it's the same shit
Small correction
You have to write deprecated shit on Windows 11 so that it can work on XP by putting in additional effort to make sure that you are avoiding all the features that are beyond windows XP.
You still didn't answer what point I changed though.
Anonymous No.106320697 >>106320775 >>106321465
>>106320688
>putting in additional effort
It doesn't require additional effort. You literally called what I wrote simple, because that's exactly what it is
Anonymous No.106320710
>deprecated
>xp
chat is this true?
t. pogeet !!b2oSUmilA2N No.106320775 >>106320828 >>106321465
>>106320697
>It doesn't require additional effort
It does. You should avoid following modern APIs from microsoft's docs and dig though XP compatible shit.
The only way this can become easy is by relying heavily on C/C++'s std libs for their backward compatibility.
Given the previous win32api code you shared, that is probably what you are doing so you are not directly dealing with win32api's compatibility issues, which explains why you think all this is very simple.
Anonymous No.106320828 >>106320869
>>106320775
There is no C stdlib stuff in the code I shared
You literally just vomit out words without caring if they're correct or not
t. pogeet !!b2oSUmilA2N No.106320869 >>106320879
>>106320828
>There is no C stdlib stuff in the code I shared
ah, right. There is no stdlib or windows include in https://pastebin.com/KhTbSqR4 and yet you somehow managed to call sizeof() and win32api functions.
Truly amazing, saar.
Anonymous No.106320875
>>106320638
Every anon should be focused on their own device
Anonymous No.106320879 >>106320897
>>106320869
The C standard libary is not Win32
Jesus Christ just stop posting
t. pogeet !!b2oSUmilA2N No.106320897 >>106320903
>>106320879
then should I remind you that there are some additional SetWindowLongPtr(), ShowWindow(), CreateWindowEx() and a few more function calls in the code you shared that very well qualify as win32api, saar?
Anonymous No.106320900 >>106320979
>>106320347
> utf-16 variants for WinMain and all core kernel32, user32 and other library functions. You have to make sure not to use them and only choose the ASCII variant from the API if you want to make your application work on windows xp.
Windows NT introduced wide characters to the API through UCS-2, but windows 2000 switched to a variable length utf16 encoding.
Same with wmain, also even better than wmain, you would use _tmain and use TCHAR's and everything so that you can support both ascii and unicode (using macros you can use both ascii, DBCS AKA Shift_JIS variant +others, and unicode, you could benchmark your code to see if it makes a difference).
Also the ascii variant could be utf-8 if you write a fancy manifest in msvc but it will only work in a new-ish windows 10 build (it still works on windows 7, but it will give corrupted Mojibake when you give it unicode, windows XP might work? I dunno what manifest files actually do, or if they break XP support).
I don't think it's worth supporting windows XP, but I think it's a good practice to write your code in the most portable way possible (if your code works on emscripten / mobile, it probably also works on windows XP with a few modifications).
Maybe just building your binary in 32bit is all that you would need to do to make it work on XP, since XP users can use tools like onecore (it's sort of like wine, which lets it run windows 7 applications).
There are various features you could enable to break compatibility, such as /cf:guard, vulkan, and setting thread names using the windows 10 api, but other than that there is always a way (vulkan can run through software using swiftshader).
Anonymous No.106320903 >>106320979
>>106320897
The C standard libary is not Win32
Anonymous No.106320977 >>106320998
>>106311144
>>Real-time global illumination
>inb4 world has a fucking aneurysm the moment i camera flick
>>Screen space shadows ().
>>Screen space ambient occlusion ().
>>Screen space reflections ().
>Post modern rendering slop. 0/10 looks like ass. HMMM LOVE ME SOME SCREENSPACE SLOPPA
You are a noengine larper. For realistic graphics you either choose a GI solution, use screenspace effects, or both. Pretending that there is a realistic third option outs you as a larper
t. pogeet !!b2oSUmilA2N No.106320979 >>106321032 >>106321124
>>106320900
I was very unsure about the unicode compatibility among modern windows and xp. Thanks for the followup.
Its very easy to break compatibility when on windows 10, which makes the task of creating an xp application on windows 10 a very tediously annoying one to achieve, despite what this anon claims.
>>106320903
exactly.
You don't need C std for simply showing a window using wini32api and hence why it wasn't in your code.
Not like you went to great lengths to not use it or anything like that.
Its not like it wasn't in your tread pool shit you wrote in windows xp.
Whatever windows api you used for creating thread pool in xp, its probably deprecated in windows 10/11 now.
You are able to claim that you can write code in XP that can run on 10 because of windows 10/11's backward compatibility.
WIndows xp is not forward compatible, which means you will have a hard time writing XP code on 10/11. Even getting some windows xp feature to compile will be an impossible task, unless you keep things to minimal, like the simple I/O shit you did.
Anonymous No.106320998 >>106321025
>>106320977
>quotes
>improperly paraphrases
>sperges out at ones own paraphrasing
>nou. ur nocoder larper hahaha
When did I say you can't use global illumination, you mouth breathing retard?
Anonymous No.106321025 >>106321132
>>106320998
You seem to believe there exists a realtime GI solution that provides reflections, shadows, and AO with no help from the G buffers or temporal reprojection. May I see it?
Anonymous No.106321032 >>106321066
>>106320979
Anon it's not that hard to make a xp compatible binary.
If your code is in C++, and it builds on "C++ Windows XP Support for VS 2017 (v141)", it will just work.
For C, I believe it's more simple (you can use the most modern VS 2022), the main blocker would be the UCRT (aka the C library DLL change), but I think if you just built with /MT, it should just work (no DLL's for the C library).
There are blockers, but if practicality is not the priority, there is always a way to get it running on windows XP.
I think you will be fucked 10x harder by android / ios / emscripten than windows XP.
XP is something you can figure out in a afternoon.
t. pogeet !!b2oSUmilA2N No.106321066 >>106321212 >>106321535
>>106321032
>If your code is in C++, and it builds on "C++ Windows XP Support for VS 2017 (v141)", it will just work.
exactly what I meant by realying heavily on C/C++ std libs.
I should have specified it as a compatible compiler instead, my bad.
You can completely ignore win32api's compatibility complexity this way.
>There are blockers, but if practicality is not the priority, there is always a way to get it running on windows XP.
and that sounds like it is not very easy.
>I think you will be fucked 10x harder by android / ios / emscripten than windows XP.
yes if they are 10x harder then windows XP is 1x harder, definitely not ez
>XP is something you can figure out in a afternoon.
it depends. For simple shit, yes. For deprecated features where either a rewrite or abandoning is the solution, maybe.
Anonymous No.106321124 >>106321366
>>106320979
>Whatever windows api you used for creating thread pool in xp, its probably deprecated in windows 10/11 now.
It's not, I just told you I'm using the same engine I wrote on XP right now
You also said that I used the C stdlib, and I pointed out I didn't, and now you've completely forgotten you've ever said that
And you wonder why people hate Indians, it's shit like this, complete third worlder mentality, zero respect for truth or integrity you just want to win an argument and appear knowledgable. You just posted more made up bullshit which isn't true. Why bother addressing it? You'll just keep going and going
Anonymous No.106321132 >>106321846
>>106321025
You are dangerously retarded.
>>quotes
>>improperly paraphrases
>>sperges out at ones own paraphrasing
>>nou. ur nocoder larper hahaha

Wake me when you feel like talking or want genuine advice instead of sperging out in a series of strawmans.
Anonymous No.106321212 >>106321366 >>106321366
>>106321066
>realying heavily on C/C++ std libs.
So instead you heavily rely on some shitty modern threadpool implementation (it's implemented ontop of win32) and hacks to implement edit-and-continue (this is already a feature in Visual Studios).
If your code can't run on linux, which is easier because unlike windows XP which is an absolute joke, linux is an OS that people use more than windows XP, and it doesn't use msvc (msvc lacks undefined behavior sanitizer, and valgrind drd/helgrind or thread sanitizer, but those are niche tools with lots of false postives, also I like having colors in my errors and linux mint is actually really good without any customization, and I wish windows 11 didn't need 100 changes to make it usable, ex: show file extensions, better terminal, taskbar layout, disable updates, or pray to god updates don't add stupid AI shit or widgets).
Anonymous No.106321289
where the triangles at
t. pogeet !!b2oSUmilA2N No.106321366 >>106321391 >>106321479
>>106321124
>It's not, I just told you I'm using the same engine I wrote on XP right now
and I already told you it'll work due to windows 10/11's backward compatibility.
Write a decent, not-a-simple windows xp application while on windows 10/11 and make it run on xp, then we can talk
>now you've completely forgotten you've ever said that
I highlighted that part to the post you literally replied to, I literally wrote that I should have used the word compiler instead of std libs but now, it seems like the word "toolchain" would have been more appropriate
>And you wonder why people hate Indians, it's shit like this
I don't wonder though. I know very well that people will hate indians regardless of shit like this.
>You just posted more made up bullshit which isn't true. Why bother addressing it? You'll just keep going and going
what made up bs, exactly?
Its you who said writing windows xp application in windows 10 is very easy
It is also you who concluded that writing windows xp apps has its blockers and its not as hard as android/ios
If anything, you are the one who has proven to be inconsistent here. You started from ignoring the original point about running XP on a VM, and concluded with hatred towards indians and me in particular lmao. Keep on going and coping, its still better than leaving the thread to die
>>106321212
>you heavily rely on some shitty modern threadpool implementation
yeah, that's what anon did and told me that there will be no win32api compatibility issues when writing windows xp app on windows 10/11 when in truth, anon barely used win32api himself s_m_h desu
>msvc lacks undefined behavior sanitizer
and linux lacks a good debugger
>>106321212
So many triangles in here, where do I begin?
I seen this one, I'm 'bout to go in
Then she said, I'm here with my friends
She got me thinking... and that's when I said
Where them triangles at, girls at?
Where them triangles at, girls at?
Where them triangles at, girls at?
So go get them, we can all be friends
Anonymous No.106321391 >>106321411
>>106321366
Everything you post is BS
You say "Instead of X I should have said Y", when X and Y are completely different fucking concepts
t. pogeet !!b2oSUmilA2N No.106321411 >>106321419
>>106321391
ah, after all this time, you finally found it. A thing to legit point at me.
Yeah, its my fault for saying "std libs" intead of "toolchain" but its not as worse as claiming writing xp apps on windows 10 is very easy and backing down with a msvc toolchian so I'm really really glad that that's it.
Anonymous No.106321419 >>106321465
>>106321411
All you need to do use use OS features which work on XP
Which are still documented
t. pogeet !!b2oSUmilA2N No.106321465
>>106321419
why repeat my own post >>106320775 to me?
>It does. You should avoid following modern APIs from microsoft's docs and dig though XP compatible shit.

whatever happened to your >>106320697
>It doesn't require additional effort
Anonymous No.106321479 >>106321505 >>106321535
>>106321366
>windows xp app on windows 10/11 when in truth, anon barely used win32api himself s_m_h desu
anon win32 api is the most stable API that exists.
The reason why using /MT (static build) makes C/C++ work on windows XP, is because the C libraries are built ontop of the win32 API.
Also I just googled thread pool for win32, and it's part of XP, I was thinking the threadpool API was actually a pool of threads (like boost::thread_pool or any libraries that uses threads), but it seems like it's just common win32 functions I already use (waitforsingleobject), but some are for vista (ConditionVariable~), but if you were using C++, there would be no point in using this API because of portability, and if you care about performance, you need to compare it to something, you don't write high performance code and just pretend like it's faster than the more simple approach, you need to see how much gains you get in some sort of test (because most performance assumptions are wrong).
I know that there is some real "pool of threads" API, probably a winRT abomination.
Anonymous No.106321505
>>106321479
nevermind, I only skimmed over the msdn page and I realized I was looking at the "old functions" there are new functions for vista that actually use a thread pool.
t. pogeet !!b2oSUmilA2N No.106321535 >>106321599
>>106321479
>anon win32 api is the most stable API that exists.
even so, the underlying operating systems are not forward compatible, which is why developing windows xp on windows 10 will be a challenge.
>The reason why using /MT
/MT is a MSVC specific thing, as in you are using microsoft's C/C++ compiler toolchain to build for windows platform and its just a liker flag that generate a static build. Whether it works on XP or not depends entirely on what toolchian you are using. If you are using the toolchain suggested in >>106321066 (C++ Windows XP Support for VS 2017 (v141), then the compiled executable might work on xp
>I know that there is some real "pool of threads" API, probably a winRT abomination.
ThreadPool API is designed for doing that on windows. "Pool of threads" is usually an abstraction design that programming languages create on top of platform specific pthread or threadpool api to create a cross-platform threading library like boost::thread_pool.
Anonymous No.106321599 >>106321621
>>106321535
>C++ Windows XP Support for VS 2017 (v141)
that only lets you use DLL's (more specifically, the DLL's are able to share C or C++ objects like FILE or std::string, this is extremely rare in most popular libraries, but because you use /MD it uses DLL's which don't exist on Windows XP, but the Toolchain fixes that).
If you use /MT, you solve the issue AND it still works with certain DLL's (the DLL's must not exports a FILE or std::string, the rare libraries that use those types will be compiled with a flag to force an error during a mismatch, ideally the libraries should also be pure win32 libraries, such as SDL, because /MT would just add bloat).
The other anon that doesn't use C Libraries is overprotective, he avoids those functions to make this code pure, but it should not stop him from building on windows XP with VS 2022.
Also if you only use C, I think you can use a "#pragma comment(lib, "mincore_downlevel.lib")" so that you use a really old version of UCRT like windows 7, and on windows XP, you can install the UCRT (it's not official I think).
Anonymous No.106321621 >>106321653
>>106321599
>but it should not stop him from building on windows XP with VS 2022.
*well, VS 2022 wouldn't run on XP, but you know what I mean.
t. pogeet !!b2oSUmilA2N No.106321653 >>106321725
>>106321621
yeah but the question is, can VS 2022 build executables that can run on XP?
I think so with the right toolchain
We'll have to go back to, maybe VS 2013, if we want to use VS on XP, I guess.
Anonymous No.106321725 >>106321773
>>106321653
Yes it can, either build with /MT or modify XP to use UCRT (onecore works too), or you copy 70 DLL UCRT DLL's to force ucrt to work on windows XP (but its not guaranteed to work), and the XP toolchain is for C++ (and XP needs to install a Visual C++ redistributable runtime for VS 2015, same for all Visual C++ versions).
t. pogeet !!b2oSUmilA2N No.106321773
>>106321725
ah, all that pain just to get started.
A true windows application development experience right there.
Thank you, Mikrosaft.
Anonymous No.106321846
>>106321132
If you don't immediately see the problem with criticizing GI for using temporal reprojection while also criticizing SSAO and SSR then my point is made, you are a noengine larper.
Anonymous No.106321882 >>106321903 >>106321944
Can anybody share a decent looking character model (including textures, materials, skeletal animation info, etc) that I can use as test data for iterating towards a good renderer?
Anonymous No.106321903 >>106321944
>>106321882
Bonus points if it's an easy to parse file format.
t. pogeet !!b2oSUmilA2N No.106321944 >>106321973
>>106321882
>>106321903
https://github.com/KhronosGroup/glTF-Sample-Models/tree/main/2.0
Anonymous No.106321973 >>106322006 >>106322033
>>106321944
Is there something similar for direct3D?
Anonymous No.106322006 >>106322067
>>106321973
Those are gltf files anon... you can use them for any rendering API
t. pogeet !!b2oSUmilA2N No.106322033 >>106322067
>>106321973
None that I'm aware of but glTF is a very widely used file format.
You can find a readily available library for your language that takes care of loading the file for you and it will present you with a scene that you can traverse and access each 3d model or light or skeletal animation info.
Wavefront OBJ is the most beginner friendly file format but that is very limiting. glTF is the best I could suggest.
Anonymous No.106322067
>>106322006
>>106322033
Chur bro
Anonymous No.106322228 >>106322277 >>106322279 >>106322893 >>106324560
Is Rust still a meme for game dev? Kinda wanna try random ray tracing stuff for fun (got a 5090 and thought why not, vulkan and nvidia rt samples were interesting) but I'm tired of C++ and I wanna see how good the dynamic safety is. I know all the tutorials are for C++ but I don't mind hitting my head for a few weeks if it's actually feasible.
Anonymous No.106322277
>>106322228
Just go for Odin. Rust was always a meme language, I don't understand how anyone can deal with its retarded syntax and focus on the problem itself.
t. pogeet !!b2oSUmilA2N No.106322279
>>106322228
there are several ray tracing tutorials in Rust.
https://the-ray-tracing-road-to-rust.vercel.app/
Maybe you should give it a try and see for yourself.
I'm not able to find the one I followed for building a ray tracer in Rust, the blog looks exactly like Peter Shirley's blog but with Rust code. I'm wasn't able to find it.
Anonymous No.106322893
>>106322228
>Is Rust still a meme for game dev
yes
Anonymous No.106323702 >>106323733 >>106323945 >>106324035
Are shaders part of the assets? I assume they live in the engine itself and models only have different texture/normal/etc maps that are used by these shaders.
t. pogeet !!b2oSUmilA2N No.106323733 >>106323771
>>106323702
Shaders are part of the renderer and they tell the renderer how to handle the assets. Shaders do the vertex positioning, textures mapping and lighting calculations so that the renderer can rasterize and present the final output of the graphics pipeline onto the screen.
Anonymous No.106323771 >>106325487
>>106323733
So different assets essentially have handles to materials + attributes for that material, and the engine maps those handles to specific shaders that implement those materials?
Anonymous No.106323945
>>106323702
whatever works best for your game. You can use both. You can have some systems use shader code embedded in the binary and others load shaders as an asset.
Anonymous No.106324035
>>106323702
You should have a shaders folder that sits next to the textures and models folders
Anonymous No.106324171 >>106324196 >>106325487
XP anon here (guess I'll be going by that for now lel). Sorry for shitting up the thread with my autism.

>>106318646
>I said that might be the issue. Didn't say that is the issue though.
I've looked it up before initially replying to you and got conflicting information. Some places say 2.1 is the highest-supporting on XP, some say it's 3.3. But then I've also read VMWare maxes out at 1.1, but its documentation says otherwise. I made a separate VM that has Windows 7 on it, I'll report back with results later on as to whether 3.3 works there so that we can tell if it's VMWare or XP's fault.

>>106318774
GTX 960 is the latest Nvidia card that can do both, it's the last card that supported XP. I still have mine and used to have it in a Windows 10 machine, though I haven't tested it with XP yet. Unfortunately, right now I don't have the time to mess with it (my current host machine has a RTX 3060).

>>106319029
>glew
Per the Hello Window tutorial, I'm using Glad instead.

>>106319126
>windows XP inside the VM will always be software emulated to OpenGL 1.1
I figured I could get more out of enabling 3D acceleration in the guest OS since I'm able to get DirectX-based vidya to play in it. Using a VM seems to be the point of failure here, guess I need to stop being retarded and just write my shit on the host where I already tried and got everything working.

>>106320323
Based
Anonymous No.106324196
>>106324171
it's 3.3
Anonymous No.106324221 >>106325223
>>106293160
https://store.steampowered.com/app/3898620/Dark_Knight/
Anonymous No.106324560
>>106322228
It doesn't matter what systems language you use, you will end up having to work with C and C++ only libraries eventually. My advice is try modules in C++23 (works on MSVC / Linux / Mac now), not having to repeat yourself with header files makes it feel more fresh and modern.

>>106320573
The people who know Vulkan are busy writing vulkan not trying to get code to run on 30 year old copies of Windows for no reason.
Anonymous No.106324608
>>106316119
It's better for performance to calculate the matrix inversion on the CPU and then upload it to the GPU. If you must do it on the GPU there are people who have implemented this already, search for float4x4 inverse matrix implementation. I found one just casually googling but spam filter doesn't like it if I post it.
Anonymous No.106325116 >>106325157 >>106325216 >>106325218 >>106325714 >>106326055 >>106329428
>want to get into graphics programming
>getting filtered by pic related
Anyone here read this book? I've spent 2 months with it and only just finished chapter 3. Yes I'm doing all of the exercises and all of the "here's a new thing, write the proof yourself" challenges the book says I should do. People online say this book is easy to follow?? What the fuck
My goal was to save some money not having to take a linalg class at a college but at the rate I'm going its gonna take me 6 months to get through this book. I just wanna be able to follow OpenGL tutorials and know what the fuck I'm doing, but they dont even get to dot products or determinants until way later in the book so it feels like its gonna take forever
Anonymous No.106325157 >>106325216 >>106325222
>>106325116
this book is like maybe what you should read third, not as your first book for the subject. especially not if you're trying to actually make something. just do learnopengl, he gives a pretty cursory explanation of the math involved.
Anonymous No.106325216 >>106325309
>>106325157
>>106325116
I am NOT reading a Ukrainian book.
Anonymous No.106325218 >>106325242
>>106325116
https://gamemath.com/book/intro.html read this book if you have no idea what a vector / dot product / cross product is. You don't really need a super deep understanding of linalg to get started.

- vectors are directions but also points
- 4x4 matrices allow us to encode a rotation, scale, and translation a point into a single group of 16 numbers
- dot product gives you the similarity between two vectors (example: in RE4/5 when the character turns their head slightly to look at an enemy near them they could have implemented this by checking the dot product between the player and the enemy direction + vector length, in mario kart when the player drives through a checkpoint you use the dot product to make sure they don't drive through the goal backwards to instantly drive 1 lap)
- cross product can be used to calculate a third vector aka the normal of a face for lighting calculations

start with the high level stuff like this and get pretty graphics on the screen, then go back to linear algebra done right when you start implementing novel graphics techniques
Anonymous No.106325222
>>106325157
Okay I'll give that a shot, thanks. I've always found that learning something sticks better for me when I can immediately apply it to something, so that seems like a good idea
Anonymous No.106325223
>>106324221
nice game
Anonymous No.106325242
>>106325218
I'll check that out too, I appreciate it
Anonymous No.106325309
>>106325216
KEK
t. pogeet !!b2oSUmilA2N No.106325487
>>106323771
yes.
Usually, the renderer part of the engine binds the respective materials+attributes during the draw call of the asset. That sends those materials and attributes over to the GPU so that the shaders can utilize them for rendering the final, textured geometry of the asset on the scene.
How you'll manage your shaders is up to you.
>>106324171
>Sorry for shitting up the thread with my autism
ha, dream on.
This is my thread and I'm a piece of shit.
I won't let others ruin my thread.
I'll ruin it myself.
MUHAHAHAHAHAHAHAHA
Anonymous No.106325607 >>106328823 >>106328935
is there an easier way of determining minimum hardware feature requirements than disabling features one by one?
Anonymous No.106325668 >>106325679 >>106325886
So each clients needs to ping each server to get latency information? Isn't that a n*m operation?
Anonymous No.106325679 >>106325688
>>106325668
It's a ping, Anon. It's trivial.
Anonymous No.106325688 >>106325886 >>106325896 >>106326121
>>106325679
What if your game get's super popular though, 1 million clients pinging 100k servers.
Anonymous No.106325714
>>106325116
So here's the thing. Most of the resources are actually dogshit at explaining thing.
https://gamemath.com/book/intro.html
and this playlist:
https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab

Remember the important thing is too completely avoid the row-major column-major switch-eroo and for some reason most resources including the site I linked, always begin talking about both of them simultaneously. The playlist I linked is much better, I recommend you keep rewatching it until you start to feel it.

And guess what? After all this, you can easily do matrix transformation, world-to-camera view transformation easily. But there's a kicker with the perspective projection matrix that most resources completely avoid or ignore. And that's the Z-range mapping. They vaguely state that the camera view coordinates are mapped to -1,1 NDC space but the official projection matrix doesn't map them linearly which is why you get that weird f/(f-n) thing. For this you should go straight to section "8" of this:
https://learnwebgl.brown37.net/
Section 7 is for cameras which is also really good. Honestly the entire site is really good.
Anonymous No.106325886
>>106325668
>>106325688
icmps are cheap as hell
Anonymous No.106325896
>>106325688
1 million clients aren't pinging every millisecond. Also it's a ping, literally one of the smallest packets possible. The pings are probably <.1% of the traffic on the server if people are playing on it.
Anonymous No.106326008 >>106326084 >>106326121
>when devs had to deal with fixed function pipeline that contains atmost the following attributes per triangle
ColorRGBA Emissive; // default: ColorRGBA(0,0,0,1)
ColorRGBA Ambient; // default: ColorRGBA(0.2,0.2,0.2,1)
ColorRGBA Diffuse; // default: ColorRGBA(0.8,0.8,0.8,1)
ColorRGBA Specular; // default: ColorRGBA(0,0,0,1)
You get: https://youtu.be/1uGT2J-_Kt0?t=1696
>devs have a fully programmable shader at every stage of the pipeline
You get realistic slop that doesn't even look realistic
Anonymous No.106326055
>>106325116
https://antongerdelan.net/teaching/3dprog1/maths_cheat_sheet.pdf
note that the shader is actually the easy part, because it's a solved problem (aka you copy and paste the example for rendering a 3D model rig and that includes instancing and bones and normal maps, and maybe PBR).
This is pretty much all the math you need to know:
https://antongerdelan.net/teaching/3dprog1/maths_cheat_sheet.pdf
You will get way more fucked by the graphics API itself, because there is no universal truth, the shader is actually shared between all the graphics api (hlsl/glsl gets compiled to the same spirv, technically interchangeable by API if spirv is supported).
But 3D graphics is a fruitless task. You can do a lot with shaders in unreal engine, since it has a clean node graph system, but making your own engine is tricky because simple tasks like using multiple shaders can be annoying, but if you already spent a couple years learning C or C++, it's natural to pick making your own engine, but it doesn't end well for most who try to make something 3D (also doesn't end well for most people using engines, but at least with engines you have a billion more tutorials).
Anonymous No.106326084
>>106326008
https://youtu.be/1OyxjX6m9w4?t=23
Anonymous No.106326121 >>106326137
>>106325688
It's not an issue. You should worry about problems when they're actually relevant not theoretical ones. This isn't to say that you shouldn't think about optimization ever, but premature optimization is a waste of time.

>>106326008
snake eater looks good but its not realistic compared to what you can do today, just look at the snake eater remake. There's nothing stopping you from writing performant software using a programmable pipeline today.
Anonymous No.106326137 >>106326192 >>106326746
>>106326121
People unironically think bottom one looks good.
Anonymous No.106326192
>>106326137
This looks like someone took a photo of a screen using a camera or a phone and the focus fucked up. It's not really a fair comparison. And it's irrelevant if you think it looks like shit, because it's possible to make non-shit (and mandatory these days) using the programmable pipeline.
Anonymous No.106326746
>>106326137
just slap a sepia filter on the bottom
Anonymous No.106326833 >>106326859 >>106326880 >>106326948 >>106327141 >>106327164
>2,000 hours of work on new game
>coming out this week on steam
>1,300 wishlists
>will probably make $1500 for this amount of work
Anonymous No.106326859 >>106327309
>>106326833
why, is your game like $2?
Anonymous No.106326880 >>106327309
>>106326833
making it on steam at all is a huge accomplishment congrats (assuming you made a real product and not ai / unity slop).
Anonymous No.106326948 >>106327309
>>106326833
the wishlists matter for day 1 sales.
but if your game is friend slop or whatever is popular with streamers, all it takes is for 1 streamer with like 10k viewers to play your game and if it gets a good response, other streamers will copy what the other streamers play.
But it depends too much on the game, if it's a linear game, like a VN, there would be zero conversion because the viewers got everything the game offers, if it's replayable, it might make some conversions.
Anonymous No.106327141 >>106327309
>>106326833
One of the pros of making a game engine is that you can just reuse it for your next game and it will be much easier and safer to pump them out. Unless you put your game logic on the renderer, that would be really stupid.
Anonymous No.106327164 >>106327309
>>106326833
post gaem
Anonymous No.106327309 >>106327378 >>106327499 >>106329963
>>106326859
$4.99 with 20% launch discount

>>106326880
Thanks, yeah it's not ai/unity slop, it is Unreal though. I am proud of it.

>>106326948
Right, it's single player but has leaderboards, and probably 2-4 hours to 100% the game for most people. For pre-release there have been a couple of twitch streams (200viewers, 1300viewers), and they all loved it but it didn't convert well to WLs. So I don't know if my game has "it".

>>106327141
Next I'm going back to my root swith SDL and C lool, 3D and Unreal is so much fucking work.

>>106327164
idk if I should on here lol
Anonymous No.106327378 >>106331320
>>106327309
>idk if I should on here lol
Why not? This isn't even /agdg/, this is some nothing general on a slow board that most people on the site don't even know exists.
Anonymous No.106327499
>>106327309
>Next I'm going back to my root swith SDL and C lool, 3D and Unreal is so much fucking work.
Unreal is fucking terrible but if you could utilize the replication graph system to get multiplayer working, it's probably the only good part of unreal, but you will suffer greatly unless you have a really good knack for networking.
(I've spent a lot of time reading/watching replication graph stuff, but it seems to just flip a checkmark on the actor and it works, but what about inventories or dealing with prediction, I bet it's possible but it's suffering, serialization is the first step, but making the game not feel laggy, and without cheating / duplication bugs is the harder step)
Anonymous No.106328823
>>106325607
Are you testing it on an old machine? It's a pain in the ass. You may need to use a simple triangle test.
Anonymous No.106328909 >>106328935
Finally finished updating my shaders to slang. Now I can finish my light system upgrade, and then after that I can add a skybox to my scene.
Anonymous No.106328935
>>106325607
CPU or GPU? For GPU you just say "requires at least Vulkan 1.0 support and now your game will run on hardware from 2012 and later. Anyone who is still using hardware from prior to this date can't afford your game anyway.

>>106328909
I like Slang, it's not for noobs to setup but its fantastic to use if you know what you're doing.
Anonymous No.106329428
>>106325116
I've made an entire graphics engine and never did any of that shit
Anonymous No.106329953 >>106329988 >>106331550
Implemented particles. All particles are small animations that self destruct when they end. A particle only needs four values to be represented in a buffer: position coordinates, frame index and scale, so it should be fast to update and draw. Also deleted a bunch of useless code and fixed the balloons.
t. pogeet !!b2oSUmilA2N No.106329963 >>106331320
>>106327309
>idk if I should on here lol
Post game, now!
I'm really curious about how games made by modern unreal engine will perform, like what art style you chose for you game.
Who knows, your sales might go up by 1 or 2 and I might partly become responsible for it. I might be poor but 5$ is something I can manage.
t. pogeet !!b2oSUmilA2N No.106329988 >>106330165
>>106329953
>Fart jetpack
very natural and no fuel consumption issues for flight. Amazing mechanics.
Anonymous No.106330165
>>106329988
Wait until you see the piss shooter.
Anonymous No.106330191 >>106330252 >>106330275
Any good resource for programming UI system?
t. pogeet !!b2oSUmilA2N No.106330252 >>106330275
>>106330191
none. You don't need any.
You just raw doggy them by constructing a widget tree for figuring out what widgets are present and you traverse it for getting widget info or applying layouting like spacing or positioning.
There are google's material and apple's HIG design systems to help you with getting ideas about layouting. Though they are designed for business application, their designs can be replicated and used in video games.
t. pogeet !!b2oSUmilA2N No.106330275 >>106330633
>>106330191
>>106330252
actually, I remembered that there is one
https://www.rfleury.com/p/ui-series-table-of-contents
Anonymous No.106330633
>>106330275
Thanks!
Anonymous No.106331320 >>106331936 >>106332378 >>106332511
>>106327378
>>106329963
https://store.steampowered.com/app/3578120/The_Stairwell/

thanks for the encouragement :)

the next 48 hours will be very little sleep as i am adding something insanely good to the game
Anonymous No.106331550
>>106329953
looks slick anon
Anonymous No.106331936 >>106331987
>>106331320
Thread is about to die, but very cool. The idea is interesting, but the footage needs work.
Anonymous No.106331987
>>106331936
yeah I haven't had time to make a proper trailer yet, but the current one is in the same style as how Exit 8 did theirs. Thanks anon.
Anonymous No.106332378 >>106332620
>>106331320
Can't wait to start my first day as an endless staircase supervisor.
Anonymous No.106332511
>>106331320
The Proposal
Anonymous No.106332620
>>106332378
lmao I forgot about this