Creating Lilt — Part 5
What Is Lilt?
While I feel that Lilt is very traditional in its gameplay, there is one advantage it has that past games lacked — the Internet. By building on top of Twitter’s API, I’ve been able to build a more social and cooperative text adventure than was previously possible. Players are able to see what their friends are doing in-game and give each other items. Eventually they may have to work together to solve puzzles, defeat enemies, complete missions, and so on.
A major part of Lilt that has not yet been fully explored is the ability for players themselves to add to Lilt. I have been listening to some Dungeons & Dragons podcasts lately (specifically The Adventure Zone), and I love the idea of letting the game grow organically through player exploration. I’ll go more into how I’m going to make this possible below, where I outline a new Twitter account I’ve created: @liltbuilder.
Why Twitter, Though?
Twitter has it’s limitations — the obvious one being the 140-character limit. While many text adventures seem to thrive on the ability to pile on the exposition, I’ve decided to embrace the forced brevity, and I believe Lilt is better for it. Being forced to say as much as possible in as few words as possible has lead to concise and clear responses from Lilt. That being said, Twitter has been easing up on this limitation, and therefore me, by the day.
For a few more reasons, I go into it a bit further in Part 1 of this series.
I made a lot of additions to Lilt since Creating Lilt — Part 4, including a few more Twitter accounts, refactoring, and other technical changes.
- @liltbuilder — I made a few major updates to Lilt, and this is one of them. This account has been given powers far beyond the normal player, including the ability to add new moves, responses, items, events, and more to Lilt. In fact, Builder is essentially able to communicate directly with the Lilt database through a protocol I built that translates tweets into PostgreSQL statements and queries. Builder’s tweets are processed before any player tweets, allowing me to catch any player moves I know won’t work. For example, if a player were to run into a forest (@familiarlilt run through the forest), and I’d never considered the possibility — I can choose to add it as an option right then (@player You run through the forest until you find a clearing. There, you meet a fox.). Once I’ve added it, the option is there for if/when any future players attempt to do the same. In this way, I hope to build Lilt organically, like a large-scale game of Dungeons & Dragons.
- @lilt_bird — This is just one example of a player-controlled in-game character. While this blue bird is a character in the game, it’s currently controlled entirely by me. I hope to eventually have many characters like this, some of which will either be controlled by myself, trusted friends, or may even be bots themselves.
- Lastly, Lilt underwent a major refactoring over the last couple weeks to make it easier for myself to manage and update when needed. I won’t get too deep into the weeds, but the main goal was for it to be easier to handle moves that called for a more complicated, algorithmically-generated response, such as ‘inventory,’ ‘delete me from Lilt,’ or ‘give @rrhoover an apple.’
While I’m excited to see where Lilt goes from here, I’m personally proud of what I’ve accomplished with it thus far. When I was first brainstorming about the game, I had no experience with bots, the Twitter API, or Python — and I doubt I had even heard of Heroku or PostgreSQL. I wasn’t sure if building Lilt how I wanted to build it would be technically possible. I’m glad to have gained the experience, and look forward to building a world with you and everyone else who gives Lilt a shot.