AmbiScrabble Game for the iPhoneIn the context of the research conducted at the Software Languages Lab of the Vrije Universiteit Brussel (VUB) on how to provide linguistic symbiosis between Objective-C and (Mac)Scheme, my bachelor dissertation covered the development of a decentralized distributed Scrabble-like game for iOS. The goal of this dissertation was to validate the symbiosis constructs provided by the symbiosis layer and implement the game logic in MacScheme while preserving the Objective-C constructs for the GUI.
Most of the frameworks provided by the iOS SDK are based on the Objective-C language. This implies several limitations such as the need for explicit memory management (at least at that time), lack of support for higher-order functions and macros. By porting MacScheme -a Scheme interpreter- to the iPhone, an alternative programming language can be opted in order to overcome those limitations. MacScheme programs are capable of accessing the underlying iPhone API’s while still taking advantage of its powerful macro system and high-order functions. In literature, this is called linguistic symbiosis: two languages are in a linguistic symbiosis relationship if they can transparently invoke each other’s behavior and exchange data.
The AmbiScrabble game is based on Scrabble and operates in an ad-hoc network between multiple iPhones. As the game adheres to a peer-to-peer organization, players do not rely on a centralized server for game coordination. Players are organized in teams and work collaboratively in order to form words. Each player has a rack of letters and can request letters from team players in the surroundings. The team that first consumes all its letters wins.
This dissertation was conducted in the academic year 2009-2010. It was supervised by Elisa Gonzalez Boix and Engineer Bainomugisha. Below you can find the slides I presented during the defense of this dissertation. More information can also be found here.