ADVANCE!
Minor setback when I lost some code. GameMaker, why don't you save when I run my game???

Anyway, making some progress. Off to lunch.
Minor setback when I lost some code. GameMaker, why don't you save when I run my game???

Anyway, making some progress. Off to lunch.
How is it that some things are relatively easy to achieve, while other things, seemingly similar, take forever?

I can't believe how long it took me to get this right:

And inter-ship collisions are not even checked at this point -_-.
So, I refactored the code a bit and I can now define levels with different start parameters. Each level can be split into a number of rounds with differing but predefined enemy behavior.

Now I just need to find a way to make it actually fun to play.
Off to bed, let's get some rest.
Refactored the code to allow for multiple bosses/flagships. All flagships must survive!

Finally it looks like I'm making a game with voice-overs.
Story Time: https://soundcloud.com/cerno_b/ld43-voice-sample
Now I totally neglected all other assets, but who needs graphics or music?

Gotta get a move on...
What an odyssey. Five hours ago I would have sworn I wouldn't make it, with a severe cpu-hog in my code that would not let itself be fixed. But now here we are.
Enjoy: https://ldjam.com/events/ludum-dare/43/the-omicron-fleet

It's my first game ever with voice work. Some of the takes have turned out a little wonky, but I'm still proud.
I'll definitely need a few good nights of sleep now.
I'd recommend to write your Post-Mortem while the memory is still fresh. In a week or so it will be gone.
Why write one after all? Well documentation is always good, especially if you want to improve your game-jam skills. Get out your old post-mortems before you start your next game jam, and it may give you some concrete hints about what to improve even before you start. Also rummaging through old post-mortems may give you something to remember years after your game is done.
What should go into a post mortem?
I usually enjoy writing a detailed diary based on the screengrabs I created during development, but you don't have to go into so much detail
Here are a few pointers to get you started:
And while contemplating on how your Ludum Dare went, why not check out "The Omicron Fleet"?
https://ldjam.com/events/ludum-dare/43/the-omicron-fleet

Just a quick reminder for those hosting on Itch.io (strongly recommended anyway) to set their executables to Windows/Linux/whatever download.
People like me, who like to use the Itch client, will not be able to start your game if that flag is not set.
After you fixed your settings, play some Omicron Fleet, why don't you.

https://ldjam.com/events/ludum-dare/43/the-omicron-fleet
This is more of a development diary so please excuse the wall of text.
For a long time now, I wanted to make a narrated game, ideally in the style of Bastion or Little Big Planet where the narrator is in on the fact that we are in a video game. I have also been taking piano lessons for well over a year now and I wanted to make a more orchestral soundtrack using some of the knowledge I gained during that time.
As always I tried to keep distractions to a minimum so after my family agreed to go on a weekend trip, I was down for Ludum Dare and had the house to myself. Unfortunately I had came down with a cold two days prior, so I needed to take care of getting enough rest, especially since doing voice work with a stuffed nose was not going to happen.
I always try to pick one of the finalist themes a day before the jam and think about what kind of game I would like to make, just to get into the problem-solving mood. I chose Each Playthrough Builds on the Last and thought about making a game where the hero is constantly killed by a Bond villain's contraptions that explode in the process and change the environment for the next attempt which then lets the hero overcome the challenge.
I woke up to the theme Sacrifices must be made and had to scrap the Bond villain idea. I'd have loved to act out the bad guy, but maybe another time.
Taking a shower usually helps me getting my creativity into gear and I came up with this idea of having a giant space fleet fighting against a powerful alien creature where you have to constantly sacrifice ships in order to protect your main vessels. The past weeks I had been listening a lot to Warhammer 40k audio books (Horus Heresy), and both the narrative force of the readers as well as the wording and the idea of sacrificing units in war without remorse was a bit of an inspiration here.
Since I planned on making an orchestral OST I fired up some epic music playlists on Youtube, which gave me a huge push in motivation right from the start.
In GameMaker, I loaded my boilerplate project with my usual settings (a few empty rooms, some basic input code). Since I wanted to have a hierarchy of ships, I decided on having one main flagship with a number of command ships, each of which would be swarmed by some fighter ships. The game would be turn-based strategy but I did not have a clear picture about what the actual challenge was supposed to be, hoping that it would fall into place eventually. So I played around with some fighter formations.

Next up was the enemy attacks. I wanted to have a spread shot, a laser that could destroy all ships in its way, a swarm of rockets randomly hitting the sides of the fleet and a large missile attacking in a straight line from the top. I eventually got rid of the missile as it was too similar to the laser. The original idea had an energy bar for each ship but that was also scrapped pretty soon.
I wondered how the laser should pick its next target. I thought about going for the strongest/weakest command ship but eventually decided on picking the closest.

I added the spread shot.
I added the spread shot a second time after Gamemaker deleted some of my code. It's a really weird behavior where you can compile and run your game but it actually does not save your sources. So at one point I clicked "no" when I closed a window and it asked me whether I wanted to save. In hindsight, I was very lucky that I did not lose more. After that I started doing regular check-ins.

Added some limits on motion range to force the player to think ahead when placing their ships

Lunch Break
Added the rocket swarm. I originally wanted the rockets to swoosh across the screen randomly but I started out with a simplified version where they just fly in from the sides. It turned out later that it was really hard to implement my original idea while making sure that the rocket behaviour was predictable enough so that the player would be able to plan their move properly, so in the end I kept it pretty much as it was at this point.

I needed a break. Brain overload combined with the common cold is a bad combo.
Decided to limit the overall distance from the flagship to prevent drifting too far over consecutive rounds. Doing a proper "stay within two circles" routine was much tougher than it seemed initially.

Defined a central function for level design and control. This allowed me to set up all parameters for each level in one single place (number of command ships, number of rounds per level, enemy attack patterns etc.)
End of day 1
I hadn't slept as much as I'd wanted to, but at least my cold didn't get worse. My voice was still ok and I felt confident that I would be able to get my voice overs done. Still in bed, I took a notepad and wrote down level configurations. It turned out to be a great idea to do this offline on a piece of paper as it helps to stay focused on how things should look instead of getting too hung-up on the technical details.
Since the new levels demanded multiple flagships and multiple bosses, I had to revisit and refactor all of my code to accommodate for that fact. This would pose some additional challenges for the rocket swarms, as I wanted each boss to be able to fire rockets at each flagship.
Added some indicators for which ships would be hit by the next attack round. I decided to do a quick fix for the visual part by using image tinting, however this would lead to one of the visual problems in the final game. More on that later.
The indicators proved to become my biggest headache, since I wanted to be absolutely sure that whatever ship was indicated as being hit would actually be hit during the attack phase. The first implementation of checking intersection of the targeting rays and the ships was not precise enough, but worked for the time being.

I implemented the levels I had thought out in the morning. The game was now playable from start to finish in a rough alpha
Next I tried to get my hit indicators for the spread shot more precise. I decided to simulate each shot along each targeting ray and checking for collision with each ship. The original implementation was super-inefficient, especially when there were multiple bosses involved but I pushed that back to the optimization phase. However it left a bad feeling in my gut because I did not have a clear solution in mind.
I played around with bezier curves for the rockets, which promised to look very cool but I had to scrap this idea in the end since I couldn't get the target indicators updated in real-time in a meaningful manner. It's always painful to let go of a really cool idea, but sometimes you have to cut your losses before they drag you down with them.

After skipping the Bezier curves it turned out to be for the best to forego the target indicators on the rockets completely and just give a general indication about where they would roughly hit. There is an important lesson here: If there is a concept that is complicated to implement, try to find a different concept that solves the same problem and is easier to implement. The player won't care how hard it was to implement as long as it works out in the end.
With the game mechanics complete I had to make a plan for assets. If I really wanted to go for recorded vocals, I would have to cut some corners for graphics, but since I'd wanted to do this for so long, I decided to go for it. So I went off the computer to write some narrative.
I really should have set up my recording equipment before the jam, there was a lot I'd forgotten since last I used Reaper, but in the end everything came together nicely. I think I botched some lines which I should have re-recorded a few more times, but I didn't want to push my luck on the remaining time so I rolled with what I had. Much later I realized that I actually misspoke in one of the lines, which turned sector 74-11 into sector 7-11 but I didn't have time to fix it and hoped that nobody would notice. Adding the recorded voices to the game was easy enough and gave me a lot of satisfaction.
Dinner break before the final push. Only 10 hours to go.
Music time! I realized quickly that I really couldn't apply a lot of my piano lessons when composing for orchestra and again, writing music was a struggle for me. I ended up with a somewhat simplistic composition using timpani, cymbals, cellos, trumpets and a bit of choir. Not exactly the quality I had in mind, especially since the lead lines were pretty boring and I didn't really make a lot of progress since previous LDs, but at least I got it done without wasting too much time.
As time was slowly ticking down I made the decision to only do a quick overhaul of my graphics to get the bare necessities improved. I'd stumbled upon the AAP-64 palette that I wanted to try out but quickly realized that the colors were much too vibrant for my shading skills so I abandoned that idea and went with custom shades. In hindsight, I should have spent more time fine-tuning the visuals which in the end for me turned out to be the weak point of the game and definitely a step back from my previous entries.
Now I started to panic. There was still this horrible runtime issue with the shot prediction and huge pile of things that were not finished. No title and ending screens, no background image, no sound effects, levels not balanced and a plethora of other minor points that were not much effort by themselves but which seemed like a mountain of work.
So I decided to tackle the big mountain of open points one by one, deciding to make most of the remaining time.
So I fiddled around with the slowdown issue and found a configuration that somewhat worked, but made the game look kind of crappy since the markers jumped around a lot. At least there was something I could ship even if it wasn't that great.
The game desperately needed some visual effects, but I didn't have enough time actually draw any, so I fell back to the good old trick of drawing explosions as white circles that flash up for a very short time. Instead of creating a convoluted solution with a lot of timers that would render the code unreadable, I had the idea of letting the explosions manage themselves. So the explosion object draws itself, counts down its lifetime and deletes itself when its time runs out. I was even able to cascade explosions by having an explosion object spawn other explosion objects. All I had to do was to create an instance of my object in a single line of code and never worry about it again. This concept is definitely a keeper for future games. Maybe with nicer graphics.
It was past midnight now and I wanted to focus on the important missing aspects. But since the recorded narration mentioned an asteroid field, I definitely had to have one for consistency. Turned out the background motion was very distracting to the game, so I decided to just play it once in the beginning of each level and let the player concentrate on the play field after that.
Time for some sound effects. This went fairly quickly since I only needed a handful, and Chiptone produces nice results really fast.
With 1.5 hours left on the clock there were a few more issues to resolve. I needed a visual indicator that if one flagship dies it's game over, even if the others survive. So I created a cascading explosion that would engulf all other ships. When revisiting a certain section of my code, I saw the instancegetnearest() function I had used there and had an epiphany. Could this be faster than manually checking for collisions in my hit prediction routine? I tried it out and it worked like a charm. Not only was it really fast now, it looked and felt way better than before. What a relief!
I spent the last hour doing some minor tweaks to the level definitions, adding a better title screen and gave the graphics some minor touch-ups.
Time to upload the game and finish this thing.

Although not my prettiest game, it was one of my most ambitious that actually got done on time (looking at you, Snackleworth!). I'd love to revisit audio narration in the future, if it fits the genre, but should spend more time on polish here. Ultimately I am very happy that I can scratch a challenge off my list, maybe next time I can relax a little and not try to be overly ambitious.
Thanks for reading so far. If you want to give The Omicron Fleet a go, please be my guest:
https://ldjam.com/events/ludum-dare/43/the-omicron-fleet
Hi everyone.
Does anyone know what happened to feedback.ld.intricati.com? It's probably old news, but the site is down, which is a real shame as it provided an awesome overview over all the comments people made during a given Ludum Dare.
I know the site was an inofficial scrape of the website, so the author may have stopped maintaining it, but I am quite missing it. It was a valuable resource. :(
On a related note: Is there a way to read all the comments I made, both to games and to Feed posts? I commented on a few games during development and I wanted to give them a spin before time runs out.
I'm at a loss for words, I actually made it into the top 10 and got my first trophy (3rd place in Theme). This is so surreal.

Thanks to everyone who played The Omicron Fleet and thank you all for your encouraging feedback.
Some people suggested that I should keep working on the game and I was a bit torn, not sure if it would be good enough to maybe make a full game out of it. But with a final rank like this, I am seriously considering it. I'll post an update in a few days, so if you're interested to keep in touch, let me know and I'll keep you in the loop.
After digesting the overwhelming success of The Omicron Fleet I decided to go further with it and develop it into a full indie game with a more involved, narrated story, professional graphics and extended gameplay.
I will be posting weekly updates here: https://the-omicron-directive.manakeep.com.
If you want to be kept in the loop, follow me on ldjam.com or on twitter.

Thanks again for playing and rating my game!
Making some progress with my LD follow-up game The Omicron Directive.
As a big surprise, @knightsunder contacted me about possible collaboration. He made an awesome mockup for potential graphics of the game. Looking great:
https://www.youtube.com/watch?v=MwyyVi2n6Pk
We made some progress behind the scenes, but there's also some new stuff to see:
https://www.youtube.com/watch?v=HwpZJ4i3OyE
Read the whole update here: https://the-omicron-directive.manakeep.com/news/articles/core-ideas-are-taking-shape
After taking a longer break from game making I wanted to return to LD to celebrate the anniversary.
I decided to leave Game Maker behind and finally try my hand at Godot.
Looking forward to the experience!
I'll be off to sleep and hopefully wake to a good choice of theme.
Not excited about most of the selection, but when has that ever been different? What weird challenge would it be if we got the perfect theme, right?
This time I want to challenge myself to do something with a good mood. I want to know if I have made any progress with my music skills since my last participation. I'll try to compose a somewhat decent orchestral score. It will be tough to hit the mood though since my drawing skills are still pretty meager.
Tools of the trade: * Godot (my first Godot game, I am pretty pumped!) * Aseprite for graphics * likely Reaper and Miroslav Philharmonik for Music * likely Chiptone for SFX
After realizing that I can't really get a grasp on the theme and seeing that I will be working with a new framework (Godot) for the first time, I decided to not overscope. So I'll enter with my probably least innovative idea of all time:
~~Steal~~ Make an homage to one of my favorite game concepts of all time: Warning Forever.
![220px-WFBoss[1].png](http:///raw/9d6/z/48f71.png)
It's basically an evolving timed boss rush shmup where the next boss's shape is informed by the way you destroy the previous one and you lose time everytime you die.
The concept is not terribly complex and the graphics can be fairly simplistic, but it's incredibly addictive and a lot of fun. This allows me to go easy on the actual design work and focus on making things go boom in a nice way, which will probably take a lot of pressure off.
So I'm aiming for flair and fun instead of innovation this time.
Wish me luck.
Whew, that took longer than anticipated.
Still some problems with overlaps, but making some progress at least:

Will probably take some iterations until it is recognizable as a spaceship :D
Dammit, I underestimated the learning gap of switching to a new dev platform.
I absolutely love Godot so far and am not looking back to Game Maker in the slightest, but I realize that I am woefully unprepared and keep having to look stuff up.
So, about 5 hours until bedtime, and I kinda doubt that I can complete the full prototype until then.
At least I have the damage system nailed down, where you can either choose to pick off the branches bit by bit or take the more dangerous but slightly faster route of taking off a whole arm in one go...

I will probably have to cut out the evolving bosses where each new boss is the old boss but a bit larger, and instead go for completely random bosses that are controlled by the number of guns they have.
Alright, time for dinner and then I'll push the final stretch for today