22: Putting it all together
This post was published in 2016 and is kept here for reference. It may contain information that's outdated or inaccurate.
We’re starting the final (full) week of Cardboctober now, so I thought I’d do a week-long project to pull together some of the ideas from Cardboctober.
I’m going to be making a Tetromino game in VR. Each day this week I’ll cover an aspect of building the game, and then hopefully at the end of the week we’ll have a full game to play.

I’ve built Tetromino games before in some capacity – I spent some time a couple of months ago building one using Python. Here are some great resources for working out how the game works:
- The Mechanics of Nintendo Tetris
- Tetris Wikia: Scoring
- StackOverflow: Tetris Piece Rotation Algorithm
- Tetris game logic for beginners
I’m going to be using the following libraries that we’ve utilised throughout Cardboctober so far:
- Three.js for all of the 3D stuff
- StereoEffect.js and DeviceOrientationControls.js for VR
- VReticle for reticle control
- Howler.js for audio
If you want to catch up so that you can follow along this week, check out the following posts:
- 01: Basic VR
- 03: Even better gazed based look interaction
- 04: Skyboxes and generating meshes
- 06: VR Pairs Game
- 08: Playing sounds
- 11: Webaudio Beat Sequencer
- 12: AAAAH! Zombies
- 13: AAAAH! More Zombies
I’ll be using my core.js library as with the rest of my hacks this month to simplify some of the work, so it’s probably worth familiarising yourself with the utilities in there.
Part of the "Cardboctober" series
- Announcing Cardboctober
- 01: Basic VR
- 02: Raycaster based look interaction
- 03: Even better gazed based look interaction
- 04: Skyboxes and generating meshes
- 05: Loading external models
- 06: VR Pairs Game
- 07: Cardboard hardware (cardware?)
- 08: Playing sounds
- 09: Speech recognition
- 10: HTML5 Video
- 11: Webaudio Beat Sequencer
- 12: AAAAH! Zombies
- 13: AAAAH! More Zombies
- 14: Debugging your Cardboard with Chrome
- 15: The Hierarchy of Needs in Quick Google Cardboard Hacks
- 16: Getting in and out of Fullscreen
- 17: Displaying Pertinent Information
- 18: Moving around in VR
- 19: Which way is North? Part 1
- 20: Which way is North? Part 2
- 21: One size doesn't fit all
- 22: Putting it all together
- 23: Planning Tetrominoes in VR
- 24: Basic Game Board
- 25: Creating and Moving Pieces
- 26: Rotating Pieces
- 27: Moving with gaze
- 28: Planning Revisited
- 29: Blocks out of the pram
- 30: Github Contributions
- 31: Something in the Shadows
Want to reply? I've hooked up Webmentions, so give it a go!