OpenGL-rendered Breakout clone in Elixir

Thanks for the kind words!

I’m not too worried about the code quality. I’m not new to programming, but I’ve only recently started working with Elixir, OpenGL, or any sort of game development, so I don’t expect much.

This is really the continuation of an exploration into what the BEAM can do in a game development situation. It started with a triangle, went to a (bad) ray tracer, the start of some 3d physics simulations, 3d modeling, and now a 2d game. Slightly going backwards, but it’s good progress I think.

I pushed an update with some text rendering. It’s basically a copy of the OpenGL text rendering in the :wx demo. There’s also a menu for selecting levels, and some more bugs! :slight_smile:

Text rendering is the last main thing I can do without bringing in some dependencies. I think it’s worth mentioning all the things Elixir can do by itself:

  • OpenGL Core Profile rendering with shaders
  • Windowing
  • Input handling
  • Text rendering
  • All the other normal things Elixir is good at

Really the only thing missing is audio playback. I’ve already tested Membrane, which seems to be the best (only?) option. I really wish there was a way to do audio playback without any dependencies. Oh well.

I’ll be adding audio playback soon, which will, I think, put this over the line into the lonely category of “finished games written in Elixir”.

3 Likes