Giter Club home page Giter Club logo

songmoji's Introduction

SongMoji - Songs + Emojis = Fun

SongMoji is a simple game - You See Emojis on the screen and have to guess which song they describe.

How to play the game

Instructions

You compete in teams against each other. Every team has exactly one controller, which is the team's own buzzer. The goal of the game is to guess the title of the correct song by interpreting the Emojis shown on the screen. The team who pushes the buzzer button (X or A) first, is allowed to answer the question in the next five seconds. Is the answer correct, the team receives points based on the difficulty of the song (Hard=5, Medium=2, Easy=1). If the answer is wrong though, the team receives a minus point. Only the first answer of the team will be accepted. Just the title of a song is required, not the interpret. There are various difficulties and categories, which are totally random though.

The instructions are also shown when starting the app.

Requirements

  • You need at least two teams to play the game and (optionally) a moderator who assigns points and shows the solution
  • A maximum of four teams can play the game at once (team sizes can be set as you like)
  • You need one controller per team to play the game (alternatively, you can also play the game "turn-wise")
  • Attention: The controller mapping is tested on Windows and Linux. The MacOS mapping is wrong/not working, at least for Xbox controllers.

Moderator controls

  • To show the solution for the current song, press SHIFT + S
  • To add a point for team one, press U, to remove a point press J
  • To add a point for team one, press I, to remove a point press K
  • To add a point for team one, press O, to remove a point press L
  • To add a point for team one, press P, to remove a point press ร– (Sorry, german keyboard layout ^^# Change it in ./components/TeamOverview.vue )

Developer Information

Build Setup

# install dependencies
$ yarn install

# serve with hot reload at localhost:3000
$ yarn dev

# Serve as JAMstack app
$ yarn generate

Change the Song List

The song list is located under ./assets/song-list.js. You can adapt it as you like. Currently, there are many well-known songs included but also some songs that are only popular in Germany. I usually adapt the song list before playing the game and tailor it to the group.

Turn-based alternative

If you don't have controllers by hand, you can also play the game turn-based. For that, you don't need the whole gamepad detection and can remove it and hardcode the teams instead. Then, the teams take turns to answer.

Credits

Inspired by Smiley Cyrus

Buzzer Sounds

Emoji Symbols

Emoji Symbols are loaded via Twemoji.

License

The MIT License (MIT). Please see License File for more information.

songmoji's People

Contributors

mannil avatar

Stargazers

Paul Schreiber avatar  avatar  avatar Philipp Schuster avatar

Watchers

 avatar James Cloos avatar  avatar

songmoji's Issues

Play the songs when showing the solution

It would be super cool to have a connection to the Spotify API (if possible) that plays the beginning or a catchy section of the song, when the solution for that song is being displayed.

Moderator controls can be explained in-game

Currently, the moderator controls are explained in the README. If you want to simply fire up the game and have a go, especially when using a hosted version somewhere, players won't always look in the README first.

For that use case it would be good to have the moderator controls explained in-game.

A challenge is that exposing the moderator controls to everyone enables cheating by sneakingly increasing one's score while the moderator isn't watching their keyboard. So we need to discuss how to make the game's controls obvious, without creating a big cheating problem.

Game won't start in Google Chrome

Unfortunately, the game won't start in Google Chrome. It displays the following error:

image

This is in Google Chrome 79 on Windows 10.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.