elixir-elm-tutorial/elixir-elm-tutorial-book

Remaining Chapters for v1.0 Release

Closed this issue · 0 comments

There is still a lot of work remaining for a stable v1.0 release of Elixir and Elm Tutorial. But this issue is an attempt to give an overall idea of the major features remaining.

Remaining Major Features

  • Syncing player scores from the front-end to the back-end. Currently, the Platformer demo game isn't set up to know what the current game (game.id) is from the back-end. And it doesn't know who the current player (player.id) is either. The idea for the last big feature in the book is to use Phoenix channels to occasionally send the playerScore field data (perhaps at the end of a level?) using the Gameplay module.

Time Permitting Features

  • Character skills for Platformer demo game. Currently, the Platformer demo is a simple game where the player can move the character around and collect items. In addition to being able to move left and right on the screen, the player should also be able to run and jump. In hopes of making the game a bit more fun, the game ideally will be structured with "levels" where the player will have to use the different character skills (walking, running, jumping) to complete a level and make progress to the end state.

Remaining Ancillary Features and Chores

  • Resolve all documented platform bugs. The v1.0 release is intended to be a solid, stable release. Even if the future features below aren't included, the v1.0 release should be free from errors and things that will potentially confuse readers.
  • Run through the full book prior to the stable v1.0 release to verify that it works with all the latest versions, including the latest dependency releases.

Future Features

  • Latest Elixir, Phoenix, and Elm Versions. The book currently covers the latest versions, and the plan is to keep it updated so that it doesn't fall behind or become confusing to work through as new versions are released.
  • Additional Minigame Demos. The original plan for the book was to have a handful of tiny "games" on the platform. I opted to go for a single substantial game instead of several tiny ones, but the intention is that the next version of the book (after a stable v1.0 release) will have at least one additional example game. And ideally the next game will be heavy on mouse interaction since the first one is based on keyboard input.
  • Player Chat Feature. Having a player chat feature will be a good opportunity to cover GenServers, and that will be a priority for the next version of the book.