We're making Erase All Kittens, a web-based adventure game designed to inspire children aged 8-13 to code whilst equipping them with professional digital skills and knowledge of essential topics for the 21st Century (e.g. cybersecurity). Our mission is to give girls confidence in STEM and prepare them for 21st Century careers.
Integrate Coil into the EAK website
Design additional content for our website/promotional materials to inspire people to join the movement to promote diversity and inclusion on the internet through Web Monetization
Increase our traction / start earning revenue
Carry out further monetisation experiments - how to deliver, use, segment, and channel content, to parents
We're currently working on interactive dialogue and implementing the tutorials and hints - these will be integrated into the game in 3-4 weeks time and we'll then start beta-testing with students aged 8-12.
Early on in the project, our developers ran into several unexpected issues with integrating Coil into our existing game, which is why we asked for a 3 month extension.
Initial Fix on Old Website:
This was a long standing bug - where the game API was sending authentication cookies with eraseallkittens.com as the domain. Although the game authentication logic was looking for .eraseallkittens.com (note the dot prefix.) We implemented a DNS interceptor (using nginx on a new AWS server instance) that took the API calls, modified them to suit what the old game expected and re-sent them. This was deemed a more efficient solution than to modify the old game because of the very old and rare technology involved. This fix worked.
Issue with gameplay:
Players were reporting they were not able to progress through the entire (old) game - even though they were logged into the existing website. Players were finding they were logged out after a short period of play.
At a certain point in the game we check that the player is logged in and it was at this point where the authentication was failing. This had been working for a couple of months after a similar fix was applied to forward cookies from the API in the correct format. Just prior to these new reports we had also integrated Coil into the old website - another change that we suspected could have inadvertently broken something. The new development team at EAK were not particularly familiar with the legacy codebase (ASP4 for the website and LiveScript for the game) for both the website nor the game so debugging took longer.
Investigation and Fix on the new Issue:
Having integrated with Coil and fixed a similar issue 1 month ago (see above), we double-checked our previous code changes for both these and everything looked fine. Further investigations led us to inspect the HTTPS headers to the authentication API and we discovered that our Content Delivery Network (Cloudflare) had discontinued support for one of the three essential cookies that both our website and game were expecting to receive (__cfduid, eak-sess and eak-sess.sig).
We found that Cloudflare is deprecating the __cfduid cookie. They stated in a blog post: "Starting on 10 May 2021, we will stop adding a “Set-Cookie” header on all HTTP responses. The last __cfduid cookies will expire 30 days after that." https://blog.cloudflare.com/deprecating-cfduid-cookie/
So the real cause of the new issue turned out to be an external event - not Coil, not the old website, not the old game and not the nginx patch we did earlier. Tracing this through took quite a while as yet again, we were debugging an unfamiliar legacy codebase.
The legacy ASP server was hard-coded to expect 3 cookies back from the API server (__cfduid, eak-sess and eak-sess.sig) and now the API server is only sending back two cookies - which means authentication broke between the website and the game.
After a while we determined that the only way to fix the new issue was to modify the legacy ASP code since that was using the now non-existent cookie. We modified the authentication code on the website to stop looking for this depreciated cookie before granting the actual authentication cookie, tested it, and the the issue was resolved. Players can again sign into the website and be automatically signed into the game once again.
The legacy ASP website has a build and deploy process which involved the new EAK team running virtual servers just to make the modifications and perform the build and deploy which increased the round-trip timescales for development and testing.
The combined knowledge and experience of the three developers was employed to bring this fix about.
We designed website banners which can be seen at the top of the Erase All Kittens website, to encourage players to sign up using Coil - offering early access to our new game and our new illustrated storybook. The cost for registering with Coil ($5 per month) was initially displayed in the second banner but we removed this 2 weeks ago after receiving feedback from advisors with backgrounds in UX/UI and marketing. We kept the message very simple, focusing on our bonus content followed by "Join the Coil community and support creators like us!".
We published a blog post on Medium about our partnership with Coil and reposted this on our social media platforms, receiving approximately 200 views.
We didn't want to carry out further marketing and promotional activities until all development issues had been sorted, so we put this work on hold until these had been fixed.
We provided Coil with a document "Coil Integration - Summary of tasks and issues" consisting of detailed feedback from our development team and several advisors who had signed up to EAK using Coil. This included different ideas for UX and increased user adoption.
Our traction increased from 150,000 to 170,000 players globally, and EAK is now being used in 3200 schools in the UK and US. In 2020, our aim was to reach 500,000 players, however we found that this was unrealistic given that our main priorities were in the areas of fundraising and development. We plan to release the new version of EAK in 7-8 weeks time, selling to parents and schools initially in the UK and US.
Now that all of the issues on the development-side have been fixed and we've updated and optimised our online banners, we intend to focus solely on marketing and further monetisation experiments - how to deliver, use, segment, and channel content, to parents.
EAK is being featured in upcoming articles for Forbes and Mashable, and we'll be publicising our partnership with Coil - aiming to achieve 3000 sign ups by the end of this year.
We'd love to speak with more game makers who have partnered with Coil, to discuss opportunities and joint promotions to encourage more people to sign up.