I love the idea of a paperless office, but to be honest there are times when grabbing a sheet of scratch paper and a pen are just faster and easier. I live with little notes all around my desk but have been getting better and better at doing those digitally.
I found an app called NotesTab Pro that sits in the menubar of my computer. I can make new notes quickly and easily. Best of all, it auto syncs to an app on my iPhone and iPad. So if I’m off somewhere and get an idea, I type (or usually dictate) the idea into NotesTab Pro and when I get home it’s on my computer waiting for me to do something with.
Working on Froggy v2
But still paper and pen (I just don’t do pencil) are really useful, especially in quick “help me figure out how to do something” situations. A few days ago I needed a routine to help figure out what squares were next to each other in a grid. So if the user clicked on square 14, I needed to know which other squares surrounded that one.
In the previous version of the game that used that technique, I just hard-coded everything. I knew the grid was 6×9 so I just created a look-up table that gave me the neighbors for each square in the grid.
But in the new version of the game I wanted to be able to use different sized grids, which meant I needed a way to programmatically figure out the neighbors for each square. The method I ended up with can be seen in this blog post:
It turned out to work really well, but it all started with some scratch paper. I drew out a small grid, wrote out some sample usage cases, and then used that to figure out how the code would need to be structured to handle all the various cases:
- Corner Squares
- Edge Squares (on top, bottom, left, or right)
- Middle Squares
The project went much faster with the ability to scribble out some stuff and prop it in front of me as I coded. I’m sure it could have been done digitally, but it would have taken longer just to get the “prototype” done so I could start coding.
Sometimes paper is where it’s at.