blicblock-js icon indicating copy to clipboard operation
blicblock-js copied to clipboard

A JavaScript implementation of the Blicblock game from The Sims 4.

BlicblockJS

Blicblock is a game your Sims in The Sims 4 can play on the computer. I thought it would be fun to recreate the game. Our Sims shouldn't have all the fun!

BlicblockJS gameplay

BlickblockJS is built using AngularJS, Bower, Yeoman, and Twitter Bootstrap.

Blicblock Notes from The Sims 4

  • Looks like Tetris meets Bejeweled: colored blocks fall down. Combine them into a tetromino and the tetromino disappears.
  • Disappearing tetrominos cause blocks on top of them to fall, which can cause cascades of disappearing tetrominos.
  • If the screen fills up and no more blocks can fall, game over.
  • Five blocks across, seven tall
  • Colors: magenta, yellow, green, blue. Note: since the game board is five blocks wide, to make the game have any challenge at all, there need to be >5 colors of blocks.
  • Preview of next two blocks shown

How to Run

You need Ruby, RubyGems, Bundler, Node.js, and PostgreSQL.

  1. bundle

  2. Create a blicblockjs role in PostgreSQL:

     % psql
     psql (9.2.1)
     Type "help" for help.
    
     sarah=# CREATE USER blicblockjs WITH PASSWORD 'password';
     CREATE ROLE
     sarah=# ALTER USER blicblockjs WITH SUPERUSER;
     ALTER ROLE
    

    Or via command line: createuser -P -s -e blicblockjs

  3. bundle exec rake db:create db:migrate db:seed

  4. cd client/

  5. npm install

  6. npm install -g bower

  7. bower install

  8. npm install -g grunt-cli

  9. grunt serve to watch for file changes and to launch the Rails server.

How to Test

Rails API

  1. RAILS_ENV=test bundle exec rake db:create db:migrate
  2. RAILS_ENV=test bundle exec rspec

AngularJS

  1. cd client/
  2. npm install
  3. grunt test

How to Deploy to Heroku

  1. Create a new Heroku app in your browser.
  2. git remote add heroku [email protected]:yourherokuapp.git
  3. heroku buildpacks:add https://github.com/heroku/heroku-buildpack-ruby.git
  4. git push heroku master
  5. heroku addons:add heroku-postgresql
  6. heroku addons:add pgbackups
  7. heroku run rake db:migrate
  8. heroku ps:scale web=1
  9. heroku config:add NODE_ENV=production

How to Backup Heroku PostgreSQL Database

heroku pg:backups capture
curl -o latest.dump `heroku pg:backups public-url`

To load the dump file locally:

pg_restore --verbose --clean --no-acl --no-owner -h localhost -U blicblockjs -d blicblockjs_development latest.dump

BlicblockJS Mentions

Blicblock in The Sims 4

Video of my Sim playing Blicblock

The Sims 4 Blicblock play

The Sims 4 Blicblock game over

Screenshots of BlicblockJS

BlicblockJS paused

BlicblockJS game over