Solitaire!

Over the weekend, we built out 4 different puzzle games based on the idea of moving cards!

Using Figma, we were able to put out a polished game during the short span of time of BostonHacks while also having lots of fun!

How Figma helped us

When playing the games, you may notice that each of the variant have its own unique look and mechanics to it. The layout and styling from game to game could be radically different too. At the start of the hackathon, we had a functional game but not so nice graphics; however, we managed to resolve this after learning how to use a new tool called Figma.

Our workflow was that we would play with the layout and coloring of cards and the backgrounds in Figma, then utilize that information and put it into the game. Because our game is made in C++ using a custom graphics engine we built, we had to do lots of configuration in order for the integration to be smooth. We believe that you would notice the small attention to details when playing the games, either it be the closing of the stacks or the different types of animations for the cards when it moves. Using Figma, we were able to visualize how different easing animations will be in the game and also what bezier curves will be like compared to the cubic splines.

Overall, we encourage you to play it at our desk table at the hackathon because it's a lot of fun! Also, it will help us notice bugs that we might have missed during the development of the game.

What we did, exactly

First of all, let us describe our motivation behind making the game(s). Coming to the hackathon, we know for sure we want to make something like a game in order to be cool. We also looked through different types of games, and eventually we settled on puzzles. When choosing solitaire, we realized that the ordinary solitaire that people used to play on their Windows machines are fine, but they aren't great. It's near the end of the year 2024, and we decided to enhance the puzzle genre of playing cards by making radically different variants of solitaire that we enjoy playing. We also hope that you, a potential player, would enjoy it too.

So, we spent a while playing through lots of solitaire apps, sipping through lots of ads, and after making this game, we think ours is not that far off from your solitaire from App Store. Despite the vast majority of games related to this type of puzzle, we find our art style to be distinct enough and our rule sets to be out of the water enough for a change.

This is the reason why we choose to do the Reimagine Reality track!

For the game, what we:

  • Made a custom solitaire game engine for the game.
  • Interfaced with your native libraries on either Windows (DirectSound) or Linux (PulseAudio) for audio.
  • Used OpenGL for GPU renderring.
  • Of course, Figma for the design and layout!
  • Before using Figma, we used Gimp for the editing of images.
  • Serialization system for automatic undo and save games.
  • Assets hot-reloading, this allows the other members who are art majors to easily make a change to the image and see it change immediately in the game.
  • Custom UI library for immediate-mode rendering.

Additionally, we:

  • Explored Boston, a little bit.
  • Ate lots of good food!
  • Got free swags.
  • Spoke to lots of great people!
  • Won a hat!

We still have some plans for the game after the hackathon, and they include

Plans

Our end goal is to make a nice product of the games combined, into a fictional operating system that boots up with several solitaire programs. This would make for a great narrative too if we plan to add any sort of back story to it later.

We also plan to port the game to the mobile platforms, just because already a lot of people have suggested that they would love to play these games on their phones.

We also would like to have a global histogram of some sort too, that is we would keep a server running and all the people playing the games will have their stats up to compete with each other within in OS system.

If you have any suggestions, feel free to email me at thuctd.tran(at)gmail.com!

Built With

Share this project:

Updates