Chris Crawford vs. the Dragon

In the July issue of PragPub:

Chris Crawford was at one point the best-known computer game developer on the planet. That was back when he was training game developers at Atari under Alan Kay, launching and running the Game Developers Conference, editing and writing much of The Journal of Computer Game Design, writing The Art of Computer Game Design, and collecting royalties on best-selling games like Balance of Power.

Then one day he gave a famous speech that ended with his drawing a sword and running out of the room shouting “Charge!” and never returning. He was off to fight the dragon. From that point on he dedicated himself to the quixotic quest to create a new kind of computer game, a new approach that didn’t glorify combat and small-muscle skills, that was built around realistic human emotions and interactions.

He’s still at it, and he recently released a tool that he thinks might be a key component of that new kind of software. It’s an editor for character interactions. It’s fun to play with, and it suggests interesting applications. Chris sees his new kind of game as more than entertainment: it’s interactive storytelling, it’s sales training, it’s a new category of software. Or it will be, if he manages to slay that dragon. This month we report on his quest and this new tool for editing interactions.

Also in this fat July issue of PragPub are an entertaining and rich essay on floating-point gotchas by Jim Bonang, the final wrap-up of Mark Pearl’s series on Mob Programming, the latest in Venkat Subramaniam’s series on refactoring to functional style in Java 8 (this time focusing on the Execute Around Method pattern), and Erica Sadun on new capabilities and tricks in Swift.

Of course columnists Marcus Blankenship, Johanna Rothman, Antonio Cangiano, and John Shade contribute to the issue, your editor shares some tech news, and there’s a bit of advice on writing from Derek Sivers.

I hope you enjoy it!

My New Book on Functional Programming

Functional programming is on the rise because it lets you write simpler, cleaner code, and its emphasis on immutability makes it ideal for maximizing the benefits of multiple cores and distributed solutions. So far nobody’s invented the perfect functional language—each has its unique strengths. In Functional Programming: A PragPub Anthology, you’ll investigate the philosophies, tools, and idioms of five different functional programming languages.

See how Swift, the development language for iOS, encourages you to build highly scalable apps using functional techniques like map and reduce. Discover how Scala allows you to transition gently but deeply into functional programming without losing the benefits of the JVM, while with Lisp-based Clojure, you can plunge fully into the functional style. Learn about advanced functional concepts in Haskell, a pure functional language making powerful use of the type system with type inference and type classes. And see how functional programming is becoming more elegant and friendly with Elixir, a new functional language built on the powerful Erlang base.

The industry has been embracing functional programming more and more, driven by the need for concurrency and parallelism. This collection of articles will lead you to mastering the functional approach to problem solving. So put on your explorer’s hat and prepare to be surprised. The goal of exploration is always discovery.

Here’s more about the book.