Final project: Interactive board game¶
My final project idea started in molding and casting week(week9). I decided to create lots of Chinese checkers since I like to play it in childhood. And also came up with a idea: can I upgrade this game to make it “interactive” with players?
After several weeks trying with input/output devices, I found that it’s really challenging to make an interactive Chinese checker board since there are too many dots on it. And with my instructor Ted’s suggestion that to “make a game myself”, I got an idea to integrate my bnoard game design with interactive functions!
Here’s my idea and game board prototype with the help from my sister Cherry.
What will it do?¶
My interactive board game is “Elf and beanstalk”, which refers to the story of “Jack and beanstalk” in a fantasy world. In order to create a feeling of MAGIC in this game, I would like to add some interactive feature inside.
Players will play as elves in the game, and they can spell MAGIC to let beanstalk growing. So whenever they wield their wand to corresponding icons (skilld to grow beanstalk) on gameboard, icons will light up to represent NAGIC are activated.
And when all icons light up, they will transform to beanstalk board (score board) and light up one LED each time (which refers to beanstalk grow up one step). And when one player light up all LEDs in beanstalk board, the screen will show “SKY” and game is over.
What will you design? What parts and systems will be made?¶
There are several sub-systems in this game, and each require different parts and design:
- Game map
- Map design (Laser cut)
- Player indicator design (CNC, Mold & cast)
- Score system
- Magic sensening area design (Input, Output)
- Magic sensor design (3D print)
- Scoreboard design (Laser cut, Output)
- Control/Communication design (Embedded programming, network communication)
- Function cards
- Card design (2D design)
- Player zone
- Energy indicator design (3D print)
- Relationship indicator design (3D print)
- Game process
- Start mechanism design (Input, Output, User interafce)
- Winning (end) mechanism design (Input, Output, User interafce)
Bill of materials¶
What materials and components will be used? How to get them? How much will they cost?
Qty | Material | Price(NT$) | Source | Usage |
---|---|---|---|---|
1 | MDF | 200 $ (40mm x 60mm)x3 | in lab | map, scoreboard, Relationship indicator |
1 | wax | 500 $ | in lab | Player indicator |
1 | Oomoo | 900 $ (a pair) | in lab | Player indicator |
1 | hardening agent | 21 $ | in lab | Player indicator |
1 | Resin | 75 $ | in lab | Player indicator |
1 | Copper tape | 300 (a bunch) $ | in lab | Magic sensening, Start mechanism design ], Winning (end) mechanism design |
2 | Neopixel(ws2812) | 420 $ | https://shopee.tw/%E7%8F%BE%E8%B2%A8%E3%80%90%E5%85%89%E8%8F%AF%E5%95%86%E5%A0%B4-%E5%88%A9%E6%98%87%E8%A1%8C%E3%80%915V-USB%E7%87%88%E6%A2%9D-ws2812B%E5%B9%BB%E5%BD%A9%E8%B7%91%E9%A6%AC%E7%87%88%E6%A2%9D-Arduino%E5%8F%AF%E7%B7%A8%E7%A8%8B-ARGB%E7%87%88%E6%A2%9D-%E8%97%8D%E8%8A%BD%E8%81%B2%E6%8E%A7%E7%87%88%E6%A2%9D-i.38600017.3631471695?sp_atk=16934fa6-dd7e-426e-8eaf-73ee8b0a7379&xptdk=16934fa6-dd7e-426e-8eaf-73ee8b0a7379 | Magic sensening, scoreboard |
1 | PLA | 0 $ | in lab | Magic sensor, Energy indicator |
2 | Atmega328P | 200 (for 1) $ | in lab | Control/Communication |
2 | 32pin socket | 27 (for 3) $ | https://shopee.tw/IC%E5%BA%A7-%E6%89%81%E8%85%B3-DIP8-14-16-18-20-40-IC%E6%8F%92%E5%BA%A7-i.8182302.121436991?sp_atk=27ed6fbd-c31c-4978-bf76-5cb30da16c95&xptdk=27ed6fbd-c31c-4978-bf76-5cb30da16c95 | Control/Communication |
2 | Btton | 0 $ | in lab | Control/Communication |
2 | o.1uf capacitor | 0 $ | in lab | Control/Communication |
2 | 1uf capacitor | 0 $ | in lab | Control/Communication |
2 | 10pf capacitor | 0 $ | in lab | Control/Communication |
2 | 16mhz crystal | 0 $ | in lab | Control/Communication |
2 | LED | 0 $ | in lab | Control/Communication |
2 | 1k resisror | 0 $ | in lab | Control/Communication |
2 | 10k resisror | 0 $ | in lab | Control/Communication |
2 | 5V regulator | 10 $ | in lab | Control/Communication |
4 | 1m resistor | 0 $ | in lab | Magic sensening |
1 | Solder | 0 $ | in lab | Control/Communication |
? | Pin header | 30 $ | in lab | Control/Communication |
? | Dupont wires | 55 $ | in lab | Control/Communication |
1 | tapes | 0 $ | in lab | Control/Communication |
1 | single core/multi core wires | 0 $ | in lab | Control/Communication |
2 | terminal wires | 35 $ | in lab | Control/Communication |
1 | USB power line | 0 $ | in lab | Control/Communication |
1 | Acrylic | 100 $ | in lab | map, scoreboard, magic sensing |
1 | White glue | 0 $ | at home | map, scoreboard, magic sensing |
1 | Spray paint can | 0 $ | in lab | map, scoreboard, Relationship indicator |
? | water color | 0 $ | at home | Relationship indicator |
? | chopstick | 0 $ | at home | Relationship indicator |
1 | LCD with I2C adapter | 98 $ | https://shopee.tw/product/139069730/2385089543?smtt=0.17101767-1654476668.9 | Start mechanism design, Winning (end) mechanism design |
4 | screw pair | 0 $ | in lab | Start mechanism design, Winning (end) mechanism design |
? | paper & printing | 99 (+200 for cutting) $ | photocopying shop | Card |
? | card sleeves | 0 $ | at home | Card |
1 | card box | 0 $ | at home | Card |
What processes will be used?¶
- Week2: computer-aided design
- Map design (finished by my sister)
- Scoreboard design
- Card design
- Player indicator design (finished in week09)
- Magic sensor design
- Energy indicator design
- Week3: computer-controlled cutting
- Map
- Scoreboard
- Card
- Week4: electronics production
- PCB for map
- PCB for scoreboard
- Week5: 3D scanning and printing
- Magic sensor
- Energy indicator
- Week6: electronics design
- PCB for map design
- PCB for scoreboard design
- Week7: computer-controlled machining
- Player indicator mold (finished in week09)
- Week8: embedded programming
- Programming PCB for map
- Programming PCB for scoreboard
- Week9: molding and casting
- Player indicator (finished in week09)
- Week10: output devices
- Neopixel
- LCD
- Week13: input devices
- Copper tape
- Week14: networking and communications
- Serial communication between PCBs
- Week15: interface and application programming
- Start mechanism, Winning (end) mechanism using copper tape / LCD
What questions need to be answered?¶
- How to transform a board game into interactive one but remain interpersonal connection?
- How to integrate physical part and electronic part, keep it portable and easily setup to play?
- How to decorate the game to make it attractive after rough design?
How will it be evaluated?¶
- Player can learn the “tap and magic” mechanism easily.
- Player can enter the fantasy world and enjoy role play with these interactive mechanism.
- Player can understand their goal through visualize scoreboard and being encouraged to win.
Dissemination plan¶
First, I planned to make a slide and a video. For anyone that is interested in my work, they can take a quick look in my slide about game compennents and features. And if they wants to see how it made and how it works, the video shows these in 1 minute.
Second, I posted my video in Youtube and also share this link in my Linkedin. If anyone interested in this game, they can click on the link and come to this site eventually. I also share my contact information in About page and they can email for further cooperation.
Future possibilities¶
My game is now merely qualified for being a Fab Academy final project but not a commercial product. I knew there’s lots of space to improve. And I have some ideas to make it better even after the class.
- Coloring MDF surface and make it more elaborate
- Upgrade PCB in game map to wireless and add battery
- Integrate game map with PCB and sensor area. (Refer to paper shredder that have a integrated lid and an empty box)
- Redesign scoreboard with a build in wireless PCB, battery, and integrate solid neopixel arrangement.
- Arrange space in box to sort all parts inside
With these improvements, my game may become more like a convenient, magical and delicate board game. My initial plan is to create a board game that delivers the concept of “habit cultivating” in a fun way. I believe that if people are born to love games, then using a gamification way to make our lives better is very useful and with lots of fun。 Therefore, if anyone love this game and there’s a chance to make it better, I’m glad to find partners and let the game benefits more people around the world!
Creative Commons (CC) license¶
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/.
Elf & Beanstalk 2.0 by Heng Chang is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://fabacademy.org/2022/labs/taipei/students/heng-chang/projects/final-project/.
Design spirals¶
Design journal documentation at: Project development
6/5: spiral1 results¶
6/12: spiral2 results¶
Demo playing videos¶
Game rulebook¶
Background story¶
Right after the news that Jack found treasure on the sky widespread (Jack and the Beanstalk) , 4 elves who are good at planting magic also want to go to the sky. They bought 4 beanstalk seeds and bet who can be the first one plant it up to the sky. The planting magic is simple, just need to do it every day and the beanstalk will keep growing. But these elves like hang out with each other to play more than planting, social always make them energetic. Who knows who is gonna insist till the last moment…?
Game Setup¶
For 4 players, place each player indicator on its hut. And give each player 1 turntable, 1 magic wand 3 energy tokens (1 round, 1 triangle, 1 square) and 2 cards.
Turn on 5V power (power bank) and choose game duration (7 or 14 rounds to win) and confirm.
Game process¶
Player wear the same color cloth as indicator will go first. And when he/she finish, go to the next player on his/her left hand.
Player turn:
- All player move 1 step on map
- Play cards to invite other players (maximum cards = 4-x, x = already accepted invitations from others).
- Get energy and do magic (see below)
- turn relationship turntable. Happy face (white) to the last player accept your invitation; Angry face (black) to the last player reject your invitation.
- draw 2 cards
How to get score¶
- Return 2 same energy tokens for 1 magic touch, maximum 3 times a turn for 1 triangle pair, 1 square pair, 1 circle pair.
- Play cards to get 1 energy for you and the one accept invitation. Trip will get triangle (camp), tea will get square (house), spa will get circle (pond).
- Exception for getting energy. Playground / relax will get 1 of any energy (choose from triangle, square, circle) for each player included
- Exception for getting energy. Visit get 1 from the one accept invitation and 1 energy different from it, and the one accept will do the same in his/her turn. (such as one get triangle from another, then he/she can only get another square or circle)
- Super Grow - 1 time each turn, when you and friend nearby your beanstalk and no enemy, you can play magic with only 1 energy. (but still limited by maximum 3 times a turn)
Card explanation¶
- When you play a card, you need to invite another player (except the one with “S : can go yourself”)
- Invitation is limited by distance on map, if number “1” means can only invite player on your neighbor grid.
- Happy face means special effect when you invite a player has “good relation” with you; Angry face means special effect when you invite a player has “bad relation” with you. (depends on relationship turntable)
- “stands on” means special effect if you stand on that grid when you play the card.
- If someone reject your invitation, you cannot keep inviting him/her.
- If someone accept your invitation, move both of your player indicators to the destination described on card. And place the card in front of him/her.
Code¶
All in one code with one PCB (convenient to bring out)
/*
*
* Elf & beanstalk: an interactive board game
*
* Chang Heng 2022/06/13
*
* Functions:
* sensing magic wand (Using CapacitiveSensor)
* light up LED (Using Adafruit_neopixel)
* Showing message on LCD (Using LiquidCrystal_I2C, Wire)
*
*
* How does it work:
* Show welcome words and instructions on LCD
* Sense 2 sensor to set winround to 7 or 14 (show words on LCD), and another sensor to confirm (show words on LCD), and then send the winround signal out
* Each time sensor is activated, LED change color from Red, Green, to Blue
* Every 3 times (Blue), grow beanstalk on corresponding position and show words on LCD
* Detect if game ends, show words on LCD and do rainbow special effect
*/
// LCD setting
#include <LiquidCrystal_I2C.h>
#include <Wire.h> // A4 (SDA), A5 (SCL)
#define LCD_ROWS 2; // LCD rows
#define LCD_COLS 16; // LCD columns
LiquidCrystal_I2C lcd(0x27, 16, 2);
// ...
// full code please download below, the page doesn’t allow to show all of them
Codes for using 2 PCBs to communicate (using fewer wires) - code for game map
/*
* Elf & beanstalk: an interactive board game
* Code for PCB on game map
*
* Chang Heng 2022/06/13
*
* Functions:
* sensing magic wand (Using CapacitiveSensor)
* light up LED (Using Adafruit_neopixel)
* sending winRound / beanstalk growing signal, receiving winning signal (SoftwareSerial)
* Showing message on LCD (Using LiquidCrystal_I2C, Wire)
*
*
* How does it work:
* Show welcome words and instructions on LCD
* Sense 2 sensor to set winround to 7 or 14 (show words on LCD), and another sensor to confirm (show words on LCD), and then send the winround signal out
* Each time sensor is activated, LED change color from Red, Green, to Blue
* Every 3 times (Blue), send signal out to grow beanstalk and show words on LCD
* When receive winning signal, show words on LCD
*/
// ...
// full code please download below, the page doesn’t allow to show all of them
- code for scoreboard
/*
* Elf & beanstalk: an interactive board game
* Code for PCB on score board
*
* Chang Heng 2022/06/13
*
* Libraries using:
* light up Neopixel (Using Adafruit_neopixel)
* Send & eceive signal (SoftwareSerial)
*
* Functions:
* Receiving winRound signal to determine how to light up Neopixel
* Receiving signal of magic activated and light up corresponding Noepixel
* Sending signal when one's winning
*/
// ...
// full code please download below, the page doesn’t allow to show all of them
Design files¶
Laser cut
- game map(star reference, sun reference, droplet reference)
- sensor_box
- scoreboard (beanstalk reference, cloud reference)
- turbtable
- magic wand
3D print