The imperative game logic stuff would be about the same. If this happens, print this and that. If this key is pressed to these 5 things. You can't abstract those steps away.
However, video, audio, input handling, and loading resources would be a lot simpler.
You'd put some resources in a list and that's all the caching you'd do.
You should be able to do a game like this in less than 10k lines of Dart/TS/JS (2D Canvas, Web Audio, Gamepad API). Without using any external libraries or engines, that is. It also would be a lot easier to write, because all of the low level parts are gone.
However, video, audio, input handling, and loading resources would be a lot simpler.
E.g. take a look at the input manager:
https://github.com/keendreams/keen/blob/master/id_in.c
You also wouldn't have anything like this:
https://github.com/keendreams/keen/blob/master/id_ca.c
You'd put some resources in a list and that's all the caching you'd do.
You should be able to do a game like this in less than 10k lines of Dart/TS/JS (2D Canvas, Web Audio, Gamepad API). Without using any external libraries or engines, that is. It also would be a lot easier to write, because all of the low level parts are gone.