• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

The Coding Couple

Pair programming is a lifetime commitment.

  • Home
  • Categories
    • Arduino
    • JavaScript
    • Python
    • Raspberry Pi
  • About Us
    • Privacy Policy
  • Contact

Trijam #261 Game Jam Diary: One Wrong Move

April 16, 2024 by Ashley

We have big chess fans in the family so I’ve always wanted to incorporate a chess theme in a game jam. Trijam is a weekly game jam where the goal is to create a game within 3 hours of development time. Trijam’s 261st theme was a perfect fit with the theme: one wrong move. Try out it out here!

Animating gif with game play demo
“Famous Blunders” gameplay preview

The Game Idea

After a bit of brainstorming we came up with the idea of creating a game where your objective is to analyze a famous chess game and identify the blunder.

Our son loves chess. We asked him to create art for the chess game pieces and he happily obliged.

Hand drawn Black Queen
Black Queen drawn by our 9 year old

Initially we had a lofty goal have featuring 5 rounds, but due to time constraints the game only has two rounds featuring the matches from:

  • MrDodgy Invitational 2.0 with GM Adhiban Baskaran (white) vs GM David Navara (black)
  • Altibox Norway Chess with Alireza Firouzja (white) vs Magnus Carlson

The Implementation

The game was written with native JavaScript and HTML. You can find the source code for it here. To play the game, players will:

  1. Select a square with the game piece to move
  2. Select a destination square for the same game piece

The game play is a little clunky. Our original intent was to have the user drag and drop game pieces with logic in place for validating whether or not the drop occurred in a valid square. Unfortunately, due to the time constraints we opted for having the user click the to and from destinations.

Hints

We quickly realized, the game is also very challenging. Especially if you are not a regular chess player or have a passion for studying the game. We decided to add a “Reveal Hint” button for players that get stuck. Clicking the button will highlight the square containing the piece to move.

A Blunder of our own

How did this go unnoticed by us?! In our original implementation we got the grid pattern backwards (see gif preview). The square representing h1 was dark instead of light. This error has since been fixed.

Light is on the right!

Useful Resources

I like to log useful tutorial or forum posts that I encounter while working on a game jam. I will highlight them here:

  • Create checkered table rows and columns with CSS
  • Color Hunt Color Palette

Lessons Learned | Final Thoughts

Overall, we spent about 8 hours on the art and implementation for the game. It was fun creating an app using artwork by our child and it’s definitely something we could like to do again.

A hand drawn white rook
White rook drawn by our 9 year old

Converting the drawings from paper to something that could be used in the game was a little tedious. I could sped up the process with more proficiency in the art tools such as Procreate.

Related Posts

  • Pokémon Color Picker | A web app built with HTML/CSS + JavaScriptPokémon Color Picker | A web app built with HTML/CSS + JavaScript
  • Snow Globe Single DIV CSS Drawing with Animating Snowflakes | TutorialSnow Globe Single DIV CSS Drawing with Animating Snowflakes | Tutorial
  • CSS Magic with a Single DivCSS Magic with a Single Div
  • Surviving the Hackathon:  Ludum Dare 35Surviving the Hackathon: Ludum Dare 35
  • Fractions in Python | Today I LearnedFractions in Python | Today I Learned
  • JavaScript’s Null Coalescing Operator | Today I LearnedJavaScript’s Null Coalescing Operator | Today I Learned

Filed Under: Game Jams, HTML and CSS, JavaScript Tagged With: chess, game jam, html, javacript, trijam

Previous Post: « Using WSL on Corporate VPN
Next Post: Error: [🍍]: “getActivePinia()” was called but there was no active Pinia »

Primary Sidebar

Social Media

  • GitHub
  • Instagram
  • Twitter
  • YouTube

Recent Posts

  • Pokémon Color Picker | A web app built with HTML/CSS + JavaScript
  • Pokéball Single DIV CSS Drawing | Tutorial
  • Error: [🍍]: “getActivePinia()” was called but there was no active Pinia
  • Trijam #261 Game Jam Diary: One Wrong Move
  • Using WSL on Corporate VPN

Recent Comments

  • Lizzy on Creation Crate Month 2: An Arduino Powered Memory Game
  • Ashley Grenon on Creation Crate Month 2: An Arduino Powered Memory Game
  • Lizzy on Creation Crate Month 2: An Arduino Powered Memory Game
  • kelly on Creation Crate Month 2: An Arduino Powered Memory Game
  • Ashley on Creation Crate Month 3: An Arduino Powered Distance Detector

Follow us on Instagram!

This error message is only visible to WordPress admins

Error: No feed found.

Please go to the Instagram Feed settings page to create a feed.

Categories

  • Arduino
  • Conferences
  • Debugging
  • Game Jams
  • HTML and CSS
  • JavaScript
  • Programming Languages
  • Python
  • Raspberry Pi
  • Today I Learned

Archives

  • May 2024
  • April 2024
  • March 2024
  • May 2022
  • December 2021
  • May 2021
  • March 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • June 2019
  • April 2019
  • September 2017
  • April 2017
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • April 2015
  • January 2015

Tags

adafruit arduino brackets c# code smell codestock coding standards conventions creation crate debugging developer devspace electronics es6 es2015 game development game jam gotcha hackathon hoisting html html5 javascript led naming conventions nintendo phaser pluralsight pokemon programmer python raspberry pi retro retropie scope self improvement single div single div drawing subscription box TIL today I learned troubleshooting vue vuejs windbg

Footer

About Us

We are the Coding Couple.  Two people who met in college and decided they wanted to pair program for the rest of their ...

Read More »

Most Recent Posts

Pokémon Color Picker | A web app built with HTML/CSS + JavaScript

Pokéball Single DIV CSS Drawing | Tutorial

Error: [🍍]: “getActivePinia()” was called but there was no active Pinia

Trijam #261 Game Jam Diary: One Wrong Move

Social Media

  • GitHub
  • Instagram
  • Twitter
  • YouTube

Copyright Notice

© The Coding Couple, 2015 – 2023. Excerpts and links may be used, provided that full and clear credit is given to The Coding Couple with appropriate and specific direction to the original content.

Copyright © 2025 · Foodie Pro Theme by Shay Bocks · Built on the Genesis Framework · Powered by WordPress