Mach60KAS

LD26

Engine in progress!

ld26-2

I am now close to finishing the backend for sprite rendering in my engine! I have collision as well as the core game logic to write after that, but at least the visual style looks nice. Still, I fear that the ALTTP-styled Boss Rush of a game I was intending may be tough to pull off with the clock ticking away. I shall figure something out though…

Closer!

ld26-3
Collision code between the character and environment is in! Now to deal with sprite collision, sprites, etc…

(Also, I have some nice tiles to boot!)

Treasure! Postmortem and Timelapse

So, I managed to finish off my game just in time for submission hour last night. There’s not much, but it’s really been a great learning experience! If you’re interested, you can find the submission page at http://www.ludumdare.com/compo/ludum-dare-26/?action=preview&uid=5788. I’ve put together this postmortem for anyone interested in the myriad problems that can occur if they’re looking to join in Ludum Dare:

Timelapse

For my third Ludum Dare and my third game, even though I preferred it to my other games I was a little bit disappointed. Why? It’s simple – inexperience with javascript pushed me beyond the 48-hour target and into the Jam.

Tools and Software Used

  • Sublime Text 2 was used for all the Javascript code, HTML and CSS. I even edited the maps exclusively with it!
  • Photoshop CS5 64-Bit was used for the tileset, sprite and image design.
  • Famitracker, an excellent NES tracker was used to create the sound effects.
  • Google Chrome for testing.

What went right?

  • The stylistic choice of an 8-colour palette really helped simplify the graphics work, and using a set of tonally similar colours makes the graphics easier on the eyes.
  • Tileset design was just as easy as I’d remember it!
  • I had written a system in javascript for loading files and calling specific tiles from tilesets in another project a few weeks prior – a lot of the initial code (which I was writing before I had a fully-formed idea) came naturally.
  • Thankfully, working with canvas and javascript for game logic proved to be quite intuitive in the end.
  • Level construction was quite an easy task once I figured out the many quirks of my systems; it took just a few hours to extend out from a single room to an entire complex of rooms!

What went wrong?

  • Having never so much as looked at collision checking code, writing this (very important) system took a significant amount of time.
  • Writing the game logic was unfortunately troublesome at first while I tried to figure out where each step should occur in the update queue.
  • Being a newbie at javascript, it felt a bit like writing the rendering and control systems took far longer than it should have taken. Ideally I should have anticipated this and prepared an engine in advance or researched an already-existing one.
  • Map editing by text was painful. And I do mean that with all sincerity. I had a look at Ogmo engine mid-compo but I ultimately decided that decoding the file format would have been far too much trouble.
  • Sprite design is… not exactly my cup of tea.
  • I could have probably managed my time more efficiently, or planned it out at all.

Thoughts for next time:

  • Have way more experience with your chosen programming language!
  • Plan out your time well, even if bugs do crop up it’s good to keep a rough idea of what you want to have finished by a certain time.
  • Have an engine you want to use picked out in advance! Unless of course there isn’t an engine quite suitable for your idea.
  • Ideally, write something simple enough that you can finish with enough spare time to write sound effects and/or music. They really complete the experience, and it really sucks not having any completed in time.

If you’ve read this through, then thanks a lot for your time! Now you can return to rating all of the wonderful games that LD48 gives rise to. :)

-Mach

Comments

30. Apr 2013 · 14:33 UTC
Wow, GREAT post-mortem! Voting on your submission now

LD30

Warp Ryder Cup Postmortem and Timelapse

4 Ludum Dares down, many more to go! I managed to “finish” my “game” within the 48 hour window this time, and I didn’t stress out anywhere near as much as I have for previous events. I’ll take that as a sign of consistency. As always, I’ve learned so much over the course of this past weekend and I’ve had a great time to boot! Anyhow, shameless plug for my own game here to accompany the obligatory postmortem.

Timelapse

Tools and Software

  • Sublime Text 2 was used for all JavaScript / HTML / JSON / CSS once again. Thankfully, I had enough common sense to not use it for map editing this time around.
  • Adobe Photoshop CS6 was used for all graphics, sprites and tilesets.
  • Tiled was used for map editing and design.
  • PxTone was used to write any audio.
  • Firefox Nightly and Google Chrome for testing.

What Went Right?

  • Experience in programming. Over the course of the past year, I’ve been programming far more regularly – so I’ve noticed myself writing far, far less mistakes and being able to more efficiently debug those I do make. Naturally, this means less time stuck in a rut, moping over the sorry state of my code!
  • Having past code and engine work to refer to. Having past examples makes for a great starting point to start working while you come up with any ideas, and allows you to iterate on the design of any underlying systems. Besides, I always love coming up with better solutions to problems than I could have thought of before!
  • Swapping over to a dedicated level editor. I have no idea how I got by manually editing a CSV list of tiles last year and calling it ‘level design’, but Tiled was a breath of fresh air. The JSON export is probably the single greatest feature I’ve ever used, and the interplay it has with JavaScript is far more intuitive than interpreting XML. Being able to actually draw levels was a godsend as well, I have to say I’m never going back from using Tiled after this.
  • Once again, Canvas and JavaScript were great choices. Apart from differing support between browsers, I love the ability to put up a single version of my game that most people should be able to run. Couple that with JavaScript’s ease of use and you have the perfect game jam toolkit.

What Went Wrong?

  • I kinda lost my drive to work on the game for a while. Unhappy with the state of my game at the time, art and gameplay alike, I lost most of my drive to code for a large portion of Sunday. Had I not done that, I could have implemented a few more features before the deadline (including, you know, scoring). Urgh.
  • Cut features lead to seemingly meaningless design decisions elsewhere. Considering the game features only golf as far as gameplay mechanics are concerned, having to walk around everywhere seems rather stupid. Unfortunately, I didn’t have time to implement any enemies or aliens, or even proper entities so little artifact design choices are littered everywhere.
  • Harsh choice of palette. As much as I enjoy working with limited colour palettes, this time I had an awful lot of trouble coming up with graphics that weren’t trash. Ideally, I should have created far more colourful structures around the map to help create contrast and allow the generally flat blues of the asteroids and walkways to stand out more.
  • Sprite design? Still not my cup of tea.

Stuff I Enjoyed

  • Working with new tools and file formats. Although it took a little while, working with new programs like Tiled was a very interesting experience, and I’m certainly glad to have spent some time working it out! It was fun integrating someone else’s map format into my own engine, I’ll admit.
  • Painting nebulae for backgrounds. Photoshop’s ability to map an image to a given colour table was amazing, and allowed me to go wild with a nice set of brushes on my tablet while still keeping in my 8 colour limit thanks to automatic pattern dithering etc.
  • Writing music, for once. It was kinda meh, but I totally do not regret writing some music for a change. I have enough oddly silent Ludum Dare projects as is.

Thoughts for Next Time

  • Be more positive. I really need to not get too hung up over the current state of my game, knowing full well that additional time and effort will almost always make it better in the end!
  • Pick a colour scheme, but don’t be afraid to deviate. Sometimes, 8 colours can be just a little bit too stifiling.
  • Reel in my ambition. I hate having to cut features as the deadline draws near, but at the same time I still like seeing my original idea transform and evolve as compromises have to be made over the event.
  • Come up with a more ‘fluid’ game idea. I love fast movement and freedom in games, so I want to make something far more unbounded next time.
  • JavaScript forever. Seriously, you can’t make me use your fancy ‘engines’ by this point.
  • Consider time management. Then again, I never really benefit all that much from excessive planning and so on. So this probably wouldn’t be all that good for me.

Again, if you’ve spared the time to read through all this then thank you very much! This is more for myself to crystalise any knowledge I’ve gained for surviving game jams, but it’d be even better if this ends up helping any of you folks out there. Now, get back to rating all those games!

-Felix

Tags: golf, LD30, Mortem, Post, postmortem

Comments

27. Aug 2014 · 10:21 UTC
You shouldn’t be so hard on your artwork an colour choices- I think it’s the hardest thing to get right but you’ve done a great job here!