• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

6145 Excellent

1 Follower

About Oberon_Command

  • Rank

Personal Information

  • Interests
  1. Bad Design vs. Niche Design

    Are you ruling out music that only uses percussion instruments? I mean, most of the time you don't play "different notes" on a cymbal or triangle, or a maraca. There's also this, which I would still call music. Seems like a lot of people would call this music, too: Not to mention this...
  2. Bad Design vs. Niche Design

    That's fine and all, but you can only hold a discussion in so far as all people involved in that discussion are willing to countenance the view points of the others involved. As soon as someone pulls the "all art is subjective" card, discussion is basically over. Indisputably so. But I'd suggest that by that point the discussion was already over, anyway. If you have to fall back on "all art is subjective", there's probably not much to discuss. Just as "I have the right to do x" is an incredibly weak justification for doing x.
  3. Bad Design vs. Niche Design

    I wouldn't say that it's impossible; it's only impossible if you think a value judgment is meaningless if it doesn't apply to everyone. That is clearly not the case - it may not matter to the universe at large that I have certain preferences, but it sure matters to me, the person making judgments. The world is full of activists with belief systems that contradict those of other activists; their beliefs look like they're pretty meaningful to those who hold them. I am one of those people convinced that there aren't "objectively-correct" value judgments; and in spite of this, as those of you who have interacted with me in the chat would know, I have some pretty strong opinions on what we ought to value and what some of the consequences of having those values are. Some people are frightened by the prospect that there may not be a "universally-correct"/"objective" set of values and I'm not completely sure I understand why. I'd argue (as some of the existentialists did) that good/bad being subjective and derived from individual values is not only obvious if you think about this subject enough, but actually liberating. It means we aren't confined to some "one true" way of looking at the world; we are free from the imposition of an objective value system from external reality. We have the freedom to form our own judgments and can therefore pursue an authentically individualist life. All that all of this means for the topic at hand, I think, is that the "value system" (ie. the axiomatic value judgments that drive an individual's worldview) may need to be made more explicit if you're trying to convince others to share your judgments. Beyond that, having a diverse set of values driving our industry is something that I value. I suspect our field would be kind of boring if everyone shared the exact same set of artistic values.
  4. Manual syntax trees

    This looks like the kind of thing that Lisp would be good at.
  5. Singletons in game engine architecture

    Indeed. If you are not a middleware developer, and you are not using middleware yourself, then write games, not engines.
  6. hand over your source code or you get no refund

    The refund thing aside, the developers are well within their rights to request code that demonstrates the problem. Look at it from their perspective. You're reporting a bug, possibly one they haven't seen. The developers want some way to reproduce it and verify that: that there is a problem at all, and you aren't just misusing their software what the problem is, if it exists that you aren't trying to scam them for a free copy of their middleware (unlikely, but I could see someone trying it) If you didn't want to give them your source code, you could have offered to put together a minimal project, that is not your actual game, that demonstrates the bug. They just want to see a project that causes the bug to happen so they can fix the bug and get you working again. From actually reading the forum thread, that has nothing to do with refusing a refund. It's baffling to me that you would construe any of that as "give me your source code or no refund." I get the impression that English isn't your first language, so maybe this is down to a language difficulty, but making multiple posts to rage at them based on a misunderstanding is not helping you, them, or anyone else for that matter. It doesn't in the least bit surprise me that they would lock your threads and ignore you.
  7. Singletons in game engine architecture

    A question: what is the responsibility of ResourceManager? Obviously, with the way you have it, it creates textures, but does it also track their lifetimes and act as a cache of them? If so, then you have a class that is two separate concerns (texture creation and texture caching) and you may benefit from splitting it into two classes. The example I posted assumes that you have two objects, one which creates the texture and one which caches it, and the two classes don't actually know anything about each other.
  8. Singletons in game engine architecture

    As Kylotan suggests, this indicates that maybe a resource manager that tracks the device will be more useful than one that doesn't. You don't need to have a CreateWhiteTexture on the resource manager itself - you can write a CreatureWhiteTexture function that just takes a resource manager and creation data, and then have the resource manager use its internal D3D device to create the texture. Or, you could put stuff needed for texture creation into a texture factory (which would track the device), and put the texture creation method on that, then pass the created texture to the resource manager when it has already been created. For example, something like: resourceManager.RegisterTexture(CreateWhiteTexture(textureFactory), guid, name); I can think of one reason, which OP doesn't cite - the service locator pattern is just a "better" way to have singletons. Being able to switch out objects from the service locator at runtime is nifty, but it still has the problem that globals and singletons have where it hides dependencies within the methods that use it, rather than making them explicit,. The service locator still looks like global state to client code and most implementations of it still only allow one of each type of object to be located from it - both of which are problems. I see it as a crutch for dealing with globals-heavy legacy code; in new code, it'd call it an anti-pattern.
  9. C++ Gameplay in C++

    This is not too dissimilar from my own experience, actually. Better tooling would have made things a lot more manageable. So far as I'm aware, nobody had any kind of debugger available, and because of the way scripts were included in the content it was often impossible to even verify that the scripts compiled without booting up the game, never mind have working IntelliSense or refactoring tools or anything nice like that. We couldn't even do "go to definition" or the like - there wasn't any kind of unified "Lua project" where we could trace where particular symbols were defined, and different Lua files got used in different scenarios so it was a matter of searching through ALL Lua scripts for the symbol you wanted, then guessing which one was the one that would actually get used at the point where you were going to use it. Our workflow basically boiled down to "write some Lua in a text editor, start the game, see if it worked (it probably didn't). Writing actual gameplay code in C++ was much smoother, despite long compile times and... well, C++. Investing in workflow and tooling is a must if you're going to use any kind of scripting language. What I take from this is that if you don't have (or your higher-ups aren't willing to put in) the resources to do that, I'd say it's better to not introduce extra languages, as they're another platform you have to support and if you're going to support something, you should support it properly. At the very least, make sure you have a debugger that works and code is searchable. If your scripting system forces me to rely on printf debugging or putting breakpoints in the C++ that is called by the scripting system, I'm going to be inclined to go back to C++ and my nice Visual Studio debugger.
  10. Reddit can silently hide all of your mesages/topics

    My point is that I would hardly call it ruthless and inhumane. Besides, it seems entirely practical to me. As OP himself pointed out, the downside to notifying someone that they've been banned immediately is that they'll likely immediately go and create another account. That would increase account churn and make it next to impossible to police spam accounts, whereas this way the spammer continues spamming into the void without anyone (including the spammer) noticing that anything is amiss. If making people who break the rules feel a little stupid is the price of having a spam and toxicity-free environment, I'd be perfectly willing to pay that price, myself. If you did something stupid that broke the rules, should you not feel stupid? Should we protect people from feeling stupid when they make a mistake? If users are getting shadowbanned for something they didn't know was against the rules, that's an argument for more clearly articulating the rules, not ceasing shadowbanning.
  11. Reddit can silently hide all of your mesages/topics

    I'm not clear on exactly how it's ruthless and inhumane.
  12. Capturing "this" in a lambda function

    I believe you need to capture this if you're capturing by reference. Not sure if that's necessary if you're capturing the member by value.
  13. Capturing "this" in a lambda function

    Capturing the this pointer is needed if you want the closure defined by the lambda to access member variables on the class that owns the method that the lambda is defined within. The syntax allows access to member variables and methods on the "enclosing object" without actually using the this pointer - just as if the code within the lambda was in a method on the object. I haven't looked at the code in detail, but is solvePaddleBallCollision a method on whatever class has the method defining these lambdas?
  14. If perfect rational planning really is computationally intractable, then it seems obvious to me that the free market wouldn't be able to handle it, either. Relatedly, I would point out that there's a reason we have "market disruption" as a term. No doubt some would argue that the free market not being able to handle it is the entire point of moving to socialism. Or maybe the fact that the free market is inherently decentralized and parallel is the reason it works better - perhaps rational planning can be done in polynomial time, but that polynomial has a huge exponent on it that makes the problem only tractable when computed on millions or billions of processors in parallel. Or some combination of both; neither a decentralized free market nor centralized rational planning can perfectly plan an economy, but each attain a different local maximum of efficiency. A free market can have some of its "computations" of what people want and need made closer to the point where its source data is taken, meaning that the data is more accurate at the point of computation, resulting in a local maximum closer to the actual optimum point. Slightly offtopic, but I would point out that atheism and "having a blind faith in science" have nothing to do with one another. Even if science was about faith (which it isn't), there are atheists who reject science. Atheist only means "does not believe in any gods." There are atheists who believe in crystal healing, psychic phenomena, and homeopathy. I would bet that there's at least one atheist flat-earther, too. Besides obvious existence proofs, if you're having blind faith in the things science tells you, then you're not thinking scientifically at all. Both "atheism = religion" and "science = religion" are memes with no basis in fact.
  15. I seem to recall that some economists believe that central planning of an economy is an NP-hard or even hypercomputational problem, meaning that rational economic planning may not be practical even with AIs. From the abstract of the linked paper: This other paper would seem to suggest otherwise, presenting counter-arguments. Anyone with more knowledge of complexity theory than I want to weigh on in this? If a centrally-planned economy is computationally infeasible, how does that the change the ideas presented this thread for dealing with "AI-conomics?"
  • Advertisement