{"author_link":"\/users\/mshopf","author_name":"mshopf","author_uid":"mshopf","comments":[],"epoch":1534126996,"event":"LD42","format":"md","ldjam_node_id":112907,"likes":1,"metadata":{"p_key":"119046","p_author":"mshopf","p_authorkey":"1051901","p_urlkey":"335070","p_title":"Space Billiards post mortem","p_cat":"LDJam ","p_event":"LD42","p_time":"1534126996","p_likes":"1","p_comments":"0","p_status":"WAYBACK","us_key":"1051901","us_name":"mshopf","us_username":"mshopf","event_start":"1533859200","event_key":"73","event_name":"LD 42"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD42","removed_author":false},"_superparent":97793,"_trust":3,"author":51901,"body":"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.\n\nSpace Billiards in a nutshell:\n\nIt 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.\n\n![timelapse-final.gif](\/\/\/raw\/dba\/c\/z\/170ad.gif)\n\nWhat went well?\n\n* All in all, phaser is still my favourite game engine for HTML5.\n* Creating game assets with gimp is doable, given google and some short-time workshops.\n* I still love [sfxr](http:\/\/ludumdare.com\/compo\/2007\/12\/13\/sfxr-sound-effects-for-all\/).\n* I changed my development environment [again](http:\/\/ludumdare.com\/compo\/2015\/12\/15\/birds-of-borg-post-mortem\/), like in LD34, but this time it worked. atom is pretty decent as an editor.\n* I could reuse my server code for my former LD entries for saving highscores.\n\nWhat was improvable?\n\n* 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...\n* JavaScript doesn't bail out enough when accessing misstyped properties - this happens oh so often. Try typescript next time.\n* 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!\n* I wanted to create another [massively singleplayer game](\/events\/ludum-dare\/41\/hanoi-city-of-scooters), 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.\n* Debugging was sometime tedious, because some variables suddenly contained NaN. It turned out, I (again) misstyped a property... :fist:\n\nWhat were the most difficult parts?\n\n* I needed phaser's arcade physics, because I anticipated a lot(!) of objects.\n* 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* 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.\n* 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.\n\nHope you enjoyed the read; there is also a timelapse video for those who like to read less and get flashed more :grin:\n\nhttps:\/\/youtu.be\/20Xh3Us0dWY\n\nThanks for all your games, and \u2013 ah \u2013 in case you didn\u2019t do that yet \u2013 please\n* [play & vote](\/events\/ludum-dare\/42\/space-billiards)","comments":0,"created":"2018-08-13T01:38:17Z","files":[],"files-timestamp":0,"id":112907,"love":1,"love-timestamp":"2018-08-13T02:40:37Z","meta":[],"modified":"2018-08-13T02:40:37Z","name":"Space Billiards post mortem","node-timestamp":"2018-08-13T02:23:16Z","parent":99052,"parents":[1,5,9,97793,99052],"path":"\/events\/ludum-dare\/42\/space-billiards\/space-billiards-post-mortem","published":"2018-08-13T02:23:16Z","scope":"public","slug":"space-billiards-post-mortem","subsubtype":"","subtype":"","type":"post","version":322851},"node_metadata":{"n_key":"112907","n_urlkey":"335070","n_parent":"99052","n_path":"\/events\/ludum-dare\/42\/space-billiards\/space-billiards-post-mortem","n_slug":"space-billiards-post-mortem","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"51901","n_created":"1534124297","n_modified":"1534128037","n_version":"322851","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/42\/space-billiards\/space-billiards-post-mortem","text":"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.\n\nSpace Billiards in a nutshell:\n\nIt 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.\n\n![timelapse-final.gif](\/\/\/raw\/dba\/c\/z\/170ad.gif)\n\nWhat went well?\n\n* All in all, phaser is still my favourite game engine for HTML5.\n* Creating game assets with gimp is doable, given google and some short-time workshops.\n* I still love [sfxr](http:\/\/ludumdare.com\/compo\/2007\/12\/13\/sfxr-sound-effects-for-all\/).\n* I changed my development environment [again](http:\/\/ludumdare.com\/compo\/2015\/12\/15\/birds-of-borg-post-mortem\/), like in LD34, but this time it worked. atom is pretty decent as an editor.\n* I could reuse my server code for my former LD entries for saving highscores.\n\nWhat was improvable?\n\n* 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...\n* JavaScript doesn't bail out enough when accessing misstyped properties - this happens oh so often. Try typescript next time.\n* 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!\n* I wanted to create another [massively singleplayer game](\/events\/ludum-dare\/41\/hanoi-city-of-scooters), 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.\n* Debugging was sometime tedious, because some variables suddenly contained NaN. It turned out, I (again) misstyped a property... :fist:\n\nWhat were the most difficult parts?\n\n* I needed phaser's arcade physics, because I anticipated a lot(!) of objects.\n* 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* 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.\n* 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.\n\nHope you enjoyed the read; there is also a timelapse video for those who like to read less and get flashed more :grin:\n\nhttps:\/\/youtu.be\/20Xh3Us0dWY\n\nThanks for all your games, and \u2013 ah \u2013 in case you didn\u2019t do that yet \u2013 please\n* [play & vote](\/events\/ludum-dare\/42\/space-billiards)","title":"Space Billiards post mortem","wayback_source":[]}