Anyone can recommend a palette, icons and fonts for ui? I'm making my own UI engine in C for my game.

Anyone can recommend a palette, icons and fonts for ui?
I'm making my own UI engine in C for my game.

Beware Cat Shirt $21.68

Rise, Grind, Banana Find Shirt $21.68

Beware Cat Shirt $21.68

  1. 1 month ago
    Anonymous

    Have you made your own operating system and bootloader first?

    • 1 month ago
      Anonymous

      i played with low level x86 once, but not so much.
      i'm making my own ui system because none of ui toolkits can fit easily on my engine

      • 1 month ago
        Anonymous

        Nuklear is an easy fit over any engine because it's immediate-mode and lets you implement the basic graphics commands yourself however you like.

        • 1 month ago
          Anonymous

          If it had "Draw button" or "Draw checkbox" command, maybe, but it actually tries to make the draw itself. I've already saw nuklear.
          Plus, it is not that difficult to make an UI. It is tiresome, but difficult it is not.

          • 1 month ago
            Anonymous

            You only need to implement low level commands for its basic primitives so you don't have to implement every element but ok, whatever, have fun wasting your time.

          • 1 month ago
            Anonymous

            Yeah, my engine doesn't implement "basic" primitives, only textured sprites. Even my hack lines it is a stretched sprite.
            https://git.lain.church/Santificado/magos/src/branch/master/src/graphics.c#L390

          • 1 month ago
            Anonymous

            And before you ask why, it is because i wanted to cram up everything in one single draw call.
            The whole game draws everything is literally 4 draw calls (for now).

          • 1 month ago
            Anonymous

            I wasn't going to ask. I understood that you are firmly decided on wasting your time from like your second post. Good luck.

  2. 1 month ago
    Anonymous

    >game
    >in C
    I am thinking it won't go anywhere

    • 1 month ago
      Anonymous

      Yep, because no games have ever been made in C.

      • 1 month ago
        Anonymous

        Written by multiple people in the course of years. You can do it but you need patience and you need to accept that others will build many games during the time it will take for you to build just one. this is too much for most people

        • 1 month ago
          Anonymous

          Cool head canon. In reality, making a game in C is more or less the same as making it in any other language.

          • 1 month ago
            Anonymous

            No it isn't. It takes a lot even in C++ and C doesn't have many features that C++ does.

          • 1 month ago
            Anonymous

            Sounds like a skill issue. What features do you need for a game that you think C is missing?

          • 1 month ago
            Anonymous

            interfaces, templates and stl are huge time savers. but go ahead, you will see yourself

          • 1 month ago
            Anonymous

            >interfaces, templates and stl are huge time savers
            I don't bother with this kind of trash even if it's available. There's really no reason to.

            >go ahead, you will see yourself
            I have seen for myself. Like I said, skill issue on your part.

          • 1 month ago
            Anonymous

            >I just reimplement the wheel for no reason because I am moronic
            ok
            >I have seen for myself
            You haven't created anything yet

          • 1 month ago
            Anonymous

            Call me back when you can explain why you need templates, interfaces and STL to make a game. Also lol @ your fantasy head canon about what I have or have not created. OP is ironically making a good decision here going with C so that he doesn't end up like you.

          • 1 month ago
            Anonymous

            Not exactly. When you are making a game, you have to use things that is not specified in STL. For example, you cannot use std::vector because you cannot be assure of some aspects of your allocation, like alignment.
            Interfaces are pretty much useless since you cannot use std::vector with no trivially constructable type.

            Aside from std::function, std::thread and std::chrono, you have to pretty much rewrite everything yourself anyway. That's the reason i'm using C for making this game and not C++.

          • 1 month ago
            Anonymous

            >Interfaces are pretty much useless since you cannot use std::vector with no trivially constructable type.
            pointers moron. std::vector<Drawable*> is incredibly common.
            >you cannot use std::vector because ... you just can't!
            and you have to implement stl sorting yourself too (no, qsort is too slow and not good enough) for Z indexes. and classes (although it's not really that it is just the dot access with methods which zig and go also have) are very useful for in game entities. if you are not running it on an embedded system you are only using C for the lolz which is really fricking moronic

          • 1 month ago
            Anonymous

            >std::vector<Drawable*>
            And how do you allocate that pointer? Malloc? operator new()? And what about spatial locality? Cache-line alignment?

            If you see what i do in my game, i pretty much reallocate an array every fricking time i'm required to increase the buffer, and i access everything only using indexes and "relative pointers" (RelPtr in util.c) to avoid dangling pointers.
            It will be no different on C++, i would have a convenience to write the RelPtr as a template class full of operator overloading, that's for sure, but i would had to write everything again.

            And classes are not that useful, at least not as useful as just compose your entity with components. The only thing that is convenient is that you don't need to pass a "user_data" or "self" pointer every time, and on entity, i could end up with the "this" pointer becoming a dangling pointer if i create a new entity while i'm updating or rendering an entity, so even for that i could not use classes, lol.

  3. 1 month ago
    Anonymous

    >classes are useful for game entities

    • 1 month ago
      Anonymous

      yes I just use some global integers and random structs to present entities? common functionality? bro just copy and paste, bloat and lines of code doesn't matter

      • 1 month ago
        Anonymous

        Sorry, I don't understand your animalistic grunting. Explain exactly what classes are good for. (Protip: nothing, they are inferior in every single way to the alternatives)

        • 1 month ago
          Anonymous

          all alternatives to group common functionality are slower or they don't exist at all

          • 1 month ago
            Anonymous

            >spouts generic zero-information talking points
            Still waiting for you to explain what, specifically, you think classes are good for in the context of making game entities. You won't answer in your next post, either.

          • 1 month ago
            Anonymous

            I already answered

            >std::vector<Drawable*>
            And how do you allocate that pointer? Malloc? operator new()? And what about spatial locality? Cache-line alignment?

            If you see what i do in my game, i pretty much reallocate an array every fricking time i'm required to increase the buffer, and i access everything only using indexes and "relative pointers" (RelPtr in util.c) to avoid dangling pointers.
            It will be no different on C++, i would have a convenience to write the RelPtr as a template class full of operator overloading, that's for sure, but i would had to write everything again.

            And classes are not that useful, at least not as useful as just compose your entity with components. The only thing that is convenient is that you don't need to pass a "user_data" or "self" pointer every time, and on entity, i could end up with the "this" pointer becoming a dangling pointer if i create a new entity while i'm updating or rendering an entity, so even for that i could not use classes, lol.

            new() is enough
            >cache locality and shieet
            every time ECS was introduced it actually led to more complexity and little benefit. there is even example of this in one GNU software

          • 1 month ago
            Anonymous

            You didn't. "Group common functionality" is a meaningless verbal shart that you clearly can't elaborate on in any detail because you're a nocoder.

          • 1 month ago
            Anonymous

            jesus christ do you really need to have everything told literally? you have a spaceship game and two types of aliens, one vanishes when shot and the other one explodes when shot but otherwise they are the same. or you have a goomba and a koopa, both can be stomped on but do different things. Now I guarantee that the """solution""" you will come up with will be needlessly complex for no reason

          • 1 month ago
            Anonymous

            >one vanishes when shot and the other one explodes when shot but otherwise they are the same
            Ok, why do you need a class for this, brainlet? Explain how you would implement this using classes.

          • 1 month ago
            Anonymous

            override a virtual method. in C that would mean implementing Vtables for NO reason, which is what a lot of C games have done back when C++ was unstable, so it wasn't NO reason, but now it is

          • 1 month ago
            Anonymous

            And on C++ you had to do it anyway because you can easily end up with "this" becoming a dangling pointer, moron.

          • 1 month ago
            Anonymous

            >easily end up with "this" becoming a dangling pointer
            that is a sign of pajeet tier coding skills. it never happens in real code

          • 1 month ago
            Anonymous

            if you want speed, you want at least to your entities be cache-local.
            so you want something like this:

            std::vector<EntityUnion> entity_buffer;
            std::stack<int> free_entities;
            std::list<int> used_entities;

            If you do this:
            class Player : public Entity
            {
            // ...
            void update(float delta) override {
            if(this->attack)
            EntityManager::instance().create_fireball(...);
            }
            };

            And the new fireball happens to require the std::vector to reallocate the array, the pointer associate with "this" in the player instance will become a dangling pointer, moron. No matter what, you are required to do it like you would do in C just because you change the "this" pointer to a relative and safer pointer, unless you want a use-after-free CVE IN A FRICKING GAME. Frick, that's why C++ have so many CVEs, look the level of moronation of the C++ devs. Linus was right.

          • 1 month ago
            Anonymous

            it literally NEVER happened

          • 1 month ago
            Anonymous

            IT LITERALLY HAPPENS ALL THE TIME.

          • 1 month ago
            Anonymous

            oh right I looked at your code again
            // I have NEVER seen anyone do this. wtf?
            std::vector<EntityUnion> entity_buffer;
            // use a fricking pointer moron
            std::vector<EntityUnion*> entity_buffer;

          • 1 month ago
            Anonymous

            And again: how the frick you allocate those pointers?
            If you allocate with operator new, you will end up worse than javascript because of ram reads, unironically slower than javascript because the js runtime can deal with spatial locality for you, unironically, but even in js/java/c# you have to do some tricks to keep that true for the rest of the runtime.

          • 1 month ago
            Anonymous

            >unironically slower than javascript
            how can you be this dense? you know that GNU software uses pointers everywhere except that one time they tried ECS, and GNU software is the fastest suite of unix like tools in existance. clearly it is not nearly as important as you think but according to you they might as well rewrite it in javascript

          • 1 month ago
            Anonymous

            >GNU software
            >unix like tools
            are you really comparing io-bound command-line tools with a fricking game that is cpu-bound, you sick frick?
            >how can you be this dense?
            Because that's how it works. And my game doesn't use ECS, is literally just a typed union with composition, why are you assuming i'm using ECS? My code is there, just read the fricking code.

          • 1 month ago
            Anonymous

            Bye bye cache locality moron. If you are not using contiguous int UUIDs for your entities what the frick even are you doing?

          • 1 month ago
            Anonymous

            cache locality is a meme
            >contiguous int UUIDs
            pointers are integers

          • 1 month ago
            Anonymous

            >override a virtual method
            Why do I need virtual methods and vtables for this when I can use a function pointer or a switch, both of which are superior?

          • 1 month ago
            Anonymous

            [...]
            >what is an enum and a switch
            >what is a function pointer
            >what is having two separate tables
            There are so many simple ways to solve this problem LMAO. You are just a moron who doesn't know anything outside of OOP, don't project that on others.

            >function pointer or a switch
            switch is pajeet tier and will bloat your code.
            >function pointer
            so every time I make an object, I should set yet another variable ... just because. lmao I accept your concession
            >write more lines of code for NO reason
            outed as pajeets, both of you. a genius embraces simplicity. an idiot worships complexity.

          • 1 month ago
            Anonymous

            If there are only a few common ways for entities to die, a switch is better than a class because it's faster, simpler and allows for more flexibility. If there are loads of different ways for entities to die, the function pointer is better than a class because it's just as fast but far more flexible, allowing any entity to die in any way dynamically. There is no reason to use vtables for this. You lost. OOP is a delusional mental illness.

          • 1 month ago
            Anonymous

            function pointers for this are like vtables but worse. more lines of code for the same effects. trash and pajeet tier

          • 1 month ago
            Anonymous

            You have an extremely severe delusional mental illness. Everyone ITT can see it.

          • 1 month ago
            Anonymous

            everyone who doesn't fall for IQfy memes will understand that using a language with vtables is better than re implementing it

          • 1 month ago
            Anonymous

            You are losing your mind. You've already conceded that vtables are inferior and don't need to be used for this. Why would I reimplement vtables?

          • 1 month ago
            Anonymous

            >You've already conceded that vtables are inferior
            never have I done that moron. but even if you don't want vtables, you can only use interfaces and not inheritance, C++ compiler will map them precisely to function pointers. so it's the same shit but less code to write and less complex. you are arguing against syntactic sugar because you want to write more lines of code to feel superior. just use assembly

          • 1 month ago
            Anonymous

            >never have I done that
            You have, though, by failing to counter the fact that both switches and function pointers offer far more flexibility and equal or better performance.

          • 1 month ago
            Anonymous

            >far more flexibility.
            any abstraction will be less "flexible". doesn't mean you should never use any and just throw all code in one file in one function and call it a day. might as well use assembly

          • 1 month ago
            Anonymous

            Once again you fail to counter the fact that both switches and function pointers offer far more flexibility and equal or better performance, while being as simple as virtual methods if not more so, making them superior choices.

          • 1 month ago
            Anonymous

            >while being as simple as virtual methods if not more so
            they require more lines, more parameters and more things to be done. besides the switch one is probably the worst. half of all CVEs of microsoft come from switch statements without breaks because pajeets just threw everything there and they have huge switch statements

          • 1 month ago
            Anonymous

            >they require more lines, more parameters and more things to be done.
            Proof of this delusional mental illness? Also, spaceship C explodes like spaceship A but fires like spaceship B, what's your virtual method POOtard solution?

          • 1 month ago
            Anonymous

            >Also, spaceship C explodes like spaceship A but fires like spaceship B
            composition. how new are you to programming? did you start yesterday?

          • 1 month ago
            Anonymous

            1. Provide proof for the mentally ill statement in your other post
            2. Provide an example of what you mean by composition and let's see how it compares to function pointers in terms of useless boilerplate

          • 1 month ago
            Anonymous

            >2. Provide an example of what you mean by composition and let's see how it compares to function pointers in terms of useless boilerplate
            Dude, it's literally in my code.

            https://git.lain.church/Santificado/magos/src/branch/master/src/entities/player.c#L111
            https://git.lain.church/Santificado/magos/src/branch/master/src/entity_components.h
            https://git.lain.church/Santificado/magos/src/branch/master/src/entity.h#L60

          • 1 month ago
            Anonymous

            #define MOB_COMPONENT self->mob
            #define BODY_COMPONENT self->body

            why??
            the code is otherwise pretty clean. shame for these ugly header files, has to be the worst feature of C

          • 1 month ago
            Anonymous

            To enable the code in entity_components.h

          • 1 month ago
            Anonymous

            And thank you, i'm trying my best to make the code clean.

          • 1 month ago
            Anonymous

            Just google or ask chat gpt about composition in C++, you can't be serious. at this point you are just asking me google questions to waste my time

          • 1 month ago
            Anonymous

            >no, composition doesn't exist
            Are you mentally ill? Are you a troony?

          • 1 month ago
            Anonymous

            Who are you quoting? Are you having a full-blown psychotic episode? Let's see your solution.

            >2. Provide an example of what you mean by composition and let's see how it compares to function pointers in terms of useless boilerplate
            Dude, it's literally in my code.

            https://git.lain.church/Santificado/magos/src/branch/master/src/entities/player.c#L111
            https://git.lain.church/Santificado/magos/src/branch/master/src/entity_components.h
            https://git.lain.church/Santificado/magos/src/branch/master/src/entity.h#L60

            No one cares about you or your code.

            Just google or ask chat gpt about composition in C++, you can't be serious. at this point you are just asking me google questions to waste my time

            See above. I like how extremely desperate you subhumans are to pretend you have some knowledge that others lack.

          • 1 month ago
            Anonymous

            >troony in full dilation mode after bjarne was mean to xir
            lmao

          • 1 month ago
            Anonymous

            You are losing your mind with rage. Still waiting for your composition example.

          • 1 month ago
            Anonymous

            here, anon, a quality zoomer-friendly tutorial on composition and why it is even more important than inheritence.
            Happy studies, maybe one day you will understand what everyone is talking to you.

          • 1 month ago
            Anonymous

            >t.
            You will not provide an example in your next post, either. Looks like a concession to me. Just 2 more YT videos and you'll be a real programmer. :^)

          • 1 month ago
            Anonymous

            the example is here:

            >2. Provide an example of what you mean by composition and let's see how it compares to function pointers in terms of useless boilerplate
            Dude, it's literally in my code.

            https://git.lain.church/Santificado/magos/src/branch/master/src/entities/player.c#L111
            https://git.lain.church/Santificado/magos/src/branch/master/src/entity_components.h
            https://git.lain.church/Santificado/magos/src/branch/master/src/entity.h#L60

            again, happy studies.

          • 1 month ago
            Anonymous

            No one is talking to you, animal. Go work on your coding bootcamp project.

          • 1 month ago
            Anonymous

            i already have a job, this is just hobby to me
            again, happy studies

          • 1 month ago
            Anonymous

            Kiddie, no one was talking to you. I knew what composition was long before it became a buzzword you heard in some YT video in one autistically narrow context. If you weren't such a dumbshit ape with no abstract reasoning, you would have known that the function pointer solution IS composition, but I'm still waiting for that other ape to show me how his C++ boilerplate is less code.

          • 1 month ago
            Anonymous

            >wall of text

          • 1 month ago
            Sage grows in the fields

            >two lines is a wall of text
            You got BTFO and you are seething. Case closed.

          • 1 month ago
            Anonymous

            your post was literally words selected by RNG and thrown together

          • 1 month ago
            Anonymous

            >composition is now a buzzword
            oh wow
            everyone here gave you an sensible explaination of why you cannot use classes and inheritence in this situation and it is much better to just use composition instead, and showed to you with EXAMPLES and pretty much drawing the reason for you. It is not my fault that you are ignoring the examples and you are trying to cherry pick an "faulty" example instead as a falacy to sustain your opinion. In fact, i'm pretty much sure that you already understood you failed here, but you are so proud of yourself that you cannot accept once that you are wrong.

            Again, happy studies, and better improve your behavior. Maybe people can get closer to you and make meaningful connections to you if you left this spiky behavior behind.

          • 1 month ago
            Anonymous

            is now a buzzword
            It is when it comes out of your dumb mouth.

            >everyone here gave you an sensible explaination of why you cannot use classes and inheritence in this situation
            You didn't explain shit to me, you actual dumb ape. I was the one who used this "situation" to demonstrate why inheritance is shit in the first place.

          • 1 month ago
            Anonymous

            >just blatantly makes shit up

          • 1 month ago
            Anonymous

            You are either legit mentally ill or too dumb to keep track of who's saying what. I was objecting to the use of inheritance and proposing composition in the first place. A moronic code ape like you doesn't understand what composition actually means, however, so you think using function pointers in this case is something other than composition in its plainest, most boilerplate-free form.

          • 1 month ago
            Anonymous

            function pointers are not composition. they cannot carry arbitrary values with them because functions are not first class citizens. in haskell functions might be compositions. of course a nocoder like you doesn't know about FP anyway

          • 1 month ago
            Anonymous

            >a genius embraces simplicity. an idiot worships complexity.
            Exactly, that's why smart people don't use C++. It's a language for worthless morons like you who think that a switch statement is too complicated and "bloats your code" (lmao).

          • 1 month ago
            Anonymous

            Linus adopted Rust, his opinion is worthless. C++ is based. baZed, even

          • 1 month ago
            Anonymous

            >Linus adopted Rust
            Linus is playing diplomacy with the megacorps that have lowly taken over his project. This is what happens when you accept "contributions" from the likes of Google and Microsoft.

          • 1 month ago
            Anonymous

            >cope
            the reality is that he was always a moron. hates GPL3 too

          • 1 month ago
            Anonymous

            He's actually playing it smart in this one, knowing there's no need to head-to-head against the powers promoting Rust. Most kernel devs aren't going to switch to Rust and this effort is destined to fizzle out like most Rust projects and most Rust programmers.

          • 1 month ago
            Anonymous

            uhuh. definitely not because anti-bjarnism fried his brain

          • 1 month ago
            Anonymous

            >baZed
            I don't know what that means. Maybe try not speaking like a moron.

            >cope
            the reality is that he was always a moron. hates GPL3 too

            If you're a better programmer than Linus, post your projects.

          • 1 month ago
            Anonymous

            You don't know what Z means? where have you been for the past 2 years?

          • 1 month ago
            Anonymous

            Linyos Trovoltos has always been a communist spy out harm good, God-fearing American corporations.

          • 1 month ago
            Anonymous

            override a virtual method. in C that would mean implementing Vtables for NO reason, which is what a lot of C games have done back when C++ was unstable, so it wasn't NO reason, but now it is

            >what is an enum and a switch
            >what is a function pointer
            >what is having two separate tables
            There are so many simple ways to solve this problem LMAO. You are just a moron who doesn't know anything outside of OOP, don't project that on others.

          • 1 month ago
            Anonymous

            imagine being yourself, thinking that c++ is like java, lol.
            Enjoy having your game being slower than if you had wrote in JavaScript.

          • 1 month ago
            Anonymous

            I didn't mention factories moron, nobody likes java
            >slower than pajeetscript
            impossible

          • 1 month ago
            Anonymous

            >there is even example of this in one GNU software
            Post link.

  4. 1 month ago
    Anonymous

    looks good enough already. your ui has soul

  5. 1 month ago
    Anonymous

    >mention C on IQfy
    >all the morons come out of the woodwork and seethe at you for not using Rust/C++ (depending on type of moron)
    I'm thinking based. Maybe I should start using C too.

  6. 1 month ago
    Anonymous

    Like watching morons ineffectually tumble with each other on the ground.

    • 1 month ago
      Anonymous

      anon writes c++ like he writes java and then it calls everyone itt as pajeet
      top fricking kek

  7. 1 month ago
    Anonymous

    Looks like you need a designer. AI will not replace us.

    • 1 month ago
      Anonymous

      Actually just some better palettes and a way to unify the color palette.
      I still need to think on how i'm going to draw images without making everything look like shit.

  8. 1 month ago
    Anonymous

    >thinks he's smart for knowing what "composition" is
    >gets schooled on what "composition" actually is
    >seethes

  9. 1 month ago
    Anonymous

    >composing the overall behavior of an entity by setting each aspect separately using functions pointer is not composition
    There you have it. These mongoloidal apes only talk in buzzwords. They don't understand what composition means. They only understand that one example of composition they saw in a 5 minute Coding for Dummies YT tutorial.

    • 1 month ago
      Anonymous

      the overall behavior of an entity by setting each aspect separately using functions pointer is not composition
      Yes, it is too gimped to be composition

      • 1 month ago
        Anonymous

        It's composition at its purest. What is it doing if not expressing the behavior of an object in terms of composable elements? What properties of composition are lacking in this instance? The more you double down on your denial, the more you demonstrate my point that coding bootcamp Black folk like you talk in buzzwords but have zero understanding.

        • 1 month ago
          Anonymous

          You cannot parametrize your components
          entity.gun = new GunComponent(shootPower = 4, distance = 60.0, delay = 0.5);

          you cannot do this with function pointers. this is the last (You) you will get from me moron

          • 1 month ago
            Anonymous

            i agree that is moronic to use function pointer for everything, but if we are talking about functional programming, you aren't trying hard enough

            struct GunComponentData {
            int shootPower, distance;
            float delay;

            //make the constructor here
            };

            std::function<GunComponentData()> make_gun_component(int shootPower, int distance, float delay) {
            return [=]() {
            return GunComponentData { shootPower, distance, delay };
            };
            }

            This is fricking moronic, but you can.
            >CAPTCHA: 8GAP8

          • 1 month ago
            Anonymous

            I didn't even know that C++ could do that, but C doesn't have lambdas. how do you do it in C? I imagine the only way that doesn't use some weird global state is to create a C function that allocates memory, writes assembly code to memory, modifies it, and jumps to it.

          • 1 month ago
            Anonymous

            function pointers in are just function-like objects. its an object in disguise with the operator() overloaded.

          • 1 month ago
            Anonymous

            In C and C++ function pointers are just address where you jump to after pushing parameters on stack. std::function however is an object, and if it doesn't capture it can be cast into pointer I think

          • 1 month ago
            Anonymous

            I didn't even know that C++ could do that, but C doesn't have lambdas. how do you do it in C? I imagine the only way that doesn't use some weird global state is to create a C function that allocates memory, writes assembly code to memory, modifies it, and jumps to it.

            You are both moronic. Even if you actually need a component system (you don't), it still doesn't explain why you need classes or vtables for that. Now you just need a struct to go along with your function pointer.

          • 1 month ago
            Anonymous

            show us how you would make an Object struct with an arbitrarily long array of components in your preferred way

          • 1 month ago
            Anonymous

            >it's impossible to share behaviors without classes and vtables
            >no, i meant it's impossible to compose behaviors without classes and vtables
            >uhhh n-no, i meant it's impossible for those bahaviors to have custom state without classes and vtables
            >n-n-no, a-a-ack-achually, i meant it's impossible to have arbitrarily long arrays of components
            Just end your life tonight. We can keep going, you don't need vtables and classes for this, either, but the fundamental problem here is that you're an ignorant codemonkey doing cargo cult programming, so just use whatever your YT idols used. I don't care.

          • 1 month ago
            Anonymous

            >>it's impossible to share behaviors without classes and vtables
            never said that, I said it is simpler and superior
            >>no, i meant it's impossible to compose behaviors without classes and vtables
            You brought this up here

            >they require more lines, more parameters and more things to be done.
            Proof of this delusional mental illness? Also, spaceship C explodes like spaceship A but fires like spaceship B, what's your virtual method POOtard solution?

            >>uhhh n-no, i meant it's impossible for those bahaviors to have custom state without classes and vtables
            somebody does not know what components are.
            Show us the code example *now*

          • 1 month ago
            Anonymous

            >You brought this up here
            What I brought up there is that inheriting behavior starts falling apart when you need to mix and match.

            >somebody does not know what components are.
            A buzzword thrown around by coding boot camp monkeys. Point still stands that the only difference between having a `shoot` function pointer and your "parametrizable" GunComponent homosexualry is that you'd pass the GunComponent struct pointer into `shoot` instead of the dot syntax.

          • 1 month ago
            Anonymous

            >only difference between having a `shoot` function pointer and your "parametrizable" GunComponent homosexualry is that you'd pass the GunComponent struct pointer into `shoot` instead of the dot syntax
            falls apart when you have more than one component

          • 1 month ago
            Anonymous

            >falls apart when you have more than one component
            Why? Are you too moronic to figure out how to add another field to your struct? Maybe there's a YT video on this, did you check?

          • 1 month ago
            Anonymous

            a field for every component? oh great, another pajeet take. because a resizable array of components cannot be done easily and you know it

          • 1 month ago
            Anonymous

            >a field for every component?
            That ends up happening anyway because ECS Black folk just end up storing pointers to the components so they don't have to look them up every time.

            >a resizable array of components cannot be done easily and you know it
            Give me one real-world example of this being needed.

          • 1 month ago
            Anonymous

            literally every internal game engine that uses ECS does that
            now you ask yourself why don't they use C but mostly C++. Personally I don't use half of C++ features, but even if all C++ did was add lambdas I would still go for it

          • 1 month ago
            Anonymous

            Notice how you failed to provide any realistic use case for your braindead feature request.
            >b-b-b-b-but muh unspecified game studio does it in its bloatware
            Don't care.

          • 1 month ago
            Anonymous

            I accept your concession. C++ wins yet again. Bjarne wins yet again. le old is good soviet tech shill loses yet again.

          • 1 month ago
            Anonymous

            Ok, but can you give me a real-world example of when you actually need a resizable array of components?

          • 1 month ago
            Anonymous

            when you have a lot of them and don't want to waste struct memory usage and when you plan to add more / extend. obviously scale is the issue. if not you can just hardcode everything with ifs and switches

          • 1 month ago
            Anonymous

            Still waiting for an actual real-world example. Notice how you fail for the 4th time.

          • 1 month ago
            Anonymous

            every single major game that was programmed from scratch in systems programming language

          • 1 month ago
            Anonymous

            >b-b-but muh unspecified game studio does it in its bloatware
            Cargo cult programmers actually "think" like this. Still waiting for you to give me a real-world situation when you have so many components that wasting struct space on some extra pointers is a realistic concern. You failed 5 times in a row so far.

          • 1 month ago
            Anonymous

            >Cargo
            I use C++

          • 1 month ago
            Anonymous

            >fails 6 times in a row
            Ok, so you agree with me that it doesn't actually happen. Concession accepted.

          • 1 month ago
            Anonymous

            By the way, Black person, if you want to know why major game studios do it in their engines, it's BECAUSE they spend years developing giant bloatware engines meant to be reused in a bunch of different games. It's not because they have 50 components per entity, it's because they don't know what those components are gonna be so their system has to be dynamic. None of this applies to a single person making his little indie game. Dumb fricking ape.

          • 1 month ago
            Anonymous

            Nintendo made separate engines for every single game almost. Different for OOT|MM than Mario Party or Kirby and such

          • 1 month ago
            Anonymous

            >Nintendo made separate engines for every single game almost.
            And?

          • 1 month ago
            Anonymous

            so they did not use general purpose game engine!

          • 1 month ago
            Anonymous

            And? You're really grasping at straws and it's pathetic.

          • 1 month ago
            Anonymous

            Yeah I know. So?

          • 1 month ago
            Anonymous

            So quit being an insufferable homosexual. It's not hard to make games in C. If you actually had a case, it wouldn't have devolved into a debate about whether or not Schlomo Game Studios needs 50 components on their entities.

          • 1 month ago
            Anonymous

            I don't need, and i don't need function pointers either.
            Just macros to keep everything in place

          • 1 month ago
            Anonymous

            >i don't need function pointers either.
            Sure. It's just far more convenient than your moronic design if we're actually talking about high level behaviors for entities.

  10. 1 month ago
    Anonymous

    >You cannot parametrize your components
    Dumb ape immediately goes back to his YT coding-for-dummies video like he's trying to prove my point. No capacity for abstract thought in this creature. I'm talking about composition and he's talking about his gay OOP component system.

  11. 1 month ago
    Anonymous

    yay

  12. 1 month ago
    Anonymous

    >ape #1 (the POO connoisseur?) doesn't understand what a cache even is
    >ape #2 (data-driven code bootcamp dev) engages in extreme cargo cult programming trying to store THE FRICKING ENTITIES THEMSELVES in a big contiguous block
    The best part of it is that the entities themselves are apparently giant blobs.

    • 1 month ago
      Anonymous

      you are so angry

      • 1 month ago
        Anonymous

        I am a little angry but in that nice way that helps pass the time. In any case, it doesn't matter if the entities themselves frick up cache locality. What matters is that the data you actually process at any given point is contiguous.

  13. 1 month ago
    Anonymous

    >Anyone can recommend a palette, icons and fonts for ui?
    ESL thread

  14. 1 month ago
    Anonymous

    Why is there some anon on this board who comes in to shill C++ for 100 posts every times someone mentions C? What a moronic waste of oxygen. I genuinely hope he kills himself.

  15. 1 month ago
    Anonymous

    So many posts arguing about off-topic stuff and no answer. This board has gone to shit. OP, if you don't think you have any design skill, maybe just rip off something else? Nuklear looks fine so maybe that, or look at simple but nice-looking KDE themes.

    • 1 month ago
      Anonymous

      The problem with Nuklear is that my engine doesn't the shapes nuklear requires. Namely: triangles, circles and splines.

      • 1 month ago
        Anonymous

        >implementing an entire GUI library instead of implementing triangles (triangle), circles (triangle strip) and splines (triangle strip)

      • 1 month ago
        Anonymous

        Don't you use SDL? It can do all of that

        • 1 month ago
          Anonymous

          mixing rendering engines

          >implementing an entire GUI library instead of implementing triangles (triangle), circles (triangle strip) and splines (triangle strip)

          i'm reducing draw calls and opengl es doesn't have triangle strip (as far as i know).

      • 1 month ago
        Anonymous

        Yes, I saw the post in which you were explaining it. I'm saying that you could rip off Nuklear's color palette and fonts if you can't come up with some good ones yourself.

        • 1 month ago
          Anonymous

          Oh, never thought of that.
          Thanks.

          • 1 month ago
            Anonymous

            No problem. That's also why I suggested looking at KDE themes. You could take a theme and just copy the colors / reimplement the shapes without actually using the theme. Some of them look quite nice while being fairly minimalist.
            Good luck with your C game project!

Comments are closed.