Blog Archives
Blast from the past: Newsletter from December 2009!
Hail, Adventurer!
Here it is, almost the end of November, and we have so much news we just had to make an update! So, here they are, coming at you in no particular order.
1) Did you read this month’s copy of the newsletter? If you did, not only did you learn some invaluable information, but you also learned of our AMAZING THANKSGIVING T-SHIRT GIVEAWAY. What’s all this, you ask? Well, by becoming a fan of Obsidian Portal on Facebook, you enter yourself in the drawing! On Thanksgiving day, I’ll pick three fans at random, and those three fans will get one of our exclusive, impossible-to-find, one-of-a-kind t-shirts! I’m wearing one right now, it’s very nice. So what are you waiting for? Become a fan today!
Dynamic Characters Sheets via the API
I know it’s a pain to write a DST. The dev kit is probably horribly out of date by now, plus you never really know how your DST will work until you upload it live and play with a real character. I try to encourage people from the start to get their code live on the site as soon as possible, but it’s still no fun to write and edit HTML (or any code) in a textarea. But, all that could change thanks to a recent update.
The ideal app
What if you could edit your DST files in your favorite text editor and never have to copy and paste it into the textarea? I’m imagining a desktop app where you select your HTML, CSS, and Javascript files on your local machine. Then, as you edit your DST locally, you can click a single button and the app syncs it to the server. Then, have a browser window open to a test character and you just refresh it. No more copy/paste, no more need to play with textareas. Smooth as silk.
Halfway there
Unfortunately, the ideal app doesn’t exist, at least not yet. But, I’ve taken the first step and added DSTs to the API. All the puzzle pieces are in place to make this a reality. They just need to be put together.
Can you do it?
I’ve got the API updated, but that’s about as far as I can take it. It’s been ages since I’ve done a desktop app, and I wouldn’t even know where to get started. Plus, I’ve got more features and bug fixes to work on than I want to think about. I need someone to step up, grab the reigns, and take it from here.
If you’re interested, or have a better idea, please come join the forum discussion. I’m really excited about the potentials of the API, and I think this app (or a better one!) would be a perfect fit.
Breaking the Rules, Writing in the Margins
UPDATE: We didn’t tell you that this is by the one and only Dave Chalker, Editor-in-chief of Critical Hits.
One of the things that stuck with me after attending a talk by game designer Monte Cook was his opinion on character sheets. He wasn’t talking about layout, or amount of stats or any of that: he was talking about the margins.
More so in older editions of D&D, the margins of the character sheet were used to mark aspects of your character that didn’t conveniently fit into the rules. Cursed to never be able to find true happiness, cool scar running along the PC’s arm, pursued by a scorned lover, paralyzing fear of water.
There are so many great tools in modern RPGs that it can be easy to lose all the non-rules parts of characters, especially for DMs. When there are rules for every character flaw or lasting scar, it can be tough to break out of the mold. Here are three quick tips to try and bring some of that back.
Give PCs Unexplainable Powers
When your story fits with it, you can tell a PC that he has the power to do something- he just has to tell the DM. Don’t write out the rules. Instead, have that player jot down a note in the margin like “Can invoke the power of Unnamed God” or “Overcharge a spell.” You can make some notes on what that means to you, but don’t share the exact effects. When they do that, you can describe the additional effect based on the situation they’re using it.
By keeping the exact benefits changing, you can preserve the mystery for longer. Or, use it as a springboard to develop into a full-fledged power that the PC gets to keep.
Tie-in Strange Circumstances
When giving out rewards to the PCs, whether it be treasure or something more intangible, consider tying it to something strange. Maybe the sword that they discovered has an unusual smell. Maybe the new spell discovered has an added descriptor of “might cause madness.” Perhaps when spending the treasure, the character finds that it refuses to be spent on certain things by sending impulses to the character.
The trick here is to make it not entirely “your character has found something that he worked hard to get, and is now hosed.” These rewards should have some extra benefits to go along with the quirks, otherwise, the players probably won’t bother. Also it’s good to keep the effects from being strictly mechanical drawbacks.
Record History
When the heroes have become well-liked in a region, have them write it down somewhere on their sheet. When the party encounters a hag and it curses one of the PCs, have that PC write the curse down. When the character almost drowns in an encounter, have them write it down.
By putting it on the character sheet as a defining moment, it’s more likely to be remembered and referenced. Let the characters drive this- if they are trying to strike a bargain in another city, they can say “well, we’re well-liked in this city…” and you can have the character recognize them from this exploit: “Hey, my brother in law is from there!” Same with the more negative examples. If a player sighs and says (even jokingly) “oh, the hag’s curse is finally going into effect,” bring that into the game. Then later, that can be turned around if the player decides to deal with the curse, and emerges from the experience all the better.
By busting out of the rules that are provided, no matter the system, you can add extra flavor in a way that can only be done at your table, and not by a ruleset. Try it and see, and let me know if you’ve done anything similar.
Trash Bin FTW

We’re experimenting with a “trash bin” for your wiki pages (and soon, characters & items). This safety net will allow you to delete something, then bring it back later if you wish.
It’s not perfect, as certain aspects cannot be restored (like tags), so don’t go throwing things away without a little thought. However, you no longer need to fear that one of your players will spend an afternoon maliciously deleting your entire wiki.
The next logical step is to provide versioning history for your pages. That’s definitely on our TODO list, but I’m not sure when we’ll get to it.

API Update: mage-hand, a Ruby wrapper for the API, plus an offer for developers
Progress on the API is moving so much faster than I originally anticipated. I’ve been working on it night and day, trying to get to a point where clients can actually do something useful with it. But, I’m not the only one who’s been busy!
mage-hand, Rubygem for the API
Ruby hacker shammond42 (@shammond42 on Twitter) has already created a Rubygem wrapper for the API, making it much simpler to interface with from your Ruby or Rails application. For any other Ruby hackers out there, take a look at mage-hand and make sure to follow it on github. Or, if you’re not a Ruby hacker but prefer PHP, .NET, or something else, you might like the next part:
Looking for API beta partners
Progress on the API has been much faster than I expected. After a week’s worth of work, we have a fully functioning OAuth provider and a few JSON response API methods ready to go. Before we go too far, though, I’d like to get some feedback on the basic OAuth workflow.
OAuth is a standard workflow for managing third-party applications that want to access resources on behalf of a user. Facebook, Twitter, LinkedIn, Netflix, and a whole slew of other websites have started using OAuth for exactly what we’re trying to do here on Obsidian Portal. Considering that there is a lot of library support (PHP, Ruby, Flash, .NET, etc) for OAuth, it seems like a good way to go.
Unfortunately, OAuth is significantly more complicated than other, simpler authentication methods. It requires a special procedure to authenticate the user, plus each API request must be signed with a special algorithm. What we’d like is some initial feedback on whether it’s accessible enough and works for the developer community.
If you’re interested in taking the totally unstable, soon-to-change alpha version of the API out for a spin, check out the overview page, then create an application. Giv the OAuth signup workflow a shot, and let me know what you think in the forum thread.
So what’s in it for you? Well, I’m giving priority to feature requests from people actively playing with the API. If there’s something you want to do, and data you need, then start playing around and tell me what’s missing. If I can add it easily, I will. Of course, everything is likely to change a bit in the coming weeks, but we have to start somewhere.



