pingpoli.de



Ludum Dare 51 Post Mortem - Every 10 Seconds

Creating a complete game in less than 48 hours

27.10.2022 - 23:34
A few weeks ago, I participated in the 51st Ludum Dare event. Ludum Dare is the most popular game jam where you have 48 hours to develop a game completely from scratch. Before the event, I wasn't feeling well and I was contemplating whether I wanted to participate at all. I knew that I wouldn't be able to handle my usual Ludum Dare hours and I didn't know whether I would be able to create a playable game with a lot less time. I decided to at least give it a try and see how far I would get. I also didn't set any expectations for myself and not finishing the game was an acceptable outcome. Luckily, I did manage to create a decent game. Here is a short post-mortem about its development process.

Theme

The theme for this Ludum Dare was Every 10 Seconds. Unlike some of the previous events where I was struggling with the theme, I had a lot of ideas for this one. I decided to create a Vampire Survivors-inspired wave-based survival game with random upgrades. The basic gameplay pattern of such a game is quite easy to create and I felt confident that I would be able to do it. And depending on how I felt and how much time I had left, it would be easy to add more features later on.

Programming

Like most recent Ludum Dares, I went with JavaScript over C++ because web games are a lot more convenient for other people to play and judge. In fact, this was the first event where I only played and rated web games myself because I didn't want to bother with any downloads.

One of the reasons why I went with my game idea was that the gameplay didn't require any complicated mechanics. The controls and movement of the player and enemies were quite easy to implement, probably the most difficult thing about it was getting the trigonometric functions correct for diagonal movement.

For the attack animation, I took a bit of a shortcut. I created an animation where the sword rotates around the player, but I didn't want to bother with actual hitbox calculations between the rotated hotbox of the sword and the enemies. Instead, I just apply the sword damage instantly to all enemies in range. This means that some enemies take damage a few milliseconds before the sword visibly reaches them, but it isn't too distracting in my opinion - even though some players noticed it.

Early development progress with only colored squares:


Graphics

One of the most common art styles in game jam games is pixel art. This is mostly because it can be created faster than higher-resolution assets. I also went with pixel art for my game. Even though I spent even less time than usual on the art, I think it turned out ok and looks good enough. However, the player character doesn't have any animations. I'm not good or at least not fast when it comes to creating 2D sprite animations, so I didn't create one during the event, but it would have been a great visual improvement.

The final look of the game:


Music and Sound Effects

I didn't do anything special for the background music and sound effects. Like last time, I used the Chrome Music Lab Song Maker to create the music. I still would like to learn how to compose good music at some point, but for now, a very simple short song will have to do.

Most of the sound effects I made by making weird moaning and swishing sounds into my microphone and a few were generated with jfxr too.

Balancing

Unlike most of my recent Ludum Dare games, this one wasn't a big balancing nightmare. That's not to say the game is balanced, it's far from it, but the random nature of the genre introduces a much larger variance for the numbers. The enemies spawn at random locations and the upgrades and their types are random as well. This means that you can get lucky and get good upgrades early on, which makes the game a lot easier. On the other hand, you can also get unlucky and don't get any upgrades early on, which means you are going to struggle and possibly even lose quite quickly. This isn't great when somebody judges the game and loses because of bad RNG, but the randomization is a core mechanic of rogue-like games, so I don't think there is anything I could have done about it.

Improvements

Given the limited time I spent on this game, there are a lot of things that could be improved. A lot of people commented that there was no clear feedback whether an enemy was hit or not. The game had a sound effect when an enemy was hit, but it wasn't loud enough compared to the music. A far better solution would have been health bars or a short red flashing animation. I even thought about adding health bars during the event, but decided against it because I wanted to keep the minimalistic style and Vampire Survivors doesn't have health bars either. After reading the feedback, I created a post-jam version of the game with health bars and I have to agree that it's a lot better with them.

Another issue that I fixed in the post-jam version was some of the hitboxes. The enemies are taller than wide. However, when I added the art for them I kept the square dimensions of the colored square and left some transparent pixels on either side. But I never adjusted the hitboxes to a more rectangular shape which meant that you could get hit even though it visually looked like you didn't, which obviously isn't a great experience.

Besides these two issues, there are also a few more improvements I would have liked to add like different enemy types, bosses, and more item variety. I could have done more if I had my normal amount of time for a Ludum Dare event, but on the other hand, if you submit a game and you don't have more features you would like to add, you probably did something wrong. A game is never truly done and there is always something that could be improved, which is especially true for one that was created in 48 hours.

Ratings

Unfortunately, my game was one of my worst-rated Ludum Dare games. I guess I could be expected because I only spent about half the time I normally would have. The missing health bars were the biggest problem and I'm sure the post-jam version of my game would have placed a lot better.

Ratings:




Overall, I am glad that I participated in the event. Even though I wasn't feeling great and I knew that I wouldn't be able to create an amazing game, just creating something is always worth it.

Play

Jam version: https://pingpoli.de/ld51/
Post-jam version: https://pingpoli.de/ld51_2/

Ludum Dare game page: https://ldjam.com/events/ludum-dare/51/haunted-hollows




by Christian - 27.10.2022 - 23:34


Comments

Social Media:  © pingpoli.de 2020 All rights reservedCookiesImpressum generated in 14 ms