OK, I'm half the presentation, and this is really astounding. Aren't you afraid that Plack/PSGI and StarMan are a bit too much on the bleeding edge for such a wide project? Will it scale? How many people did work on this?
Sorry, but I don't get it... you're saying Modern Perl, they're saying Modern Perl. What is it about?
They showed 2 classes in total, which look "normally" and the stack they're using. Does using cool modules count as "Modern Perl"? Their stack looks well understood / well designed, but that's it. They use a lot of new technologies, but there is nothing that makes me go "wow".
It's also ironic how they praise pngout (p. 57) for reducing image sizes, but publish 42MB presentation...
Not to criticise the project as a whole though - I love the idea of a client-independent server side and multiple interfaces for real time multiplayer. I was obsessed with that idea for a while and trying to do something similar one day - I'm amazed how they actually pulled it of. Great work there! Good organisation too with completing the web page in time for launch before everything else was completed - good first impressions...
Also, at the risk of sounding ironic I must ask -- you are really not aware of a web service called "Google" and its (many) competitors? Try e.g. this when you see unknown terms:
>>ironic how they praise pngout [...] publish 42MB presentation...
Ah, yes. Publishing a big pdf from a presentation do take away all points in the pdf about image sizes sent from a web server. [Edit: For the sleep/caffeine deprived: This was irony.]
Edit: OK viraptor, sorry for being sensitive.
Edit: After reading, what I miss is more discussion about how the game logic was implemented; for fun I've done 2/3 of a couple of board games' logic which literally was hundreds of pages each (which I should finish, sigh).
I know what it is, but they simply didn't show anything about it. It was thrown there like a buzz word and the parent post repeated / confirmed the phrase. So I'm puzzled about where does that Modern Perl exist in the presentation / why does it matter.
Re. size. I didn't say it takes away all the points. Simply, it's a funny thing. Just like telephony engineers getting dropped calls, abstract mathematicians making trivial addition mistakes, etc. They lower the size to make the experience better during the game, but at the same time make a huge presentation. That's all.
In my opinion, Modern Perl is anything that uses Moose or frameworks like CGI::Application or Catalyst AND has a clean OO/MVC structure. Meaning no more ugly things like bless() and ref()
What this means, is Perl becomes a proper MVC styled language like 'Ruby' or with its frameworks like 'Ruby on Rails.'
It matters because for years people complain about the scalability of perl when it comes to large projects due to it's 'hack syntax' nature.
With modern Perl, code is usually clean free of crazy syntax with a OO architecture where the base classes do most of the work (such as auto authentication, auto encoding/decoding, auto DB joins, etc.) and you do business/game logic in the upper modules.
Wow, I've been working on my own MMORPG (though I use Perl for all Admin stuff and SOME player stuff such as message retrieval.)
I certainly haven't achieved the level of completeness this guy has. (or is it a team?)
I'd imagine that it's somewhat slow though. I assume it keeps the connection open, but if it doesn't the JSON encoding/decoding can also be a penalty.
Same with using MySQL, you have to use a network socket, and possibly disk bound depending on how MySQL is set up.
In any case, using the JSON-RPC style is very clean and fast to develop, and I use it for my MVC web projects. PERL rocks!
Kudos!