Yu-Gi-Oh! Clone

After bringing my game engine Alchemy to a usable state, I decided to develop 2D game alongside it, complex enough to push the engine’s limits, especially for rendering and UI. I settled on making a project around the popular Yu-Gi-Oh! card game, a childhood favorite of mine. It’s great for developing techniques for working with text, shaders, UI elements, game mechanics, and networking. My ultimate goal for this project is to build a fun experience to share with my friends.

This project currently consists of a library and deck builder. Cards are rendered by their individual pieces, including the card frame, artwork, symbols, and text. Additionally, the text is formatted—including horizontal justification—on the fly. Data for hundreds of cards is stored in JSON5 format for easy editing, and a custom and lightweight JSON5 parser compiles the data to a binary format for up to 60x faster loading.

Features

Faithful Card Rendering

  • Cards look nearly identical to their physical counterparts.
  • See this blog post for details.
Monster Card Diagram

Card Library

  • View the library of hundreds of cards.
  • Select and save preferences for alternate card artworks.
  • Search, sort, and filter cards with many categories.

Deck Builder

  • Begin with classic starter decks such as Starter Deck: Yugi and Starter Deck: Kaiba, or start from scratch.
  • Use the same search, sort, and filter capabilities from the Card Library.
  • Each copy of a card has individually customizable artwork.