Games You Should Play 2016

Here are some games I played in 2016 that I think you might like as well.

Games are split into what I’m calling a commitment level. Unlike say books or movies I think it’s completely fair to put a game down when you’re stop getting what you’re looking for out of it. Some games are the sort that require more than a few hours to get anything out of. You wouldn’t play an hour of Final Fantasy XV and think you’ve seen everything there is to see. You might do that with Leap Day though.

Low Commitment

The majority of games I played this year were on iOS and iOS is the place for low commitment games.

Snakebird by Noumenon – this is a brutally hard puzzle game wrapped in an adorable package. The solutions to each puzzle are often simple in retrospect, but involve many intuitive steps to get there. It’s the sort of thing where you might spend a few days figuring something out and then finally it’ll click and you’re left with this tremendous sense of accomplishment. The controls are very simple tapping and swiping with infinite time between turns. If you enjoy difficult logic puzzles you should pick this up immediately. Snakebird is available on many platforms

Hidden My Game by Mom by hap Inc. – it’s charming. Little escape rooms where you’re attempting to find your gaming system that your mom has hidden from you. It’s very Japanese, very cute, and very delightful. Sometimes the answers make sense, other times they don’t, but the point is to try things and enjoy the outcome. From here I played through most of the developers’ back catalog. They reuse their aesthetic and assets from game to game such that they all feel like they’re inhabiting the same cute world. Hidden My Game By Mom is available on the iOS App Store

Leap Day by Nitrome – this is arguably better than Mario Run while being a similar concept (your character keeps running and you control the jumping). Leap Day’s hook is that there’s a new level every day. This does involve tight timing and platforming skills. I found it to be a very approachable game to pull out and play for 10 or 15 minutes here and there. Leap Day is available on the iOS App Store and on Google Play

Human Resource Machine by Tomorrow Corporation – it’s coding exercises wrapped up in an odd and forgettable story. If you have a degree in Comp Sci or are a professional developer this might feel like work, or like a set of warm ups. What I liked about it was that I was playing it alongside some other friends. We’d swap screenshots of progress and complain about levels. It’s the sort of game that shouldn’t have a multiplayer aspect, yet strangely lent itself to sharing stories and solutions. Nothing is timing based, in that you need to do quick actions in a row, but the interface is mildly complicated. I started on my iPhone and eventually moved to our iPad which was much more convenient. Human Resource Machine is available on many platforms

Pokémon Go by Niantic – when Pokémon Go was at its height it was electric. You’d walk down the street with your phone out and there’d be twice as many people outside all with their phones out smiling. We had a slack channel devoted to sharing progress and stories. There were endless blog posts and stories written about how it was changing society and gaming forever. A lot of that didn’t come to pass, but I do think it opened the door to companies trying more with alternative reality games. My enthusiasm about it has cooled quite a bit, but a few days ago I had to sidestep two 10 year olds who were excitedly trying to catch a Pokémon on Main street. If I had to wager a guess, I think we’ll see cycles of interest in Pokémon Go waxing and waning based on weather and updates. Pokémon Go is available on the iOS App Store and Google Play

Medium Commitment

Kentucky Route Zero Act IV by Cardboard Computer – Kentucky Route Zero is a magical realism play experienced via videogame as delivery mechanism. The controls are simple, the story is dense, and I think when it wraps up with Act V–whenever that is–it’ll stand as one of the greatest game stories we have. A more reductive way of looking at it is that it’s really good interactive fiction. You can buy a season pass for Kentucky Route Zero which will give you Acts I-IV now and V when it comes out

The Legend of Zelda (Zelda 1) – the original Zelda holds up fantastically. I put it in my NES recently just to test things out and found myself playing it. It’d been years since I’d attempted an actual playthrough. On the original hardware–without the aid of the internet or savestates–the game takes on a completely different feel. You start to feel every hit as you’re fighting to keep your hearts intact, you realize you don’t quite know where dungeons are and since you can’t look it up you’re just going to have to wander for a while. It’s a surprisingly consistent experience if you pay attention to what the game is telling you there isn’t a whole lot you’ll miss. Play it with someone and draw a map! Officially you can play this game through the Virtual Console. I’d recommend an NES and the cartridge if you can swing it though

Everybody’s Gone to the Rapture by The Chinese Room – gorgeous soundtrack, beautiful visuals, and a story that I can only describe as “adult” in that if you were a teenager you’d miss all of the nuance. It deals with death, love, hate, being an outsider all through vignettes backed by an operatic score. Games like this make me excited for the medium. I’d recommend this one to people interested in stories if if they’re non-gamers. You do need to be able to navigate through a 3d space with a controller, but there’s no real timing or enemies to speak of. It tells a story in a world that feels very well realized. My wife and I played this together and enjoyed it quite a bit. Everybody’s Gone to the Rapture is available on the PS4 and on Steam

You’re in for it

These are games that I can’t recommend to non-gamers. I think they’re good, but they assume a level of proficiency with videogameyness that I wouldn’t force upon anyone who didn’t want to deal with it.

Dark Souls 3 by From Software – it feels like the logical endpoint of the Soulsbourne games. It’s confident in what it is and does it extremely well. The story is silly and over-the-top high fantasy. You could go back and play the other ones if you wanted to, but really you only need this one. I loved it, I really did. A friend, Andy, and myself sent emails back and forth with each other as we were going through it. We even took on a few of the bosses together while on voicechat. It was a tremendous amount of fun. Dark Souls 3 is available on anything with an actual graphics card

FF XV by Square Enix – I’m only 10 or so hours into this big wacky, dumb, lovable game, but I don’t want it to end. It’s a string of meandering sidequests set in the framing of a roadtrip with four bros. And these bros really love each other so very much. The characters are more fleshed out than any other final fantasy while also coming across as more grounded. The fact that one of the character’s main contribution to the storyline is taking pictures that they then present to you at the end of every in-game day is just brilliant. This is candy. Utter candy. It’s an anime as a videogame. It’s not difficult, but it is cool. Final Fantasy XV is on PS4 and Xbox One and probably later on Steam

The Witness by Thekla – a high-minded game of logic and perspective wrapped up in story that is quasi-philosophical diatribes and quotations from the world’s philosophers. My wife and I played this together swapping the controller back and forth. There are series of puzzles based around kinds of logical puzzles. It worked really well to play it like this as there were entire sections that one or the other of us “got” while the other didn’t. There were a few puzzles we looked up. One I’m annoyed with myself for not figuring out, another based on sound that I still don’t understand the solution. It does some fascinating things with perspective that I really enjoyed. The Witness is on PS4 and Xbox One with an iOS port coming

Simple Deployment with Git

The gist of this is that we’re taking a local folder of a project, pushing it to a bare repo on the server, then the server runs a post-receive hook to check out the latest commit to a live folder on a server.

What follows are my notes for how to make this happen using the example of how my blog is deployed:

To start with you should create the bare git repo on the server. I’d suggest keeping this out of the folder you deliver your sites from for security reasons. You do you though. It just needs to be accessible as a remote. Mine is in /var/repos/blog:

git init --bare

Once it’s created you need to navigate to the /hooks folder of the repo. Then you’ll add a file for post-receive. This runs after the commit is completed. You can read all about git hooks here. They’re quite useful.

The post-receive hook

This is a potentially destructive act in that it resets the working directory to your latest commit. If you ever modify a file on the server the next commit will blow it away. That’s okay though because you’d never modify a file on the server outside of version control, right?

Also note that if you create a file inside of the folder on the server it will still exist later on. Git isn’t going to delete it unless it’s removed as part of the commit.

Don’t muck around in that folder is what I’m saying.

Here’s that post-receive script:

#!/bin/sh
git --work-tree=/var/www/chrissalzman.com/blog/ --git-dir=/var/repos/blog/ checkout -f
echo “Your blog has been updated at chrissalzman.com/blog/”

The meat of this is running a git checkout command that explicitly uses a “work tree” and a “git dir”. Generally, you don’t need to set these for a checkout if you’re in the folder that is associated with the repo you’re working with. This is amazing flexibility, albeit sort of confusing until you need it. Stackoverflow is littered with questions about why these flags even exist. It’s also important to note that you should set up the “work-tree” before you leave the server. This script will not create it for you. Making the script do so is left as an exercise for the reader.

The -f (—force) flag does the following:

When switching branches, proceed even if the index or the working tree differs from HEAD. This is used to throw away local changes. When checking out paths from the index, do not fail upon unmerged entries; instead, unmerged entries are ignored.

The echo’d line gets sent back to the terminal you’re pushing from. I’m using it to remind myself of what this all does under the assumption that I’ll forget what I did later on. Remember: your future self thinks you are dumb. Explain your work.

You’ll likely also need to modify the permissions on the file to run. For me this was sufficient:

chmod 775 post-receive

Then back on your local machine initialize your git repo in the folder you want to use:

git init 

And we’ll add in a remote located at the bare repo. For me it was this:

git remote add live ssh://user@domain.com/var/repos/blog/

This use case is making the project “live” so I’m calling the remote “live”. You may call it what you’d like. Go ahead and commit locally and then push it to live:

git push live master

If all goes well what should happen is that you push master to “live”, then the post-receive hook runs and it checks it out to the live directory. And you’re deployed!

Last step is running to the server to see that, yes, the blog post really did show up.

2016 Election

2016 Election

Presidential

  • Hillary Clinton, duh.

Congress

  • Debbie Dingell

State Board of Education

  • John Austin
  • Ismael Ahmed 

Washtenaw County Board of Commissioners District 9

  • WRITE IN Jeff Hayner

Library Board

  • Victoria Green, Colleen Sherman, Linh Song and Jamie Vander Broek

15th District Court Judge

  • Elizabeth Pollard Hines 

UM Regent

  • Larry Deitch
  • Denise Ilitch

Under no circumstance: Ron Weiser

WCC Trustee

  • Dilip Das
  • Suzanne Gray

AAPS

  • Deb Mexicotte
  • Don Wilkerson
  • Jeff Gaynor

Ballot Proposals:

  • Ann Arbor Mayor & City Council Term Length – No
  • Regional Public Transit Tax – Yes
  • Washtenaw County Ballot Proposals: Taxes for Roads, Veterans Affairs – Yes