Raylib edition
/gedg/ Wiki: https://igwiki.lyci.de/wiki//gedg/_-_Game_and_Engine_Dev_General
IRC: irc.rizon.net #/g/gedg
Progress Day: https://rentry.org/gedg-jams
/gedg/ Compendium: https://rentry.org/gedg
/agdg/: >>>/vg/agdg
Graphics Debugger: https://renderdoc.org/
Requesting Help
-Problem Description: Clearly explain your issue, providing context and relevant background information.
-Relevant Code or Content: If applicable, include relevant code, configuration, or content related to your question. Use code tags.
Previous:
>>105838198
>>105853772 (OP)you need to go back to your containment thread
>>105853867he started the thread retard
>>105854054>crigne thjreadWork on your spelling retard
>>105854153viva la crigne
Damn I wonder why everyone in the game industry loose his job.
https://www.youtube.com/watch?v=da4kLwTr1hc
>>105853659>What resources did you use to study, if i may askentirely LearnOpenGL.com
>>105853995something about a bouncing and spinning cube reminds me of like Jak and Daxter or Ratchet and Clank or some other PS2 era platformer
>>105854233That website alone is probably why so many people still use OpenGL. When a vulkan fag makes a tutorial as good as that then maybe I'll switch.
>>105854289>When a vulkan fag makes a tutorial as good as that then maybe I'll switch.won't happen, vulkan is way too verbose to make something as comfy as learnopengl. I feel like we need an OpenGL 5 or something that just wraps VK
>>105854293We have generations of shitters who shit on clean code and such, and then they came up with APIs like vulkan...
Everything has consequences.
>>105854655To be fair I don't think it's the fault of Vulkan, it's simply lower-level/more in conformance with how modern GPUs work than OpenGL. It just needs something a little higher.
>>105853867What do you think this place is?
>>105854293Nigga learn to fucking code
>>105854662It's just bad, it doesn't need to be like that. This is conciousness bad desicions that violates good software design principles.
The idea to expose every possible knob is just bad, it violates encapsulation, abstraction.
Leaking hardware implemenation details in API is just bad. Because hardware changes much faster than API.
>>105853772 (OP)still going strong, eh? Noice
>>105853867no u
>>105854293cope.
Just pick some vulkan rendering engine or game engine if you are gonna cry about not being skilled enough to use vulkan.
>>105854662>lower-levelNobody asked for that. Vulkan designers imposed it upon themselves. They have the wrong goals and the wrong ways to achieve them.
>>105854834Vulkan is considered high level by console devs, especially the PS5 ones. Good software design principles are always thrown out of the window whenever the language of choice is not object oriented.
>Leaking hardware implemenation details in API is just badVulkan is providing more access to the hardware than OpenGL ever could, leaving more control over the hardware in the hands of the developer. "Leaking" is a term generally used where there is a vulnerability but vulkan is just a design. Even if there is a "Leak", its the driver's fault and not vulkan's. Frequent hardware changes is not an issue for vulkan as almost all major GPU vendors sit together to finalize its design, with careful considerations. Those vendors will loose their own money if they do a poor job so it unlikely for Vulkan to end up being horribly bad to use.
How do I solve the zig casting problem?
I like the language. I think it's kind of fun and nice but it fucking sucks ass when you have to do any sort of mathematical computing to the point it becomes unreadable with @as(f32,@floatfromint(32)) looking casts everywhere.
>>105854992>Nobody asked for thatThat's not true, there's definitely demand for more granular control, which is why DX12 also went that route. The main issue is it's mostly big studios that want it and smaller devs won't really leverage it. Thankfully we have things like BGFX, SDL3, etc. that'll thinly wrap it for us, but OpenGL was nice because we didn't need that.
"low level hardware agnostic API" is oxymoron. it made sense as amd specific API (mantle). it doesn't make sense as openGL replacement.
>>105855071>How do I solve the zig casting problem?simple. You switch to Odin and deal with a lesser annoying type casting
>t. odin shiller
>>105855131Call me when you get methods inside of structs.
Oh wait ginger nigger doesn't want that because it's not like le C. Odin got most of the things right but it fumbled the moat important one.
>>105854233Thank you very much my man, this will really help me a lot.
Didn't save a screenshot but i've finished your game as a token of appreciation. Having the ghost girl be contained to one room in the final level was a lifesaver. Level 3 where you have to keep running away while still dealing with the red fireball-throwing things was brutal.
>>105855244nobody's stopping you from using function pointers in structs as methods like in C though.
Without built in virtual table, its just one additional line to setup them methods. Also, Odin has a '->' operator that lets you skip the first parameter if its a reference to the struct itself so using methods if you wish to is not that annoying
https://odin-lang.org/docs/overview/#--operator-selector-call-expressions
>>105855276>someone played dev saar's game?unbelievably amazing
0 (1)
md5: 016b0208dbc8b18d130ea64db268b7ff
๐
>>105853772 (OP)https://www.youtube.com/watch?v=4dyKlx1QmkU
enginebros, so when's that game coming champ? :^)
maybe give it 2 more decades? you'll make it eventually gramps
>>105855465"i made nothing" - mr clion turner
ps book me for code review or training :)
>>105855244Just use C++ if you want lots of useless features, because C++ has them all and just works unlike zig.
Do I need to use resource importers, or just resource loaders?
Resource importers: there is a distinction between asset and resource. Assets must be "cooked" by asset importers first, then loaded by resource loaders as resources. This is what all big engines do.
Resource loaders: there is no concept of assets. All resources loaded just in time.
>>105855903You need to make a game bloated enough to not fit into RAM for this to matter.
>>105855465>35 years of dev>the blabla engine, that blabla engine (just make the fucking game)>gamejam-tier Atari 2600-looking 2D gameExtremely grim.
When designing an engine, do you design a gui interface for it or is your engine just essentially code?
>>105856082You still need to load these png images somehow and convert them to textures
I want to make a banjo-like but know it won't sell well so I refrain from making it
This sucks
>>105856536why do you want to make games?
having a fun hobby and making money are two different things
hustle culture is cancer
>>105856655I want to make games for fun but I also want them to be worth it in the long run
Games like 3D platformers are sadly not worth making commercially
Even as FOSS people probably wouldn't play an indie game made like banjo or crash
btw another kind of game I'd like to make are the kinds of games that only really existed on the DS
experimental software-toys/non-games like nintendogs or tomodachi or brain age or w/e
with handhelds becoming as strong as home consoles, those games basically faded away, even for some parts of the indie dev scene where experimental projects are more than accepted
people expect bigger shit imo sadly, even from indies
though you could probably make similar games on mobile, but mobile has its own set of baggage/expectations as a platform that aren't the same as the DS days
a lot of new games in these genres still come from nintendo though btw
but it seems nintendo is the only game company that can get away with making these stuff
>>105855903I used a two-phase process even on my indie game because loading some formats like FBX takes a really long time because of all the processing you have to do
What's the fastest way to get a (3D) mesh rendering on-screen without using a full-fledged engine? Raylib?
>>105856257I've redesigned my GUI three times and I still dont use it for *anything*. I just stick in hotkeys and more recently a console for everything. Maybe someday...
>>105856711Raylib or (unironically) opengl1, pretty much
Shader-based APIs are objectively better than old FFP APIs, but they have the high negative of requiring lots of boilerplate
>>105856312Just embed them into the binary.
I really want to jump ship to linux but not having visual studio c++ would be tough for productivity.
>>105856722>Shader-based APIs are objectively better than old FFP APIs, but they have the high negative of requiring lots of boilerplateYeah that's the issue. Sure SDL+Vulkan would be the best, but I'd also be looking at 12 months of work to get it going at a decent level.
>>105857039I wrote my OpenGL renderer in 3 months with no experience and that included a whole lot of unneccessary shit like script bindings
anyone tried current state of image generation for asset creation? Is it good enough yet? I only used it for idea creation so far.
>>105857364how much of an NPC do you have to be to ask AI to have ideas for you
>>105857455Reminder that you're an NPC if you speak language your parents did.
>>1058571133D or 2D? Either way that's considerably shorter than most estimates I find, not that I really trusted them to begin with.
>>105857704Maybe you should make your own thing and then you won't need estimates of others, nocoder.
>2D or 3DBoth take the same amount of time, you just remove the extra term for 2D, mathlet.
>>105857521The entire point of doing this is that you're realizing your own ideas
>>105857720>nocoder>Both take the same amount of time, you just remove the extra term for 2DI know this is bait but some people genuinely parrot this.
>>105857752>3DMaybe I should give it a try then.
>>105857039>VulkanDon't bother, honestly.
>old clunky and outdated descriptors means you would learn something that is a relic and will be dropped by any newer API (Metal already does this, DX12 Ultimate too as far as I know)>unlikely you'd get much of a performance boost vs OpenGL>much more of a pain in the ass to learn and do something inJust do OpenGL, if Kronos ever gets off their ass and fixed Vulkan to be a more modern API you can always learn it, experience in OGL won't hurt.
>>105857878How does the Vulkan not have the ability to increase performance considerably? I understand not wanting to use Vulkan when wine exists, but in every game with both Vulkan and OpenGL support the vlk version runs laps around the one with opengl. Especially on AMD machines. See DOOM 2016.
>>105858071Are you making Doom 2016?
>>105858073No. Sorry I was speed reading.
>>105858129The point is you aren't making an AAA game so Vulkan isn't going to make much of a difference to you
>>105858071>Vulkan not have the ability to increase performance considerably?How many anons in /gedg/ are making games where Vulkan would provide a considerable performance increase that is meaningful (not going from 2ms frametime to 1.9ms)? Of course Vulkan provides better performance but I doubt most will find the opportunity to squeeze that performance out of it, and even if they do it won't make a tangible difference to the end user.
Keep in mind that this is all in the shadow of increased complexity and development time. If Vulkan was as simple and quick to get going as OGL nobody would argue for OGL, but it isn't. The fact that you're then learning a clunky relic with descriptors makes it even more annoying, it's probably the thing most people find to be a pain in the ass, and it's something that will probably be phased out "soon" (Metal is already there).
>>105857752>>105857799>y-you don't know what you're talking about!>Maybe I should give it a try then.How about (You) go back, nigger?
>>105857759No such thing as "your own idea", Dunning-Kruger-kun.
>>105858232The only thing you can make is registry dumpers you midwit
>>105858248My OS doesn't have registry in the first place. Maybe you should try finding another argument other than "i am so mentally ill I emotionally break down when vectors have one more term".
>>105858271You have never made anything remotely complex or resembling a game or 3D application
>>105858283Probably because 3D math isn't complex at all even if you use quaternions, that word really scares reddit...
>>105858071>Especially on AMD machines. See DOOM 2016.that was debunked. doom 2016 was faster on amd hardware because it used amd shader intristic. nothing to do with vulkan.
>>105858139Are you implying that Vulkan makes a difference to AAA games that run even slower than they used to when devs were forced to implement OpenGL or DX12?
>>105858071opengl engines typically single threaded. but vulkan engines are multithreaded, that where the most notably perf difference is.
vulkan doesn't make GPU magically faster.
>>105858419Explain why rendering would ever need more than one thread.
>>105858419No, OpenGL runs on a single thread but that doesn't mean your entire engine has to
>>105856675Personally I enjoyed many games like this.
I thought they were reasonably popular.
Cavern of Dreams, Yellow Taxi goes Vroom, Hell Pie, Sludge Life 1&2, Castle on the Coast, Siactro's games
maybe even games like A short Hike
I for one would love to play your game, anon
>>105856675I disagree, people like 3D platformers, A Hat In Time is a recent one
Vulkan is better because it sounds cool and reminds you of the future of Star Trek.
>>105858623>people like 3D platformersI don't know about "people" but yes you MUST go out of your way to appeal to trannies if you want success in that genre.
>>105858643You did by posting here, troon.
>>105858649not that anon, but eat a bag of dicks, you spiteful cunt
if you would focus on something productive instead of hating others, you would maybe even finish making a game someday
>>105858774>if you would focus on something productive instead of hating othersI can do both, in fact I consider both as being productive.
>you would maybe even finish making a game somedayI have, stay mad. (no you will not get a link so you can tranny brigade me)
>>105858812All you can do is make registry dumpers, we all know you've never made a game
>>105858827Dilate, seethe, and take your meds.
>>105858842Program something notable
You won't
>>105858842You don't have to be transsexual to accept other peoples.
I was once stuck in this indoctrination pool of this sewer too. I believe others can escape as well.
>>105858880Just because he's retarded doesn't mean you aren't a castrated freak, tranny.
>>105858880>I was once stuck in this indoctrination poolYou still are, tranny. Go virtue signal somewhere it matters faggot. If you want your pedo hugbox goto bluesky or back to your groomcord. Now get back on-topic I'm not responding anymore.
Making some poker game that has easy online play
>>105858892>>105858897I am not trans. Just someone that opened his heart to other peoples, like Jesus
>>105858903>online playDOA
>>105858911>like JesusThe American hippie retard idea of Jesus, you mean. He literally says that any man who destroys his genitals will suffer in hell for all eternity, Jesus was harsher than the vast majority of modern chuds.
>>105858934I would think it's DOA purely because it's a card game. The market is getting flooded with those right now due to Balatro success. Not saying nobody should make them but it is bad timing. It better offer something wildly unique to stand out is all I'm saying.
>>105859021Make it offline, that would be a breath of fresh air.
>skeleton transforms are interpolated between keyframe poses
>each vertex is assigned bones
>vertex transform is the product of all bone transforms from the root to the assigned bones
Is this the correct idea for skeletal animation?
>>105859101as far as I understand, it is from all bones
the chain is just for animation purposes not for deformation
>>105859101>>each vertex is assigned bonesSpecifically a weight for each bone.
>>105859241Vertices have weights for multiple bones, not just one
>>105859101vertex is in local space
then there is a local to parent local transform which describes the relationships between bones
the parent local transform can further be decomposed in to the local space rotation and the parent local position offset
all parent local transforms combined produce the local to pose transform
you only need the vertex in local space and the local to pose transform to do skeletal animations
>>105859297>you only need the vertex in local space and the local to pose transform to do skeletal animationsIs the suggestion from this that for some vertex with several parent bones (like a finger) there's a single transform (the composition of the parent transforms)? Basically only 1 matrix is needed in the case of a vertex only assigned 1 non-zero weight or bone
>>105859393i think you have the idea but you are not thinking spatially which isn't helping. you are going from local space to pose space, you only need a single transform to do that. If it comes from one matrix or the weighted average of multiple matrices, it's a single transform.
>>105858640>>105858774Why are you guys fighting? I just wanted to make a 3D platformer
If this is gonna cause political shitflinging even indirectly, then I REALLY won't make a 3D platformer just so people won't have retard fights
>>105859547Yeah I've only encountered this in writing so far, but talking with you and other anons has helped with spatial intuition (so thanks <3)
>>105859567Don't let some nutcase on this board influence your decision to do anything
>>105855396That operator looks interesting. Let's try that out.
>>105859588Nah, if retards both on the left and right are gonna try to politicize something I might make, then I'm not gonna make that thing
>>105859600There's nothing political about 3D platformers
Your game becomes successful but spiteful retards with lots of power (who think they are the victims) decide to spread false rumors about you, it works, and you get cancelled
Wdyd?
>>105859633I don't want to indulge your cringe revenge fantasy
>>105859613Exactly, but people try to politicize it anyway.
Chuds this, SJWs that, I just want to make people happy.
And if people (mainly the far left and far right) are gonna try to ruin everything, I might as well not bother.
>>105859636>revenge fantasy?????????
All I said is that 3d platformers are primarily enjoyed by trannys so it would be best to appeal to them. Which is TRUE FACTS. A Hat in Time is a tranny game whether you like it or not.
>>105859653Yes, they will
Or at the very least, my userbase will just be infested with extremists, left and/or right
And I do not enjoy that idea
>>105859666>trannysnta but it's spelled TRANNIES, satan-kun
>>105859682Do you know how much of a retard you're being right now?
>>105859699??????
How am *I* the retard here?
I'm not one of the two parties who engaged in political shitflinging over the fucking 3d platformer genre
>>105858942>He literally says that any man who destroys his genitals will suffer in hell for all eternityWhich verse? Also does this include circumcision?
>>105859710You have these delusions of grandeur that you're going to be pulled into some political conflict based entirely on the fact that the village schizo replied to you
>>105859699No he's right, as soon as you start a Discord within hours you will have people spamming TRANS RIGHTS and shit in #main, it's just how things are, somebody is going to make a joke about it and now you have community drama.
>>105859726>spamming TRANS RIGHTSthat and/or spamming "I HATE TRANNIES"
>>105859726>start a DiscordJust don't do that. Simple as.
>>105859726actually
>as soon as you start a Discordthere's the problem
Tbh if politicsbrained retards try to start drama just do what Nintendo does to any drama or controversy: just ignore it
Thoughts on using COM for your game?
>>105859241>>105859268this is what I hate about skeletal animation, there is no standard to how many bones can affect the same vertex, most go with 2, sometimes it's 4 maximum, the issue is that most solutions do not use compact memory layouts so a vertex will always compute the maximum amount of bones it can have.
this crap doesn't even include additive partial animations or animation overwrite for limbs and advanced stuff. yet somehow i'm even more upset about the lack of visibility flags. wanna hide part of a model? just hide it bellow the map or move it to infinity where it cannot show up. VFX? it's always hidden under the map somewhere. Wanna have masked models? have fun dealing with even more bullshit.
why the fuck are we living in the stone age when it comes to advanced animations? I didn't even talk about the different interpolation methods that you might wanna do.
>>105859865>most go with 2, sometimes it's 4 maximumthe standard was 4 in the early 2000s
>>105859788https://superelectric.dev/post/post1.html
I'm using the CLAP ABI for plugins/mods, it's very comfy. COM is fine as long as you don't do inheritance.
>>105859865>this is what I hate about skeletal animation, there is no standard to how many bones can affect the same vertex, most go with 2, sometimes it's 4 maximum, the issue is that most solutions do not use compact memory layouts so a vertex will always compute the maximum amount of bones it can have.these are just attributes, i don't know what solutions you are talking about when you are writing the shader yourself
>this crap doesn't even include additive partial animations or animation overwrite for limbs and advanced stuff. this is just an inverse transform followed by a local transfrom followed by a forward transform, aka change of basis
yet somehow i'm even more upset about the lack of visibility flags. wanna hide part of a model? just hide it bellow the map or move it to infinity where it cannot show up.
if you are splitting your model in to separate indirect commands this is a trivial GPU hack
VFX? it's always hidden under the map somewhere. Wanna have masked models? have fun dealing with even more bullshit.
honest question what's a masked model? like masking bones so only some bones animate? that's just having an extra set of weights innt? and you set the weights to zero?
>why the fuck are we living in the stone age when it comes to advanced animations? I didn't even talk about the different interpolation methods that you might wanna do.maybe because you are not writing your own systems?
>>105859887iirc Raylib and most gltf loaders only support 2 by default.
>>105859940>maybe because you are not writing your own systems?He is writing his own system, everything he talked about is an already solved problem
>>105859948Definitely not GLTF, and Raylib isn't a real 3D engine
>>105859966I've seen people use 3D models and swap them like they're 2D sprites. And I really mean having multiple static models with 0 interpolation, just to dodge the headaches of bone animation.
>validation layer keeps telling me im wrong without an explanation
im not wrong, unless something magical is happening under the hood that is just not detailed anywhere. no faggot gpu, the uav has been transitioned back to an srv, stop bitching at me
>>105859995>headaches of bone animationit's really simple https://github.khronos.org/glTF-Tutorials/gltfTutorial/gltfTutorial_020_Skins.html
>>105859717>Which verse?Deuteronomy 23:1
>He that is wounded in the stones, or hath his privy member cut off, shall not enter into the congregation of the Lord.>That's not JesusThat is Moses reading the laws and commandments of God, who Jesus is.
>t-that's old testament!Matthew 5:17
>Do not think that I have come to abolish the Law or the Prophets; I have not come to abolish them but to fulfill themBut don't worry, if you can stop diddling kids and repent, you can still avoid hell.
>Matthew 19>Jesus looked at them and said, โWith man this is impossible, but with God all things are possible.โSo even someone who cut his dick off to goon with his discord groomers can still be saved.
>Also does this include circumcision?No. The Jews until the coming of Jesus were ordered by God to do so, not to mention the verse states a lot more than just circumcision. In any case, Matthew 15:11 states:
>What goes into someone's mouth does not defile them, but what comes out of their mouth, that is what defiles them.So someone circumcising you as a baby which you have no control over would not send you to hell.
>>105860591I dislike trannies but fucking hell dude shut the fuck up you're so fucking annoying
>>105860639Nothing quite gets certain people riled up like quoting the bible. I fully expect janny to have a total meltdown too.
>>105860656>durr I'm so basedNo you're not. You're cringe. You defend circumcision and are a christcuck who bends over for israel
You are not special. You are yet another retard of the masses who sucks the cock of evil pedophiles (the government). Your so-called enemies are just blue variants of you.
Go to hell.
>>105860677No? Circumcision makes no sense since Jesus came and Jews are the synagogue of satan who have co-opted both the name "Jews" and "Israel".
You should probably ask yourself why you feel anger when seeing bible verses.
>>105860739>You should probably ask yourself why you feel anger when seeing bible verses.I don't, it's not the bible, it's retards like you who are just SJWtrannies but "red" and "based" (aka extra cringe)
>>105855708>C++>Just werksPray tell what's a build system that just werks for C++?
>>105860793None
(just use a build script)
>>105860793GNU Make. On God.
>>105860810Extremely cringe.
>>105860811I don't use freetard os or tools.
>>105860819>Extremely cringe.Why not? You can just compile everything through a batch file or shell script
Hell, even python
>>105860819Use Java or C# then.
>>105860823You'll find out when your project goes beyond a fizzbuzz.
>>105859633Be likeable and politically neutral, so nobody will have a reason to do that.
>>105859666Kids and people with nostalgia for the PS1 days outnumber trannies. I don't think what you're saying is true at all outside of that one particular game.
>>105861178>people with nostalgia for the PS1 days outnumber tranniesThose ARE the trannies.
>>105860828Is that a build system for C++?
>>105855244>methods inside of structs.don't need these
>>105861237No, it's programming languages for street shitters like you.
If you need a GPU for your game, you're doing it wrong.
Simple as.
I hope you guys are self hosting your git.
>>105862143I don't use version control
>>105861866is iGPU allowed? cause otherwise its not possible
>>105861866I'm actually debating the possibility of a lisp that compiles to compute shaders, just to run the whole game on the GPU
>>105862143does that mean a local repo? yea i have a local repo but none of all the fancy github stuff sadly
Lisp is for nerds not for making gaemz.
>>105862646Lisp is for people who aren't very good at programming who want to feel smart
>>105862143Yes I am running a git-daemon on my machine, how did you know?
Do you atleast try to make a game?
>>105862879Yes, I have the skill to program any game I'd want to, yet music, art, story, general presentation to the normiecattle has made sure that I am ngmi.
>>105862879Yeah, I'm making multiple games.
any good books on ui design from the coding perspective ?
>>105862943this thread is not your personal google
>>105862958Okay, than let me rephrase that. What would be considered better? Callback based or state based that gets checked once every time interval.
>>105863015im using retained mode for mine
>>105862226vulkan and dx11 support software rendering (maybe not every extension however).
opengl supports software rendering through Angle which then uses SwiftShader or dx11 warp.
>>105861866So your game is just some CLI drawing .'s and @'s?
>>105862143Yes!
But also, there are no racial slurs in my codebase.
>>105862646>>105862659wronk
Lisp is for anything and everything
https://github.com/Shirakumo/trial
>>105862943You might get lucky looking for UX design instead.
Just apply your game dev knowledge to create and manipulate GUI widgets, there are hardly any tutorials about retained mode GUI implementations but plenty about immediate mode. You are just expected to implement a retained mode shit with just the theory in the know so its fairly an advanced thing.
If you are talking about UI design then you'll have to pick up a few additional bits about color theory, stuff like preferring vibrant colors for better readability and how to use appropriate shade of a colour for a widget based on its functionality. Those two along would mostly be enough as longs as you are not trying to do persona kinda UI
Yeah fuck it I'm a raylib chud now.
I started from scratch again.
>>105865194Nice! I just started migrating from raylib to sdl3, would have never made it this far without raylib. Awesome library.
>>105862879Yes, and failing so many times has been incredibly helpful and eye opening. Its wonderful
>>105849312This one time on teamspeak he hot-mic'd some incredibly peppy J-pop song on repeat for like an hour.
Hey /gedg/, give me your thoughts on this lib. Anyone use it?
https://github.com/rxi/microui
Is it possible to make a game with just opengameart/itchio slop?
>>105866825i used it long back and it was good enough as a dearIMGUI for C
Does it matter what library I use from sfml to sdl to opengl etc?
>>105868452sfml vs sdl is less of a library and more of a language choice. If you are a C++ fag then sfml will please more than sdl ever could.
does it matter? not really, as both will get the same job done for opengl so in the end, its all just a matter of preference.
Someone correct me if I'm wrong
>ECS design revolves around having one master class called 'entity', to which the entity class has every single component which is used in the game
>every object in the game is an entity, so they every entity technically has all possible components. But if they're unused they're just set to 0 or null. e:g a tile to jump on has a speed component because its a component you have in your game. However the tiles speed is set to 0 so it doesn't move
>>105868566No. A lot of spergs will argue at length about what an ECS is, and they often over-bloat the definition to be way too complex for 99% of games, but my definition (the right one, of course), is simply Entity Component System:
>an Entity is pretty much just an ID>it has Components that contain data (e.g. HealthComponent with two floats, one for current health one for max health)>Systems do things with these Components (e.g. increment health by regen*deltatime every tick) and sometimes Entities (e.g. mark for deletion)That's it, that's all it is. It's a subset of composition.
>>105868623>health is a floatSar...
>>105868626Literally doesn't matter Sukhdeep, I'm sure you can figure out how to display it as an integer to the player if that's what you want.
Though I'm sure you have some "deep" insight to share as to why it should be stored as an int, not a float.
>>105868566No
ECS is a database
Rows are components, columns are entities
Systems are queries (functions that operate on entities that match the parameters)
>>105868623It doesn't matter how Entity is represented. It doesn't matter how entities are stored. It's just implementation details.
The principle behind ECS is to just move update/draw function outside of entity.
It can be as simple as
struct Component {
ComponentType type;
//union of all possible components
}
and system is just:
foreach (component : components) {
if (component.type == RENDERABLE) {
render(component);
}
}
>>105869403that's not ECS
>progress report
finished automatic loading and gpu mipmap generation of linear color pngs
>>105861319>no counter argumentcongratulations. C++ is the worst abomination ever created on the face of this earth.
Even Rust looks readable compared to C++ gymnastics.
>>105869894>linear color pngsnow I'm starting to wonder when we'll get ready made libs for importing hdr png
>>105870278In fact, java was created because dealing with C++ was absolute nightmare in terms of complexity and memory safety. It started out as "C with classes" and later Mr. StrawSoup did some changes and marketed it like crazy. The big corpos bought his shit and blessed us with the "clean code" shit in return.
C++ is the shit show of the agile dominant brain dead circus
>>105870344cope issue
How necessary is baked lighting in a 3D game? I understand the performance benefits, but is a deferred renderer enough for most global illumination? Was thinking of writing a standalone light mapping tool but it's a new kind of tech for me that would probably take a while
>>105855276Thanks man, it means a lot. I don't really have aspirations of becoming a notch or barone level millionaire from my games, I just want people to play them and tell me what they think.
As a bonus, here's one of the main resources I used to learn DirectX 11
https://rastertek.com/tutdx11win10.html
>>105870278I already told you, saar, just use Java or C# and be happy.
>>105870409>now I'm starting to wonder when we'll get ready made libs for importing hdr pnggive it another couple of years, considering the png 3.0 spec just came out
for now ill have to simply inspect "/sRGB/RenderingIntent" and "/gAMA/ImageGamma" in the metadata. handling that is what ill work on next
Finally my stupid gui kinda works.
>>105871040i hope the text is broken, if not then wtf is that font
>>105871101It's just an ugly bitmap font.
How do you guys manage your 3D rendering -- scene graph or immediate mode?
Thinking of devving on linux
For whatever reason my windows install keeps choking; the OS disk usage becomes extremely slow even though it's on an SSD
>>105872245sounds like a skill issue
>>105872245 (me)
Figured out the problem I think
For whatever reason, Windows set the page file size to 64GB
any good SDL3 projects to read and learn from?
>>105873254i wish real game devs looked like this
>>105873254I still think it's funny how there's a slice of life anime about fucking game development
that shit sounds boring as hell lmao
>>105873254Not really, but the docs are great, just do the triangle tutorial on Medium to get set up and you should be able to figure out the rest.
i like rust, i like bevy, i like ECS
>>105873325I used to as well. For about six months and then I wanted to kill myself. Not again.
>>105873333depends if im having sex with a man or woman, so sometimes
>>105873325I hate Rust. I have no opinion on Bevy. I like ECS.
>>105873346nta but
>depends if im having sex with a man or woman, so sometimesThen you're not gay or straight, you're bisexual
>>105873397i dont know i feel like the label is meaningless, i think most people are bi would be considered bi if given the right opportunity i dont think sexuality is ever set in stone
>>105873343desu im starting to feel it too but only because bevy is so undercooked right now, maybe i should bench my project until their editor is done
>Chatgpt recommends I use an ECS
>I tell it I don't want to use an ECS, I ask what object model I use then
>Chatgpt suggests classic OOP but passive-aggressively says it sucks and you should still just use ECS instead
Kek, I think it's trained on reddit
>>105874604OOP fucking sucks for any complex system and games are literally one of the most complex systems, you dont have to use ECS but using OO paradigms is painful
>>105874716I know, but the AI is acting like OOP is the only other option than ECS and that because it's bad you should use ECS instead
Which is a common take ECSbros pull out of their asses
>>105874604Why the fuck do people ask ChatGPT for advice?
>>105874716OOP is what people use to make complex games
>>105874767>OOP is what people use to make complex gamesbecause ECS hasnt caught on yet and most games are being made in unity and unreal and designed by dinosaurs and or retards
>>105874716It's the other way around. OOP is overkill for most needs but highly complex systems are honestly easier to structure and extend if you have a non-shit object oriented framework.
>>105874780>non-shit object oriented frameworkits just so easy
>>105874779>ECS hasnt caught on yetIt was popularized 8 years ago
>>105874767>OOP is what people use to make complex gamesNo? I guarantee you at least 40% of "complex games" that call themselves OOP are not OOP. Nobody at the level of making a complex game is going to suffer through OOP for stuff that isn't very strictly gameplay like the player character etc.
>yeah bro our AAA game uses OOP>yeah like the character and enemies are objects>uh no the AI logic, items, enemies when out of instance/world, particles, events, etc are not objectsEven the most "OOP" game is still only like 60% OOP at absolute best because nobody is going to suffer through that.
>>105875113what counts as an object?
>>105875113>Even the most "OOP" game is still only like 60% OOP at absolute best because nobody is going to suffer through that.>durr if the entire codebase isn't OOP then it's not using OOPAre you even listening to yourself? Programming paradigms aren't meant to be monolithic, they're strategies for solving an issue. Obviously a complex application like a game is going to be comprised of a multitude of strategies, and for you to say "sure half of it is OOP but that means it's actually not OOP!" is beyond retarded.
>>105853995Reminds me of the directX cube. Sovl.
>use code for the first time in months
>weird sync error that wasn't there before
{ERROR}: [Vulkan] vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x190000000019) is being signaled by VkQueue 0x56118bcc9f10, but it may still be in use by VkSwapchainKHR 0x410000000041.
Here are the most recently acquired image indices: [0], 1, 2.
(brackets mark the last use of VkSemaphore 0x190000000019 in a presentation operation)
Swapchain image 0 was presented but was not re-acquired, so VkSemaphore 0x190000000019 may still be in use and cannot be safely reused with image index 2.
Vulkan insight: One solution is to assign each image its own semaphore. Here are some common methods to ensure that a semaphore passed to vkQueuePresentKHR is not in use and can be safely reused:
a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.
b) Consider the VK_EXT_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.
The Vulkan spec states: Each binary semaphore element of the pSignalSemaphores member of any element of pSubmits must be unsignaled when the semaphore signal operation it defines is executed on the device (https://docs.vulkan.org/spec/latest/chapters/cmdbuffers.html#VUID-vkQueueSubmit-pSignalSemaphores-00067)
...
Getting errors with the fence and semaphores kek.
>>105875791I was under the impression that the semaphores should be per in-flight-frame, not per image.
>>105875791I found this link describing my problem
https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html
>>105874779ECS is only concerned with update functions, and people do stupid things to get around that.
>>105875993I think I understand everything perfectly now. So the new sdk isn't cool with what the vast majority of examples and tutorials are doing kek. I'll add a note to the compendium.
So you need to either use the extension or have your "render finished" semaphores signaled by the queue submit be per swapchain image rather than per frame in flight. The fence and "image acquire" semaphores are per frame in flight.
I'm not cool with vulkan either
>>105876114Did /gedg/ discuss his change when it happened? I haven't been here so often so I may have missed the boat ...
>>105876218But Vulkan is based. It just turns out most of us were using it incorrectly for years ...
>>105876295i paste the error code into grok 4 heavy and it fixes it instantly and tells me what the error means
>>105870480Much appreciated anon. I wish you good luck on your projects. Cheers!
>>105876002people lack the creativity so they resort to stupid, many such cases
>>105877587bevy's super duper fast real ECS copies all sprite components into a vector every frame, because they need to be sorted. in my engine all sprite components are already stored in a vector, more faster in practice.
as it turns out ECS is not a silver bullet.
>>105877929especially archetype ecs
>>105877929Retards always screech when I point out that ECS is opposite of fast, but they never explain why their meme cannot do optimizations like this.
>>105878091It's fast when it comes to the CPU. GPU, not so much. Hence why it's good as part of an engine, or when you have some sim-heavy stuff going on. Otherwise no point.
>>105876295and why havent you been here a lot lately? did you abandon us for agdg?
>>105878195it's fast to iterate over arrays, the problem is there aren't much things you can do with data packed in arrays.
>>105878255copying data in small chunks is very slow. you may get like ~5MB per 1ms if you're lucky.
all modern ecs implementations heavely rely on a lot of data copying when you add/removed components. and also you need a lot copies to create intermediate representation of data like sprite sorting, for example.
in the end you will probably waste a lot more performance on uneccesary memory copying.
>>105855071Try to stick to one data type for your computations, or reduce the amount of surface area of your code that does the casting.
t. Everything-is-an-i32 enjoyer
>>105878255I handcrafted those arrays so I could do a lot.
Explain how ECS is better, genericslopper.
>>105878255>the problem is there aren't much things you can do with data packed in arrays.Clearly you have not seen what array languages are capable of, while having only one unified data structure available to represent everything.
In short, the selling point of the typical array language is to give the programmer a mindset and the tools to be able to represent, and compute with, pretty much anything with just data packed in arrays. This will scale well as computers tend to lean towards improving parallelism instead of gunning for single core speed.
>>105871040Wheel friction issue fixed. Notice how the wheel skids like on ice in the previous clip.
any ideas how to make a anti gravity racer like fzero or wipeout? I have been reading various projects/re implementation but they all seem to have hacked it together there is no real physics engine there.
>>105868566No, an entity is typically stored as just an int, which represents the ID of the entity. The components are stored in some arrays outside of this Entity struct.
>>105878852>Muh cache locality>Actually, we have some indirection even where putting some data right into the entity itself would be beneficialThis is why ECSfags will never be taken seriously.
>>105878362Actually I asked GPT to generate some non retarded short wrappers so I can just do
const cu = @import("CastUtils");
const width = cu.i32f(rl.GetScreenWidth());
I have a bunch of helpers in cast utils which does common float to int, int to float and widening casts etc. Makes it simpler than usual.
You know Clay is impressing me more than microui.
https://youtu.be/DYWTw19_8r4?feature=shared
Maybe I'll look more into that.
>>105878248No I just post there a bit more often because I want to save higher quality posts for /gedg/. I'm just busy with irl stuff.
Anyone using unreal engine here? I have an issue with renderdoc:
This simple shader:
https://dev.epicgames.com/community/learning/tutorials/WkwJ/unreal-engine-simple-compute-shader-with-cpu-readback
Doesn't appear on renderdoc.
>>105878967Clay's got bindings for Odin ever since it became a thing. Its layouting resembles android a lot, which is the only layout design I like. swift ui and html/css/js layouting are absolutely retarded. About clay, I'll say that it'll feel less annoying(if it did) the more you use it.
>>105878898>there is no real physics engine there.I mean, if you are fine with a gameplay where your car goes through other cars without either of them changing their course due to the impact, then physics is not necessary.
>>105879122I love unreal engine but hate it for being too bloated.
I don't think it would work as render doc "captures" a frame and if your application is executing compute only then you need to integrate renderdoc api into your application, it seems. So you are better off checking for unreal's debugggers. Try logging the compute's output or something.
https://github.com/baldurk/renderdoc/issues/1386#issuecomment-493106018
afaik you should add one line to have shader debugging access via renderdoc but that's for present though. I don't know if will work for headless compute
https://dev.epicgames.com/documentation/en-us/unreal-engine/shader-debugging-workflows-unreal-engine
>>105879446Thanks, but renderdoc works perfectly with my other plugin which uses scene view extension and a custom shader to output to a texture.
I simply uses this macro for instance: RDG_EVENT_SCOPE(GraphBuilder, "MySimpleComputeShader"); And I immediately use the tag in the event browser filter to look at the pass I'm doing.
Also my little compute shader works perfectly and I log every frame the result in the unreal console (I'm using an actor to call the dispatch every "tick").
Chatgpt says that maybe it's because I'm not using a texture so I'll try to output to a texture that I'm using ingame but I doubt it's coming from that.
>>105873254chocolate-doom is in the process of migrating to SDL3
https://github.com/chocolate-doom/chocolate-doom/tree/v4-branch
Alice
md5: a4fd92ce88131f4e42dd3294c43c8236
๐
>>105823834The follow up, as requested:
My engine's FLAC->Opus converter works-ish now, from begining to end. Sample audio file:
https://limewire.com/d/Mw9Jn#MMVUnsv1nw
It's a little broken yet but you can play the resulting audio normally, at least on my machine.
Later, if I confirm it works when loaded and played by my game engine itself, I can move on to working on other things and improve it sporadically until it works 1.0.
Am I weird for thinking that simulation games (particularly Sim- games) are synonymous with Jazz music and OOP? Basically, I associate, C++, simulation games, and Jazz all with eachother
Maybe it's because of Maxis's games from 1996-2004 that used a fuckton of jazz and a fuckton of cursed COM-style OOP (see this modding framework for SC4 that reverse engineered a lot of the core game code to see what I'm talking about https://github.com/nsgomez/gzcom-dll)
>>105880274most games use OOP
>>105878255>the problem is there aren't much things you can do with data packed in arraysIt has been demonstrated that you can do everything with data packed in arrays.
>>105881091It may be possible, but it shouldn't be done.
>The last time I had to make UI in bevy I ended up writing like 350+ lines to make a simple menu with three buttons
>>105881091Many of the optimization structures games use are trees and not arrays
>>105881269>shouldn't be doneThat depends on the use case of your engine. In my case, I want to make it possible to implement even complex functionalities like OOP (inheritance, polymorphism, etc.) using a high-level DSL so I need a more general data structure.
>>105878967come back, these threads need more progress to drown out the retarded never ending debates
>>105881608This isn't the right place to show "progress". Nobody wants his honest work to be associated with this place.
>>105881835yeah agdg is a much more reptuable thread
>>105881835if this isnt the place for progress, then wtf is this place?
>>105881915Sir, this is /g/
>>105883182>cant talk engine progress here>cant talk engine progress in agdgi see. shit gen then
putting together a shrimple render manager ontop of raylib. i have entities that submit draw commands to the manager. at the end of the frame all these draw commands are sorted and drawn. it is not a general purpose renderer, it is specifically for this game so i dont think i need to store what specific texture or shader is gonna be used or how shader uniforms should be mapped the manager will handle that as it controls the shaders
if anyones put together a similar renderer and know of any issues that could come up id be interested in hearing. or how this could be structured differently
one problem i can think of is z fighting as the entity update order wont be consistent. maybe you ask the manager for a specific integer z index and it will give you a unique floating point z index between z and z+1 which the entity stores and uses to submit commands every frame
i dont think performance will be an issue but if there are easy wins ill take them
>>105883653why do structs have an explicit field offset in this language?
>>105884272its how you do a union in c#. im doing it as an optimization to reduce the size of the struct
>>105883653>i dont think i need to store what specific texture or shader is gonna be used or how shader uniforms should be mapped the manager will handle that as it controls the shadersas long as you are certain about that
>one problem i can think of is z fighting as the entity update order wont be consistentwithout knowing what you are rendering i couldnt tell you, but storing a z value can help with z fighting, blending, early depth testing, and overdraw reduction
>i dont think performance will be an issue but if there are easy wins ill take themin what regard? storing a number is negligible, and sorting them shouldnt be more than nlogn, you can always optimize that even more by binning them or some other techniques
>>105884272C# marshalling looks like that
>>105881835>>105883216If you have progress you should post it. Its a simple as that. I see plenty of it in the thread.
>he treats sizeof like a function
I have a nice repl in C that I mostly/sorta understand.
Now I had the thought of making it instead as a looping linked list. So that I can maybe insert changes to Weather (which I haven't even implemented) or other little steps between Eval and Print. REWPL.
Is this just a more retarded version of a standard game loop? Most likely. You can't stop me though.
Anything I should know before going all in on SDL3_GPU? Reading through the samples and it seems good.
>>105887287doesn't support bindless yet, otherwise I'm using it and so far so good
>>105887110>Is this just a more retarded version of a standard game loopKinda. You are hard-coding a deterministic finite automaton.
If you get bored try writing code that generates the game loop for you. For example, if you set state variablesใผwheater, time, hungerใผand a write a bunch of if statements the engine should create a linked list that simulates the game using the code you wrote.
>>105880274I associate sim games with OOP but I don't see the Jazz connection. Are you talking as someone who's just heard jazz, or someone who's studied jazz or at least has some music theory background?
Not that "OOP vs Functional" is exactly correct, but to me 'jazz' (which is really broad to the point of meaningless nowadays) feels more like "functions" to me than "classes".
Don't throw rocks at me, I'm still learning CS stuff, and only dabble in music.
minor_seventh(root, inversion, [add]) etc
https://www.youtube.com/watch?v=H2x3jbX0ePk
dame
md5: f5a479546978693884b7592478af149f
๐
>>105887511>1:54 brrr-ick-tick-tick-tickthat fucking drummer
whole song is an absolute beast really
>>105887560Sorry for the disgusting AI dame, I saved and didn't realize.
Please someone talk about your game or engine, I'm just shitting up everything
>>105880306Only because it was pushed as a way to offshore.
God I wish I'd saved some primary source shit I read about basically "us western dudes will just be the idea guys and OOP lets cheap Indians fill in the blanks for us"
Except it didn't work out that way, or it kind of did, but was a really terrible idea in general
Any of you smarty smartertons participated in 'demoscene' competitions?
I'm really impressed by that and just think it's neat, and I'd like to hear about your experience.
would people play a game with sega model 1 (i.e virtua racing, virtua fighter 1) graphics
>>105887621I'm not smort and I tried making a demoscene with unreal engine using niagara. Failed cluelessly.
I got OSC setup between my reaper DAW and unreal engine. That way, I was able to get real time data of tracks straight from the DAW itself after setting it up once. The attempt came out alright but I lacked the artistic skills to create both music and visuals so I dropped it with utter shame.
>>105887802>would people playyes but not many
I've been spending 2 hours trying to add nanovg to my project. For some reason nanovg_gl.h just refuses to identify a bunch of random opengl functions.
>>105887828did you check if you are linking either static or dynamic lib version of OpenGL?
Any compelling reasons to write C but use a C++ compiler for access to templates, constexpr, etc.? The best I can come up with are the following:
>slower compile times
>more footguns & more UB
>no compound literals
>have to cast void*
Like what am I losing writing mostly C code with some C++ features over sticking to plain C?
>>105887811>demoscene>unrealI mean, good of you to try I guess.
This was in the 64M category or something?
>>105887874Turns out I didn't define some GLEW thing in the example and also I had to link glfw3 and not just glfw. Linking shit is so annoying when the dev never tells you the dependencies so you just have to guess
Now to try implementing clipping via stencil buffer like that other anon tried explaining to me.
>>105884301That seems unnecessarily terrible; surely there's some metaprogramming to manage the field offsets for you? What happens if you add a field to TextData and its field starts getting into BlurData's? Does it make a compiler error, or something at runtime at least?
>>105887956ah, no. I wish.
Like I mentioned earlier, I ain't smart.
I did attempt to replicate something cool but had to give up due to skill issues. Maybe I will participate a year later but its way out of my league rn.
>>105888102>I didn't define some GLEW thingfor OpenGL, its always either a GLAD thing or GLEW thing
>I had to link glfw3 and not just glfwum... if you are linking to both glfw and glfw3 then you can skip linking to glfw, unless you are doing legacy stuff but since this is nanovg we are talking about, just linking to glfw3 alone would be enough.
>>105888482you can do this i guess. official discriminated union support is being worked on by the c# team
>>105888655metadata struct shouldnt have field offsets woops
>>105888102Stencil won't work with nanovg antialiasing hack though (it renders a thin line around shapes). You need to use multisampling.
been a while since i posted here, been working on stuff again. ive been working on this thing for too fucking long.
I got lightmapping working which is pretty sweet. i have a pipeline which imports the scene to Godot funnily enough, bakes the lighting+probes and imports it back, baked lighting always looks so good. godots lightmapper is kind of garbage but it works alright. with textures you dont notice some of the weird stuff.
also ended up ditching a bunch of garbage. i had a stupid fucking anim graph editor that i spent too long making. ditched that piece of shit. i can just make the anim tree in code, much simpler. also my prefab system was garbage, just threw that all away. fuck you property overrides, may i never talk to you again.
>>105855903its kind of over engineering, but yeah a resource importer is nice.
compressed textures vs a .png take 4/8x less memory and load like 20x faster (the speedup is mostly from mips already being precomputed).
same for models.
a simple way is just treat it like a caching layer. when you load a resource, check if its been complied (or the source file was changed) then compile and load it.
>>105889013How do you do property override? I think the only solution is to reload scene every time a prefab is changed.
>>105859101heres a tip thats super useful to me: ask yourself what multiplying the transform by (0,0,0) gets you.
keyframes are defined in local space (meaning relative to the parent bone).
to get the full *skeleton* pose, you interpolate the keyframes (which are localspace) of each bone seperately. then, for each bone, you multiply up the chain which then gets you the mesh space pose. so (local space root) * (local space spine ) * (local space head) = (mesh space head). so now you have the mesh space transforms for all bones.
the mesh space transform takes you from the bone relative space to the final meshspace spot. so (0,0,0) multiplied by the meshspace of the hand gets you exactly where the hand bone is in meshspace, since (0,0,0) relative to the hand *is* the hand.
but you arent done yet. the verticies of your character are *already* in mesh space. ie the vertex of a hand is going to be at something like (1.0,1.5,0.0) since the character is in t-pose.
the 2nd part of the equation is the bind pose. the bind pose is the skeleton that is authored in blender (the t-pose skeleton). so each bone has a local space bind pose transform. you can then find out the mesh space bind pose transform by multiplying up the chain like above.
then you have the inverse mesh space bind pose transform. this basically says "given a vertex in meshspce, whats its position in localspace to this bone?"
so now you have all the pieces:
the vertex of the model is in meshspace
the inverse bind pose takes you from meshspace to the bone relative localspace
then the meshspace matrix calculated from the keyframes takes you from localspace to the final meshspace position
the last piece is that a vertex is connected to multiple bones with a weight. all you have to do here is do the above calculations for each connected bone separately. then do a N-way weighted blend of the positions and normals.
>>1058893522/2:
since transforms can be combined, all you have to send to the vertex shader per bone is the transform: (final meshspace transform of bone) * (inv meshspace bind pose of bone).
sorry for the huge dump, ive been working on my animation system so its in my head. i can share my code if you want.
>>105889283it was a mess. i just ditched my implementation. the bigger trouble i had was references. say I have a level, then I have a prefab with a prefab inside that.
and then i want to override a property. inside the 2nd nested prefab in the level asset. idk man it just added so much complication to the serialization process and lots of bugs. pretty sure unity didnt add all the nesting prefabs stuff till later and I can see why.
>>105889396The basic idea is that you shold serialize reference to base prefab and only overriden properties. You deserialize base prefab first and then replace overriden properties.
I dropped the implementation too, but because to support hot reload of prefab you need to full reload scene and all resources.
>>105889603Without overridable properties you can just reload the inner game object state instead, while keeping the reference to that same game object in other objects in a scene.
>>105887590Stop posting fanfiction dude nobody offshores game code
>>105889396>(final meshspace transform of bone) * (inv meshspace bind pose of bone).That's just the retarded convention that GLTF uses because it's slightly easier when you can't don't do any precomputation. I would never do it that way in a game engine. The transform of the bones is the bind matrix, so the inverse of the inverse bind matrix.. stupid right?, and you want the vertices in local space so you don't have to do an extra matmul on every vertex for no benefit at all. If you want muh T-pose then you just replace the skinning matrix with the inverse of the inverse bind matrix and you got the tpose. One vertex One matrix.
Anyone else coding in C++ implemented their own Linq/range-views system for their game? I did. The syntax is marginally better than std::ranges::views, but it's kinda cursed and abuses templates for filtering and transforming containers
It seems pretty fast so far though, both in terms of filter/transform view construction and view iteration
Help me step bro I'm stuck.
I dont know what to do anymore.
Give me 5 game dev related projects right fucking now.
I'll be using C shart for this because I'm pretty comfortable with it.
>>105890748arkanoid, pong, space invaders, snake and 2048
>>1058907481) progress/loading bar
2) player class and functions to modify it
3) save system
4) parser for your save files
5) 2D renderer
>>105891363>1) progress/loading baryour game is shit if you need this
>>105891420It's an exercise. Almost every game has some kind of loading or progress bar so it's something very useful to make if you haven't done it before.
>>105891495Good games load instantly.
>>105891549Nobody cares. It's an easy game-related exercise that everybody can complete. Every AAA game has a loading bar so it's an undoubtedly useful thing to have done once.
Load game -> progress bar
Use ability in an rpg? -> progress bar
Build a building in a strategy game? -> progress bar
Reload in a shooter? -> progress bar (sometimes)
Mine some block in Minecraft? -> progress bar
Craft some resource in an MMO? -> progress bar
Any type of stamina system? -> progress bar
I could go on.
>>105891613every AAA slop is trash that takes longer to load than I can make a woman cum, and that's impressively low bar
>>105891636How would you feel if you didn't have breakfast today?
Don't reply to the psycho troll
>>105891662I'd feel amazing because I'm trying to lose weight and forget to skip it.
>>105891662My progress bar would be stuck at zero.