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.

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