So once I'd rewritten the launchpad library I could actually
make the game. I have never really got on with game engines -
I'm largely a pure programmer, and my experiments with unity in
the past have massively frustrated me. (Unity is a fucking
nightmare. Has anyone else said this? JK I know they have)
So instead I looked for a minimal library that would do the
video-gamey-relevant stuff (directx instance, drawing, etc) and
then just get out of my way.
To that end, I found
Otter2D, now
sadly discontinued. It was written by kyle pulver, who has
worked on a bunch of things you may have heard of including
super meat boy forever. Otter2D is exaclty what I wanted and so
naturally it crashed and burned to the ground like Icarus, a
library to perfect to exist.
But before that happened, I used it for Youbeat. And it
was really, really nice! Drawing stuff to the screen was a
one-line affair, transitions and tweens were simple to add and
there was reasonable variety to them, and the library itself was
flexible enough that I could build a game that primarily
functioned on an external device without it complaining.
This has always traditionally been my problem with game dev.
With otter, I could just write code, like I always do. I'm
pretty good at writing code, and I'm pretty rapid too. My
experience with engines has largely been them slowing me down
and getting me away from the stuff that makes most sense to me.
They're like wading through a bog.
As a result, this is the first time I've ever really
completed a game. This was admittedly helped by me not
really doing any level design or such, and while I did make some
art assets for the menus there was no extensive art necessary,
something I have always got stuck on. I know that's what
programmer art is for but my ambitions for games tend to extend
past prototypes and so it presents something of a psyche
barrier.
I also built a very barebones mapper! Partly so I could make my
own beatmaps to test the game with, but also because I firmly
believe that a good rhythm game always provides a mapper. The
rhythm games community is pretty tight-knit and thrives on the
free exchange of ideas and code, and so you will find that all
the best rhythm games either ship with a mapper or release one
shortly after they come out. It's extra work but it's good for
the health of the game!
I will admit that the mapper does kind of suck, though. It's a
horrible archaic winforms app, but it does the job. I think if I
wanted to dedicate more time to the project this is where I'd
start. Ultimately though I am a firm believer in Zack Freedman's
Finish More Projects
mantra. When it comes to stuff you're doing for yourself, done
is always better than perfect.
Anyway. While it may look a bit ramshackle now to my more senior
eye, this project taught me a lot about designing for weird
hardware, a lot about how games work when you don't have an
engine choking you, and a few nice tidbits about nuget and such.
Worthwhile! And hey, if you have a launchpad, you should check
this and LPHotbars out. I'm really proud of both.