{"author_link":"\/users\/alan123","author_name":"Alan123","author_uid":"alan123","comments":[],"epoch":1601987365,"event":"LD47","format":"md","ldjam_node_id":228836,"likes":4,"metadata":{"p_key":"150063","p_author":"Alan123","p_authorkey":"1160130","p_urlkey":"366562","p_title":"Some how we pulled that one off","p_cat":"LDJam ","p_event":"LD47","p_time":"1601987365","p_likes":"4","p_comments":"0","p_status":"WAYBACK","us_key":"1160130","us_name":"Alan123","us_username":"alan123","event_start":"1601596800","event_key":"76","event_name":"Ludum Dare 47"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD47","removed_author":false},"_superparent":212256,"_trust":2,"author":160130,"body":"It's the day after the night before and I still can't quite believe we pull this one off. We managed to get [something coherent and game shaped](https:\/\/ld47.lislan.org.uk) out the other end despite picking a tech stack that was new to almost all of us in a language that all but one of us never regularly used having not really worked together on anything like this before.\n\n![titlescreen.jpg](\/\/\/raw\/281\/72\/z\/38f55.jpg)\n\nWe started from scratch with basically just a node application that had [PixiJS](https:\/\/www.pixijs.com\/) creating a blank WebGL context for us and almost nothing else other than a build\/deploy system to work with. \n\nBy the end of it we had built:\n\n- Custom track rendering system \n- Physics for tail sliding, crashing cars\n- Particle system for ridiculously over the top exhaust smoke and explosions\n- Controller input system that handled 4 different types of inputs on both desktop and mobile browsers\n- 3 tracks including backgrounds\n- Lots of buttons, widgets and menu backgrounds including a custom 7-segment LCD timer effect.\n- 2 music loops and a few sound effects\n- A high-score submission and tracking system\n- All the glue to hold it together\n- A limited [track editor](https:\/\/ld47.lislan.org.uk\/editor). (There's an unmerged branch that made custom tracks playable too, but it wasn't slick enough to enable yet)\n\nAll of which largely just worked when tested on a pretty wide range of browsers and hardware.\n\n![crashing.jpg](\/\/\/raw\/281\/72\/z\/38fa0.jpg)\n\nAnd somehow we managed to ramp up quickly, prioritise and then divide that lot out. Better yet we merged\/integrated almost everything when it landed with surprisingly little pain right up to and including the final commit that added the background for track 2. (That one got merged a full 8 seconds before the deadline!)\n\nIf we had more time I'd have liked to do a few more things:\n\n- Make the AI have an easy mode rather than consistently drive perfect lap times\n- Make user contributed tracks a thing proper thing\n- Make some random drops to mix it up a little, or find something else to add into a crazy mode\n- Add some more multiplayer options, perhaps racing a ghost car?\n- Experiment with ways to show the results data better\n\n![track1.jpg](\/\/\/raw\/281\/72\/z\/38faa.jpg)\n\nI learned a bunch along the way, but perhaps one of the big takeaways was just how well the CI\/CD flow worked out for us to all be in the same place with development.\n\nIt was fun (and I think the others agree?), but overall I'm just dead pleased with the way the whole thing worked out from art style to code integration and everything in between.\n\n![track3.jpg](\/\/\/raw\/281\/72\/z\/38fb6.jpg)\n\nIf you've not yet tried it out please do take a [look at our finished entry](https:\/\/ldjam.com\/events\/ludum-dare\/47\/sketchy-lectrics). Thank you very much to everyone on the team for working so hard over the weekend and agreeing to give this a go in the first place.","comments":0,"created":"2020-10-06T11:38:16Z","files":[],"files-timestamp":0,"id":228836,"love":4,"love-timestamp":"2020-10-15T18:32:52Z","meta":[],"modified":"2020-10-15T18:32:52Z","name":"Some how we pulled that one off","node-timestamp":"2020-10-06T12:31:35Z","parent":212667,"parents":[1,5,9,212256,212667],"path":"\/events\/ludum-dare\/47\/sketchy-lectrics\/some-how-we-pulled-that-one-off","published":"2020-10-06T12:29:25Z","scope":"public","slug":"some-how-we-pulled-that-one-off","subsubtype":"","subtype":"","type":"post","version":694244},"node_metadata":{"n_key":"228836","n_urlkey":"366562","n_parent":"212667","n_path":"\/events\/ludum-dare\/47\/sketchy-lectrics\/some-how-we-pulled-that-one-off","n_slug":"some-how-we-pulled-that-one-off","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"160130","n_created":"1601984296","n_modified":"1602786772","n_version":"694244","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/47\/sketchy-lectrics\/some-how-we-pulled-that-one-off","text":"It's the day after the night before and I still can't quite believe we pull this one off. We managed to get [something coherent and game shaped](https:\/\/ld47.lislan.org.uk) out the other end despite picking a tech stack that was new to almost all of us in a language that all but one of us never regularly used having not really worked together on anything like this before.\n\n![titlescreen.jpg](\/\/\/raw\/281\/72\/z\/38f55.jpg)\n\nWe started from scratch with basically just a node application that had [PixiJS](https:\/\/www.pixijs.com\/) creating a blank WebGL context for us and almost nothing else other than a build\/deploy system to work with. \n\nBy the end of it we had built:\n\n- Custom track rendering system \n- Physics for tail sliding, crashing cars\n- Particle system for ridiculously over the top exhaust smoke and explosions\n- Controller input system that handled 4 different types of inputs on both desktop and mobile browsers\n- 3 tracks including backgrounds\n- Lots of buttons, widgets and menu backgrounds including a custom 7-segment LCD timer effect.\n- 2 music loops and a few sound effects\n- A high-score submission and tracking system\n- All the glue to hold it together\n- A limited [track editor](https:\/\/ld47.lislan.org.uk\/editor). (There's an unmerged branch that made custom tracks playable too, but it wasn't slick enough to enable yet)\n\nAll of which largely just worked when tested on a pretty wide range of browsers and hardware.\n\n![crashing.jpg](\/\/\/raw\/281\/72\/z\/38fa0.jpg)\n\nAnd somehow we managed to ramp up quickly, prioritise and then divide that lot out. Better yet we merged\/integrated almost everything when it landed with surprisingly little pain right up to and including the final commit that added the background for track 2. (That one got merged a full 8 seconds before the deadline!)\n\nIf we had more time I'd have liked to do a few more things:\n\n- Make the AI have an easy mode rather than consistently drive perfect lap times\n- Make user contributed tracks a thing proper thing\n- Make some random drops to mix it up a little, or find something else to add into a crazy mode\n- Add some more multiplayer options, perhaps racing a ghost car?\n- Experiment with ways to show the results data better\n\n![track1.jpg](\/\/\/raw\/281\/72\/z\/38faa.jpg)\n\nI learned a bunch along the way, but perhaps one of the big takeaways was just how well the CI\/CD flow worked out for us to all be in the same place with development.\n\nIt was fun (and I think the others agree?), but overall I'm just dead pleased with the way the whole thing worked out from art style to code integration and everything in between.\n\n![track3.jpg](\/\/\/raw\/281\/72\/z\/38fb6.jpg)\n\nIf you've not yet tried it out please do take a [look at our finished entry](https:\/\/ldjam.com\/events\/ludum-dare\/47\/sketchy-lectrics). Thank you very much to everyone on the team for working so hard over the weekend and agreeing to give this a go in the first place.","title":"Some how we pulled that one off","wayback_source":[]}