• she or it or they

polymath
@polymath

this isn't about the current unity nonsense, but it got me thinking, I don't think I like unity's model. it always seems kind of... silly?

i've never really used unity, but what i want to do when i'm building a game is to write a bunch of code that makes the game go brrr, make a bunch of level layouts externally, and the code loads the level files just like any other data. if i want multiple levels, i just make multiple level asset files. this all seems very sensible and obvious to me, but unity does almost the opposite: it wants me to create a level and import all the code into it.

it makes sense to me for the player character object to include all the movement code and what-have-you, but like if you need a level time then you have to make a "level timer" object and then put it in the level somewhere. and i do mean "somewhere", it has a physical (x,y,z) location within the level. that all just seems very silly to me, i find it confusing to think about building software that way up, and it seems like a sure-fire way to have bugs like "there's no HUD in level five specifically" which is just not a kind of bug that should exist. it's neat that simply placing a certain kind of object in a level will necessarily load all the code that powers it, but at the same time, there seems no obvious reason why each level should need to individually include the pause menu logic — that kind of thing fundamentally belongs in a general "run level" function? like the game logic should depend on the level maps and not the other way around?

all of that said i do write react code every day at work, and that uses much the same model where you build a page and then drop little functional components into it, but even with that i resent that dialog boxes have to live somewhere within the silly pretend dom rather than just being modally inserted above it all, and we actually do have an active bug ticket right now caused by this exact nonsense, so idk


You must log in to comment.

in reply to @polymath's post: