Jump to content
  • Advertisement

Bregma

GDNet+ Basic
  • Content count

    3033
  • Joined

  • Last visited

  • Days Won

    1

Bregma last won the day on April 22

Bregma had the most liked content!

Community Reputation

9294 Excellent

1 Follower

About Bregma

  • Rank
    Curmudgeon

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Bregma

    Custom size_t

    <stdint.h> was introduced in C99. That's when size_t, uintptr_t, and all the sized integer types were introduced to the C language. The concept of type size_t was adopted from C++. With C++11 the C++ language became based on C99 instead of C89 (ie. the C++ standard includes the C99 standard "by inference" and itemizes the differences between languages from that document in appendixes C and D). <cstdint> was introduced in the C++11 standard, and std::uintptr_t and all the sized integer types were introduced into the C++ language at that time. std::size_t was a part of the original C++98 standard. My guess is the UE code predates the standardization of fixed-width integer types in C++ in at least one target toolchain.
  2. Bregma

    Custom size_t

    I imagine the root of this redundancy is the fact that Microsoft's toolchain does (did?) not support C99, and by inference standard C++. C99 introduced size_t and uintptr_t, and C++ has always provided std::size_t and since C++11 (where is moved to C99 instead of C89) std::uintptr_t. If you want cross-platform portability you often have to work around the non-conforming platforms or else give in and lock in. Always good for party conversation, that Microsoft toolchain. They try.
  3. Bregma

    Defining AAA

    Certainly. Just like other popular human undertakings. Consider the classic examples of the music industry: it has gone through many corporate/independent waves, each usually driven by technological developments in which the independent creators push the edge with their art and then the international corporatists move in and take control in their borg-like fashion flooding the market with mediocre but popular product and milk the bottom line on their quarterly reports to shareholders. Or even consider religion: it starts with the One True Religion and as the usual crowd of organizers and controllers take over and interpret things in their favour until schisms develop and there are many One True Religions splintered off. It's human nature. Nowadays AAA just means a release by a large corporation, probably with multinational ties, which spends a significant if not majority of the budget on marketing and distribution and possibly franchise and intellectual property fees or other things involving rooms full of high-paid lawyers (quick! they're all in one place! it's an opportunity to one-shot the mob!). It does not refer to the technical qualities of the assets, programming, or storytelling or even the generated revenue. Perhaps I'm a cynic but I would speculate that it might be possible to correlate the popular perception of what makes an AAA title and the proportion of the total budget that was not spent directly on development. It would make an interesting paper, if there was someone willing to fund such research.
  4. My answer is: sometimes. I had plenty of surgeries for amblyopia when I was young. Those worked, mostly, although I'm incapable of crossing my eyes they way my friends always could (which, I guess, was kind of the point). As an adult, the results of tests at the ophthalmologist is "limited 3D vision." That means I can drive OK, but I still can't catch something that gets thrown at me (at least I have an excuse for why I was always last against the wall when they were picking teams in grade school). Consider the problem to be a form of input lag with the feedback control on my EM-spectrum sensors. So sad, I'm, sure you're all shedding tears for me at this point as the violin music swells. End result: 3D movies make my eyes ache and just mostly look flat (except may once in a while, a big cheesy effect will "pop", gosh wow). That 3D TV tech that did not use glasses just didn't work for me, it just looked blurry. I haven't tried VR because I can feel my eyes ache just looking at the headset. That, and I'm a cheap little beggar (those things cost many beers). It doesn't bother me since it's a privilege I've never had, but it is annoying that I have to pay a premium for first-run movies when the only screens are in 3D when its effect is lost on me.
  5. If it's really the case that you need to store a value that must be parameterized, then it's necessary to have a constructor in your template that will accept the parameters. You need a "perfect forwarding of parameter packs" template template constructor. That's how templates like std::function and std::make_unique work. If it's absolutely imperative that you be able to construct an object that depends on parameters in a place where you can not give it parameters, your design is wrong and no amount of code magic can fix it.
  6. Bregma

    Market Confussion, Video Game Industry?

    (1) Computer games is hardly an emerging industry. I was buying indie games for my TI-99/4A 35 years ago -- they came on cassette because indies could not afford the manufacturing or license fees for the carts that the big mega corporations used (ah, Burger Time, I haven't though about you in years). Heck, the rich kids in my neighbourhood had a Pong hooked up to their TV 45 years ago. Three generations of developers is enough to start calling it a mature market. (2) Computer games is not a special industry. You're not going to make a full-time living as an indie musician, or an indie film maker, or an indie sports league, or an indie car maker (unless you product line is featured in a series of science fiction films as some kind of time machine). Yet there are still plenty of those around. The very nature of being an indie means you're a small fish in a big ocean and you better be doing it for the love of the art, and be able to pay your rent in "exposure." (3) There are already plenty of laws protecting the market. Unfortunately, an unregulated free-market economy always leads to a plutocracy and a regulated market, where the regulations are in favour of the folks at the same exclusive country club where the lawmakers spend time. In other words, the existing laws, regulations, and justice system in most places is designed and operated to favour the richer among us, whether that's corporations in a capitalist society or elite families and individuals everywhere. You want to make computer games as an indie? Do it. Do it out of love for the craft. Make the best games you can. Put your games on the market. Keep your expectations in line and don't bet the rent money.
  7. I've been hearing the same thing since the 1960s. Of course, we were all going to starve by the year 2000 because of the overpopulation and the impending ice age, but it hardly mattered because of the nuclear apocalypse that would end it all in a single bright flash. Then came the acid rain that was going to eutrophy all our lakes and the GMO frankencrops that would extinguish all our biodiversity. Only now the same Club of Rome folks are telling us we're going to roast on a waterworld as we starve due to the overpopulation by the year 2100, but it'll be OK because the frankenstorms will wipe us all out with the great plastic supertides. For a good background, read a lot of history about how doomsayer predictions have always been with us. Plagues of frogs and rivers of blood, cats lying down with dogs, that sort of thing. Ohhhh, it's going to be bad.
  8. Bregma

    Communism 2.0

    How could the "who" not be relevant? We don;t have true AI yet, so if you;re using the simple linear algebra currently dubbed "AI" it would need to be trained by selecting and feeding data sets. Someone needs to choose those data sets. If history has anything to tell us, and it definitely does, those data sets will be pretty much exclusively based on what's important to a small extra-privileged set of white men. The who is very, very important. If you deny entitlements to those with their hands in the till, well, it's pretty clear how that will end up. Why do you think the most valuable careers we have today is those in control of other people's money? Economic systems do not control human nature, it's the other way around. The minute you have inequity through the uneven distribution of perqs, you have a classist social structure and history has show that that does not end well. Oh, I'm all in agreement that with our current technology we could all live better lives without the need for constant labour or, outside of the population of the incapable due to physical or mental disability, without poverty. I also have enough faith in human nature to recognize that any system will be subverted and corrupted by individuals to bring themselves excess of what they need at the expense of others. I think that's one of the strongest human drives, and once the other fundamental needs are met it will be the one single focus of most individuals. Picture Cnut standing in the tide of human nature.
  9. Start by writing unit tests. I mean: write the tests first, then write your code (TDD). You'll find that in order to make your code unit-testable, you need it organized. You will find that having plenty of unit tests makes it easier to refactor your code as you organize it, or reorganize it, but the biggest benefit of TDD is you end up doing a certain amount of design up front instead of just jumping in to coding, and the sequela of design is organization. Then, move on to BDD, which helps you find and organize your unit tests and helps you avoid the trap of writing tests to the implementation instead of the interface.
  10. Bregma

    Communism 2.0

    Well, it's an interesting thought exercise. The first question that comes up is "who gets to assign point value to tasks?" Obviously that particular job will be worth the most points and earn you immediate top-caste privileges. You would get the best living spaces and are entitled to a fleet of limos, if only there were enough people volunteering to drive you limos. That brings us to the second-most valuable job, the people who assign scare resources. They would, of course, also be entitled to the top tier, otherwise those already in the top tier would not get first pick of the scarce resources they need to indulge their lavish lifestyle. It would become necessary for lower-ranked individuals to trade non-currency resources with each other and members of higher ranks in order to obtain access to the top tier to get some of the scarce resources they're going to need to do their work, or survive, or whatever. The black market will probably end up being the largest part of the economy. What about the market for non-tangible goods? Which god and religion will be the one true religion? Which scientific observations and theories will be allowed to be published? Are points assigned or removed for expressing ideas counter to those deemed correct by the top-tier points allocators? What if I publish ideas counter to the system advocating for a currency-based free-market system of allocating scarce resources? What if I make games that depict non-SWMoPs in a European historic context -- do I gain or lose points? Lots of food for thought there (although how that food gets distributed is unclear).
  11. Dependencies need to be a directed acyclic graph (ie. a tree with no circles). This is true for classes and for header files. Perhaps start by refactoring each class into its own header file, and then only include those header files you need where you need them. If that fails to work because you have logical circular dependencies, try using members by reference (which confusingly usually means by pointer type as described above) instead of by value.
  12. Bregma

    The Battlefield V "Historical Accuracy" Controversy

    Well, as long as they get other games playing as blacks, females, or people without privilege, I don't see the issue? Separate but equal. Now, why the Jim Crow does that sound familiar? I can see it now. Go in to the FC Games boutique at the mall, go past the merchandise for regular normal people, past the pink aisle for the girl games (ponies! unicorns! dating sims! unicorn dating sims!) to find the broken rack at the back with the sign marked "coloreds" for the crime syndicate sims? Hold that tiki torch high in the name of making gaming great again.
  13. Bregma

    The Battlefield V "Historical Accuracy" Controversy

    Being a straight white male of privilege is good enough for straight white males of privilege. It should damn well be good enough for all those others too.
  14. Bregma

    Modyfing pointers

    This is C code (even if it's written in C++). I C, all function parameters are passed by value. You're passing the pointers by value. That means they get copied in, and then on function exit get destroyed. If you're trying to have the side effect of modifying an argument passed to a function, then you must either pass it by pointer (for C or C++) or by reference (in C++). That means you function either need to be this (C or C++) void AddNextCSG(TCSGInfo** first, TCSGInfo* to_add); or this (C++ only). void AddNextCSG(TCSGInfo*& first, TCSGInfo* to_add); And yes, in the first case you need to dereference the pointer-to-pointer when assigning to it.
  15. Bregma

    Why are member variables called out?

    Function parameters are just function-local variables initialized with the value of the function arguments. You could prefix them with l_ for local, but remember it's hard to distinguish between the letter ell and the numeral one in many typefaces. As to why we call out variables that affect current object state in C++ code and not the traditional local variables used in C code from the 1970s and later, well, it's both inertia (millions of lines of C code have been written over the decades, which is why the ever-so-compatible C++ language is popular) and an improvement to reasoning about the code, since modifying a member variable locally can have repercussions elsewhere, whereas modifying a local variable is, well, pretty much local by definition. Pretty much the same reason you would make the Big Red Button big and red when all the other buttons are just regular-sized and probably not red, instead of the other way around.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!