BeSpoke Speech needed a collection of speech therapy video games ported from Windows to the browser. They also needed a way to embed the games in a members-only area of their website. Our expertise in software development let us deliver the ports and game embed feature cost effectively.
BeSpoke Speech had several priorities that needed to be met:
- Controlling development costs of the ports.
- Controlling the cost of updating data used in the games on an ongoing basis.
- Ensuring good performance on the low-end hardware in school-issued Chromebooks.
- Games needed to be embeddable in a members-only area of their existing WordPress site. Additionally, the embed feature needed to have fullscreen capabilities on supporting browsers.
We evaluated the games to formulate a development strategy that would best meet the client’s needs.
Controlling development costs through code reuse and open source.
To meet the scope while staying within budget, we selected the Phaser 3 game framework. Phaser’s rich feature set meant that we could reduce development time. Its physics engine could meet performance targets on low-end hardware while still faithfully reproducing the games. And, unlike many game engines and frameworks, Phaser is open source with no licensing fees.
We also abstracted out the common functionality, game logic, and UI components into a custom framework. We reused the framework across the collection of games. Compared to the first port, the price of subsequent ports was cut in half.
Minimizing maintenance costs by giving power to the client.
Being able to swap out question data sets used in the games without a developer was an important feature. We added the ability to load a JSON data file so that the client could upload different sets of questions. To ensure that the games would always operate correctly, we added a validation module to alert the client to data entry errors in the JSON.
The custom game embed feature is fully integrated with WordPress. It can be added to any post or page through the WYSIWYG editor. This allows the client to embed games without a developer.