A 2D solitaire game built for my mom in collaboration with my siblings that features classic solitaire mechanics and personalized cards showcasing important times in my mother's life.
Elissataire is a 2D solitaire game developed as a heartfelt gift for my mother, celebrating significant moments in her life through custom-designed playing cards. The game adheres to classic solitaire mechanics while incorporating personalized elements that make the experience unique and meaningful.
I was responsible for programming the core gameplay mechanics, including card shuffling, dealing, and movement logic. The game features a user-friendly interface with drag-and-drop functionality for moving cards between piles. It also utilizes a ScriptableObject deck system with easy swapping between personalized decks created by my siblings. We plan to update the game with additional decks in the future to further personalize the experience, as well as support for Spider Solitaire, Peaks Solitaire, and mobile platform support.
One of the main challenges was implementing the drag-and-drop functionality for card movement, ensuring that it felt intuitive and responsive. I had to carefully manage the card states and interactions to prevent illegal moves while providing visual feedback to the player.
Another challenge was designing the deck system to allow for easy swapping of personalized decks. I created a flexible ScriptableObject structure that could accommodate different card designs while maintaining consistent gameplay mechanics.
The game's architecture is built around a modular design, with separate classes handling different aspects of the game, such as card management, game state, and user input. This approach allows for easier maintenance and future expansions, such as adding new solitaire variants or additional personalized decks.
Elissataire was a rewarding project that allowed me to apply my programming skills in a meaningful way. I learned the importance of user experience in game design, particularly in creating intuitive controls and feedback mechanisms. The project also reinforced my understanding of modular code architecture, which will be beneficial for future game development endeavors.