Open Source Cross-Platform Game Programming

Project Gengo

Post by Blake
I'd like to introduce Project Gengo, my attempt to translate Crayon into other non-English spoken languages. I've talked quite a bit about this to many of you in person and have even given a few tech talks on this (and a quick shout-out to my next tech talk coming up on February 6th in Tokyo), but it occurred to me that I hadn't posted any information online outside of the code repository.

Whenever I talk about translating Crayon, I usually start by asking my audience what the first language is that people learn when they're interested in learning programming. Usual answers are Python or JavaScript. But the first language many first-time programmers must first tackle is English. While it's generally not necessary to become fluent, having to make sense of core libraries or even third party libraries is a pretty big hurdle for the non-English speaking world. Furthermore, with the rising movement of computer programming being taught in schools at an early age, I think this is a problem worth tackling.

While non-English programming languages are nothing new, they are generally designed exclusively for that particular language, which creates an isolation problem. Project Gengo is more than just creating versions of Crayon for other languages, but rather creating a unified ecosystem. My vision is that code can be written in any language, but still leverage the resources and libraries that may be written in other languages, and ultimately hopefully reducing the barrier of entry into programming.

Crayon was always designed to be easy for users. Whether that's learning programming for the first time, getting a window to open with a blue rectangle on the screen, or getting a game in front of users without needing to learn a lot of framework-specific boilerplate, every design decision has been based on whether it makes things easier. At the same time, I'd like to maintain Crayon's identity as a full-fledged real programming language without being a toy language or a game-maker. My hope is that Project Gengo is pushing this philosophy forward by reducing one of the major hurdles to programming that has been hiding in plain sight.

I've created a page for Project Gengo that gives more technical information about what exactly it is I'm doing and how, BUT more importantly there's an extensive guide on how you can help, if you feel inclined. I'm looking for all sorts of help, obviously including translations, but also appreciate just regular English users using (and breaking) Crayon and reporting bugs, since stability is good for everyone.

If you are thinking about using Crayon in some sort of educational environment, the bad news is that this is still in the very turbulent early stages, but I'd definitely still love to hear from you and learn about what your use cases are.

If you're interested, please give it a try!

Happy Programming!
No comments yet.