Small, cross-platform game demo + source code

Hey everyone,

I have released a small, free platformer game demo for mobile and desktop for educational purposes.
Android: https://play.google.com/store/apps/details?id=com.lajos.monolith.platformer
iPhone: Join the MonolithPlatformer beta - TestFlight - Apple (demos are not allowed on AppStore, therefore the TestFlight URL)
Windows / Mac: Platformer Demo by Lajbert (older version with the old placeholder UI, will be updated soon)

The game is like 5 minutes long, it’s made using my custom engine based on MonoGame. Although the engine is very immature and still needs a lot of work (therefore I would not recommend anyone to use it for their own games), it could be a good place for beginners to see how some features can be implemented and what is needed for a game to be ready for Play Store / App Store release.

Source code (both the engine and the game):

My related blog:

5 Likes

Good work.

1 Like

Thanks!

Dude, this is awesome! The art style and character design are incredibly charming, and the animation is super fluid. Chocolate ice cream cone enemies is hilarious. The music is nice, too. Collisions work well. My only complaint was that I felt the keyboard controls could be a bit jank, and I particularly struggled with wall-jumping until I realized it was best done by simultaneously pressing up and left/right, quickly alternating. I might submit a PR sometime adding gamepad controls sometime!

I would seriously buy this game if it were made into a full game.

1 Like

Thanks man! I can’t take credit for the art style, I bought the assets from itch.io (I also stated this on my Github page to avoid misunderstanding), except for the music of level 2 :smiley:
I’ve heard some complaints about the wall jump too, I will rework the code a bit to make it a bit more usable and fluid, thank you for the feedback.
This demo is also an experiment/showcase for my engine, so I will probably keep polishing it and add new features later. GamePad support is also planned, I had a primitive solution for it, but I removed it and I will rework the whole input handing bit later. (Right now I’m working on an actual game for mobile, therefore gamepad was secondary)

Cool. I always prefer using controller over keyboard when possible, so that could have something to do with why I struggled a bit with the controls.

I’ve always wanted to make a platformer myself, and I’ve started a few projects here and there but never got very far with them. Your engine seems pretty solid, so I might use it as the basis for a platforming project of my own sometime in the future. At the very least, I’d probably take a look inside of the source code to see how you do things, for inspiration. I do tend to suffer from Not Invented Here Syndrome, unfortunately…

Although after my current project in MonoGame I was thinking about using Godot for my next project, but that one wasn’t going to be a platformer.

I played through the demo pretty quickly, so I don’t remember if it had any moving platforms. I always struggled to get moving platforms working right whenever I attempted them.

I should note that even beyond the art style, the demo has an impressive level of polish. Feels like a complete game rather than a tech demo.

1 Like

You are very welcome to use any part of the engine (or as a whole) as you wish, the only thing is that there are no complete, released games with it and it’s still very immature, therefore a lot of things might be inconvenient or illogical, but I’m trying to improve it as my time allows me to do.

Moving platforms are a pain, especially in that most cases, you don’t have a fully realistic physics engine written in your custom engine, but I was able to hack it together. Not the most beautiful solution, but it works perfectly, generalized, and I will refactor it later to improve the code quality.
I also wrote my bachelor’s thesis from this, you can read it here if you’re interested:

It’s important to note that the engine has evolved and changed since this work has been created, not everything will match the code, but the basics stayed the same.

Thank you so much! I’m glad you liked it, there are some game ideas in my head and I’m already working on one, I’ll try to live up to the level of polish I set as a goal for myself.
I hope you can make use of the code, or get some inspiration from it!

1 Like