Castlevania is one of my favorite video game franchises. The gothic theme, fun gameplay, hypnotic music, vibrant colors, and yes, even the static jumping mechanic has had a major influence on me since the 80s.
I’ve always wanted to make my own game that felt like Castlevania, but so far all I have to show for it is a series of unfinished prototypes. To break that pattern I thought I’d talk about a recent attempt using Unity.
This prototype didn’t get very far along, but I learned a lot while hacking. For instance: traditional side-scrolling platformer games don’t really use plug 'n play physics engines.
(Of course this is a broad, sweeping generalization. Some of the games in this genre certainly do use generic physics engines. Some games utilize kind of a hybrid of their own and a physics library or another.)
But when making a game like Castlevania, it's doubtful the developers would simply use Box2D and call it a day. It's too loose.
Instead, it seems like most side-scrolling platformer games use their own kind of curated physics. In Unity for example, I’d probably use the built-in collision detection, but not the actual Physics2D.
For features like player jumping, gravity, knock-back ... I'd probably code that myself to tightly control how it feels.
It seems like velocity and collision responses would accomplish most of what a Castlevania game would need, but if I continued I'd likely spend much of my time oiling various areas to improve game feel.
After some fun experiments in Mattlevania, back on the shelf it goes. Perhaps I will dust it off someday.
If nothing else, Mattlevania made for my most popular tweet: