• Unity and iPhone X's home indicator

    18 October 2018

    Check the Bottom option for "Defer system gestures on edges" in the Edit → Project Settings → Player menu of Unity to make the iPhone X's home indicator less visible and obtrusive in your project.

    Don't use "Hide home button on iPhone X". This is not what you want for a game.

    We are porting Steredenn: Binary Stars to iOS right now, and with the port comes the support for the iPhone X new form factor (yes, it's a bit late, I know…).

    When trying the game on an iPhone X, I was not happy with the way the home indicator was always visible, distracting the user while playing Steredenn. I looked at other games and saw that it was possible to change its behavior.

    However, it was not really clear how to do that with Unity, so I hope this will help others.

    Home indicator?

    Since the iPhone X, the mechanism to go back to the home screen has changed on iOS. You have to swipe from the bottom of the screen, which puts the app back inside its icon.

    By default, at the bottom (where the chin was), the home indicator is always visible in an app. It's the black bar you can see on this screenshot:

    Home indicator default state

    For the moment, it's a permanent indicator if the app does not specify a different behavior.1

    See what it does in action:

    Using the home indicator (download video).

    It's a thoughtful UI that follows the finger precisely. With the haptic feedback, it's actually very nice to play with.

    Changing the behavior in Unity

    However, this (default) behavior is not great for games. It's too bright and it hides a small portion of the bottom part of the screen. Which can be confusing in games like Steredenn, where many things are displayed at the same time.

    Home indicator in Steredenn

    Fortunately, Unity (well, technically, it's iOS) provides 2 ways to change the home indicator. Obviously with Unity, the correct one is not the one you would expect.

    You can find these settings by following this procedure:

    1. Go to Edit → Project Settings → Player.

    Open the Player's settings

    1. Then, click on the iOS tab, and find the "Other Settings" area.

    Find "Other Settings"

    1. Finally, we are interested in 2 settings: "Hide home button on iPhone X" and "Defer system gestures on edges".

    "Hide home button on iPhone X" and "Defer system gestures on edges"

    "Hide home button on iPhone X"

    "Hide home button on iPhone X", the one that looks like what we want, is, of course, the wrong one.

    This setting hides the home indicator after a certain inactivity delay. If the user taps on the screen, the home indicator appears again in its full bright glory. In a game, where you will tap all the time, it's the same as showing the indicator permanently.

    Note that this setting can be useful sometimes. For example, if you are doing a video player, or a game that does not require user inputs often, this is what you want. I think there is ways to toggle this behavior when needed.

    This is what YouTube does, for example (it's hard to see cos' the home indicator is black here, but look at the bottom):

    "Hide home button on iPhone X" (download video).

    "Defer system gestures on edges"

    As you have guessed now, this is the setting we need.

    It does two things:

    • The home indicator opacity is reduced, which makes it less bright. Perfect.
    • To go back to the home screen, you have to do the gesture twice. This is also nice, since it prevents accidental gestures.

    The "bottom" checkbox is enough if you only want to change the home indicator behavior. The other checkboxes can be used for Control Center and other gestures on iPad, I think.

    This is what Alto's Adventure does, as well as Steredenn:

    "Defer system gestures on edges" (download video).

    1. I think it will be hidden or removed in a future version of iOS when the behavior will be accepted by most people. Currently, it's a nice affordance and the space it takes is necessary while the users are getting used to it.

  • The Story of Glory To Rome

    16 September 2018

    Cyrus Farivar at Ars Technica:

    But [Glory To Rome] (GTR) felt different. First, I noticed the packaging. Unlike the high-quality large-format cardboard boxes with soft colors and thoughtful art, GTR came in a compact, cheap, plastic tub that wasn’t much bigger than a large paperback book. Second, and more jarring, was the game's art. It had a bright color palette and cartoonish characters that seemed like they belonged in a children’s clip art computer game.

    [He] started unpacking the game and patiently explaining the rules. What immediately struck me was the mechanic allowing the player to choose what type any given card would be—one of a few choices that would automatically exclude the others. GTR appeared to be full of intrigue and strategy, and there were multiple ways to win. […]

    In less than a decade, how could a game whose ranking still remains relatively high (150) on Board Game Geek — just a few places above Magic: The Gathering and a few places lower than Carcassonne — have totally disappeared? What happened? […]

    "It’s one of those games, you just recognize the genius of the design of it," Lozito told Ars. "This is one of the quintessential big games in a small box. Every time you sit down to play it it plays differently, the cards are all crazy. I looked at the game and I have no idea how his brain could come up with such a complex game out of 125 cards or whatever." […]

    As GTR continued to gather critical and cult-classic steam, word started getting back to [co-creator Carter] that one of the game’s primary problems was its awful production—those nausea-inducing colors and a cheap plastic box. […]

    [After the Kickstarter's success], this should have been the moment that Carter seized game-design glory. With a successful production, he could have taken the game from indie cult favorite to something much bigger. But according to Rao, this influx of cash instead represented the beginning of the end.

    Here's a description from Ed Carter, one of the "co-creators":

    Early on, Glory To Rome was often called "San Juan on Steroids," but it would probably be more accurate to call it "San Juan meets Magic The Gathering." There are 40 different cards in Glory To Rome and each one has a unique ability. Only four of them are sensible "Improve your X by Y" abilities—the rest are ridiculous, convoluted powers like "Incomplete MARBLE structures provide function." That generates 760 different two-card combinations and many thousands of three-card ones. I've played hundreds of games of GTR over the years so I've thought about a lot of these combinations, but certainly not all of them.

    Also, while most games are balanced using a stable equilibrium with the aim that no card should be so overpowering that it breaks the game, Glory To Rome is balanced using astable equilibrium—our aim was that in the right combinations, virtually every card would be able to contribute to a runaway victory.

    I was never aware that the game was unavailable. I got a copy of the French version (by Filosofia) a few years ago when it was in store almost anywhere in France, in a reprinted and decent version, so this story is all news to me. It's funny to think that the game was "everywhere" here, but unavailable in its home-country.

    It's a shame though, since the game is really, really great.

    Side note: the work by Heiko Günther is beautiful too. I think that the French version is clearer in an actual game, but wow this is pretty.

    This article makes me think that many boardgames disappear each year, going unnoticed and forgotten forever.

    I wrote about Quantum before, one of my favorite boardgames, which is out of stock too. I looked for a new copy a few months ago, and to my surprise, wasn't able to find one. I looked today, and the game is not even listed on most sites anymore.

    Each year1, an increasing number of new games is released, and each year, an even bigger number is retired. The disturbing thing, however, is that most of these games are, actually, great games.

    Only a small and highly-successful portion of all the boardgames will be kept forever (Catan, Race for the Galaxy, Carcassonne, Monopoly, 7 Wonders, etc.). Are those the very best of the best? Or just the most successful ones?

    1. Like videogames, the number of boardgames produced a year keeps getting bigger. I don't have the numbers, but I've read that the production of the last few years alone might be higher than the whole combined number of games created a few decades before.

  • Reboot

    20 July 2018

    It's been a long time since my last post (more than two years, in fact). And the reason is absurd.

    tl;dr: I have redesigned Solar Sailer, making the home page the most important one and refocusing this site as a way to find me on Internet. The blog is relegated to a secondary part of the website. I still plan to publish articles, but the focus of Solar Sailer is to quickly know who I am, what I've done and where you can find me.

    The rest is a bonus. However, I'm still planning to expand this website in new ways — adding a portfolio and a resume, most notably.

    New redesign and home page

    If you want to read more about why it took so long, continue. Otherwise, you know everything. 😉

    I was using Jekyll to generate this blog and hosting it with GitHub Pages (Jekyll is maintained by GitHub, so the workflow to publish a Jekyll site on GitHub is dead simple if you accept their dependencies and constraints). Then, one day, GitHub said that they were deprecating the Markdown engine that I was using, affecting a few posts I wrote.

    I wanted to redesign this site for a long time, so instead of just updating the posts, I decided to rewrite the whole blog (like every developer do each time they have a small change to do — it's our curse).

    I experimented. I designed 6 or 8 layouts. I was never happy, and I never gave me the time to finish it properly. When I started to implement a new design, I let it wither for a few months. And when I came back, I just ditched it all. Again. And again. And again.

    I moved the blog to Hugo. Then I came back to Jekyll once more. I modernized everything. Then I was fed up with Jekyll again, so I tried Gatsby. And I did other things, abandoning the redesign once again. Meanwhile, and even if I had dozens of drafts, I couldn't update the old blog with new articles. So it languished there, in its infamous uglyness (something I was not proud of, calling myself a designer).

    And finally, I retried Gatsby recently and completed a new design. It's not perfect. It's not well tested on older browsers. But it works, in a good enough way for me — I have already spent too much time on it.

    I've also cut the dependency I had on GitHub Pages. I'm still using GitHub to host this website, but the workflow is separated and I'm free to use what I want.

    It's time to ship.

    More than just a simple redesign, I wanted to reboot the site to add a portfolio, a resume, a documentation·codex·tutorials, as well as a photo and automation sections. Of course, if I wanted to do it all, I would never have finished anything, so I just focused on a simple redesign at the time being, keeping in mind that the site would be expanded later.

    The goal, in the end, is to do all that — if I'm motivated enough. A good start would be to publish new articles with a regular schedule.

    Another thing that was ticking for this website was the "deprecation" of HTTP by Chrome in an upcoming update. By deprecation, I mean that Chrome will show an "Unsecure" flag on non-HTTPS websites. HTTP will always work, but it will be relegated to a legacy protocol that nobody should continue to use.

    I was in a hurry to complete this reboot before this update. I soft-launched the new site a few weeks ago, and tweaked it since. And now it's official.

    To be a little bit exhaustive:

    • I have 6 designs in Sketch files, plus a few more that I did directly in the browser.
    • I did more than 50 logos. And I'm still not satisfied by the one I use now (it's not the best that I did, but I think it fits better with the layout and what I wanted to do). It's so hard to capture the essence of something personal. It's a blank canvas without any constraints.
    • I tried 4 or 5 blog engines (Jekyll, Metalsmith, Gatsby, Hugo and others). I even toyed with the idea of creating my own.

    I'm so exhausted by this whole process and that's mainly why I'm so long to end this blog post. 😇

    I hope you'll like it.

    Update 18 October 2018

    I've renamed the site to simply "Matthieu Oger". The "brand" I was trying to create with the "Solar Sailer" name was not working at all. It's better to just drop it and use my name as of now. If you encounter a broken link somewhere, please contact me.