• 7 Posts
  • 85 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle







  • See my other comment for more detials but it kind of destroys the type safety of the language. In Java for example, it lets you modify private/protected fields and call private/protected methods.

    It’s also slower than accessing a field normally since you need to do a string lookup (but slightly faster than a hashmap/dictionary) so if you use it over a large enough list it’ll cause slowdowns.

    Most use cases for it in Java/C# revolve around testing, serialization, and dynamic filtering/sorting. And most of those cases can be handled more safely using macros/attributes because that gets handled at compile-time in C/C++.


  • It’s pretty cool when you use it right but it’s also really easy to shoot yourself in the foot with, even by C++ standards. For example, in other languages (I’m coming from Java/C# which both have it) it lets you access private/protected fields and methods when you normally wouldn’t be able to.

    There’s also a noticeable performance penalty over large lists because you’re searching for the field with a string instead of directly accessing it.

    For the times it is necessary (usually serialization-adjacent or dynamic filtering/sorting in a table) to use reflection, it’s faster at runtime than converting an object to a dictionary/hashmap. However, 99% of time it’s a bad call.





  • The lead developer changed the license to a much less permissive one because of drama surrounding being credited in modpacks. The dev thinks there are forks that exist solely to sidestep crediting the original mod, I’m not up to date enough on Minecraft modding lore to know if this is true or not.

    I’m pretty sure there’s also a fork that branches off of the last GPL commit but I forget what it’s called.



  • Calling odyssey Mario 64 v2 is like calling Doom Eternal Doom 1993 v3. There are a LOT of changes they’ve made to 3D Mario games mechanically that makes Odyssey a much better platformer than even Galaxy and Sunshine, let alone Mario 64. Yeah, if you look at the story it’s still a Mario game. But if you’re playing a platformer for the story then you’re fundamentally not the audience for a Mario game (or really a good portion of 2D/3D platformers)

    I personally despise Nintendo as a company for all of their legal nonsense but I will admit that besides the way Game Freak ruined Pokemon, most of their first party titles are pretty good games.

    From what I can tell they are also one of the only large game publishers that shows any amount of care for their game devs. Ignoring the fake Miyamoto quote about rushed games, they’ve also said in interviews that they want developers to have work-life balances and that they would rather delay games instead of having crunches. The only examples of crunch I could find were (ironically enough) Mario 64, Ocarina of Time, and the original Metroid Prime. (If there are more recent ones my opinion of them would probably be the opposite though)







  • Annapurna was a publisher team, not a dev team (that published a lot of indie teams’ games). I’m not entirely sure how this affects the devs though since I’m in general software development and not game development.

    When Warner Bros shut down Adult Swim’s game publishing team a few months ago, they did at least give publishing rights back to the original devs so something similar might end up happening here.

    That being said it’s also possible that all of the games Annapurna published get put in licensing limbo and the original devs get screwed over by this if the Annapurna parent company doesn’t want to give up their publishing rights.


  • TypeScript is still built on JavaScript, all numbers are IEEE-754 doubles 🙃

    Edit: Actually I lied, there are BigInts which are arbitrarily precise integers but I don’t think there’s a way to make them unsigned. There also might be a byte-array object that stores uint8 values but I’m not completely sure if I’m remembering that correctly.