I helped develop the complex menu UI of guild system in Sdorica.


  • Complex state machine
  • UI animations or data downloading will be interrupted
  • Conflicts during development


  • Like VOEZ, we made use of MVC pattern and nested controllers.
  • Divide large operations into small jobs, then execute them sequencially. Therefore, interruptations are allowed between jobs.
  • There were several ways to resolve conflicts
    • Those who had modified components were responsible to fix bugs
    • Different teams had their own branches
    • We had two development branches, one is for active development, the other is for resolving conflicts

What I learnt

  • Collabration with colleagues and different teams (including artists)
  • “Monad” concept in functional programming

Project link: