Out of Scope! Out of Time!


Dreams are great. Dream big, that’s what they always say. As a programmer you must retune this concept to dream within a reasonable scope. In this post I will go over my original concept for my second solo week project and then what actually ended up getting created.

Pre-Dream-Crush Wishlist

  1. Authenticate a User
    1. redirect based on user type
      1. if player show player dashboard
      2. if storyteller show storyteller dashboard
    2. allow many authentication methods
      1. github
      2. facebook
      3. username/password
  2. Create a Game Container
    1. Game state aware dashboards
      1. if game activated show game active dashboard
      2. if game is not activated show lobby style dashboard
  3. Integrated Chat
    1. allow for slash commands
      1. /init rolls initiative (based on character sheet)
        1. Show users profile picture in order on the side of the chatroom
      2. /roll <NUM> rolls the <NUM> of six sided dice
  4. Character Management
    1. Rules based character creation
    2. Import of xml files with weapon info
    3. Chat aware leveling system
    4. Save a history so you can ‘replay’ at times in the past
  5. Game Management
    1. Create a game
      1. Manage individual game sessions
        1. Scheduling and invites
        2. Calendar for in world and real world
      2. Asset Management
        1. Sound board
        2. Graphics
          1. Fog of War
        3. Maps with player/npc tokens
      3. NPC Management
        1. Scale to player level
        2. Combat Helper
        3. Name Generator
        4. NPC Generator by type
  6. Much Much More!


What did I end up with? A combat assistant. I use it, it works but oh man is it not what I had in my original vision.

So what did I learn? Iterative thinking should be core to project conceptualization. If I had only thought of my program as a combat assistant I would have been very happy with my results. However because I had such grandiose visions of the first iteration I felt I let myself down.

It’s all about the MVP baby! Change that mindset. It’s awesome I had so many ideas, but if only I thought about them as user stories in the backlog and the MVP as my main goal my personal satisfaction would have been much higher in the end.