News:The Road Ahead (25-Nov-2020)
Hi everyone! There's been a lot of talk recently about what PMQ can do and where it's headed, so I figured I'd lay out my thoughts and plans here.
First of all, let me say that I am thrilled to see so much sudden interest in PMQ! At this point last week, I had resigned myself to the fact that I couldn't find an audience for this addon. I had decided to cut my losses and move on to other projects. But since this past Saturday, we have more than doubled the size of the Discord (from 16 to
39 41 users, +2 more while writing this post!) and have almost surpassed our download record with the version that was published just 4 days ago. Huge thanks to Discord user Zer0limit for making the initial push to get the word out!
It's been a long journey to get the addon up to where it is right now, but we still have a long way to go to make a truly awesome questing experience. I love all the discussion that's been happening on Discord over the past few days regarding what people want to see in the addon. Keep the ideas flowing, and thanks again for testing! Now, let me talk about what I'd like to prioritize over the next few months...
I've seen a lot of interest in the concept of quest rewards. It's something that's been on my mind for a long time as well - how can we make quests "worth doing"? As you might expect, you can't make an addon just generate in-game gold or items out of thin air - that would be a little bit broken. I've thought of a number of ways you could make a quest feel rewarding without actually rewarding anything, such as allowing quest makers to create...
- Fake-items that get saved to a fake-inventory in PMQ
- Custom reputations that PMQ could track
- Custom emblems or titles that could be showed off between PMQ users
And while all of these sound fun, they have two major drawbacks that kept them firmly in the class of "not a priority yet":
- They would take a lot of work to implement in a user-friendly way
- They could easily be cheesed if someone wants to make their own quest to give their character fast rewards
But recently, some users in Discord came up with this amazingly simple idea: trade another player to receive a real quest reward. That makes... a lot of sense! (seriously, why didn't I think of that?) And it's far easier to develop than any of the other ideas. You can see a mockup to the right showing what that might look like in the quest dialog window.
So, here's my proposal - the initial Rewards system in PMQ will allow you to specify the following on any quest:
- Any amount of money
- Any number of items (an in-game itemID and a quantity for each item)
- The name of a player to trade to receive the reward(s)
This would also include some way for the reward giver to know whether or not the player has actually completed the quest. Currently, the quest author and sharer are notified when someone completes a quest they wrote or shared, but after that there is no visibility into other players' quest completions. I'm still unsure of the best way to implement this, so let me know on Discord if you have any good ideas.
With all that said, I'd like take on this feature as my next project and deliver it in some form in December 2020.
Objective: Casting a spell
PMQ currently supports a few different quest objectives that I considered essential to writing fun quests. Things like gaining/equipping items, killing enemies, and using emotes can all currently be used as objectives in your quests. But there was one objective that didn't make the cut when I previously added the core objectives to PMQ: casting spells.
I'd like to revisit this and add support for a
cast-spell objective that would support many of the parameters you can already use with other objectives. Maybe you're an awful person and want to make a Horde mage cast Frostbolt on 3 different Stormwind Guards in Goldshire while having the Mother's Milk debuff? Please come up with better ideas, I've spent too much time in Goldshire this year.
Also, this would not be limited to just combat spells. Simple actions like disenchanting and using your Hearthstone are considered spell casts by the WoW client, so they would also be compatible with this objective. Anyway, I think I could probably have this out in January 2021.
By the way, the quest objective system in PMQ is highly modular and can quickly hook into any game events that are accessible by addons. If you have an idea for a cool quest objective, hit me up and let's see if we can make it work!
The Problem of Quest Discovery
In my opinion, one of PMQ's biggest weaknesses right now is this: as a player, it's pretty hard to actually find quests to do. Part of this is due to the small (but dedicated!) user base, which makes plenty of sense - with more players, there will eventually be more quests to do. But even with more players writing quests, actually sharing those quests out is a bit cumbersome right now.
I'd like to take some time to focus on two features that I think would greatly help with getting quests "out there" in the world.
The first feature would be scanning for quests in the background as you play the game. This would have two major components:
- As a quest author, you would be able to define sharing settings for your quests. By default, your quests would be private (only shared on-demand), but you could opt to automatically share them publicly, with just your guild, just party members, etc. If you enable sharing, they would be shared out in the background with other players (this would not cause the Quest Accept/Decline screen to pop up).
- As a player, you would silently receive any quests that are shared out from authors or other players. These quests would go to your Quest Catalog, where you can browse them anytime.
- In addition, when you're near a quest in your Catalog that you haven't started yet, you would be notified somehow. Addons can't place 3D icons over NPCs heads like normal quests would, so we'll have to get creative. This could take a few different forms, depending on how much effort goes into this feature:
- A periodic chat notification stating that quests are nearby
- A glowing minimap icon when you're near quest starting points
- Some sort of icon on the nameplate of quest givers
- Some additional tooltip text when you hover over a quest giver
This seems like a pretty important improvement for player experience, so I'd like to focus on this during February 2021.
The Quest Builder UI
If you've tried building a quest at all, you're probably wondering why the hell I chose to have players write quests in [YAML], a language normally reserved for software configuration. Well, it was a compromise between ease of use and faster development. For players, you can write quests with just a few lines of code - there is a lot going on behind the scenes to turn that YAML into the Lua script that becomes an actual quest. And for me, I can develop and test new features without having to create new UIs to support them - I can just tweak a couple lines of YAML and try out some wildly different quest scenarios.
But I know this way of writing quests is not a great user experience for the vast majority of people who don't write code all day. In a perfect world, you'd be able to click some buttons, edit some fields, and boom - a quest happens. Since the data model for quests is pretty solid now, I'd like to make this a reality. The image on the side shows a non-functional mockup that I threw together in the addon just to visualize what it might look like. This is something I think needs to be added before I consider PMQ "finished", but it hasn't been the highest priority item considering the high level of effort involved in making this happen.
That said, I do want to research and experiment with a possible Quest Builder UI in March/April 2021.
As far as my availability goes, I will be finishing up with some previous commitments throughout December. But starting in January 2021, I should be able to return to PMQ development "full-time" - meaning it's my top priority after my regular 9-to-5 job. I think the above timelines are reasonable assuming nothing major changes between now and then - but you know how that goes!
That said, I'm currently the only person officially working on this project. Between writing and testing code, maintaining the wiki, doing advertising and outreach - there's a lot of work to be done. But this project is very much open source and I would love to collaborate with other addon developers, especially on UI work! When I started writing this addon back in February, I had never written an addon before and had zero experience writing Lua, not even with WeakAuras. I never would have predicted that this project would evolve to over 6,000 lines of code across 100+ files. But here we are! If you know of any addon developers who would like to delve into this madness with me, have them reach out to me on Discord!
Finally, if you're reading this - thank you so much for being involved with this project. It may not seem like much, but just downloading and using the addon, and providing any feedback you can, helps me tremendously. Let your friends and your guilds know about PMQ if it's something they'd be interested in, and let me know how you're using it in Discord. Even just sharing quests that you've written gives me valuable insight into what you want out of an addon like this, and you're ultimately the people I want to build it for.