A game DSL – goals
The first goal for this DSL was to get beyond the console-bound apps that we had been building. Something that could work in conjunction with a web-based UI would be good but ideally something that would allow a mobile app as the UI would be best.
We needed to build on the existing skills that the kids had acquired.
There would need to be a very simple interaction between the game logic on the one hand and the user interface on the other. The kids would need to be able, in time, to work on both aspects.
We used the Cloud9 online web-based IDE https://c9.io/. So we needed a solution that would run on a remote workspace. The mentors typically used a premium workspace account but the students worked on free accounts, which limited their VMs to 512 MB RAM and 1 GB disk. Ideally, we wanted to be able to run the environment and compile the DSL code on the student's free accounts.
Architecture and technology choices
We needed a user interface technology that would be familiar to the...