├── .babelrc ├── .eslintrc.yaml ├── .github └── workflows │ └── cd.yml ├── .gitignore ├── LICENSE ├── README.md ├── index.html ├── package.json ├── postcss.config.js ├── src ├── images │ ├── arrow-hero.png │ ├── arrow-hero.svg │ ├── inkys-pandemonium-banner.jpg │ └── key.svg ├── index.js ├── inline │ └── arrow.svg ├── js │ ├── app.js │ ├── currentYear.js │ └── icons.js └── scss │ ├── _animations.scss │ ├── _layout.scss │ ├── _meyer-reset.scss │ ├── _mixins.scss │ ├── _responsive.scss │ ├── _variables.scss │ └── main.scss ├── webpack.config.babel.js └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["@babel/syntax-dynamic-import"], 3 | "presets": [ 4 | [ 5 | "@babel/preset-env", 6 | { 7 | "modules": false 8 | } 9 | ] 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /.eslintrc.yaml: -------------------------------------------------------------------------------- 1 | extends: 2 | - recommended/esnext 3 | - recommended/esnext/style-guide 4 | - recommended/node 5 | - recommended/node/style-guide 6 | env: 7 | browser: true -------------------------------------------------------------------------------- /.github/workflows/cd.yml: -------------------------------------------------------------------------------- 1 | name: cd 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | 7 | jobs: 8 | cd: 9 | runs-on: ${{ matrix.os }} 10 | 11 | strategy: 12 | matrix: 13 | os: [ ubuntu-latest ] 14 | node: [ 16 ] 15 | 16 | environment: cd 17 | 18 | steps: 19 | - name: Checkout 🛎 20 | uses: actions/checkout@master 21 | 22 | - name: Setup node env 🏗 23 | uses: actions/setup-node@v2.4.0 24 | with: 25 | node-version: ${{ matrix.node }} 26 | check-latest: true 27 | 28 | - name: Get yarn cache directory path 🛠 29 | id: yarn-cache-dir-path 30 | run: echo "::set-output name=dir::$(yarn cache dir)" 31 | 32 | - name: Cache node_modules 📦 33 | uses: actions/cache@v2.1.6 34 | id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) 35 | with: 36 | path: ${{ steps.yarn-cache-dir-path.outputs.dir }} 37 | key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} 38 | restore-keys: | 39 | ${{ runner.os }}-yarn- 40 | 41 | - name: Install dependencies 👨🏻💻 42 | run: yarn 43 | 44 | - name: Generate static website 📸 45 | run: yarn build 46 | 47 | - name: Deploy 🚀 48 | uses: JamesIves/github-pages-deploy-action@4.1.5 49 | with: 50 | token: ${{ secrets.GITHUB_TOKEN }} 51 | branch: gh-pages 52 | folder: dist 53 | clean: true -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### Node / Yarn ### 2 | yarn-error.log 3 | node_modules 4 | 5 | ### IntelliJ ### 6 | .idea 7 | *.iml 8 | 9 | ### Sass ### 10 | .sass-cache 11 | *.css.map 12 | 13 | ### Project specifics ### 14 | dist 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AcelisWeaven/arrow-hero/1398af87194a746c96b7f7dd074515e1994e3ed3/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Arrow hero 2 | === 3 | 4 | A minimalist game where your goal is to match your inputs with an unstoppable continuous overwelming flow of arrows. 5 | 6 | Setting up Gulp 7 | --- 8 | 9 | First, clone this repository (you can fork it too): 10 | ```shell 11 | git clone git@github.com:AcelisWeaven/arrow-hero.git 12 | ``` 13 | 14 | Then, we need to install our dependencies: 15 | ```shell 16 | yarn install 17 | ``` 18 | 19 | Finally, let's start the dev server: 20 | ```shell 21 | yarn serve 22 | ``` 23 | 24 | You can also build the project, if you want to release it yourself. 25 | ```shell 26 | yarn build 27 | ``` 28 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |Press Space to restart
71 |Touch Restart to try again
72 |Press Space to resume
82 |Touch Pause again to resume
83 |113 | Arrow hero is a minimalist game where your goal is to match a continuous, unstoppable stream of arrows using your keyboard keys. 115 |
116 |117 | This means that if you have more than one consecutive 118 | you only have to press once to validate both. 119 |
120 |
121 | You can pause the game by pressing Space.
122 | This game is mobile friendly.
123 |
If you liked this game, please share it!
126 |128 | Feel free to fork me on GitHub. 129 |
130 |