CONTRAST
https://ldjam.com/events/ludum-dare/47/contrast

https://ldjam.com/events/ludum-dare/47/contrast

Hi, y'all! How you're doing? I hope it's fine! I'm excited for the LD47 results next week!
Today I'd like to share something I've been working on for the past years and I hope that I'll be able to use it (and you as well if you want to) for the next Ludum Dare!
And yes, I'm talking about a 3D game engine with Python scripting! I'd love to see your feedbacks on it so I made a tutorial on how to use it:
https://youtu.be/rdTrZts3_Nk
It's not out yet, but a pre-alpha version of the Uniday Engine will be released in a couple of days exclusively for those who joined the discord server:
https://bit.ly/discord-uniday-en
So if you liked it, consider joining the server to keep updated and be one of the firsts to use it! :smile:
Check out our first platformer, Full-Ascend! Available as a web game on itch or as a downloadable windows exe!

Check it out here: https://ldjam.com/events/ludum-dare/47/full-ascend
For LD47 Compo I made a little game. I'm still getting the hang of balancing Ludum Dare with academics. I really would like to have my game ranked but I'm short by 5 ratings.

My game is about playing as a healer in a party that needs to take down a group of goblins. The game lasts only a few minutes and has a couple different difficulty levels. If I could get any advice or suggestions for getting the last few ratings, it would b greatly appreciated! THANKS!

Hi all! We would like to get a few more ratings on our game. ^^
It's a simple game with a simple aesthetic and chill music, where you have to solve puzzles to help the stroppy townsfolk with their really important petitions!
Available to play in browser so you've got no excuse really. :smiley:
https://ldjam.com/events/ludum-dare/47/driven-round-the-loop

Hey guys! Our goose is very lonely.. Please support him!
Goosy Goose
Got to 20, thank you for rating! :-)
Thanks in advance!
Thnk you for rating and feedback.

We fixed some bugs in our game, check out a new version: Play Here
Thanks for the feedbacks guys, we appreciate so much :)
As an exercise, we made Soup Loop available on the Google Play Store!
It seems it's only available for Android 10 and better for now, I'll have to fix that.

We are only 5 reviews short of 20, please play and rate it, it's not that good, but we worked very hard on it! Thank you
https://ldjam.com/events/ludum-dare/47/delayed-delivery

Made a quick video about the weekend, if you have some time, check it out and feel free to try Rampage Derby! I've already reached 20 ratings, but the more, the better. :)
https://www.youtube.com/watch?v=Rkj3HNWbXhc
Destroy your opponents, and be the last one alive in Rampage Derby's arena! You have to manage your health, nitro, and coins with causing damage to others or the environment and with buying pickups!
My main focus was a local multiplayer derby game. So the bots need a lot more work, and I suggest you finding someone to play it with. There can be 1-2 players and 0-4 bots, and also... best played with a controller!
*Try it here: * https://ldjam.com/events/ludum-dare/47/rampage-derby
Hello I know this seems really repetitive, but it's 9pm and I am sitting sad and half conscious in my bed, so yeah. Watch it please. I don't know
https://youtu.be/224c3zpS1Zg
Please play our game, we're close to have an average. https://ldjam.com/events/ludum-dare/47/delayed-delivery

Chicxulub was our 6th Ludum Dare at Literal Games. If you haven't played it, it's a "bullet hell" "dodge 'em up" with space dinosaurs!
We had a great time this LD, even with a few changes from normal! After every LD I try to write a post mortem for a couple of reasons: I love reading other people's, so this is my way of giving back; and it's a really nice experience to be able to go back and reflect on previous LDs after the fact.

In general, I always think LD is a time to try new ideas and push yourself. In the past, we’ve done this by trying to take the game design in innovative ways, rather than just sticking to established genres. However, for a while, I’ve wanted to see if I could put my game making skills to the test and make something that really feels like a tight, well made little game. How did we fare? Well, I think that’s up to you to decide.
Unfortunately, our usual artist was busy for this LD (the first time ever!). Luckily, my friends are multi-talented, and a team member who usually does a bit of everything stepped up to do all the art. I'm always a fan of LD for pushing us out of our comfort zones and making us do things we might not otherwise, and I think this is a great example of this.

We've previously used Flash (RIP) and Unity as our game engines. This time, we decided to go with pico8. pico8 is "a fantasy console for making, sharing and playing tiny games", and it's a hell of a lot of fun. I've tinkered with it a few times and made a few prototypes, and always wanted to do more with it. Being also aware that art would be a challenge for us, we thought that pico8's severe limitations and restrictions on sprites/art (16 colours, 8x8 sprites, 128x128 pixels in total for art) would help us focus.

It turns out we were right! pico8 really helped us capture a simple art style we were happy with, and the restrictions also pushed us towards keeping things simple, which I always think helps in a game jam. I'll definitely be revisiting pico8 in future jams, and encourage you to take a look for yourself.
Being located in the UK means the theme is usually announced at 2/3am. In the past we've stayed up to do an hour of brainstorming before bed. This time though, the theme was released at 11pm - a much more socially acceptable time! This meant brainstorming was longer and a lot less sleepy.

We were a little less than enthused with the theme, but jumped into brainstorming. We tend to throw everything at a page and see what sticks. It's fairly usual for us to not have a concrete idea before bed, but this time something crystallised fairly quickly! One of our first ideas was "orbits", and after a few minutes, someone suggested the idea of you being an asteroid that needs to crash into a planet. But what would be stopping you? The answer seemed obvious: dinosaurs in spaceships. Our artist even drew a mockup of the first dinosaur that evening, and we were all on board.

On Saturday morning, we got to work on the basics. Given we had a pretty solid idea, everyone knew what they were doing - our artist started on the asteroid and some dinosaurs, our musician started getting to grips with pico8's music capabilities, and I got started on the core gameplay. pico8 made this a breeze, and within a couple of hours I had an asteroid and a shooting dinosaur. Our artist very quickly found a style and was pumping out content.

We spent some of Saturday thinking and talking about what would make the game good. Upon reflection, I think there were four main areas that we focused on. They can be boiled down like so: - Interesting enemy waves and formations - Enemy variation - Game progression/difficulty - Polish
I don't think any of us in the team had really played many "traditional" bullet hells/shoot 'em ups. However, from a few youtube videos and vague recollections, I was fairly sure that the way enemies moved and how they arranged themselves on screen was an important part of the gameplay. Because of this, I knew I wanted a flexible, easy way to define the enemy movement/waves.
Here again, I think the limitations of pico8 restricted us to the basics, which led to a fairly nice solution. There are only four ways to store data in pico8:
I briefly considered using sprites or the map to somehow "draw" the movement patterns, but any way I thought to do that seemed restrictive in some way. Sfx/music seemed dumb - so code/text was the only real option! Whilst doing some morning chores, I came up with a way to represent movement patterns as strings, which would be easy to create and edit as the jam went on.
Below is an example of one of the movement patterns, as well as how it looks in our debug mode. See if you can work out what it means!

The waves/orbits of the game were defined in similar ways - each wave has a list of the enemies that should spawn, when they should spawn, and what movement pattern they should do.

One thing that I knew was important was the ability to repeatedly tinker and play the waves as I was creating them. From experience, both in Ludum Dare and in my work as a software engineer, I know that making it as easy and seamless as possible to quickly iterate is imperative for a good experience when creating content. To make this possible, I spent some time adding a feature to start the game at any wave, and at any point throughout the wave. This meant I didn't have to sit through 40-50 seconds of each wave repeatedly just to change a couple of bits at the end of the wave. I think this is one of the things I got really right in this LD - make it easy to view, edit and play with your content during development!
In the game currently, there are 4 distinct enemy classes, which each have a regular and large variation. The classes have different attack styles, with the larger versions having a more powerful style of attack.
Caption: Never speak to me or my son ever again
Even though the game is short (less than 10 minutes!), I think the enemy variety really helps! Meeting new enemy types and learning their mechanics makes sure the game doesn't get stale. On the flip side though, introducing so many different enemies and mechanics could get confusing and frustrating. One part of solving this was ensuring that enemies are visibly different, and follow established patterns - mainly that the larger dinosaur of the same colour was a more difficult version of the smaller dino.
The cherry on top of the enemy variation, is, of course, the bosses. We have two bosses in the game, which are supposed to be real gauntlets. The bosses themselves don't have any unique abilities, but are deployed in a more difficult way. They were a lot of work, but I think they add a lot - not just in terms of pacing (which I'll get to) - but also in terms of increasing enemy variation and increasing the amount of cool content.

I think game balance is the hardest thing to get right in Ludum Dare. You can spend heaps of time on great features, interesting levels, and polish - but if the game isn’t balanced right, it can very quickly lead to frustration or boredom. There are types of games where it’s less important, which we’ve tended towards in a couple of our previous entries. This time, I knew we needed to face it head on. I think we made some interesting decisions, but in the end I’m actually very happy with the balance and how the game plays. I think there are 3 main reasons why.
Enemy introductionsI’ll be honest - a lot of my game design thoughts and opinions stem from Mark Brown’s incredible channel, Game Maker’s Toolkit. One particular video (youtu.be/dBmIkEvEBtA) touches on how Mario introduces new concepts. In essence, there are four steps: 1) introduce the concept in a safe space, 2) establish the concept further, 3) twist the mechanic slightly, 4) show off/conclusion. I don’t think we followed these four steps explicitly, but each of the first four waves follows them loosely to introduce a new dinosaur type.
Wave 3 (see gif below), deals with the red dinosaurs that shoot homing bullets. First, only two dinosaurs fly onto screen, giving you a chance to understand their attacks and focus on how the homing bullets move. To establish the concept further, some of the previous types of dinosaurs are brought in to ramp up the challenge a bit. To twist the mechanic, the large variant of the red dinosaur appears - who shoots four homing shots at once! I think following this formula really helped the levels flow and helped the player not get overwhelmed or stressed by the different enemies.

One of the things we discussed as a team a lot was how the game should be balanced around death/game overs. Classically (as far as I know), bullet hells/shoot 'em ups are usually designed around mastering the levels and enemy/bullet patterns, and therefore can require a lot of repetition and failure. This was not the design I was looking for in a LD game. I wanted to provide an enjoyable experience that everyone could complete - whilst still providing a challenging experience.
We went through a number of iterations and ideas. To start, the asteroid's size was a percentage, where zero would have meant death: however, it was hard to balance and with a minimum of zero and a maximum of a hundred, it was hard to make getting hit feel impactful.
We considered having two "scores" - one for size, which would increase when you collected debris; and one for integrity, which would decrease when you got hit and cause a game over at zero. It would have given us a lot of options for balancing, but in the end, we thought it was too confusing for a 10 minute experience.
In the end, we settled on a simple idea: a single "score" (the mass of the asteroid), which increases when you pick up debris and decreases when you get hit. The important part is that it starts at 10,000kg - and with each bullet only removing 55kg, there was no chance of reaching zero and thus a "game over" state. It is a simple score based system, disguised with a bit of set dressing.
The one flaw with this system was that it was hard to know what a "good" score was, or what you should be aiming for. To help counter that, we added a "rating" at the end of the game - and for a bit of fun, it's displayed as a percentage of how many of the dinosaurs you wiped out. I think this is one of the best parts of the game - lots of reviewers have left their score in the comments, along with some thoughts on how they did or how it made them feel.

Some early playtesters of the game and our first few reviews didn't seem quite clear on the scoring until the end of the game - we had a couple of comments that the game seemed a bit too easy if you could never die. I think some people may have an innate belief that shoot 'em ups are difficult and should have unforgiving game overs. Being more upfront that this was an arcadey, high score type game could have helped that - and indeed, adding a line to the description of the game to that effect seems to have primed people not to expect any failure and that they were playing for score.
Difficulty curveI remember hearing once that "if your game is the right difficulty for you, it's much too hard for a new player". I took this to heart - the first level I designed (which I was designing to be a nice intro to the game) ended up being reused as Orbit 6! The gif below shows the level in an early build of the game.

I had to constantly remind myself that the levels should be easier than I thought. In the end, I think the difficulty curve is fairly smooth and well done; we've had a fair few comments to that effect. The early levels especially feel like a nice feed into the first boss.

If I had one gripe, it would be Orbits 6 + 7. They lack the focus of the earlier levels, as they're not introducing a new enemy, and because of this I think they end up feeling a bit messy.
I didn't spend as much time as I would have liked on the bosses. Their shooting patterns are hard coded, and were produced fairly quickly. Given that, I'm surprised how well they turned out. The difficulty definitely steps up, but the attack patterns are simple and therefore predictable enough to feel like you could dodge them. The second boss is almost identical to the first, except he has homing shots instead of a laser. I'm amazed how much a simple change like that increased the difficulty, and really made the final boss seem like a fitting final challenge.

Most of the core gameplay was complete by the middle of the afternoon on Saturday. That left a lot of time for both features and polish. Polish can sometimes feel like a waste of time during LD, but even a little bit can go a long way. A title screen, for instance, can make your game feel so much more like a real game - and they are so quick to add. Screen shake and particles are the classic “juicy” additions - don’t be afraid to add them!
I’ve already mentioned the end screen, but the whole ending of the game could be considered extraneous. A short cutscene of the asteroid actually crashing into the earth was fairly quick to make, but really sells the consequences of the game.

SFX is another great example of polish. Adding some simple sound effects whenever an action occurs can make the game world feel so much more real. They can also be functional - My favourite SFX in Chicxulub is the laser sound - as it powers up, it plays a musical trill, which turns into a constant note when the laser is on. The rhythm helps teach players how long the powerup of the laser is, and when they need to be avoiding it by.
One thing to be aware of is not spending too much time on polish. If something isn’t working out - simplify. Don’t waste your time. As part of the backdrop in the game, you can see the earth below you. It’s drawn as a very simple circle. I spent about an hour trying to get a more realistic earth, which would rotate as you orbited around it - but when I couldn’t get it looking any good, I dropped it. Would the game have been better with it? Probably. Does it suffer without it? Not at all - which is why I was happy to stop spending time on it.

I'm really happy with how Chicxulub turned out. I think the whole team worked well together and produced some great output. The game itself plays very smoothly, and I think it's a great little experience. The only two things I'm really unhappy about are the length (it could do with being a little bit longer) and how innovative the game is (I always like trying to push the boat out a bit more).
I think that’s just about everything I wanted to mention. This has turned into one of the longest post mortems I’ve written - thank you if you read any of it! I really enjoyed thinking more about good game design and game feel this LD, and hopefully I’ll be able to take some of it into the next LD and return to making something a bit more inventive!
If you’re interested in playing the game, you can find it here: https://ldjam.com/events/ludum-dare/47/chicxulub
I also created a timelapse of my part of the development. Have a watch if you’re interested!
https://www.youtube.com/watch?v=jTnMP0kV79U
This is my third jam, I would appreciate if you would rate my game, it would mean a lot to me to finish my second solo jam entry! Thank you for your interest!