The Game Crafter

I'd like to see more people talk about their successes with Perl. I don't think we do a very good job of promoting successes. So while there are lots of great Perl apps out there, we as a community need to talk about them more. So I'll start, and I hope to hear more from you guys.

The Game Crafter is one that I'm very proud of. It's completely written in Modern Perl using Moose, DBIx::Class, Dancer, ElasticSearch, Image::Magick, and over 100 other modules, and deployed on Perl 5.12 (cuz 5.14 came out just before we launched it).

The Game Crafter is basically board and card games on demand. So if you design a game, we can help you publish it and sell it. I recently gave talks about it at YAPC::NA 2011 and MadMongers. We are featured in this month's issue of Battlespace Magazine and while we were at Gen Con (a convention of about 35,000 people) I had many occasions to tell people that we built it on Perl, and why. So it was a great marketing opportunity for TGC and Perl.

You can't call something a success without some measurables, so let me tell you a little about why I think TGC has been a success. We've been open for 2 years. In that time we've produced 10,000 games. On average people order 1.8 games with each order, and about half of our business is from repeat customers. We've been profitable every quarter except one, and we are growing at an average rate of 32% per quarter.

Our initial success was built on our quick and dirty web service created on top of WebGUI which is a Perl-based content management system. And we're betting our future success on a complete rewrite that we just released last month that is using all the stuff I listed above. While it would have been possible to build The Game Crafter in a language other than Perl, I don't think we would have been able to build it as quickly. Modern tools like Moose, DBIx::Class, and Dancer allow us to write less code, which ultimately means faster time to market and fewer bugs. In addition, the vast array of libraries like ElasticSearch and Image::Magick available from CPAN allowed us access to a whole world of tools with almost no effort. For all these reasons, I credit a large portion of our success to Perl and the Perl community.


Thanks for the post. It sounds very cool that you have produced 10k games! I will try this out.

Nice write up and thanks for sharing. How is the Envolve chat working for you? I just saw their mention on Hacker News yeaterday.

Now you only need to set up a production facility in Europe, so I can get my games without the rather horrendous shipping costs that are currently charged (not your fault, I know...). Than I wouldn't have to wait 6 months for feedback from game publishers.

Big thanks for your talk at YAPC about this too. On getting back home I gave a talk on YAPC to my .pm group. I think (and told them) that this was the single best talk for me. It was great to see how you built it from end to end.

I've heard it said that Perl hackers really love libraries. I know I do, but other communities write apps like we write CPAN dists. It's really great to see Game Crafter and Lacuna Expanse as an example of what can be done. Hopefully this inspires more of use to do the same.

Leave a comment

About JT Smith

user-pic My little part in the greater Perl world.