└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Elixir Gaming 2 | Elixir resources for making and networking games. 3 | 4 | - [Elixir](#elixir) 5 | - [Phaser](#phaser) 6 | - [Unity](#unity) 7 | - [LiveView](#liveview) 8 | - [Elm](#elm) 9 | - [Erlang](#erlang) 10 | - [Physics](#physics) 11 | - [Frameworks](#frameworks) 12 | - [Talks](#talks) 13 | - [Discussions](#discussions) 14 | 15 | A couple of these links were copied from Julius Beckmann's super comprehensive [Awesome Elixir](https://github.com/h4cc/awesome-elixir) repo. 16 | 17 | **Note:** Some libraries linked below may be unmaintained/incompatible with the latest versions of Elixir/Erlang/Phoenix -- always check repo Issues. 18 | 19 | If you find libraries that do not work with the latest versions of Elixir/Erlang/Phoenix, please open an Issue on the appropriate repo so maintainers/repo surfers can tell :] 20 | 21 | ## Elixir 22 | - [Tanx: Tank multiplayer game developed by Elixir Seattle](https://github.com/ElixirSeattle/tanx) 23 | - [Rock-Paper-Scissors on Phoenix with GenServers + VueJS](https://github.com/rsalgado/rock_paper_scissors) 24 | - [CardsNif: Example Elixir app with **Rust NIFs**](https://github.com/mareknowak/cardsnif) 25 | - [Mines: Pure Elixir minesweeper clone for terminal](https://github.com/kevin-hanselman/mines) 26 | 27 | ## Phaser 28 | 29 | - [UaiShot - Phaser + Phoenix Channels multiplayer space shooter with Asteroids-like physics](https://github.com/sergioaugrod/uai_shot) 30 | - [Vim Snake: Phaser VimSnake clone using Phoenix](https://github.com/theanht1/vim_snake) 31 | - [Tankx Game (Phaser)](https://github.com/denvaar/tankx_client) | [Tankx Server](https://github.com/denvaar/tankx) 32 | 33 | ## Unity 34 | 35 | - [InVected: GlobalGameJam Game made using Unity + Phoenix 1.3](https://elixirforum.com/t/invected-globalgamejam-game-that-uses-elixir/12413) 36 | - [Fenix: .NET Standard 2 implementation of Phoenix framework websockets protocol](https://github.com/mjaric/fenix) 37 | - [PhoenixSharp: C# Phoenix Channels Client](https://github.com/Mazyod/PhoenixSharp) 38 | 39 | ## LiveView 40 | 41 | - [MOBA: A community-made RPG built with LiveView](https://elixirforum.com/t/moba-a-community-made-rpg-built-with-liveview/34123?fbclid=IwAR0D7e1pETuH1OeuGv_TIY2xkVpGkPYkOnIt28S9UoEcyCf8jg9hwQt4M9I) 42 | - [PhoenixPhrenzy: LiveView Demo Contest (many games under Entries)](https://phoenixphrenzy.com/) 43 | - [Georacer](https://github.com/zkayser/georacer) 44 | - [Conway's Game of Life](https://github.com/dkarter/game_of_life) 45 | - [King of Tokyo boardgame companion](https://github.com/dkarter/king_of_tokyo) 46 | 47 | ## Elm 48 | 49 | - [Fretmaster](https://github.com/dkarter/fretmaster-elm) 50 | - [PokerEx Elm Client](https://github.com/zkayser/pokerex_client) | [PokerEx Phoenix server](https://github.com/zkayser/poker_ex) 51 | - [Elm Scrabble](https://github.com/zkayser/elm_scrabble) 52 | 53 | ## Erlang 54 | 55 | - [Binbo: Pure Erlang chess implementation](https://github.com/DOBRO/binbo) 56 | 57 | ## Physics 58 | 59 | - [GraphMath: a library for handling common 2D and 3D math operations](https://github.com/crertel/graphmath) 60 | - [Collidex: 2D geometry collision detection library in pure Elixir (last updated 4 years ago)](https://github.com/IdahoEv/collidex) 61 | - [Collision: a library for generating and working with polygon collisions, using the separating axis theorem (last updated 5 years ago)](https://github.com/tpoulsen/collision) 62 | 63 | ## Frameworks 64 | 65 | - [Entice: entity-component-system MMO framework with Elixir server](https://github.com/entice/entice) 66 | 67 | ## Talks 68 | 69 | - [GeoRacer - a real-time multiplayer mobile game in Elixir in 6 weeks (2020, Zack Kayser and Beau Heubach)](https://www.youtube.com/watch?v=5DGUqcd-HWQ&ab_channel=CodeSync) 70 | - [Building a Scalable, Distributed Backend for Mobile Games (2017, Petri Kero)](https://www.youtube.com/watch?v=nCSO8yeR0c4&ab_channel=ErlangSolutions) 71 | - [Building Multiplayer Games with Phoenix & Phaser (2016, Keith Salisbury)](https://www.youtube.com/watch?v=I5L9_cXwBcU&ab_channel=ErlangSolutions) 72 | - [Tacticool Meta-server Architecture (Russian)](https://www.youtube.com/watch?v=JcuOHUzXXHw&ab_channel=Pixonic) 73 | 74 | ## Discussions 75 | 76 | - [Elixir Games!](https://elixirforum.com/t/elixir-games/26731) 77 | - [Is Elixir suited for a performance game server?](https://elixirforum.com/t/is-elixir-suited-for-a-performance-game-server/21809/11) 78 | - [Phoenix Presence for tracking players?](https://elixirforum.com/t/help-me-decide-between-phoenix-presence-and-a-custom-solution/19605) 79 | --------------------------------------------------------------------------------