Inspiration

I was thinking about how flashcards could be improved, as their regular, physical use is quite boring and repetitive. This inspired me to create an application that combined the real-world characteristics and learning methods of flashcards with a new, unique take that can make education fun and enjoyable.

What it does

The program allows the user to select a deck of flashcards, and a game to play them with (such as answering 25 questions, or remembering answers and recalling them later). New decks of cards can be created for various subjects (such as math, history, or language learning), and with some scripting knowledge, entirely new games can be created as well. There is also a daily streak system that encourages players to return and build up their memory with the flash cards they have previously studied.

How I built it

I build this using LOVE2D, which is a game engine that you program in Lua. Outside of a couple libraries and the engine itself, all of the gameplay and visual code was written by me.

Challenges I ran into

Getting the streak system to work was a challenge, and figuring out how to get the cards to move around in an attractive and entertaining way was by far the biggest hurdle of development.

Accomplishments that I'm proud of

  • The cards look very nice, and resemble real-life index cards.
  • It's easy to add new decks, and straightforward to create new games.
  • I am very proud of how I went from zero to this within one 12-hour session.

What I learned

  • Lua references are weird, and should be managed carefully (similar to memory management in C-like languages).
  • It's important to not focus on one thing for too long.
  • Education can be fun.

What's next for Card Shark

  • Improving the streak system, adding unlockables and incentives for players to work towards
  • Simpler scripting support for new cames, including some more default ones
  • More content, such as additional modes and formatting for the flashcards

Built With

Share this project:

Updates