If you’ve been following my Escape the Castle posts as of late, you’ll know that I’m taking a course in how to build an RPG Chatbot with James Burchill. If you’ve been following me longer than that, you’ll know that I love his stuff and he has been a big supporter of mine since I met him in 2012. I wrote a Follow Friday post on him a few years ago and I figured it was time to update it. He has done a lot for me, especially when I started my company and wanted to show my support for him. He has always taken my calls and has always listened to my ramblings. For those that have heard some of these ramblings, you must know then that he must be a saint to sit through those conversations.
I met James just over nine years ago at his first Social Fusion Network meetup in Burlington, only a week after I moved to Hamilton. Since then he has been helping small businesses with networking, marketing and doing it all for free. His Social Fusion Network events were all over Southern Ontario and not only helped the small businesses meet each other but also gave the venues a full house when they weren’t busy.
He also gave of his time to help our students at Sheridan College, coming to speak to them and spreading the word when we needed clients for our Capstone Course. He didn’t hold back, usually giving our students his entire plan for his marketing funnel and deep discounts for his courses, which range from teaching Evernote and Scrivener to building your own course.
Lately, James has developed a number of courses on Chatbots and is a co-founder of ChatBot Forge. He’s been running a workshop on building an RPG using chatbots (FOR FREE) and I’ve been absolutely loving it. It has revived my love of coding, even though there is no coding involved. It’s making me think in containers and variables again while giving it the creative edge that I really enjoy. I’ve wanted to build a text-based game for quite a while but hadn’t considered writing it in a chatbot. This not only helps me understand how chatbots work but gives me a portfolio piece that I can use to show potential clients.
His YouTube segment, SmartCar Coffee Confidential, became very popular before the pandemic started and was even picked up by the local television station. In it, he interviews small business owners about their business while driving around in his Smartcar and drinking coffee. He even interviewed candidates in the last municipal election.
But as many of us know, no good deed goes unpunished.
He has recently been named in a lawsuit and has to mount a defence. I have personally donated to his campaign and wanted to share it in the hopes that he will make his goal. These types of ridiculous lawsuits should never be allowed in court, but unfortunately, if it goes unanswered, there will be a default judgement against him.
While the purpose of this post is to increase the donations to his campaign, you could also go and purchase one of his courses so that he has the money to mount a defence. I’m sure that he could come up with the money, but he has done so much for the community that I felt that I needed to do something about it. Please donate if you can or buy one of James’s Courses
And of course, you can always follow him on Twitter @jamesburchill.
I’ve decided to sum up my experiences by week hereafter instead of by day since there are some days that I just spend a couple of minutes on things and others I spend hours.
I wrote Day 1, which was more about my first weekend (since our first session was on a Friday), so I won’t bore you with those details.
The Story So Far
After that first weekend, my programmer’s head started to kick in and I was posting regularly in the FB Group, either giving people an idea of what I was doing or helping others, many of whom don’t have a programming background.
Let me be clear: having a programming background has nothing to do with the language in which you write. Most of what I’m writing is pure text (or pseudo-code). I’m focussing more on the story itself, rather than the coding side of it. This whole project is more like a “project management” thing than a “programming” thing. It requires knowing what are pieces are necessary to get a thing done. And that thing that needs to get done is the goal of your game. In my case, the goal is to escape the castle. You need to know the critical path that the player has to follow; the pieces that are absolutely necessary to get the job done, or the “milestones”. How you get each of those might be different. You might be able to find these things out of order or in order. Is one milestone dependent upon finding the previous one? This is a lot about asking questions and maintaining scope. This, I can handle.
For inspiration, I decided to revisit and finally complete two courses:
The Chatbotist course on Udemy. This put my programmer hat back on.
The Masterclass with Neil Gaiman, who is one of my favourite authors, that I met many years ago when I worked at a comic store in Toronto.
Neil signing my poster
I had started the Chatbot course last year and when I went into starting my business, I put it on the shelf for a bit to get to the heart of what I was doing. There wasn’t too much of it left, and it had been on my list forever. I finally got through the remaining courses and felt great crossing something off my list that had lingered for so long and had felt guilty about not finishing.
Same with the course with Neil Gaiman on Masterclass. I have never been much of a writer myself and relied on others to run some of our RPG campaigns. I had made a goal for myself to do a little of Masterclass every weekend, probably on a Sunday, just for fun and to broaden my horizons. I started this course for NaNoWriMo and never finished it, though I did get through 15,000 words, which was more than I’d ever done before, so yay me. It was really great watching him talking about his comic creation process when looking at my own physical copy that I had him autograph all those years ago. There’s something really inspiring about that connection that drove me to write even more.
In creating this game, I needed some level of creativity and come up with a character that someone could play. I started picturing Neil Gaiman, or someone like him. This person could be me, but also in a particular time frame, so as to remove some of the hypotheticals that might ruin the story of the game. Yesterday, I sat down and wrote the opening script of the story. Not the instructions, but the story. These are very different pieces. Using Scrivener for this project, while it has some limitations, has been one of the biggest ways that my imagination has been able to grow. Setting targets (while completely arbitrary) and figuring out why in a given template that my targets weren’t being fulfilled (look up compiling and drafts for Scrivener, which will help a great deal). Since I was using a template created by someone else, I had to move a bunch of stuff around yesterday, but it was getting over that hurdle, and then the next, and the next, that has been absolutely amazing. The fire within me has been ignited and now, I don’t know how I’ll be able to stop.
Scope
Stopping. While this is a painful thing, this will eventually come. While I want to write the whole damn thing, I have to start small. For example, I’ve decided that during this course, my goal was to come up with at least the first level of the game. I don’t have to write the whole thing, since at the moment, no one is paying me to write this thing. But I am learning so much from this and it is doing three things for me:
Encouraging my programming life to get back into my head
Learning about a potential product that I can offer in my business
Tapping into a creative part of my soul that I never thought existed in any meaningful way, both by:
Gaming
Creative writing
For once, many of my fun goals are coming together and giving me something that I’m inspired to do. This is also getting those quick wins so I move on to more of them. I was debating keeping my Masterclass membership when it comes up for renewal, but now, I think I might keep it, because this may not be my first writing expedition after this.
From a business perspective, if I was to realease this as an actual game, I could easily release the first level as a free play, even pre-launch, game and depending on interest, determine whether or not to continue it. It might even help me trouble shoot it, launching as a beta and not only building a mailing list, but also gaining potential clients who want their own bots, which is the purpose of doing this project. If I can build a project like this using a chatbot, imagine what I can do for your business!
Jigsaw Puzzles
I know that a lot of people have been finding a lot of fun in jigsaw puzzles, but I haven’t really had a fondness for them. However, my mom and our neighbour swapped a couple of new ones the other day that have peeked my interest and now, when I go up to make tea or similar, I take a few minutes to put a few of the pieces together. I look at it as a part of my own puzzle of this RPG Chatbot being put together and sparks my creative juices as well.
Data Source
As you may recall, dear reader, I’m using AirTable to gather all of my data, instead of Google Sheets which will easily plug into ManyChat, which James is using in his course. I’ve moved beyond just the location table to add objects and characters. While they are only in the beginning stages, I’ve started drawing relationships, based on James’s last lesson to determine which objects belong where and which ones are required to win the game. This exercise has also given me, along with my conversation with a fellow member of the FB Group, a better idea of my scope and critical path. What is the minimum required to win the game? What is the shortest path necessary to get there? I’ve laid these out in a separate document in Scrivener and these have also led me to write the script that I so wonderfully eluded to at the beginning of this post.
Going Forward
MasterClass
As a side note, one of the courses that I need to finish before my membership is up on Masterclass is the one with Penn & Teller. Need to purchase a couple of items on the supply list before I do, but this has got to be done before my time as up. But, given that this is a writing project (mostly) for me, I’m going to continue on my writing expedition with a course from David Baldacci, “Teaches Mystery and Thriller Writing”, which has always been one of my favourites. I’m using this as a kind of playlist in the background. Some might think this is distracting, but in fact, it’s a motivator. I’ve written more words today than I ever have and I still have the energy to write more.
Spotify
Something I started last week, but haven’t finished as yet is my Spotify play list. Hoping to add some more to that so when I’m doing actual work during the week, I’m not watching as much video and it will focus me more. You might want to give this a try, since I’ve heard so much about using music as a focussing agent, whether it be for creative writing or coding. In many ways, they are very much alike.
My Biggest Challenge
I need a lot of structure, so know that this will be built into the game I build greatly. There will be very few holes, which can sometimes be a big problem to launch a thing. This is where I would have trouble running a campaign as a game master. If the players don’t do what I expect them to do, I would falter greatly and just put them back on the right path because that’s where they are supposed to go.
This speaks a lot to my perfectionism. I know, coming from me that sounds really bizarre, but it is also causing the “failure to launch”, that I’ve had even in my own business as of late. Completing these smaller things has really driven me to get other things done, and get over some of my imposter syndromes thinking that I can’t do anything right. Maybe I can. So I guess you could say that my biggest challenge, is me. Now I just need to get out of my own way, or some might say “get out of my own head” and get this done.
Last but not least, I should mention that poster that Neil is signing is on my wall even today.
I’ve signed up for James Burchill’s workshop, RPG Chatbot, based on his amazing Chatbotist courses. If you haven’t seen them, you should really check them out. I thought I’d document my own journey and get back into the habit of writing blog posts on a regular basis, as well as demonstrate how I’m using this course to reignite my joy of programming and RPG’s.
Here are some of the things I’ve done since the end of the workshop on Friday to prepare for this course:
Created an AirTable based on the “Location Scouting” template
Downloaded all of the assets from the realtor website for the Castle, including floor plans. (Going to contact them before I use them for anything, if at all)
Researched Scrivener project templates for RPG’s and World Builders.
This stuff took me most of the day, but choosing the right system that can handle most of what I need it to do is key. Yes, I may overthink this, but I will spend far more time upscaling to something more complex if I don’t overkill it from the beginning. Easier to scale down for me.
I’ve decicided to use Ravenscliffe Castle here in Hamilton as a basis for my story. We are going to do a fairly simple “escape” type game, so I don’t have to worry too much about an entire world, but I looked into it anyway for future, and more for writing the story’s background. I was reminded of a video game that I played in the late 90’s called “D” which was the story of a woman looking for her father who was lost in a mansion style house. This would be great for an escape room type game. It does provide a lot of constraints, but as a first run, it makes a lot of sense.
It so happens the house is actually for sale right now, so getting photos and floor plans right now were very easy to attain. There’s now even a Twitter account for this castle!
In Scrivener, I’m using a project template that I found for a a role-playing game. Many of the standard template pieces are still in here, with some exceptions and I’ve made some adjustments.
Firstly, I had to restore the template folder that is typical in most projects. I expect that I will add to this, but for now, there are two templates:
Character Sketch
Setting Sketch
I’ll use the first one for both the protaganist (player character or PC) and the non-player characters (NPC’s). The setting sketch might be a combination of the floor plans, photos of the rooms and the understanding of what might happen there. This could also include what has been identified as a location ID (LOCID) in the course which references a particlar spot on a map. James suggested that if dealing with a house (such as mine) that each room could be a single LOCID. The recommendation is to go with an 8×8 grid (no more than a 64 square map), which is reasonable. I might go a little higher if needed. If I need to breakdown a room itself further, then I can do that too. The original idea was to use spreadsheets to generate the actual story pieces of a game, while a framework engine only needs to be created once. Then all that needs to happen is the spreadsheet can be replaced from one game to another. By using something like AirTable, I can add tags to each of the records, without necessarily dedicating a specific field to a record, making it required or not. For example, if each room is represented by a single LOCID, then I can add tags to each of them to denote which floor they are on. It has also been recommended that we stick to a single floor, but again, I have a bit more experience in role playing games and possibly a little more experince in coding and data structures than most of the students in the course, so I’m going to start with what is recommended, but choosing a tool like AirTable, makes it really easy to scale this up later, especially if I want to use the entire house, or break down each room into multiple LOCID’s. Maybe I use a LOCID for the dresser which has a jewellery box on it. The possibilities are endless and I can link records in AirTable, rather than just a row in a spreadsheet. There is apparently also an AirTable to ManyChat integration coming soon, which would really make this handy. Alternatively, Microsoft has a bot framework as well.
As a quick side note, I’ve been practicing at building houses in the Sims game and I think I might end up building this one.
Started digging into the story itself and exploring the conflict of the characters, coming up with names, backgrounds, relationships. Driving in the car with music blasting definitely helped. One song that really hit home was “Touched” by VAST. Currently building my playlist on Spotify.
On an organizational front, one of the pieces that was really cool to find out about Scrivener is that you can link documents really easily, by using {{ and }} around a particular part of text. I find that as I write, jumping around to different pieces in the project are really helping a lot. But then one wonders how to connect them? This is how it’s done. Helps with the ‘wiki’ kind of idea within your project.
Lastly, since I have the floor plans, I have mapped the location ID’s to each room that I intend to use. Again, I’m going to contact the owner, etc., to gain permission before I make any of that stuff public. For now, I’m just going to use a single shot of the castle, and credit it.
Approximate time spent so far: 18 hours. This includes all the rabbit holes, the setup the project, and more. A lot of this was duplication and playing around, figuring out which tools to use, etc., but damn it’s fun!