Archive for the ‘Presentations’ Category

My GDC 2014 talk is available in “The Vault”

Tuesday, April 8th, 2014

The GDC Vault has a ton of old Game Developer Conference content. I think they’ve been recording all the sessions (or most of them) for at least a few years now.

Anyway, my talk Usability Lessons from Mobile Board Game Conversions is now available over there. If you follow that link without being logged in, you’ll be able to see the slides (which are also available in my blog post). I’m not sure about the pricing for premium access, but if you had an “all access” pass to GDC, a vault membership is included. Anyway, if you’re logged in, the full video of the talk is available, in a pretty neat player that includes both my talking head, as well as the slides.

I wanted to talk about the Q&A at the end. After I gave the talk, I left feeling like I’d done an okay job with the Q&A, but when I asked my friend August his honest impressions, he essentially said that part was a train wreck. Watching it again, it was worse than my initial impression. I essentially didn’t answer anybody’s questions clearly. Not sure what was going on, but my brain was basically mush. I thought I’d summarize the questions here, and give some “real” answers if I can. I apologize in advance for not having anyone’s names. None of the questioners introduced themselves, and we have no video of them, so I essentially have no idea who asked these questions.

Why no love for Stone Age?
The first question was about why I hadn’t used any example screenshots from the Stone Age conversion. As I said at the time (maybe I did answer at least one question adequately), I had intended to include some screenshots of this, but essentially hadn’t been able to get a screenshot that I liked or that illustrated one of my points well. Another reason is that my talk was originally about twice as long, and I cut a ton of it to fill the 25 minute slot, so there’s that. I’m sure I could also come up with a list of other games I would have liked to include but didn’t. Looking at the folder of async games on my phone, Stone Age and Lost Cities were the only two that I didn’t include.

Board Game Accessibility
The next questioner was essentially asking about comments or best practices for accessibility in board game conversions. I was not prepared to talk about accessibility at all, I rambled a bit about player colors and how it was a good idea, but had no real suggestions. I think accessibility is a HUGE topic, and essentially my mind was boggling with the various ways I could have tried to tackle it on the fly. I think the first and most obvious point is that you should think about your audience. As with usability, you should be intentional about your accessibility, and by that I mean you should spend some time and think about your audience. Then think about how you intend to make it easy for them to play. If it’s important that you help color blind people play your game, you’ll obviously want to do testing to make sure that they can. There are numerous resources available for online accessibility, and a lot of those probably apply to games, but there is at least on site devoted to the topic of video game accessibility. There is also an IGDA SIG (special interest group) devoted to game accessibility. Note that the questioner was asking about how any of this might apply to Board Game Conversions specifically, and unfortunately, I still don’t have a good answer for that.

Watching and commenting on game plays
The next questioner was asking about watching play-throughs (especially of “expert” games), as well as commenting on those games, and wondered if I had any suggestions for how to implement such a thing. In my rambling answer, I mentioned that the Go community highly values this sort of thing, and that there are a few Go apps that do include this sort of thing. (The same is definitely true of Chess, although I’ve seen fewer apps that allow you to comment or add your own comments.)

I guess any practical advice for allowing others to replay and/or watch game replays would probably depend on a lot of factors. Where will it be played? In the application only, or do you also want to capture physical playthroughs? (If you don’t have cross platform, you’re limiting the audience for the replays, and probably not capturing enough of the games that are being played to be seriously meaningful.) But if you allow the games to be viewed outside of the application, (say on a website or better yet by publishing your file format specifications and the gameplay files themselves), then you’re opening up another big can of worms. How long does the game take to play? Will these playthroughs take as long to watch as playing a game? (Ideally, they would not.)

I think a salient point (that of course I failed to make at the time) is that there is a file format specifically for recording games called SGF (Smart Game Format). SGF is used to record quite a number of simple games, but is limited to two-player games. It’s quite commonly used to record Go games, and for a long time I actually thought SGF stood for “Smart Go Format”. I’ve evaluated it once or twice, and essentially found it too confusing to seriously consider implementing. It’s not a human readable format (though it is text and not binary).

Any conversion will already have to think about how best to save the game. Sharing gameplays is as easy (or hard) as sharing that format. But of course, not all formats allow you to re-play the game. I guess I feel like allowing the game to be replayed from the beginning is a feature you should strive for (ideally) anyway, and of course one benefit of that is that it allows the replay to be watched by someone else. Ideally, you’d then build some kind of commenting system on top of the save format, saving the context of the comment (when it occurs) as well. Of course then you have to build an interface for viewing those replays as well as viewing the comments on the replays. Finally, I think it’d be important to have some kind of moderation of the replays. If you simply made all games played *ever* available for viewing, it’d be too hard to find the expert games. You’d probably want to allow the community to rate the replays or otherwise allow your community to filter and/or otherwise determine what replays have value. Eventually you could filter by actual engagement, ie, how many comments does a game have on it, how many times has it been viewed, etc..

Thinking about usability for the system that allows you to watch the replays will be a big deal. (And probably highly dependent on the game itself.)

I clearly do have some interest in this sort of thing. It’s a shame my comments at the time were so inadequate to the topic.

???
I have to admit that after several listens, I still couldn’t quite understand what the final questioner was asking. He sounded eloquent but I don’t really feel he got his question across. He was asking about examples of “specified language or tools” specific to individual games. At the end he gave the examples of Monopoly or Go, and seemed to be asking how tailoring a conversion for one or the other might be different. I guess my response should probably have been that EVERY game does of course have its specifics, and a general study as I have done will of course not be able to capture the nuances of each game. I guess I feel like all games have a language, or definitions anyway, and one of the first things I do when writing a board game is decide whether I need to include a glossary at the beginning of the rules/instructions. One of our jobs as designers is to shape those rules unambiguously, and attempt to reduce semantic or subjective misunderstandings.

Usability Lessons from Mobile Board Game Conversions – Notes & References

Tuesday, March 18th, 2014

I gave this talk at GDC (Game Developers Conference) 2014.

Update: Note that the talk was recorded, and you can now watch the video (and slides!) on the GDC Vault.

Here are some notes:

(The numbers below correspond with the side number.)

1. This talk was adapted from a previous talk I gave at Mobile March in 2013, titled Case Studies in Mobile Board Game Conversion (2013). That talk was much more about features of three games in particular, Carcassonne, Ascension, and For the Win.

2. This slide contains a screenshot from Doom (1993), the book cover for Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture (a book by David Kushner about id Software), and a movie poster for Indiana Jones and the Temple of Doom (from 1984):
Notably, it contains no gloom.
Notably, it contains no gloom.Notably, it contains no gloom.


4. I wanted to include a photo here of a glass bead game, or maybe glass chess set, but didn’t find a good one.

5. In case you haven’t played it, here is QWOP.

8. Arnold Lund’s Usability Maxims were first published in 1997. “Expert ratings of usability maxims. Ergonomics in Design, 5(3), 15-20. A study of the heuristics design experts consider important for good design.” @ArnieLund Oddly enough, this list of “maxims” used to appear on the Wikipedia article for Usability, but was removed before I gave this talk. (Not by me!) Here’s another site that has them: http://www.simonwhatley.co.uk/lunds-expert-ratings-of-usability-maxims

9. Unfortunately, as of this writing, the For The Win application created for Tasty Minstrel Games appears to be no longer available in the app store.

10. I mention here that Usability is a two-way street, even though it is generally thought of as the player communicating with the application, it is far more relevant what the application communicates to the player. This first section is titled “Usability Lessons for the Game Screen: Effectively communicating game information to your player”, and features the following recommendations / lessons, giving each its own slide.

  • Highlight possible actions.
  • Clearly show whose turn it is.
  • Always animate AI turns.
  • Hide “extra” information.
  • Provide linear context.

11. This slide features a screenshot from Ascension: Chronicle of the Godslayer, put out by Playdek.

12. The screenshot here is Carcassonne, by the Coding Monkeys, which I call out as the “gold standard” of iOS board game conversions.

13. Here is a screenshot for Day’s of Wonder’s excellent Ticket To Ride application.

14. More screenshots from Ascension and Carcassonne.

15. Here is another screenshot from Carcassonne, as well as, in the foreground, a screenshot from Suburbia, put out by Jeremiah Maher.

16. This introduces a brief section on gestures and the other half of the picture, allowing the player to communicate back into the game.

17. More Carcassonne and Ascension screenshots. I recommend you support both tap and drag when drag makes sense as a gesture. Tap and drag are the two gestures you probably don’t need to explain in detail.

18. Here is a screenshot from Playdek’s latest masterpiece, Lords of Waterdeep. I talk about other gestures that probably do need to be explained: double-tap, long-press, and swipe. As well as some classes of gesture that I recommend not using at all: Triple (or more) tap, and multi-finger drag/swipe.

19 & 20. I’m not sure I feel like I managed to get my points across about undo and confirmation buttons. Essentially, undo is a good idea, and if you have complex actions, you should always give your user a confirmation step. I guess what I feel less certain about having effectively communicated is WHY those are important. Screenshots from Ascension and Carcassonne.

22. Here is a screenshot from Reiner Knizia’s Samurai (developed by Conlan Rios), as well as another from Carcassonne and For The Win.

23. Screenshots here to illustrate Game Center’s GKTurnBasedMatchmakerViewController, from Reiner Knizia’s Qin, and Cafe International by Application Systems Heidelberg.

UPDATE #1: Here’s a direct link to download the slides: Usability Lessons from Mobile Board Game Conversions (9MB PDF)

UPDATE #2: (2014-03-24) I added additional notes as well as the original session description and takeaway from the GDC Schedule.

UPDATE #3: (2016-05-10) I added a link at the beginning of this post to the video recording of the talk, which is available to watch for free at the GDC Vault.

Session Description
Martin Grider looks at user interface specifics related to touchscreen ports of modern board games. He examines common touch interface paradigms that have emerged in the genre, making in-depth examination of some particularly good mobile board game conversions from the perspective of their UX and UI decisions. Martin also talks about working with Tasty Minstrel Games on the For The Win board game application for iOS in 2012.

Takeaway
The following questions are addressed: What interface elements and control schemes are useful for board game conversion? What UX paradigms apply to board game interactions in mobile, particularly as they apply to the game screen and multiplayer game creation screens? How do these lessons apply to all mobile game development?

Case Studies in Mobile Board Game Conversion

Friday, March 22nd, 2013

I did a talk yesterday at Mobile March about Mobile Board Game Conversions. I basically just ran through three example applications, Carcassonne (BGG, App Store), Ascension: Chronicle of the Godslayer (BGG, App Store), and For The Win (BGG, App Store), showing them off while paying attention to features and aspects of the applications that highlight decisions the developers had to make while making these conversions. I didn’t end up following the slides as much as I’d done in my run-throughs (things never go how you plan), but here the slides are for posterity anyway:

Case Studies in Mobile Board Game Conversion from livingtech1

Customizing iOS UI: Fonts, Controls, and Color

Tuesday, February 12th, 2013

I had the opportunity to present at the local iDev Meetup last month, and am only just now getting around to posting the slide deck for the talk, which I called creatively, Customizing iOS UI: Fonts, Controls, and Color. You should be able to view the slides below.

The source code for the talk is also available, and on most of the slides, you’ll see some text along the lines of demo-1, demo-2, etc. Those are the git tags that I used to fast forward my code to the relevant part of the talk. (Thought that needed explaining.)

Enjoy!

Action Puzzle Games

Wednesday, August 1st, 2012

I presented the following slides on Action Puzzle Games tonight at the MN Mobile Game Dev Group. I’m not sure the slides are really enough to convey the meaning, but most of this is really just a list of good Action Puzzle Games for iOS, and I said I’d post those, so here they are.

Action puzzle games from livingtech1

Special thanks to Jesper Juul, from whose amazing article (“Swap Adjacent Gems to Make Sets of Three: A History of Matching Tile Games”) I stole the Family Tree of matching tile games.

Mobile Game Design Presentation

Wednesday, May 23rd, 2012

I presented this slide deck on mobile game design (PDF 2MB) last night at our first Mobile Game Developers group meeting. I think the meeting went really well, and I can’t wait for the next one!

Introduction to iPhone Game Development

Wednesday, May 11th, 2011

I had the pleasure last week of presenting this talk twice, first for the local meetup.com iPhone developer group, and a second time the following Saturday at MinneBar. Here are the slides from the event, embedded for your pleasure:

For the talk, John Hibshire and I also created a spreadsheet listing all the iPhone game frameworks, libraries and SDKs we could find. I’m going to try and keep this data up-to-date, and add any additional projects as I find out about them.

I think my session was recorded, possibly by folks at the Uptake, but I have no idea if that recording is online (as a few others from the event are). If it was, I’ll definitely update this post to link to it, since these slides are pretty useless without my running commentary. There are some nice links in a “Resources” section in the last few slides, so you can enjoy those if nothing else.

UPDATE: I just posted a link to the sample code for this talk on github in a new blog post. The code shows various examples of how to do really basic things in Cocos2D, including using the schedule method to create a game loop, using the CCMenu class, drawing various particle types, and finally, how to write tetris in Objective-C using a Cocos2D texture atlas for the different piece types.