Cards Against Humanity - Web Tabletop
Iceblaze4 Code and Eng DK30 Fall 2021 2 1
Description
I want to create a proof of concept for a digitally enriched tabletop experience. The game of choice for this is Cards Against Humanity as they do have a permissive license and I can focus more on the technical aspects instead of the game dev aspect.
Recent Updates
Day 1
I bootstrapped the project and created the room configuration form as well as the game view screen. The styling is pretty much non-existent for now other than some colors and position of elements.
I also added an option to join by QR for easy game sharing.
Screenshots
Room configuration screen
Game view screen where players can join
Game view screen once the game starts
About
I really liked how Sean described the difference between MtG and Hearthstone. Both are card games but with vastly different mechanics. Where Magic tries to replicate the physical game one to one, Hearthstone embraced a fully digital medium, allowing for mechanics that MtG can never implement.
This logic can be extended to board games as well, and there are many that have been implemented as online games, but most of the time developers try to replicate them one to one. I feel there is a lost opportunity by not creating games meant to be played in person, around the table, leveraging the power of TECHNOLOGY to our advantage. 🚀
Games in our pockets
With the advent of Kindle, reading has become a lot more accessible. Yes, you lose the “physicalness” of the book and showing off your collection to your peers is a lot less impressive without an entire bookcase filled with books. 📚
These days, almost everyone has a smart phone or a laptop with them. And with modern web technologies we can turn them into controllers or consoles by clicking a simple link.
Following are just a couple of benefits this can bring.
All the games!
When was the last time you carried more than 2-3 board game boxes with you? By having them on the web you can easily have your game library on you at all times.
Instant game setup
Even with simple games you still need to sort tokens, shuffle cards, prepare the board, etc. By having it all digitized the entire game setup can happen by pressing a single button.
Rules, rules, rules
As most tabletop games are very mechanics based, it’s important for everyone to understand the rules. This usually results in 20 minutes of one person skimming through the rulebook and trying to get all new players on the same page, most of the time overloading their brains in the process.
With more interactive tutorials, players can hop into the game and learn as they go, or easily reference things they are unsure about.
Game admin
Speaking of rules, a lot of them govern how the game should behave and interact with players, however most of the time this is managed by drawing random cards or complex subsystems determining how to update the board state.
With a more digital experience, all of this can happen automatically, without human error and most importantly enable mechanics that would be impossible in purely physical board game experience.
How does it look?
Imagine sitting with your friends at a bar, you get a sudden urge to play Cards Against Humanity, but nobody brought this 2lb (1kg) box with them so all is lost. 😭 But wait! 🤔 You know you can visit a link, create a game and send a link to your friends (or show them a QR code), instantly they can join the game and start playing. 🥳 The host can show the game state on a tablet or laptop in the middle of the table, or if you are lucky, you can even Cast or AirPlay it to a nearby TV for everyone to see.
Did you know the basic set of CaH has a little over 1k cards? With all the official packs we are looking at almost 6k cards and with unofficial ones we reach 31k, imagine carrying 60lb (30kg) just to play with all the cards, 😱 not to mention how unwieldy that would be. With a more digital experience you just select the sets you want to play and that’s all there is to it.
The moment you finish playing, just put your phones back into your pocket and that’s it, no need to sort the cards and put them back in boxes.
Accessibility
I am a strong proponent of digital accessibility and this is also the primary reason why I want to work on this project.
While a traditional board game may use dice, have nicely printed cards and magnificent board visuals, those are also the reasons why some people can’t play them. If you have disabilities like being deaf or hard of hearing, have impacted mobility, or if you are blind or color blind, you may become excluded, and that’s the exact opposite of what games are trying to achieve. 😕
By crafting these games as digital experiences we allow accessibility tools to help us out, suddenly cards in your hand can be read to you, using a screen reader, you can differentiate tokens in color-blind mode, rolling dice can be virtualized or you can zoom in on whatever you may need.
Not only that but you have the ability to create translations in an easier way compared to printed medium allowing you to reach out people whose primary language is not English. And speaking of reaching out, the cost for manufacturing a physical board game is often really high and profit margins really low, embracing a digital-first model can allow us to share games in scenarios we would never be able to otherwise.
To summarize
I really hope this project works as a proof of concept. I want to make everything open source for people to get inspired by and if anything from this project becomes helpful to even a single game developer I’d consider this project a success. ⭐️
Estimated Timeframe
Oct 19th - Nov 18th
Week 1 Goal
- [x] Bootstrap the project
- [x] Room options
- [x] Join room by QR code
- [x] Cast support (Phase 1)
- [ ] Game configuration screen
- [ ] Player view screen
Week 2 Goal
- [ ] Connect everything to data
- [ ] Style all screens to look like Cards Against Humanity
Week 3 Goal
- [ ] Accessibility tweaks
- [ ] Testing, finalizing, tweaking
Week 4 Goal
- [ ] Cast support (Phase 2)
- [ ] Custom Cast screen for larger devices