Inspiration

I am a first-year Clark University Student from California. One thing I miss from home is playing mahjong with my friends. We used to play on and off school, at home, the park, holidays, weekends. To play mahjong, you need a physical set, including the tiles, the racks, the point sticks, and the table. There's a stage in life where it's hard to find a game with friends. I decided to make a mahjong app that lets you play from anywhere, in honor of those good times.

What it does

SinglePlayer Mahjong vs. 3 bots - Done Campaign Mahjong - In Progress Stats and Analysis on User Game Data - In Progress

How we built it

Using Unity Engine, I wrote a GameManager script that stores the tileset, shuffles and deals the tiles to the player and 3 bots. With the help of vector graphics from FluffyStuff, I was able to make interactive and dynamic tiles. I hurriedly added some UI elements in the end to help the user navigate.

Challenges we ran into

Lack of time: There wasn't enough time to learn so many elements of Unity Engine, and some features were on hold Lack of Playtesting: There are some bugs that occasionally happen caused by the lack of playtesting. Primitive AI: The AI currently only does basic functions, draw and discard a tile. For more advanced plays needs a more advanced algorithm. Basic UI: The UI was not polished, and need proper work Critical Bug: There's a "ghost" collider that prevents the player from discarding a tile in the second game. It is yet to be fixed.

Accomplishments that we're proud of

  • A fully functioning shuffle and dealing system
  • Correct implementation of the core game element, drawing and discarding
  • A functional AI that plays mahjong
  • An all-powerful GameManager

What we learned

  • Hands-on practice of what I learned in game design fundamentals and intro to computing
  • More knowledge on UI implementation
  • More knowledge on researching during development
  • More familiarity with Unity Engine's aspects

What's next for SoloMahjong

I will debug on my off-time and implement the anticipated features promptly. If I hit a roadblock, I will consult my game design or computer science professor. When it is at an satisfying state, I will publish it for anyone in the world to download and play.

Built With

Share this project:

Updates