Space Billiards post mortem

I always learned most from various Post Mortems I read; therefore, I try to create those as well, if possible. I don't always manage, but I try. I hope you will find some helpful thoughts.

Space Billiards in a nutshell:

It was a bit more tedious this time, because I stressed out phaser (the game engine) more than anticipated. I stumpled over various bugs (scaling, momentum transfer in arcade physics), but could eventually work around these issues. The game itself is fun, but a bit too random for my personal taste. And it could have been polished a lot more. On the other hand, I'm quite proud of the assets I created myself, though being not too much of an artist.

timelapse-final.gif

What went well?

  • All in all, phaser is still my favourite game engine for HTML5.
  • Creating game assets with gimp is doable, given google and some short-time workshops.
  • I still love sfxr.
  • I changed my development environment again, like in LD34, but this time it worked. atom is pretty decent as an editor.
  • I could reuse my server code for my former LD entries for saving highscores.

What was improvable?

  • Creating a game with very unusual game mechanics is always a risk - I ended up creating almost a new physics engine for phaser, and those parts I still use don't behave as anticipated...
  • JavaScript doesn't bail out enough when accessing misstyped properties - this happens oh so often. Try typescript next time.
  • Searching for free(!) reasonable art can be time consuming. It's often faster and better to create these assets oneself. And it's more rewarding!
  • I wanted to create another massively singleplayer game, by saving the moves of other players. However, the game objective and controls changed a lot during development, and it didn't work out at all at the end.
  • Debugging was sometime tedious, because some variables suddenly contained NaN. It turned out, I (again) misstyped a property... :fist:

What were the most difficult parts?

  • I needed phaser's arcade physics, because I anticipated a lot(!) of objects.
  • This physics type has circular bounding boxes (perfect for planets), but they are pretty new, and contain bugs (scaling vs. offsets, momentum transfer doesn't really work with different masses, ...).
  • n-body calculations are not that difficult, but I wanted to look ahead in the future, which means massive calculations are necessary, which have to be repeated for every frame.
  • It didn't feel like a game, for the whole first one and a half days; that can be quite frustrating. Afterwards it came along quite nicely.

Hope you enjoyed the read; there is also a timelapse video for those who like to read less and get flashed more :grin:

https://youtu.be/20Xh3Us0dWY

Thanks for all your games, and – ah – in case you didn’t do that yet – please * play & vote