Slightly different take on the previous thread: Fortnite itself actually
is the future of programming! (Well, sorta.)
Shared-virtual-world games like Fortnite (and Minecraft before it) are successful primarily due to their status as digital social environments. In fact, these sorts of games are increasingly taking over the role of “third places”, or semi-public community hangout spaces (
https://medium.com/s/greatescape/fortnite-is-so-much-more-than-a-game-3ca829f389f4).
One of the big problems with these new digital third places is that they’re not open to improvement or modification by the people who spend their time there. The rules of Fortnite, and the map you play on, are determined by some distant corporation; even if everyone in a given player community would favor a certain adjustment to the rules, there’s no way for that community to implement their desired change short of petitioning the developers to implement it globally. Making digital third places approachably programmable from within would change this dynamic, while simultaneously giving a whole bunch of people both a motive and a means to learn to program.
We can look to MUDs as a key source of inspiration here. MUDs embody a tradition of allowing players to shape their shared digital world – including, in some cases, by scripting dynamic behaviors for NPCs and objects. Getting approachable scripting tools embedded in a widely used modern digital social environment would be a major coup in terms of giving users back some control over the digital spaces they inhabit.
Situating a “future of programming” vision in this context also suggests a particular focus on building tools that enable communities of novice user-programmers to collaborate, self-govern, and learn together. Empowering individual users to shape the environment is necessary but not sufficient; the real leverage will come from empowering small communities of people with varying levels of skill and interest.
You can maybe think of the end goal here as something like a community code-garden, where most users know just enough about how to program the environment that they can chip in to help improve it in small ways here and there. Meanwhile, a few informally designated “local experts” will sometimes step up to take the lead on larger-scale changes or improvements.
I keep meaning to write about this at greater length, but here’s a related Twitter thread I wrote when some of this stuff first clicked for me:
https://twitter.com/maxkreminski/status/1030838313429528576