• 0 Posts
  • 34 Comments
Joined 6 months ago
cake
Cake day: May 16th, 2024

help-circle

  • Yours is a flawed, extremist view.
    How impressive something is has nothing to do with whether or not its source is available. What, if they release it to the public it suddenly becomes impressive?
    You can disagree with the method of distribution, but it doesn’t affect the quality of the game.

    Piracy being a thing isn’t a strong argument for open sourcing everything, since the barrier of entry is higher than you may expect for non technical people, a barrier that would definitely be lower if any game was freely available and compilable by anyone. Someone will make a free, one click installer, guaranteed.

    Now, can you charge for open source software? Definitely.
    Will it generate significant revenue in most circumstances? No.

    Open source software relies on two methods for funding:

    • People’s good will, through donations
    • Paid enterprise licenses and training

    The former isn’t something one can stably rely on, the latter just isn’t applicable to games.
    Again, that model can work for some high profile projects, but in the vast majority of cases, it won’t. Especially not for games.

    One can make works of passion and still want to be compensated, that’s what artists do and games are a form of art. You clearly never had to put food on the table with the art you make.

    Your vision of everything being open source is a utopia. A noble idea, for sure, but reality is much more bleak.


  • Just open sourcing the actual engine wouldn’t do much. At best, you’d be able to make it work on newer hardware if problems arise, or port it to other OSs. Great stuff, but not enough when it comes to improving the game, preserving multiplayer, and so on.

    There’s a great amount of scaffolding on top of the base engine that any moderately sized game implements, be it through scripting or native code. That’s what I meant by the line between the engine and the game being blurry. If you want to make meaningful changes to the game, you need access to that framework portion, but releasing it would allow for easy reverse engineering of everything else. It’s a difficult balance to achieve.


  • I could see that being a thing, but the line between the engine and the game itself is a bit blurry in this context. Copyrighting just the assets and content would often not be enough. There will always be a good chunk of game code which isn’t strictly part of the engine but under this model should remain closed source, otherwise people could just bring their own assets.

    Frankly I’d be satisfied with companies open sourcing their games after they stop supporting and/or selling them, mostly for preservation and all that. I think that would be a great middle-ground.





  • I’ve found working with Rust and Bevy to be quite pleasant. If you’re used to working with ECS, I suggest you at least give it a go.
    Rust is as functional as C++ 20 with ranges and views is, which is to say it isn’t. Not sure where you got that impression from, but while it does borrow some ideas from functional languages, it’s still very much a procedural one.

    Zig doesn’t have headers, nor inheritance. Again, not sure where you got that from, but Zig is basically a modern C, so there’s no OOP anywhere, let alone multiple inheritance.

    As for what to use, I think they’re both viable alternatives. I lean more towards Rust, but that’s just due to familiarity. Odin also looks like a viable option, if you don’t mind a smaller ecosystem.
    If you want a garbage collected language, then I’d go for C#. Despite its historic reputation as a Windows only language, it’s been cross platform and open source for roughly a decade at this point. I find it great to work with.





  • It’s the exact opposite imo. I’d imagine that doesn’t really make a difference considering Edge is cross platform, and their goal is to collect as much data as possible.
    Plus, they just collect different kinds of info through Windows. So Windows + Edge is even worse, especially since it integrates just as deeply into Windows as IE did years back.







  • Oh my god look at how big this Java project is before I compile it, what a nightmare!!1!1!1!

    When shipping to customers, all code is your responsibility, dependency or otherwise. A bug or a security vulnerability, which aren’t rare in the JS ecosystem, is your responsibility whether you wrote the code or not. Customers don’t care if someone else wrote it, it’s your product, you are to blame. Thus, the less code, the better. Less moving parts also means more stability in general.

    the most popular language and the most successful cross platform development platform in the entire history of programming

    But no, I’m sure it’s the millions of successful developers and users who are wrong.

    People can be successful with things that aren’t perfect. It’s often a matter of being the first, not being the best. Something can be popular and still not be good, momentum is hard to stop. If JS’s own creator saying so in the last few years can’t convince you of that, I don’t know what will. Flash at one point was the most popular. It was still flawed, and a liability, but I bet that doesn’t hurt you as much to hear.

    Everything is shit but you amirite?

    Quite the contrary. I have flaws like everybody else, but at least I don’t deflect every single criticism of stuff I like because in can’t fathom it not being perfect. It’s fine, use it. Maybe one day you’ll find a platform that’ll make you realize there’s better stuff out there.

    But I’m done arguing with you. I should have known by the tone of your first reply that this wasn’t going to be a real discussion, just you being butthurt because someone said something negative about your favourite language. Go get butthurt somewhere else.



  • Is there something I’m missing here? Why would you expect to be able to do bitwise operations on floats and get a sensible value? And if you want to do integer bitwise operations… you still can? Just use integer values and the bitwise operators?

    No that’s my point. You can’t, because there’s no such thing as an integer value. It’s all floats, always. They get casted to integers, the binary operation is done, then they get converted back to floats. That’s a lossy process, so some binary operations with certain values are simply not possible and you get weird results. The max width of an integer you can store is 53 bits, the maximum addressable width is 32 bits for binary operations. That’s wonky.

    This is patently false. JS has sets, maps, etc…

    Ah yes I forgot sets. But I don’t think there’s anything else? Last time I checked there were no binary trees, no proper (ring buffer) queues, no ordered sets, but I may be wrong on that. It’s not enough imo for a proper standard library.

    For everything else:

    My point is that JS is an okay scripting language for the web. As I said, for that it’s perfectly fine, though the frameworks are often lacking imo. But there is this tendency to use it to create backends, desktop applications and tooling. That’s where the language falls apart, because it’s not made for that. It needs to be more robust, well defined and fully featured to be used in those contexts, both in terms of JS itself, and its standard library. Same with TS.

    You seem to be confused about what JS is. It’s a high-level interpreted language. It’s not C.

    I know and that’s the point. It’s underspecified for things outside the web, so it’s terrible for those use-cases. You can make it work for Node, but not for Bun or any other runtime. And even then, the experience is acceptable at best.

    I personally would never use it for such use-cases, but people keep touting it and TS as these amazing general purpose languages you can do anything in. You can, but you really shouldn’t.