Friendly 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:
>>105668822
>>105683601 (OP)reminder to avoid rustroon programming language and use a trucel language like hare or odin or use a sex haver language like C
>>105683786>hareWould you buy a fucking ad already? No one wants to use your garbage.
Go back to being a creep on reddit.
I want to learn programming because I like the art style of pre-2010 made korean mmorpgs; I guess I should focus on "computer graphics" or "graphics programming", I don't know what is it called exactly, any advice?
>>105683868go back to dilate or take a shower
>>105683874you want unreal engine 5, you can make a playable game using blueprints system and purchasable plugins. you could learn some graphic modelling but you should make a game with stock assets and then add your own graphics.
>>105683874The good thing is that there's papers for every technique you may want to implement when it comes to games that old, so you're not reinventing anything if you want to make something like that. The bad thing is that knowing how to program an engine that makes those graphics possible doesn't mean you can make those 3D models and textures by yourself
>>105683786I can guarantee that my rust code is more efficient that whatever garbage you'll produce in your memelangs.
Be nice to each other, guys. Instead of bitching on each other's technical or design decisions, share some cool progress of your game (engine).
>>105684306>I can guarantee that my rust code is more efficient that whatever garbage you'll produce in your memelangs
>>105684331So, where's uour code?
>>105684306>rust>not a memelang
How do people making their own engines deal with the boring stuff like UI frameworks and asset translators? I like the idea of making an engine because Iโve done graphics programming before and I like it but even thinking about making a UI framework is enough to lose all motivation. I think UE is annoying sometimes but at least I can focus on making the game even if I donโt have as much control over the graphics
>>105684401Works on my machine, seethe and dilate, fizzbuzzina.
A pathetic exhibition of copy/paste bugs.
jesus wouldn't want you guys wasting your lives like this
>didn't die for israel in my sleep so now I have to work on my game
Should I get a test rig to ensure my game runs on potato desktops/laptops?
>>105684706Iโm making a Jrpg, with a capital J.
Captcha:JW2HJ
>>105685081there's always tomorrow night
>watching gamdev video
>"para-meters"
>>105684420I hate UI so I made my whole game displayed in the terminal
I hate UI so much I made my whole game play entirely in memory without any graphical or textual output at all
>>105684124"papers", you meant documents? and where can I find them?
>hello saar I will to teaching you the c++ development in this video
Finally added multithreading to the fluid sim today
>>105677914Went from 9.6ms simulation time (4 solver iterations) to 2.14ms when all the fluid is in one spot (worst case). I expected more of an improvement for an 8 core 16 thread system, but this is good enough for now.
>>105687384Is your system completely lock-free?
>>105687384I think Godot's WorkerThreadPool might be eating some performance but I don't know if it's just from me waiting for threads to finish.
>>105687445No. How do you propose I make it lock free?
>>105687762I mean is it a completely parallel process
>having ifdef endif every other line in one function
im vomiting at my code
>>105686682>>105686693I briefly checked out Nagoor Babu's Core Java videos and in the first 3-4 (5?) videos he doesn't even write any code or compile anything, just explains the history and some useless shit. 6+ hours of that. And when he finally starts coding he uses the most retarded text editor I have ever seen (and doesn't indent anything, ugliest code I have ever seen). How TF is this guy certified by M$ and has 15+ years of experience?
>>105686673If you wanna call them documents go ahead but all those techniques are released as papers first, then you may find them anywhere.
>where can I find them?Mostly SIGGRAPH but also books like the Graphics Gems series and GPU gems
What is /gedg/ working on right now?
I'm reading the manuals again
>>105689537>Threw out Raylib-cs in favor of MonoGame (+ MGE) to make phone+console porting easier down the road>Refactored my code to use MG, and got rid of some engine stuff that MG(E) now provides for me (service container, screen management, ECS engine)>Been reading up on mapgen techniques with connected prefab segments>Current looking at other libraries which could make my life easier, namely RogueSharp and GoRogue
>>105689537Trying to make a threading framework
Thinking of giving each thread its own memory allocator to avoid false sharing, but I don't know how much of an issue it actually is
>>105689618The docs for MGE, RogueSharp and GoRogue all fucking suck, however. Need to scour the GitHub for any sense of what it can provide for me and how.
>>105689645>false sharingthis is such a fucking meme cache lines are microscopic fragments of data and you have to try to do it on purpose.
>>105689677A cache line is 64 bytes, that's the size of a small obejct, if you have large graphs of nodes I can see it happening often
I haven't tried to benchmark it, but there's a Factorio blog where they say that it was an issue that made their multithreaded logic slower than single threaded
>>105689677>he puts all his atomics next to eachother
>>105689645>threads can allocatengmi
>>105689677It can happen on accident in the weirdest ways, if you have two distinct objects with static storage duration then you don't know where they will get allocated in memory they could end up next to eachother and now two threads are accessing them and it's false sharing
>>105691496Can this not be mitigated by allocating large pools for each thread?
>>105683601 (OP)I feel like the current state of affairs with video game platforms are unsustainable. Console makers prioritize themselves and literally shaft third parties. Examples of this is Microsoft forcing devs to create games for two versions of their consoles to Sony stopping complementary coverage of their games compared to their old PS1/2 era where they did it for free and to Nintendo forcing people to either use higher gb carts that are ludicrously expensive and above manufacturing costs (where they pocket the difference) or key codes which causes fans to backlash at third parties and not Nintendo for creating this issue. It doesnโt help there isnโt another console to help alleviate this issue and be pro-third party.
Steam has an entirely separate problem which is poor visibility for indie devs and an ever increasing spike of games by said indie devs being released. You are forced to pay to play to gain front page visibility or be a mega publisher where steam does it for you for free. Inherently mirrors what happened and is still happening in the mobile space of games where thereโs simply too many games and only the big ones getting exposure. While steam offers a robust functional search Engine that blows Apple and google out of the water, itโs still not enough. Iโm getting the feel that while providing game dev services is lucrative, making one is really risky unless youโre a neet or a person with disposable time on their hands.
>>105692052that's my plan
>>105692089Consoles are more friendly to third party development than they have ever been, and it's easier to port between systems than it's even been
You really lack perspective
>>105689719On some CPUs, false sharing happens over spans of 128 bytes, and no, you cannot know which ones or exactly why.
>>105692089And what's wrong with signing with a publisher?
>>105692729Your dignity, money, politics, and so on. Publishers will tell you to modify/censor stuff, or even add what they tell you to, and if you won't, you will be blacklisted.
>>105692902Sounds like you want your cake and eat it too. A publisher will make you money by making your game appeal to the widest audience. If you don't care about appealing to the masses then why do you care if people discover your game in the first place?
>>105692089>You are forced to pay to play to gain front page visibilityWait, I can do that? That's awesome.
>>105687773>completely parallel processYou seem to have some misunderstanding of 'lock-free'.
golem
md5: 6088689f75e1753457105d2629fad4ec
๐
Hello everyone! I have been playing with Unity as a kid, like a decade ago, but recently I thought about giving it a second try. This post is totally serious and I did not came here from /pol/ or something. I am not new to programming in general, but I really suck at any sort of 3D modeling and such, thats why I always took assets from the internet. From what I understand, most mainstream game engines nowadays are subscription-ridden jeetware. Is there any way to use one without bending the knee to kikes and their brown golems? AFAIR Unity and UE require online account to use and its creators will try to exploit the developers in every way possible, while Godot is basically a troonware. I have tried looking for some ways to pirate Unity, but noone seems to be interested in that. Should I just find another thing to do or is there a way to get around that? Thanks in advance.
>>105693113Pick a successful game and mod it.
how hard is it convert to using bindless shaders?
>>105693129Thats a great suggestion, but is there a way to create a game from scratch in non-cucked way? I have written down a few scenarios, but I also appreciate the modding idea.
>>105693113Instead of a game engine, you could use a game framework like monogame(/fna/nez) or libgdx.
Or if you want to create the game framework yourself, use sdl, sfml or raylib.
Are there any indie devs that publish their games using a Patreon-based release model?
(besides porn devs)
>>105693356Dwarf fortress used to do that exclusively, before selling on steam.
>>105693113>I did not came here from /pol/ or something>post is filled with /pol/ tier buzzwords and retardationYea fuck off
>>105693409Look, I would really like to give game development another try but I am simply not bending the knee to creatures mentioned. I am not here to spread any brainrot or conjure historical events like the /pol/ guys do, but we both know that entire software industry is basically like that. Good old times of skilled, non-shitskin developers and lifetime licenses are sadly long gone, but piracy is still saving the day in some cases. Thats why I asked if one can actually pirate those. No pun intended.
>>105693539>Look, I would really like to give game development another try but I am simply not bending the knee to creatures mentioned.no one cares, fuck off polfag
>>105689192Thank you. So, this is a culture in computer graphics world? Research papers about new techniques are released to the public. So, new ways of creating graphics discovered constantly.
>>105693812Why so salty? You almost seem like a mindbroken h1b shitskin who is upset with people refusing to bend the knee.
>want to make my own engine
>but making my own renderer will be a pain in the ass
Godot -- C# or GD? Is C# better for physics and velocity calculations, or is there no speed difference?
>>105694255Isn't SDL a free render library?
>>105694273SDL helps, of course, but a renderer is still a tonne of work.
>>105694255Raylib desu family
>>105694273>>105694336SDL2 has a dogshit renderer, don't fall for that trap. Maybe SDL3 is better
>>105692675>you cannot know which ones or exactly why.c++ has some features that tells you
>>105683874You should probably just use Unity, or go to learnopengl.com if you want to do it from scratch, you definitely have no reason to be looking at research papers
>>105684420for me this is more fun than making game, because it has clear goal and i'm confident enough in my programming skills.
making actual game is more stressfull, because i don't like to make game content, and game programming is mostly just a anxiety loop of trial of error, instead of actual programming
Got my complie time down from 5 minutes to 15 seconds and got my runtime load time down from 60 seconds to 2.5 seconds. Feels good man.
>>105696344The three big ones are
Putting windows.h and SDL in a precompiled header
turning on multi threaded compliation
caching text parsing outputs in to binary blobs
>>105685081maybe you should scrap the project if that's how you feel and figure out what you actually want to work on. I've scrapped many projects I spent hundreds of hours on, and have successfully finished multiple games thereafter.
>>105696629>hundreds of hoursso like a few weeks?
What if i wanted to use quake as my source of a game and not a mod so that i can publish/sell it, does anyone or even care about GPL shit these days and ignore it? I doubt they will send idTech police to my house if i dont comply with it or some crap.
>>105696641that's in recorded hours per day of work, so a few weeks in total you could say
>>105696641I'm a month in my project full-time and haven't logged 100 hours yet. I don't think it's possible to work that much unless you're doing art or just monkey coder shit
>>105696681you just have to release the source with your game
>>105696783I find that pointless if someone can just republish my game. Any other suggestions?
>>105696811I would suggest not using the Quake engine because it's not very good for modern gamedev
But they can't rerelease your game because your non-code stuff is still subject to copyright
>>105696822Then what else? Don't say Unity
>>105696885What kind of game do you want to make?
>>105696905top-down shooter?
>>105696929You mean a 2D game?
>>105696933I can model and animate everything i've done previous work before for another company, problem for me is an individual using my experience in doing my own is hard as the desired game editor i cant find anything suitable there all locked behind GPL or very low quality (unity)
>>105696934Try Raylib, it has limited 3D capabilities, but still more than the Quake engine
>>105696940Unity is not very low quality
>>105696949Then why is nearly every game ever published or showcased all 'lowpoly' all the time? I've seen it in action where importating anything slightly higher than lowpoly starts having performance problems.
>>105696943Ok, i am also aiming at getting ps3-era game quality assets to make and use for it and also basically mobile friendly if in the event i decide to push to mobile
>>105696998That's wildly inaccurate, there's so many games made with Unity, performance only becomes a problem for very high end games
>>105696940>problem for me is an individual using my experience in doing my own is hard as the desired game editor i cant find anything suitable there all locked behind GPL or very low quality (unity)it's ok, anon. Todd howard and bill gates aren't coming to molest you on a cold friday night evening over some stinky old code in radiant.exe, that only you and maybe 2 other people have access to. Stop larping and just make ur damn thing; pissing yourself over godot, unity, and not having access to Q3 under a public domain license isn't "Game and Engine Development".
"b-b-b-but i need to make a GPL compatible asset loader if i want to make a public modding sdk" you dont even have a game or engine yet.
>>105696949>Unity is not very low qualityyea, you right. it's a fucking disaster like every other "le game engine" company.
>>105697011>ps3-era game quality assetsThat rules Raylib or the Quake engine out, your options are Unity or Unreal because there's no way in hell you're making an engine like that yourself
>>105697020Go back to /v/
>>105696310Thank you for answering. I don't want to make my own game, so, I guess I don't need to learn Unity or Unreal. I'm just impressed by the 3D graphics, fx and UIs of those games, and I want to learn the inner workings, and maybe reverse one of them. Btw, why did you recommend opengl? Aren't those games all directx games?
>>105697057I recommended it because I thought you wanted to make a game, if you want to reverse engineer it I don't know, I don't think you're going to learn anything by trying to decompile a game
>>105697020didnt say anything about godot, dont know why bill gates and todd howard have to do with it
>>105697020>"engine"curry nigger detected
>>105697020Where does 'engine' come into this? He's simply asking for assistance in a /gedg/ thread and your on about politics and random shit.
>>105697020GPL doesn't stop someone from making their own game as long as they follow the rule (which no one does) and nothing ever happens anyway.
>>105697020are you retarded ?
the fact your brought up being molested by random people make me think YOU are gay because you batched gedg and homosexuality together and said that means YOU are gay
>>105697020show us your ENGINE then faggot i'd like to see what all those words have behind it
do you really need to reply 10 times to a retarded post?
>>105697020Sounds like your having a mid-life crisis deciding there. Rambles on about how other anons are homos and they dont have their own "game engine" yet, show us what you have then.
>>105697020BTFO TIM SWEENY DICKRIDER
>>105697020do you say the same thing every thread just to mess with people or are you really just a grifter?
>>105697020GPL isn't a problem if you just ignore the consequences it's not like someone is going to rape you over their just top project contributors on github they cant do anything.
>>105697020You ruin every /gedg/ thread nice one you bigot
Did someone link that post on Discord?
>>105697288No i think he's just being flamed over idiodic comments he makes on every game engine thread
>>105697297Lots of people make idiotic comments
>>105697020brown skin thing to say
>>105697020Just mod an existing game at least people will still play it, don't listen to this guy.
>>105697020Threat Interactive much?
>>105697020absolute proprietary
>>105696940>very low quality (unity)Nigga you what. Some of the best looking games are made in Unity. Sounds like a game designer, modeler and/or developer role skill issue.
>>105697020This guy gets it. Stop being autistic and use just use Unity. There's resources and tutorials for it and professionals and hobbyists alike use it.
>>105684306>Rusttroons actually think their language magically makes you write good code
>be me
>hop on /g/
>comment for the first time in ages
>tell these worthless faggots "you can just use open source GPL tools from Q3" and "you dont even have a game or engine yet"
>>reee proprietary
>>reeee you love tim sweeny
>>reeeeee go back to /v/
>>reeeee youre brown
>>reee quake3 bad
>>reeee you're a coomer
>>ree you ruin every thread
>>reeeeee youre brown
>>REEEEEEE YOURE THIS ECELEB WE DONT lIKE
Thanks for proving my point, you sad pitiful brainlets that one can only expect from "Game and Engine Development"
>>105684420Use Dear ImGui for your UI framework.
>>105698032Back to
>>>/v/Alternatively, touch some grass
>>>/out/
>>105698032go back to /v/ moron and take your eceleb crap there
>>105698032Comes to gedg just to shit talk fuck off nigger
>>105695069>SDL2 has a dogshit renderer, don't fall for that trap. Maybe SDL3 is betterWhat do you suggest if not SDL when making a Vulkan renderer? GLFW? SFML?
>RaylibNot Vulkan AFAIK
>>105698260>Not Vulkanso?
>>105694255>>105694273>>105695069>>105698260>take UE5>dump in flecs/EnTT/make your own shit>rarely if ever use UObject derived classes>directly interface with the rendering system for representation of meshes etc>kinda like making your own engine but with world class tools and everything else done for youThe Chad way.
>>105698282>make an engine using an engine
>>105698260SDL's "renderer" is a very basic 2D API, and is optional.
If you're using Vulkan with SDL, you're not touching that part.
>>105697068By reversing I meant, I want to study the graphics of already existing games. Make my own tools for importing and examining game assets, editing ui, "dissecting" its graphics.
>>105699073My suggestion is to learn Blender, that will teach you how 3D stuff works at a high level. I suggest you spend a little time learning to model basic things so you can easily see how you want them to look. Then spend most of your time learning how to use the Python scripting feature to implement your own import and export scripts. That gives you a solid understanding of the data behind the scenes. Once you have a working prototype in Blender it's a very rapid process to translate that logic in to a C++ renderer that you write yourself. The Python prototype really helps you narrow down bugs in C++ code which are much harder to debug.
>>105699928He's talking about the UI that's purely 2D art
>>105699968Point still stands, a UI is still a collection of textured quads which you can import and export from blender
>>105700014Nobody is building their UI in Blender buddy
>>105700023>his ui is 2d and flatokay metro lover
>>105700023Rusties use it as an editor since they don't have any, kek
>>105683601 (OP)trying to make a touhou fangame :D
>>105700920Pretty good. How many projectiles can it handle?
Can it turn bad apple into a bullet pattern?
>>105683993>who is drew?Drew DeVault, the man in charge of a FOSS project that is creating Hare an alternative to C. He tried canceling Richard Stallman and plenty of /g/ took offense. Drew is also a pedophile with a very lengthy and well documented history in those types of online communities. Add to that his extreme toxic narcissism and you have your typical FOSS community leader.
>>105700920never change, cris
Is the meme still collision detection or am I behind?
>>105701823The only way I know to do bullets is to cache the texture and spawn each one dynamically on demand as a little struct with position and health variables. If they're offscreen or hit the player then the bullet gets deleted. How many instances of the same GPU-blitted texture, two floats and one Uint8 do you think your laptop can handle?
>>105702924>How many instances of the same GPU-blitted texture, two floats and one Uint8 do you think your laptop can handle?hundreds of thousands
I'm working on a standalone tool for generating baked lightmaps from input scene descriptions (i.e, map files, model files). Right now just doing simple luminosity. Has anyone done similar work on this?
>lethal company was made by a 21 year old
>>105705630>People younger than me are 1000% more successful than meI hate this gay earth
>>105705630it's not a good game.
>>105705721to make matters worse, he's a furry
>>105705956agreed, but it did make like $100mil
>>105705956Bad things are good now, skibidi
>>105696330is this why this general doesn't talk about game design, only technical specifications and languages?
>>105707344No it's because it's the thread for game programming dumbass
>>1057075511 that guy isn't even talking about game programming. 2 game design is a part of game development.
>>105708380game design isnt part of game programming
>>105708387yes it is, it informs game programming and/or vice versa.
why don't you admit you're like that other guy and just find game design stressful because it requires creativity
Anyone knows where to get royalty-free Japanese vocal songs?
I used to have a good link where a band (I think) made a lot of royalty-free songs. But I lost the link. Itโs not dova.
>>105708401I love game design, this is just the game programming thread
>>105705956For some definition of "good" that doesn't matter? The guy won't have to work another day in his life.
>>105708571feeling jealous of successful people is a trait of a loser
>>105708590Oh, I see the angle. That's sweet of you to try to help anon cope by saying it's a bad game.
>>105708590>feeling jealous of successful people is a trait of a loserNope, jealousy breeds competition and competition produces new, better results.
>>105708387>game design isnt part of game programmingt. retard
>>105708521ok. the vg general's subject line was the same and they didn't talk about design or even programming at that. i'll stop posting now
>>105708599???
>>105708601Yeah sometimes but he's jealous of some guy who basically won the lottery
>>105708610You can talk about whatever you want in this thread, /agdg/ is a dumpster fire, it's just that most people will talk about programming here
>>105708571>materialist and probably moral relativist world viewWhat a sad existence. Why even bother with game dev? Go make content for Roblox or Fortnite, that's where you'll find the highest effort to profit ratio.
>>105708501Never mind. Found it. maou.audio
Need to check indie JRPG's OST one by one.
>>105693266What makes Monogame more of a framework than raylib? Isn't raylib the babbymode of no-engine gamedev?
>>105696940Just played silly Polly beast nigga you gay, it's unity and it's beautiful
https://www.tomshardware.com/pc-components/gpus/amd-researchers-reduce-graphics-card-vram-capacity-of-3d-rendered-trees-from-38gb-to-just-52-kb-with-work-graphs-and-mesh-nodes-shifting-cpu-work-to-the-gpu-yields-tremendous-results
is there any actual usecase today for this in any engine?
>>105708974yeah i've heard about games doing procedural mesh generation
I knew Hytale was never coming out the exact moment they made that blog post that said they were using ECS.
>>105709056I knew it was never coming out when it was an amateur mod team that suddenly got bought out by Riot Games
>>105684401given the adoption its very much mainstream not memelang
>>105709056Anyone who is against ECS is simply not working on a complex enough project.
>>105709149yeah true, most triple a games arent THAT complex. my and your terminal roguelike IS MUCH MORE COMPLEX
>>105683868but tagged unions and 1.0 language will be complete
>>105709149I'm not even really against it, it's just that ECS games have a tendency not to release for whatever reason
>>105709149Ironic thing to say because nobody who works on complex projects is using ECS because of its terrible economics and it's mostly popular with newbies who don't even understand what it is
>>105709175Likely because you only need an ECS if your project is pretty complex. You wouldn't use an ECS for a platformer.
The more complex the project the more likely it is to fail. Goes for AAA, goes double for indie.
>>105709194I mean ergonomics not economics
>>105709164You mean it finally has ALGOL, uh, 68 features?
>>105709194>terrible ergonomicsAs opposed to what other system?
>uhh this other perfect system made to fit the exact needs of the projectThat doesn't exist, you're just willingly or unknowingly ignoring the huge number of hours you've put into that system to make it work for your project.
>>105708877Raylib just gives you the means to create a window and draw textures to it, along with some very simple input and audio handling.
MonoGame gives you a basic game loop with split update/draw routines, a service container and game objects (components) built into the framework. Also a content pipeline to build assets for the target platform you're compiling against (desktop, mobile, consoles).
It's nothing you can't reimplement yourself in Raylib, of course. There's also extensions that people made on MG, namely MonoGame.Extended and Nez, which can provide things like cameras, entity systems, (animated) sprites, collision detection, basic UIs, pathfinding, tweening systems etc etc.
>>105709159My roguelike uses ECS. It's not super complex just yet, however. But I like being able to encapsulate logic into separate classes, instead of having a [God]Actor->Update() method consisting of either 2000 LoC or 200 function calls and a shitload of if statements and code branching.
>>105709409>As opposed to what other system?regular composition
>>105709538>using function calls and if statements is badwhat will they think of next
>>105709573>>105709688>massive 1k+ line function with a giant if-else statement VGH... so simple and maintainable unlike ECSlop...
>>105709716In what world is that the alternative to ECS?
What are they teaching kids about programming?
>>105709729Ok anon go ahead and tell me how you handle different entities (not instances of entities) that all need to run custom logic on tick in the low hundreds with composition.
You won't give a concrete answer.
>>105709757Easy. Huge class hierarchy tree with a god object at the bottom
>>105709757inheritance or function pointers
>>105709768>>105709772>OOPYou have no right to complain about ECS if you champion OOP.
>>105709782function pointers isn't OOP
how new are you to programming exactly?
>>105709789Conveniently glossing over the other half about inheritance?
inb4 my special inheritance system isn't just OOP with a different name trust me bro
>>105709827I presented you with two mutually exclusive options you moron, thats why I used the word OR
>>105709716>he would rather maintain and debug a 2000 line function that does 200 things, rather than a 20 line function that does 1 thingShow me your game, anon
>>105709789>function pointers isn't OOPIt isn't. You get shit like GTK which simulates it, but it is not a real thing
>>105709729>In what world is that the alternative to ECS?Everything is an alternative to ECS garbage
>>105709830>I presented you with two mutually exclusive options you moron, thats why I used the word ORI don't think you know what "mutually exclusive" means, anon
>>105710548yeah he should've said XOR
>>105697020Denial -> Acceptance
> all existing game engines are super slow and inefficient
> have to write my own shit from scratch all the time
> pic rel. simple movement system I had to make myself
I'm so fucking done with game making, it takes forever and it's not worth it.
>>105711686welcome back yandere dev
>>105711686Maldavius Figtree would be proud
>>105711686Just use metaprogramming, it will generate a long if else chain for you.
>>105709789You're absolutely correct. Function pointers are shitty mimicry of OOP, carrying all the downsides, with 0 upsides.
>>105711686what the fuck is this. do people really
>>105712965Games written in Haskell unironically work like that.
I was reading about ECS you guys kept mentioning it. And it doesnโt look like anything revolutionary. It sounds like that data-oriented design fad back then. Did you guys just skip computer architecture course or something?
>>105713148>fad*industry standard
>>105713148Nooo, you don't get it, ECS is data-oriented but but but it is automatic, ignore all Cniles, you NEED an ECS, you cannot just create an array and a for loop when you need it, YOU MUST USE AN ECS!!!
>>105713148Data oriented design isn't a fad, it's the future. Inheritance is a meme.
>>105713204>Inheritance is a meme.Is this what your parents told you on your 18th birthday before promptly kicking you out of the house?
I only use ECS because I don't know how to do the traditional way in a borrow-checked language
>>105713053Yeah, particularly faggots that are obsessed with Japanese schoolgirls.
>>1057133245k polygon toothbrush
can I order/make custom lcds in current year?
What if Notch decided to use ECS? What would Minecraft look like today?
>>105713588microsoft rewrote the entire game, bro
>>105713053Look bro, if you want pure and raw efficiency, you need to write these things by hand specifically for your usecase.
There is literally no better way to accomplish these results.
>>105713588It's like questioning god himself you cannot arrive to any meaningful conclusion, he did what he did and you can either appreciate that or think you are smarter and you end up like Hytale
do you write readable code /gedg/? or do you have trash like object.Func().field->field->Func() like you are a java jeet?
>>105713703prototype with trash then once it works do find replace all with meaningful verbose names that I would never want to actually type
>>105713703I don't write code for games, I'm here just to tell you that your code sucks and that you could write it better.
>>105713736pretty good, i fucking hate reading c code that only uses single letter variable names
>>105713749i write beautiful code, dont worry
>>105713852I don't care about form, only function and its speed.
remember to patent all your game mechanics or else somebody else will and then they'll sue you for patent infringement
>>105713927It would be nice to have that kind of free publicity
>>105713927not gonna. if you dont look for a patent, then you didnt infringe on it. thats the rules. also all the billion dollar companies have already patented everything
>not going back in time and patenting the concept of video
>books are shit
>videos are shit
>github projects are unreadable
>documentation assumes you're already an expert
i HATE gatekeepers
>>105714994I'm just waiting for technology to advance enough that I can have AIdolf Hitler explain programming to me in the form of an inspirational address to the nation of Germany circa 1939
>>105715017>AIdolf Hitler explain programming to me in the form of an inspirational address to the nation of Germany circa 1939ngl this goes pretty fucking hard
are /gedg/ and /agdg/ used by different anons or the same?
>>105715161They're a containment thread for transsexuals and worse.
>>105713736just use autocomplete?
>>105711686Hello fellow based & :set number relativenumber-pilled vim maestro, I recommend offloading your logic into a table in a separate file loaded at startup. It will be easier to modify, and, I estimate, save you a minute of compile time.
>>105711686what game is this from?
>>105716764That's a screenshot from my codebase.
>>105716083I refuse, compile time is negligible since the end user will not compile the game. They will download it already compiled and ready to go.
I will include this logic in EVERY place that requires movement, this way I can assure that I am not wasting any precious cpu cycles on stupid function calling.
>>105716824>this way I can assure that I am not wasting any precious cpu cycles on stupid function calling.nice, make sure you use ECS too to make it even faster
if everyone here just wrote 1 component of a game engine we'd be done by now
>>105718329/g/ will rise, not just as a board of technology, but as a board of thought, of precision, and of programming mastery. Together, we will build a digital Reich, stronger and more unified than any force in the world.
>>105718329collaboration complexity is quadratic
An unfortunate name for a video game.
It took me a whole 24 hours to figure out how to make the pawn move and to en passant correctly. If I were born 500 years ago I would be a garden variety peasant.
>>105718488no no no, it's easy with OOP
>>105718329we wouldn't even be able to agree on the language to use
>>105719065Then we'll just them all.
>>105719065Let's create a new, /g/-approved language.
>>105714994Last time I tried explaning, I got accused of being a schizo and a registrydumper. Enjoy what you deserve.
>>105719491>Let's create a new, /g/-approved language.Hare already exists
>>105719844i'll always remember that language as having no generics and the author saying just implement your own hash table each time
>>105718329>if everyone here just wrote 1 component of a game engine we'd be done by nowI am pretty close to being done. I could already release what I have I think but I want to polish it and add more things.
But it is already possible to make a game with my engine I think.
>>105719852And he's right, you don't need hashtable for everything, and each type needs different implementation.
>>105719953It's the type of thing that people who haven't made complex programs say
>>105714994Because teaching others is a lot of work, so a lot of the people who decide to do so are not doing to to teach, but to boost their own ego and talk down to people.
They WANT you to not understand things so you come begging to them to explain it to you.
>>105719491Jai is coming soon trust The Planโข.
>>105719985Have you tried making simple programs instead? Or are you too retarded to not bloatmaxx everything with hundreds of hashtables just for a fizzbuzz?
>>105720008Programs have an inherent complexity
>>105720047Programs inherently reflect intellect of the programmer, and intelligent people aren't wowed by complexity.
>>105720065Nobody said anything about being wowed by complexity
>>105720070You most definitely are, Dunning Kruger.
>>105720080It's merely about utility
When all you write are registry dumpers, you don't see the need for generics
>>105720087To me, it looks like you never wrote anything of specific value, that's why everything must always be generic.
>>105720101Go back to your containment thread
Been working on levels
From now on if you guys want to argue about trivial shit, you have to post your game/engine. You do have one, right?
>>105720153Fuck off fizzbuzzing tranny. Go back to whatever thread has same minset as you that Python is enough, because it isn't for video games.
>>105720223You don't know how to make video games retard all you can do is make registry dumpers
progress report
>watching anime about making games
>also started working on per object constant buffers
>>105720259Even if that were true, making registry dumpers requires more braincells than importing dict... Wait, in Python, dict is pre-imported since you were going to use it for everything.
>>105719953You don't, but they're rather useful.
>each type needs different implementation.And with templates the compiler does it for you.
>>105720671Can you name which compiler picks optimal hash function, optimal load factor, optimal probing etc etc?
>>105720708this guy doesn't even know how templates work
>>105720712You never even implemented a hashtable, nocoder.
>>105720722go back to your containment thread
>>105720731This is my containment thread though.
>>105714994just keep failing like me
>>105718563Where did you get the weird idea of that "second" en passant? That's not how it works.
The opengl tutorial I'm using says to use glm for matrix multiplications but I can't use it because I use C. What else am I supposed to use?
I found cglm and build it but this broken shit failed to compile because of a header not found.
>>105721317>I found cglm and build it but this broken shit failed to compileI mean it compiled fine but when I tried to use it MY program wouldn't compile
Now that the dust has settled. ECS or no ECS?
>>105721513OOP with the obese god entity class but acting as if the data were properly normalized while knowing it's too much of a PITA to actually do.
>>105721513Make your own for loops and arrays if you actually care about performance.
>>105721513>hytale switches to ECS>immediately crashes and burns and deletes 100 million dollarswhat do you think?
>>105721650I think it's odd that no ECS explains how exactly they optimize memory layouts.
And no, I'm not going to waste my time reading their shitty code that's more convoluted than OOP.
>>105721662>I think it's odd that no ECS explains how exactly they optimize memory layouts.They do, it's even in the patent for Unity's ECS system
>>105721669No they do not. If I actually cared about performance, I'd optimize my memory layout by interleaving structs that are used together the most, ECS has no way to know what's used the most or what is the most optimal layout. And obviously a retard who uses ECS instead of writing his own for loops doesn't know what the fuck I am talking about and I never saw an ECS that allows you to control any of this.
It's just more convoluted OOP, probably less performant too.
>>105721696>No they do notYes they do, why are you lying?
>>105721715https://patentimages.storage.googleapis.com/a9/94/51/5f0ea9a1b97629/US10599560.pdf
>>105721729This looks inefficient. In fact it looks like standard OOP, but with positive OOP features removed.
>>105721745I don't think you're qualified to post in this thread sir, try the stupid questions general
>>105721777>I don't thinkSay no more.
>>105721513AntiECSfags can never give you a solid alternative for games more complex than 2D platformers.
>just like roll your own loops and structs broYeah thanks retard, that's not even 1% to a completed system. It's like telling someone not to use an oven and to just "generate heat to cook things bro".
>>105721833>AntiECSfags can never give you a solid alternative for games more complex than 2D platformers.We've been over this, it's the way most real games are made, use regular composition
>>105721837>the way most real games are made>compositionSource? As far I know most "real" games don't really talk about this kind of lower level working. What are you basing this on?
>>105721833>>just like roll your own loops and structs broYes, this is literally the answer. You should write your games in normal OOP, and optimize bottlenecks with own loops and structs. That was so hard...
>>105721861You can download game engines and see for yourself
>>105721861>Source?Countless games that are modded and reverse engineered. Sadly none of them are yours, stop posting, nocoder.
>>105721869Unity uses an ECS system. Unreal is moving to an ECS system (Mass) in UE6 and Lego Fortnite is running on that ECS system.
What other engines?
>>105721883Can you name a few that aren't from the 90s or early 2000s?
>>105721884Unity has a regular system and an ECS system
The regular system you see in Unity is the normal way of doing things and the way 90% of games are programmed
>>105721902Ok so we have one that has both ECS and OOP, and one that decided to move to ECS from OOP with the next version. Still not seeing how composition is used by "real games", to me it seems like a toss-up between OOP and ECS.
Which are the "real game engines" are there? Godot? CryEngine? lmao
>>105721928The vast majority of Unity games do not use its ECS system
So that makes it twice this thread that people ask for an alternative to ECS, one is provided and they immediately backpedal to another argument
>>105722004Just don't answer to bait then. Nobody who actually makes games cares about this shit.
>>105722004>screech that composition is what "real" games and engines use, not ECS>get asked for examples>provide examples of engines that use OOP and/or ECS>make random claims like >>105721945 Do you people realize that ECS is an implementation of composition right? Much closer to it than any OOP (Unity without DOTS or Unreal without Mass). Honestly you retards don't even know what you're talking about. None of the mentioned engines use composition, they used OOP or ECS.
Now provide an actual example of your so called "real" games or engines that use (non-ECS) composition.
>>105722053You do not know what any of these words mean
Please go back to your containment thread and let the game developers talk
>ecs is composition
Oh no no no ahahahaha. You're telling me there's retards who got filtered by composition and need a 3rd party library to do it for them?
>>105683601 (OP)>>105722053ECS is a fucking reddit meme. your indie game certainly doesnโt need it. just program the objects and systems you need like a regular person. always program an engine around the game you want to make. do not make a general purpose engine.
>>105722278>ECS is a fucking reddit meme.THIS
>>105683786>reminder to avoid rustroon programming language and use a trucel language like hare or odin or use a sex haver language like CFPBP
>>105683868Shut the fuck up
>>105683993>who is drew?Someone who makes all nocoders seethe
>>105722847>>105722865Do you scan /g/ threads for mention of this guy?
>>105709716you can separate your game into systems without ECS
>>105721729Troonity really patented this shit? Am I not allowed to use an archetype ECS in my engine?
>>105722278I just like being able to dynamically add components to an entity, and it seemed like the best architecture to do that with
>>105723944I don't know if the patent is still active or not
dynamically adding components to entities is actually the thing ECS sucks the most at because you have to copy the entire entity
>>105723957>because you have to copy the entire entityThat's simply not true, there's many factors that decide whether it's better to keep the component separate or as close as possible, and there's no ECS system that can know it for you. This can only be optimized manually.
>>105724072the most efficient way to do ECS is archetypes which means you do have to copy
alternativel you can have a sparse array but then you waste space
>>105724210how are you actually storing your archetypes in memory? Iโm just โgroupingโ components at the beginning of my component arrays that have the most important intersections
Like all the position components whose entity has a renderable component (since thatโs the intersection I need most often) are stored at the beginning of the array
I could probably have a separate cache for each system with its own most relevant intersections, but I havenโt given it much thought, since the current system is performant enough
>>105724269each archetype is a group of component arrays
so there's an archetype for every possible configuration of entity
if you add or remove a component, you have to copy the entity to a different archetype
>>105724314Iโm willing to believe this is optimal for complex games but I doubt my terminal roguelike needs it
>>105724408That's what ECS is for, "optimal performance", because it's much clunkier to use than regular composition