Online multiplayer game with Java server and iOS/macOS client.
Based on classic board game (https://en.wikipedia.org/wiki/Chinese_checkers).
Created as university project for 'Programming technology' class.
Independed module which handles game-state manipulation and player interaction validation. Designed to be easily expandable with additional game-modes or board designs. Uses multiple design patterns like: Strategy, Builder, Observer etc.
Server was written in Java using Netty 4.x library.
It uses TCP Socket protocol for in game communication and HTTP for creating game sessions and listing available ones. Communication with clients is using JSON serialized message objects.
Programming Language:
- Java SE 8
Libraries used:
- Netty 4.x.x (https://github.com/netty/netty)
- gson 2.8.x (https://github.com/google/gson)
- log2j 2.x.x (https://github.com/apache/logging-log4j2)
Client is written for iOS platform (macOS version not yet optimized) using SpriteKit framework.
Programming Langugage:
- Swift 4.x
Libraries:
- SpriteKit
- CocoaAsyncSocket (https://github.com/robbiehanson/CocoaAsyncSocket)
- Alamofire (https://github.com/Alamofire/Alamofire)
- UI libs -> see podfile