I eventually solved the problem I outlined in my previous post, though I’m still not fully satisfied with it. I wanted a really kind of random ordering to my questions but because MySQL returns them in ascending primary key order (which, in this case, is the question_id), there’s no good way to consistently serve them up in the same random order. So, fine, okay. The questions are still randomly selected, more or less, and then displayed in order according to question_id. Fine. I can live with that, even if I don’t love it.
So I got that working, uh, April … 19? So like, the day after my last entry. It wasn’t particularly hard so much as it was annoying. And it’s still somewhat annoying. But I’ll live.
What hung me up for a full week was what came next:
What to reward the player with after they pass the challenge?
For real, I was stumped.
So I thought about it. A lot. And I watched a lot of YouTube videos of game designers talking about things. They talked about being generous, they talked about player psychology, they talked about extrinsic and intrinsic motivation…
I finally did a real brainstorm. Like an honest-to-god, old-school brainstorm, the likes of which I rarely have done outside of elementary school, where I just wrote down everything I could think of on various pieces of paper. And this was the result.
Then, as if things weren’t tough enough, I also wanted a graduated reward system.
Let’s be honest, I’m asking people to answer 10 questions correctly in 60 seconds — including spelling. Even if you’re picking a category you’re super familiar with, you may not get all ten. In my testing, I usually got around 8/10 for most categories and I wrote the damn questions.
So I wanted to balance for the likelihood that people who pass the challenge get 6-8 questions right and if they get 9 or even 10, they should get something awesome.
Here’s how that turned out.
5 questions or fewer correct: BZZT! Sorry, please try again tomorrow.
6 questions correct:
- Visit from the Wise Water Spirit to encourage them
- Replenishment of energy
- The ability to continue down the river
7 or 8 questions correct:
- All of the above, plus…
- Moving a distance down the river, courtesy of the Wise Water Spirit
9 questions correct:
- All of the above, plus…
- Three Fire Opals. I won’t go into what these do specifically, but they’ll be a form of currency.
10 questions correct:
- All of the above, plus…
- A companion for your travels!
Listen, I was heavily influenced by the BBS games of my youth, okay? When I thought about my favourite moments from Legend of the Red Dragon, I thought about getting a horse that would extend your day. So I decided to incorporate a (temporary) companion for your travels if you manage to get ten questions right. The companion is a large turtle (tortoise? I’m calling it a turtle.) and will make your journey down the river more expeditious, shall we say. That said, at maintenance, the turtle can decide to leave you and go on his merry way. There will be a maximum number of days the turtle will accompany you, too.
The most fun bit is that, back in Grade 8, me and three of the girls in my class at school decided to get turtles and we’d take care of them in the school’s bio lab. My friend, V, named hers Tiny, I named mine Wriggles, another girl, J, named hers Hugo, and then F brought one of her turtles from home whose name was Ribbit.
There’s a very long story here in which J’s friend (and my future best friend, but I definitely didn’t like her at first), nearly killed all the turtles by mistake, but, frankly, that’s a story for another time…
Anyway, I decided that if I was adding a turtle, by golly, that turtle will have a name and there’s a random chance that its name will be either Tiny, Wriggles, Hugo or Ribbit. I’m ridiculously pleased by this. Not only am I adding something cool, but it’s meaningful to me personally because of the names and because of the concept coming from the coolest event in that old BBS game.
So I spent a lot of time modifying the database to ensure that it could handle all the things I needed to add — turtle stuff, Fire Opal stuff… Then, I had to start writing functions to ensure that the database changes happen based on the score you get. So I got that bit done tonight and then I got to start writing the encounter with the Wise Water Spirit, depending on your score, and did that tonight, too.
My code works, my text works (I used switch statements both for the code and for the text) and really, all that’s left is:
- make sure you can’t do the rapids again once you’ve done them
- add tasks to maintenance, such as turtle stuff
- make sure I offer the right options to players based on them passing or failing the challenge
- make sure I edit things to incorporate the possibility of a turtle and/or Fire Opals
Once I do all that (mayyyyybe on the weekend???), then I’ll be in good shape to actually launch the challenge. It’s gonna take a couple of hours to launch, for sure, because I have a lot of things to do to the database. Everything from adding category ID numbers (and adding 100 questions about Survivor!) to all the challenge-related tables. So much to do there, so there will certainly be some maintenance first, but we’re definitely getting close to the launch of the first challenge.
I suppose I should really start thinking about the second challenge… Oh boy.
Anyway, I should get some sleep. Hope you and yours are staying safe during this time!