allkaraoke icon indicating copy to clipboard operation
allkaraoke copied to clipboard

ToDos

Open Asvarox opened this issue 3 years ago • 1 comments

Missing E2E tests

  • [x] Song issue reporting/rating
  • [x] Remote Song list new features - searching, filtering, adding to the persisting list, selecting directly

In-game features:

  • [ ] Play applause (intensity based on score) after the last note (before a longer break?)
  • [ ] Perfect/great/ok/poor on section end
  • [x] Support for other than 2 players (1-6?)
  • [x] Co-op game mode (points from each player sum-up)
  • [ ] Make photos with the camera if it's accessible

Features:

  • [x] Remote mic calibration to avoid it detecting background noise (either manual slider or "automatic")
  • [ ] Store & Sync data with Google Drive
  • [x] Playlist management
  • [x] Step-by-step song conversion
  • [x] Multi-microphone support
  • [x] Control game via remote mic (maybe first check how often they are used)
  • [x] Show newly added songs (detect when the user opened the app last and check what songs were added in the meantime)
  • [x] Some way to get feedback (FB/Insta)?
  • [x] Support for running in mobiles (eg. just 1 line of lyrics, force horizontal mode)
  • [x] Show volume meter in game (so it's more visible if mic works)
  • [x] Show players that still have to confirm readiness
  • [x] A background music/sound and smooth transition to the song (eg this https://www.youtube.com/watch?v=a-AlJd3ttg8 and some crash once everyone confirmed)
  • [x] Proper lag compensation mechanism rather than hardcoded values there are now
  • [x] In Phone view, when Name input is empty and user clicks "Connect", it should focus the input

Bugs

  • [ ] Fix SingStar mics on Chrome + Windows
  • [x] Test on other browser - Firefox
  • [x] More robust remote mics (reconnection mechanism)
  • [x] QR code on the phone is not pointing to the game to which it is connected (making it useless)
  • [x] Backspace/back button on Setup Mic on Song Selection should close the modal
  • [x] Frequency detection on remote mic is not precise enough
  • [x] In Phone, when refresh is requested, the whole view should be cleared before reload, so it doesn't look misleading
  • [x] In Phone, after refresh and when the mic is auto selected its safe to assume that readiness will be requested - it could be displayed as soon as possible to reduce the lag
  • [x] When entering Sing a Song, the first song is always selected (should be a random one; write a e2e test to detect future regressions)

Optimization:

  • [ ] Optimize rendering for <1080p displays
  • [x] Triangle particle as sprites for optimisation
  • [x] Virtualisation of song selection menu

Technical:

  • [ ] Refactor keyboard navigation so it uses contexts so that the "newest" context is controlling the keyboard - this way there shouldn't be a need to manually enable/disable leading to bugs where a keyboard control "leaks" (eg when you open QR Code modal on top-right the enter key clsoes the modal and is propagated to the menu beneath it)
  • [ ] Refactor folders/files - eg "modules" folder, group input related code into single place, flatten "Game" scene (eg to select song/sing song)
  • [ ] Create/extend documentation, eg on. inputs, remote mics mechanism (webrtc), events system, singleton gamestate ( + ADRs for why its like that)
  • [x] Use self-hosted peerjs server (through fly.io)?
  • [x] ~~Get rid of AubioJS to some JS algorithm https://github.com/peterkhayes/pitchfinder/tree/master/src/detectors~~
    • JS only implementation is 3 times slower (1ms compared to 3ms+ for each computation). There might be faster ones, but the effort and risk of lower quality detection wouldn't be justified by just scraping couple of kbs of the bundle
  • [x] Improve routing so it doesn't use hash
  • [x] Create and use proxy for Sentry

Asvarox avatar Oct 27 '22 16:10 Asvarox

  • [x] Refresh remote mic after each song - sometimes after Refresh of remote mic it's colour isn't updating

  • [ ] Mode to randomise songs across playing people connected with phones one by one and they can accept or decline - is one declines next song is select is both accept they start singing it

Asvarox avatar Jan 28 '23 00:01 Asvarox