All posts by The Plaid Mentat

Blogs with Text

As I’ve been writing the last few months, I’ve noticed a very particular pattern about my posts: most of them are entirely text. It took me a bit to notice this, and, in fact, my Gamerstable blog was the wake-up call. That entry made it live without a single hyperlink. I noticed it later when I reread that entry and said to myself, “I just spent a whole blog entry talking about my favorite podcast, and I never once linked to it… …That is a problem.”

This, I think, is the result of two factors of my writing. First, as I’ve mentioned before, I write on my bus ride to work where I do not have internet access. Second, my personal style is to say things with words rather than other expressive elements. Continue reading Blogs with Text

Dice Roller Updates

Since I’ve been working on unifying my website, I decided that I would take some time to update some of the other sections of my site while I was at it. The first thing that I wanted to work on was my dice roller – this is probably some of the oldest working perl code that I have, and it shows. It has some fairly obvious security flaws, an inflexible persistence model, and is lacking some options I’ve wanted for a while.

So, I’ve decided to update the code. Since it’s less than 150 lines of code, it should be easy to rewrite from scratch, so that’s my initial plan. Here is my feature list, in priority order:

  1. Rewrite the rolling engine:
    1. Strip the CGI parameter for id – I don’t have a use case for multiple dice rollers anymore.
    2. Sanitize input.
    3. Update storage model for rolls.  (Used Storable)
  2. Rewrite the display engine:
    1. Strip the template parameter – This is a security hole and I don’t have a use case for it anymore.
    2. Sanitize output.
    3. Find a better way to import templates.  (used HTML::Template)
  3. Do better session management
    1. Keep the user’s options so they don’t have to retype them every time.
    2. Explore cookies or CGI sessions for this.  (Used CGI::Session and cookies)
  4. Unify my Gaussian dice roller via options rather than a separate script.
  5. Provide options for counting dice over a threshold (like World of Darkness “successes”).
  6. Provide options for getting the total value of the dice (lots of games do this).
  7. Explore output filters
    1. Name
    2. Game name?
  8. Provide options for glyph dice (Star Wars).
  9. Provide options for exploding dice.

And, as it turns out, it took me longer to write this post than it did to update.  Here it is!

Website Unification

It’s been a while since I’ve had a unified look-and-feel to my website. The last time I went through unifying all of my pages, the web was a different place – CSS was the go to technology to make the look and feel of your website work and javascript was used really only if you had something more complicated. At the time, web design was more focused on delivering content than it was in delivering design, so you could get away with something simple that also happened to look decent.

Now, I won’t claim that my old site design was good for its time, but it was a simple implementation that achieved my goal of being able to deliver multiple different types of content: a blog (PivotX), a wiki (Dokuwiki), my web apps, and my static pages. As a comparison, my old design had less than a hundred lines of CSS and a handful of layout elements. My new wordpress theme has over a thousand lines of CSS, and the relevant layout hierarchies are over four layers deep. Continue reading Website Unification

The Beginner’s Guide

My wife and I have been spending some time together playing through some shorter independently developed games. For me, these games are a lot of fun because they are the short-story equivalent in the game world – they have a neat idea and spend enough time exploring it to be interesting and still leave some aspects open. Most recently, we played “The Beginner’s Guide”.

I heard about this game first on the Diecast, which is the primary reason I picked it up. I really enjoyed “The Stanley Parable” by the same developer (Davey Wreden), and the idea of a learning about someone by the games they designed was an interesting concept (especially with narration). Ok, it could just be that I’m a sucker for good narration. Continue reading The Beginner’s Guide

Thanksgiving Apocalypse Game Preparation

Thanksgiving is coming soon, so I’ve started to think about my list for this year’s Thanksgiving Warhammer 40K Apocalypse game. I still have some models to put together, but I also need to figure out how I am going to create my list this year.

A while back, I created my own Warhammer 40K army list creator database in Microsoft Access. This was a great planning tool for me as it allowed me to pretty easily select squads and equipment and it would compute points for my army. It also allowed me to print out easy cheat sheets with model stats, weapon info, etc. so that I could come to the table prepared to play. Unfortunately, the biggest part of creating this database was actually data entry – I had to enter in the point costs for each option under each unit profile; this meant that the database was tied to my codex, and became out of date as soon as a new code was released. Additionally, since data entry is the most annoying part of any programming project, once it’s out of date, I am not very motivated to update it. Continue reading Thanksgiving Apocalypse Game Preparation

MileHiCon 47

Last weekend, I attended MileHiCon – a Science Fiction literature convention in Denver, CO. Jess and I have been going to MileHiCon pretty regularly for a while, but this is the first time that she has attended as a participant. Now that she’s a published author (and because she volunteered), she participated on and moderated some panels and fan forums which was pretty neat. For my part, I went to somewhat fewer panels this year, caught the 20 pound Critter Crunch tournament, and sought out some of the lower-key con activities to avoid burning out early. In this, I think I was mostly successful; on Sunday, I was tired, but not dead tired as has happened in previous years. Continue reading MileHiCon 47

Gamerstable

A bit over four years ago, I clicked on the only facebook banner ad that I have ever clicked on. It took me to the website of a podcast called Gamerstable. It had only a couple of episodes (one called Episode 0), but they seemed to know what they were doing. Sound quality was great, they managed to pull off a conversational style without walking all over each other or rambling for hours, and, above all, it was about role-playing.

In a very real way, Gamerstable picked up where the Escape Artists podcasts (Escape Pod, Pseudopod, and Pod Castle) left off. Since I was no longer bussing into work, I didn’t have as much time to focus-listen to podcasts. Instead of being able to listen to a podcast on the bus and focus on nothing else, I was listening to podcasts while I worked where I had to be able to focus on what I was doing. Gamerstable fit this paradigm much better as I could listen to the conversation, but if I missed snatches of the conversation because of my work, I could still follow the remainder of the podcast. Continue reading Gamerstable

Automatic Creation of Tab Separators

As part of my work to organize my Pathfinder ACG box, I found that I needed a way to create alternating tabs in a general way. In particular, a few times, I found myself in the position where I had designed the tabs in photoshop only to realize when I was done that I had forgotten something. Or, in the case of Wrath of the Righteous, that there were new cards that needed to go in the middle of the sequence. Since this would require re-ordering all of the tabs following it, this became a bit of a task.

To solve this problem, I decided that I wanted to write a program to lay out tabs for me, and automatically take care of that alternation. To prototype, I create a short function in perl that had the basic imagemagick commands that I would use, and took a big list of tabs as input. The script automatically “-flop”ed the template to perform the horizontal mirror, and placed the appropriate text in position from the correct edge (i.e. positioned from the left edge on the left tabs, and from the right edge on the right tabs). I used this prototype to figure out the basic features I would need, and created the tabs for Rise of the Runelords and Wrath of the Righteous. Continue reading Automatic Creation of Tab Separators

Dominion Box Consolidation

I’ve been playing Dominion for a while, and, as you might expect for a game with nine expansions (I have seven), it takes up a lot of space. Dominion’s boxes and inserts were pretty good – they fit sleeved cards (with the exception of the larger stacks) and box organization made really good sense. This all fell apart though when I tried to add promo cards or do any kind of consolidation.

I’ve been considering consolidation for a while, but didn’t really find a solution that I liked, until a friend at work showed me his organized box. Each kingdom card had its own pack holder with a tab denoting cost and name. This made it easy to find cards, but it also made it easy to grab kingdom cards out of the box – just lift on the tab and the whole pack comes out! I was immediately taken by this concept, but I think I underestimated how much work it would be. Continue reading Dominion Box Consolidation

Organizing Galaxy Defenders

I’ve been working on organizing my game boxes lately, and some of these projects have been bigger than others.  I wanted to take a moment to talk about how I organized my Galaxy Defenders boxes.  In total, Galaxy Defenders has come in five boxes, and I have managed to consolidate it down to three (I really wanted two, but couldn’t fit everything). Galaxy Defenders has quite a few boards, a fair number of cards, a few oddly-shaped chipboard components, and a lot of miniatures and tokens. With the exception of the boards, each of these needed some organization mechanism. Continue reading Organizing Galaxy Defenders