Playing Nuclear Throne throughout the day has reminded me of my neglected attempts at making games. A friend is currently picking up the Rust programming language by way of a roguelike tutorial featuring its own Entity-Component-System (ECS) implementation. I had some trouble with Rust on WSL, so I figured I'd roll my own ECS in Phaser, a decent JS library for game development, to pass the time. I spent some time with Phaser trying to make an ill-fated roguelike, actually: I had come as far as figuring out an algorithm for vision and lighting, but I was quickly frustrated with its minute details and dropped the project altogether. It would do me well to continue on trudging through my mediocrity rather than to stay where I am, eyeing it cynically.
Implementing ECS in Phaser has taken longer than usual since Nuclear Throne is extremely distracting. It first seems like a really simple and rough thing, just a slab of careless bullet-hell arcade violence, but it's tightly designed and its systems are well thought-out. I've always liked the work of Vlambeer, the development team that made the game: about 10 years ago I was playing round after round of another indie hit of theirs, Super Crate Box, in high school.
Another friend of mine mentioned that games seem like a very high-effort, low-return form of entertainment when it comes to their creation. I'm inclined to agree, although the feeling of having finished something more hefty than a blog (and a dead, emoji-based joke social network) must be nice. I'll try to have a solid implementation done by this Wednesday so I can move on to the more interesting task of actually making a game with the setup.