News & Gossip VII: For Blood and Headlines

Having examined MV engine code, I can report that it’s implemented mostly in mimicry of the internals of VX Ace and earlier, complete with objects that only really make sense as C structs (e.g. having numeric “opcode” and “id” attributes instead of just being class instances). The upside is that it also uses a large amount of easily-hacked global variables, which is convenient for plugins.

4 Likes
3 Likes

As bad as the MV engine codebase is (its very bad) it is god damn rock solid compared to the community plugins
Obviously the community has created a really impressive amount of utilities for this engine but dear lord at what cost
The horrors Ive seen… the amount of times people just throw in a bunch of evals in code that runs every frame like fuck it lets just never hit 60 fps again

9 Likes

that’s incredible. are they using eval in the place of an import system or something? why would you ever use eval? i am having visions of outsider art javascript that generates code by string concatenation in order to implement currying

7 Likes

Usually its used as a way to have a formula in the plugin settings because the author doesnt know about function constructors
However
I have seen eval used to convert a string “true” into a bool in an MV plugin
Multiple times
Ive seen shit you people wouldnt believe

8 Likes

that sounds like most aaa codebases

2 Likes

there are rare cases where you might actually want to use eval but significantly less so in a world where the function constructor exists. (I’m using the function constructor in a js framework I’m making right now though I’m still trying to research an alternative… though I’m like, pretty sure my implementation is safe).

I guess the function constructor ditches scope (which is why it’s a better alternative) but that still leaves room for edge cases where eval might be necessary. but I’ve seen eval calls in a lot of popular, well-made js libraries. I assume at least some of those people know what they’re doing. who knows though.

it’s kind of hard to imagine any need for anything like that if you’re just scripting stuff in rpgmaker though?

3 Likes
13 Likes

I got to see a readonly int bob = (int)float.Parse(“500”); at work in production c# code for an application that had cost the organization a pretty penny so while I do think javascript encourages terrible code I’m also convinced life finds a way in all languages.

11 Likes

The Wii was so ubiquitous, that I’m shocked the Switch was able to pull that off.

If anything I hope they just keep supporting it just as long and all the internet people shut the fuck up about how there NEEDS to be a Switch 2.

7 Likes

lmao

https://twitter.com/BethesdaStudios/status/1696887350289174787

1 Like

wack ass praise and worship music

5 Likes

:tronyell:

in capslock and font size 64.
I really hope that the compiler does enough optimization to offset such … creative … use of explicit and implicit assigning & typecasting.

2 Likes

Super mario wonder direct in half an hour

5 Likes

The compiler almost certainly does not. string eval-based metaprogramming basically bypasses the compiler and moves its workload and error-checking to runtime

4 Likes

Elephant Peach :disappointed:

1 Like

foreverially castlized king bowser

5 Likes

it’s too early in the morning to be shown elephant Peach or inflating Mario

6 Likes

can’t believe they made a strand type mario game

14 Likes

The flowers shouldn’t talk to me.

4 Likes