Ashoub is an online multiplayer and story-based Collectible Card Game developed for mobile platforms, including iOS and Android. The game features real-time multiplayer gameplay, social interactions, and an epic story based in the fantasy world of Adon.
It has been developed by Arna Game Division using Unity3D game engine and uses Adon technology as its server side backend.
I was the lead programmer of this project and did the following:
- Directed the development of Adon, a backend and networking technology to develop multiplayer online games, currently used internally by our dev team in 4 different game projects
- Designed the high-level software architecture based on service-oriented architecture especially virtual actor model
- Designed the roadmap and led a team of 4 programmers, each developing using a different programming language (C/Assembly, C#, Java, Python, and PHP) with different design goals (performance, development speed, security, and reliability)
- Implemented mid-tier functionalities in C# heavily using asynchronous model
- Implemented a high performance distributed scheduling service using Quartz
- Designed a multi-language virtual actor model framework, implemented the inter-service message passing protocol, using a mix of Google Protobuf and shared memory for data passing, and a high-performance message router using both IPC and AMQP
- Developed an offline-first solution using a NoSQL embedded database, and multi-layer caching and synchronisation
- Developed window management for the UI, and implemented an asynchronous resource management system supporting virtual views in the MVVM pattern
- Implemented dynamic shadow and ambient occlusion solution for game cards, based on spherical harmonics exponentiation