Saturday, April 27, 2019

Blog: Games of February 2019


February was a bit rough in terms of mindful gaming. It was also the last month I'll spend fully immersed in my thesis, so I guess I'll take what I can. I stress gamed more than I wanted to and didn't give myself a lot of time to play stuff I really enjoyed in a relaxed way. As such my February post feels a bit more critical than usual.

My top five games (by play time) for February were:
  1. Into The Breach - I like this game. As I've said before the puzzle structure of the tactics gameplay makes me feel much smarter than some games where I don't have the time to sit and think stuff through. The more I play the better I get with the different mechanics and that's been a nice feeling.

    Grid.

  2. Civilization VI - I dunno. The game is fun, but I always struggle with the one-more-turn problem. I should probably have left this one closed on steam, but it also feels like an easy game to play when I have a few minutes. Something I want to think about going forward is finding some good bite-sized games.

    Coastal.

  3. Breath of Fire II - This game is confusing. It's certainly a strong response to the first game in the series, but it's still weaker than most JRPGs of the era. The translation also kinda rips the heart out of the game.

    Would you believe the W stands for Whale?

  4. Fire Emblem: Awakening - As I've said here a lot, I'm bad at tactics games. I'm bad at this game. I think I managed in my one play through a awhile ago to grind myself into a state where I couldn't win. I restarted and seemed to be a bit more balanced, but never got myself to a point where I felt happy with how my play through was going. I should probably seek out someone who is actually good at the game on YouTube.

    from GameFAQs user Master_Bass

  5. Invisible Inc. - I've really come around on this game and really enjoyed it in February. I like the stealth based tactics, and now that I've embraced them better, I've gotten a lot better. I'm now curious to see, if I lean into the rogue-light elements and let my team get better, how the game will evolve.

    Spy.

Here's my total play time chart for February:


And here's a chart of how much I've played over the month:


Thursday, April 25, 2019

Project 18 - Video Game Play Tracker - Update 2 (v0.2.0)



I actually finished up v0.2.0 of my game tracker months ago, but I finally got some free time so I thought I’d write up what I have. I have probably forgotten a lot of the details at this point, but I’ll just soldier on. In this update I finished up adding in aggregation and filtering of play sessions to the display system (and did a little bug fixing). 

Filtering


I wanted to be able to filter play sessions into specific time periods. Right now I start a new spreadsheet every year to keep track of the data in a manageable way, and I start a new set of tabs within each spreadsheet to track data for each month. I wanted to be able to replicate this in an ad hoc way, which would allow me to build a more informative and flexible way to look at the data.
A google sheet showing games played on the first and second of january 2019.
A small view of my tracking spreadsheet.

Additionally it’s nice to be able to include or exclude games or groups of games from the list. For example, how much time have I spent playing all the games in the Zelda franchise? I have no idea right now but filtering would make that a question I can ask easily.
As such, I added two types of filters for play sessions, one for games and one for dates. The filters work by finding all the play sessions that match and then showing only data from those sessions. 

The game filter works by matching the (whole) name of a game. Multiple games can be added to the filter which then allows multiple games. So far, I don’t have any structure like a series or a genre, so I don’t have filters working for that, but that’s something to work on in the future. The filter provides a list of all play sessions that match the set of game names.

A screen shot of a list of filters, one for Legend of Zelda: Breath of the Wild, one for games played in the last half of January 2018.
The two basic filters.


The date filtering works by using date windows. Each window has a beginning and an end date and the filter allows through all play sessions that are between the two ends. If either of the two dates is unset then the filter allows all sessions to the beginning or end of time.

It took a little fiddling to make them work, in particular to make an empty filter allow everything (which is backwards to how the filters are designed, but extremely unintuitive to work with).

Aggregation


In my spreadsheet I keep a log of all games played for the year (including the date, the game name and the amount of time played). Then for each month I break out one pivot table that includes the total amount of time each game has been played for the month and a second table that breaks out the games played for each day so that I can produce the stacked bar-chart of the games. I needed the aggregation system to allow me to basically do that in the stand alone system.

A screen shot of a google sheet showing the games played in January 2019
January's games played chart. (See a better view in my January 2019 post).


Aggregation was interesting because I wanted to make it as abstract as possible, but still needed to make it concrete enough to work in the command-line interface. I think I may need to take a second swing at it to make it really work smoothly. 

The way it’s currently constructed aggregators take a set of play sessions (raw or filtered) and extracts a aggregate, which is a map organized by game name, the type of aggregate and the value (as a double). Aggregates can be merged to put together different stats about a set of play sessions. 

A screen shot of the program showing the total time, number of times played, the mean play session and the average play session.
The aggregated games in my test file (mostly from early 2018).


As I said the system is a little messy and I think having now let some time pass I could do a better build solution.

Project Update

Compared to the first update, I did a better job of using the git workflow and breaking down my work into smaller chunks and updating regularly. This was helpful in the work I needed to do to finish my thesis project. I also tried to start teaching the workflow to my students this semester and I think generally the “do small things well” mantra has done me (and them?) well.

A listing of the main menu of the game tracker.
The current state of the Game Tracker


It’s also been months and months since I finished the actual main work for this update. I did break some tests which ended up taking me a while to fix. Since then I’ve mostly been working on my PhD so I’ve had to backburner the whole thing.

The two big directions I’d like to take the project in next, are to produce a GUI version using JavaFX and to integrate a Google Doc back end storage. The first step I think is going to be the hook up Google sheets and then go on to the JavaFX front end.

My plan, as it stands, is to finish the next update including the Google Sheets connection (and some various fixes / reorganization) by June 1, 2019.

Reading

I’m not sure that anyone, myself included, really needs this post. On the other hand, I read a thing about re-reading and I want to write ab...