I don't really know how to introduce these types of posts, but welcome to the first devlog of a platformer game that currently doesn't have a name yet! I will probably make more posts like this in the future, but I don't know if there will be any consistency when it comes to timing. Perhaps these posts will be bi-weekly, as in one every two weeks, perhaps there will be more posts, perhaps there will be less posts.
Before I actually start telling everything I've done for this project so far, I would like to explain why I decided to make a devlog here. First of all, they are a way to hopefully reach a handful of people who might be interested in this project. I am not planning on making this a paid project, but it would still be nice if people would actually play and enjoy it. Second, these posts will also be a way for me to look back and reflect on how far I've come, so I can be more encouraged to actually pursue this project.
The level editor
This project, let's call it Martino for now (for reasons I will explain later in this post), my first struggle was making a map for a level. I opened up Visual Studio Code, created a new file, and realised there was no way to edit a level through a text editor in any way that visually would make any sense. When I made that realisation, my focus shifted towards something else, which seemed like a different project at first: the Martino Level Editor. Most games I've seen didn't include a built-in level editor, so I always used to think that they were a real struggle to make and generally just a waste of time, but only three weeks in the level editor has already saved me more time than it cost me to make. On top of that, the level editor has two extra benefits. First, its existence means that I can ask other people (friends are people who are interested, but so far only friends) to try to make a level, which means that I don't necessarily have to do all the level design, and that I can also get feedback about which tiles are desired. Second, if I were to implement the level editor in the finished project, which I might do if it doesn't cause too much complications, this would also drastically increase the replayability of Martino, as players would just be able to make their own levels or load levels others have made. Before giving further explanation about the level editor, I would like to put a screenshot here, so readers will know what I'm talking about.
The screen of the editor can be split into three parts: the toolbar, the level grid, and the buttons. The toolbar can be used by clicking a tile type, and hovering over a tile in the toolbar will display its tooltip, giving a bit of information about the tile. Tiles can be placed on the grid by using the left mouse button, and they can be removed by using the right mouse button. Some tiles (as of now: signs and lasers) might require further configuration, and if this is the case, a popup appears. The camera can be moved by using the arrow keys, and can be zoomed in (although the starting zoom is maximally zoomed in) and out using the scroll wheel. When making a new tile type, I always add it to the level editor before I add it to the platformer itself, so I have more flexibility for testcases.
The platformer
Fun fact: during the first playtest that wasn't done by myself, the player, a friend of mine, complained about the difficulty and the high pace. I had no idea what he was talking about, but when he shared his screen it turned out his game ran twice as fast as mine. As it turned out, browsers on most computers run JavaScript on 60 fps, but for some reason mine runs on 30 fps, even though we both used the same browser, Google Chrome. This also explained why the same friend thought my previous game, Snek, was way too hard (I might resolve that one later). Instead of adjusting everything to take the framerate into account, I solved this issue by making the browser wait a bit before each frame, practically lowering the framerate to 30 fps. I don't know if it's the best solution, but it works.
In the platformer, a tutorial level can be played (although local files can be imported by pressing I. This will be removed in the future because the level editor and the platformer will eventually merge). The camera centers around the player, unless it would be out of the level bounds if it would do so. The player, called Martino (but this name is definitely not based on the character the spritesheet was copied from), can do everything you expect from a platformer game (which literally means running and jumping), and also wall jump (and slide on walls). Along the way, signs can be found, giving useful (or sometimes not that useful) information about the next part of the level. Checkpoints do exactly what checkpoints do in nearly every game featuring checkpoints, but for the less experienced gamers: when the player dies, it teleports to its last saved checkpoint. Bridges, which are the green things, are platforms that can be traversed when coming from below or sideways, but they can support a player standing on top of them. Spikes kill the player upon initial contact, lasers do so too, except lasers aren't constant obstacles, but rather timing-based. Last but not least, today I made a jumppad, which launches the player in a certain direction, depending on the orientation of the jumppad, and slippy walls, which behave the same way as normal walls, except that you can't stick to them to walljump or slide. A playthrough video of the tutorial level might be published when it takes more than 20 seconds to join (as in when it actually showcases an acceptable amount of content), and a demo version of the platformer might be released within a few months (I want to get at least a few levels and a menu working before that happens, and the sprites need to be changed because I don't think I'm allowed to publish a game with a mario sprite). If you have read all of this, I would like to thank you for your attention, as well as apologize for the length of this post. In the future, posts will probably be shorter, because I won't have to explain the core mechanics anymore. Only when big things are implemented (but I have no idea what kind of features would fall into this category) the post might be this long again.
Tl;dr: Three weeks ago, I have started making a platformer game with a level editor. The current player sprite is copied from Super Mario Bros, but that will be changed in the future. There is currently one implemented level, which features a tutorial.
If you have any questions or suggestions, please post them in the comments. I would be delighted to read them.
That concludes my first devlog. Until next time,
BrokOlieSoep
Did you like this post? Tell us
Leave a comment
Log in with your itch.io account to leave a comment.