Alan123

Ludum Dare 47

Some how we pulled that one off

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 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.

titlescreen.jpg

We started from scratch with basically just a node application that had PixiJS creating a blank WebGL context for us and almost nothing else other than a build/deploy system to work with.

By the end of it we had built:

  • Custom track rendering system
  • Physics for tail sliding, crashing cars
  • Particle system for ridiculously over the top exhaust smoke and explosions
  • Controller input system that handled 4 different types of inputs on both desktop and mobile browsers
  • 3 tracks including backgrounds
  • Lots of buttons, widgets and menu backgrounds including a custom 7-segment LCD timer effect.
  • 2 music loops and a few sound effects
  • A high-score submission and tracking system
  • All the glue to hold it together
  • A limited track editor. (There's an unmerged branch that made custom tracks playable too, but it wasn't slick enough to enable yet)

All of which largely just worked when tested on a pretty wide range of browsers and hardware.

crashing.jpg

And 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!)

If we had more time I'd have liked to do a few more things:

  • Make the AI have an easy mode rather than consistently drive perfect lap times
  • Make user contributed tracks a thing proper thing
  • Make some random drops to mix it up a little, or find something else to add into a crazy mode
  • Add some more multiplayer options, perhaps racing a ghost car?
  • Experiment with ways to show the results data better

track1.jpg

I 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.

It 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.

track3.jpg

If you've not yet tried it out please do take a look at our finished entry. 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.