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