SamSuka
Brellom
Brellom

patreon


[Blog] Vampire Killer Engine - Current Features Preview

I've spent most of my creative time working on a Castlevania Engine in Gamemaker, with plans to create an Elayne Beaumont game. The intended scope of the project is currently small; just a single level for now.

Thank you for your patience, since it does mean I'm pretty quiet some times as a result. It seems like I'm sticking with game development, but I don't have a lot of experience sharing this type of work as content. I don't keep up with other game devs, so I don't know the best way to provide updates and maintain engagement when working on this stuff. 

I talked a bit about it in the recent Concept Art post (and showed some Elayne assets), but I didn't detail the currently implemented features. 

That said, I've been doing this for a few weeks now, so it's worth showing you the current state of the build. It might be worthwhile to set up a Trello board in the future though...


Basic Movement & Physics

Basic movement is one of the most important parts in video games, since it's what you will always interact with when playing. It is the most refined part of the build, since it needs to feel fun & comfortable, but I may want to increase the gravity when falling though.

The numbers don't match up exactly to Castlevania, but it's pretty close. I have the speed of walking set to 1.3 and removed the brief pause when landing after a fall from a tall height, so hopefully movement feels quicker and more fluid as a result. 

There's a few collision tricks happening under the hood too.



Jumping

Castlevania has two types of jumps.  Upward & Forward -- with absolutely no control once airborne. I also had to create a custom collision system in order to get one of my favourite quirks about Castlevania - overlapping blocks above the player's head instead of colliding and bouncing off. It's simple, but it makes small walkways feel larger because you can jump.

The force of gravity is lighter when jumping, so the player falls down at a slower rate than they would had they simply walked off a platform. It's really subtle though, so that's why I might want to increase the rate when simply falling.



Stairs

You already saw the stairs in action, but it's a surprisingly complex system! I definitely need to improve the logic in the future, because I'd like it to be more efficient.

Right now, the system uses two objects. The stairs object & a helper object. The player will detect the stairs, and then move towards & climb the helper object. It works, but I'd like it if I could do this with just one object instead... The stairs won't work unless I place both in the same spot, so there's always a chance of being forgetful. 

I think it would be cool to add an ability to jump ONTO stairs, but I would need to introduce an additional object or way of checking for collisions between the two "entry ways."

I managed to a fix an old bug that resulted in the player continuing to climb passed the top step and into the sky if the player was holding DOWN while also moving up. Implementing an input override system fixed that up.



Whips

There are multiple whip states, each associated with a different movement state, such as standing, crouching, jumping, and climbing a staircase. The hitbox needs to be adjusted a bit when attacking on a staircase, but it all works. Elayne's whip will probably be longer, so I may need to redo the hitbox, but that'll be some time in the future.



Hurt State

The most recent addition is a basic enemy. Although there is no health & damage system in place yet, you can already see the basics taking shape. There's even a player hurt state and a brief period of invincibility lasting 2 seconds.

The knock-back effect may have unforeseen repercussions on the collision system and will require more testing to make sure the player doesn't get stuck inside any solid blocks.



Other

There's a camera system in place too, but it's temporary. I can't use Gamemaker's built-in camera since there is sub-pixel movement (moving less than a pixel), like on stairs, which will result in the player sprite vibrating (as the camera doesn't have sub-pixel movement).

This current camera works for now, but I'll have to see how I can implement it in the larger game and with different types of rooms - like rooms that you scale vertically, for instance.


Anyway, don't forget to eat & sleep.

Comments

It's coming together nicely!

MementoFunesMori

Nailing the whip is vital, you got to be happy with your combat.

Shawn Heatherly


More Creators