Skip to content

Instantly share code, notes, and snippets.

@DanBradbury
Created December 4, 2018 07:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DanBradbury/8ee3e299c6fc22ab6c60548f7af42340 to your computer and use it in GitHub Desktop.
Save DanBradbury/8ee3e299c6fc22ab6c60548f7af42340 to your computer and use it in GitHub Desktop.

Ludum Dare 43 Post Mortem

I'll do my best to keep all my disappointment out of this post but I am obviously a little upset that after X hours of work I didn't have a game to deliver. I think there are tons of things to take away from the entire experience even though technical tooling issues became too much.

What Ended Everything

I don't think it's fair to blame all the problems on a single extension but I will say that it was not smart on my part to try and use something I had never used (full cycle; dev -> deliverable .exe / HTML package).. I'm usually not the one to buy into the marketing hype but I was sold on the idea of having my draw functions be reloaded when I saved an object without having to recompile (was a huge save) without truly thinking about the potential consequences 3 days into the competition...

Not testing the tool (GMLive) adequately before jumping into a competition was a mistake.. should have / could have used a day before the Jam to create a small project that I had tested the creation of an .exe + HTML package

In the end I've created a post on the itch.io page for the GMLive project in hopes that my issue might be something larger / obvious that I shouldn'tve done during development. After 3 days in the weeds debugging a bug that only exists when building the exe is rough.. and was enough for me to throw in the towel

Theme Ideation

Had an idea pretty early on that a tower climb card game w/ small deck size + hard choices after each level (choose 1/3 cards to add to your deck but others are given to next level boss). General idea was cards you passed on would get upgraded during harder levels making your decisions to "sacrifice cards to the tower" that much harder and more important during the actual gameplay. Goal pretty early on was to deliver 4/5 levels of increasing difficulty that would build/introduce card mechanics.. playing MTG since I was little this felt like something I wanted to take on and was up for (no matter the challenges of balance, design, etc) Overall was pleased with the theme and happy that I came up with an idea and stuck to it (still believe gameplay/general idea would have been enjoyable)

Wasted Time

Looking back at the time-lapse video + commits throughout the event its pretty clear that I got ahead of myself on the art side of the project. I don't think it was a smart call to start messing with any artistic tweaks before multiple levels were built + tested in .exe/HTML versions (always problems). Of course hindsight is 20-20 but the LD before my mantra was "Don t waste time play testing or trying to be an artist". Unfortunately I think I did both.. too excited about making a card game + distracted by the fact I made something pretty on accident

Custom IDE Experience

Over the last 2 weeks I've been working on a custom IDE / GM Studio companion application to allow me to edit / compile my projects outside of GM. I'd say that 95% of the time I was using my IDE and the other 5% was spent dealing with GM Studio complaining about memory access issues + strangeness with accidentally creating 2 scripts with the same name or having an object deleted but project.gmx file not being updated

I will definitely be making stylistic changes to the IDE (was not built for multiple resolution so using on a laptop was pretty silly) to increase usability + functionality when editing larger projects; had initially shrugged off implementing proper TreeView structure for objects/scripts in "Groups" since the directory structure was "good enough".. turns out it would have been nice to use and abuse groups and the project grew.. IDE did not handle that and was not going to swap to C# mid Jam and implement XML parsing

Engine Building

I felt slow during this phase of the compo. Think I should have focused on 2/3 cards only early on and created the basics for gameplay on multiple levels ASAP. When I went to bed not competing the Initial Battle phase that was written on my whiteboard I think I was in a bad spot. Not a terrible spot but definitely not where I should have been (especially if I was on a team.. cant imagine showing up in the morning with a half working engine that looked like shit).. Should have pushed harder for that base engine / been more focused on limiting the scope of the MVP

Because of the things that were taken on unnecessarily early on I think that the battle logic code is all over the place.. right now I'm afraid to look at the code but am certain the logic for battling morphed and morphed into something that was going to be cleanly handled by 1 object into 2 objects juggling responsibilities inside of a STEP function that was probably calling multiple alarms..

Maybe its not that bad... but I think code review post mortem would be a separate post entirely

Takeaway

LDs are awesome and a great way to test yourself! I'm glad I pushed myself to build something that made me uncomfortable (felt like a much larger ask than the text / platform games I usually throw together for these things). While I didn't turn anything in I'm still sitting on a codebase that I'm hoping will be workable and understandable when I revisit it with a clearer head.

I'll definitely be competing in the next Ludum Dare and will put it on my calendar now so I don't find out about it a few days before..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment