My introduction to programming was game development. I started with ActionScript 2 (R.I.P. Macromedia Flash), then moved on to C++ with SFML (to this day, it’s my go-to C++ multimedia framework). I also dabbled a bit with LÖVE, a Lua game framework.
I’m currently staying in Vienna, working remotely from the Metalab pretty much every day. Many people were working on side projects, which made me want to work on a new small side project. I wanted to see how well I could animate a sprite set using LÖVE. I found this sprite set, which seemed nice, so I decided to animate it over the weekend.
Using the AABB hit test algorithm, the character movement works such that even if it has “infinite” velocity, it won’t be able to travel through walls. Depending on the horizontal and vertical velocity of the character, he will run, roll, slide, crawl, or wall-jump.
You can find the source code here. Since it was a weekend project, the code is pretty messy with lots of fun magic numbers. To run it, install LÖVE and run
love . in the project directory. The controls are simply the arrow keys. Press down to duck or roll (depending on the player momentum).
Below is a video of the basic mechanices.