Display Cutouts | Patreon Weekly #325
Added 2025-08-25 14:00:14 +0000 UTCHey Patrons, in this weekly I’m going to go over some technical changes I plan to make to display layouts on Android and iOS.
There’s also an audio Q&A this month! There’s a list of questions and timestamps below the weekly.
Notches and Hole Punches
Let me quickly take you back to 2017. Phone displays were all perfect whole rectangles, as god intended. Then Apple made this in 2018:

I understand the desire here, people want selfie cameras and also big edge-to-edge displays, but in my opinion the notch is a horrid compromise between the two. It creates a region of the screen that’s mostly useless most of the time. I would rather just have a thin display bezel or no selfie camera at all. Of course, everyone copies Apple, and now notches or hole punches are pretty much ubiquitous.
When I upgraded my phone last in 2019, I very specifically picked one with no hole punch and a pop-up selfie camera (a Oneplus 7 pro) and happily stopped thinking about notches entirely. For the last 6 years I’ve seen Shattered with a perfect full-screen display. Meanwhile everyone else has been getting the system status bar on iOS, and a black void on Android:

I’m thinking about this again now, as recent Android changes are forcing Shattered to actually handle notches in some way. Sure I could just have the app itself put a black void there instead of the system, but I might as well look and see if anything better can be done.
So after a quick survey, here’s how display cutouts currently look:
On Android the vast majority of devices use a relatively small center hole-punch. After that there’s a little mix of left hole punches, right hole punches, and center teardrop notches (small notches). Some Android phones do have big bulky notches, but they seem to have fallen out of favour a while ago.
On iOS many slightly old iPhones still use a big fat center notch, but newer iPhones use a “dynamic Island”, which is basically just an extra-wide center hole punch. This island can get bigger or smaller depending on background apps (e.g. music), but it seems that fullscreen games like Shattered force the island to shrink to a minimal size.
There’s still no way for me to do much with devices that have big bulky notches, but it seems that display cutouts on the whole have gotten a lot smaller. I think it may be possible for me to actually support some of these, and let devices with cutouts display Shattered in true fullscreen!
For most menus this is as simple as just lowering the title text and top-right back button, but the in-game UI is a bit more complex. Obviously rendering it into a larger notch wouldn't work without major changes:

But for the more medium sized ‘dynamic island’ things are a lot more promising. This could maybe work with the health bar moved up slightly and the buff bar on two rows:

And with smaller modern android hole punches (S24 Ultra pictured here) the game almost totally works as-is:

So I'm going to need to do a bit more testing and designing, but it's looking like some older devices will need to stick to showing a void or the status bar, but more modern ones should be able to get true fullscreen with relatively small UI changes!
Audio Timestamps
This month there were 21 questions from 11 Patrons
0:08 "What's been the single most difficult hurdle or aspect about managing the development of SPD? " - #1 ring of force stan
1:44 "my pawn goes up to f3 to attack your bishop! will the bishop escape?" - radiantchaos

2:05 "Today I shall ask the compulsory question of "how was your day/week/month?"" - Joshuackiwi
3:21 "Question: What inspired you to start modding Pixel Dungeon?" - Slenderazi
4:44 "Will you add discord emojis for Duelist and Cleric?" - Veek
5:19 "what does the back of the amulet actually look like?" - DaltonGoesFast
5:50 "do you have uno?" - radiantchaos
7:17 "Have you considered enemies with advanced AI? Maybe they'd do things like pickup and use equipment laying around, lure the player into traps or rooms of enemies, or position based on the player's class." - 1-800-thewolf
9:40 "What would you never add to the game normally, but you would if you had 100 Evans?" - 1-800-thewolf
10:28 "Do you like cheese?" - Slenderazi
11:05 "After you are finished with Shattered pixel dungeon what is the next project you want to work on?" - kokon
12:00 "what are your favorite and least favorite parts of making these Patreon EvanCasts? " - Depresbian
13:09 "i remember having a discussion about how the accuracy vs speed tradeoff of vanilla's weightstone was a more interesting choice than shattered's damage vs speed augmentation, but that accuracy being invisible made it ultimately better to replace it with damage. now that the tangible effects of accuracy are telegraphed to the player, how do you feel about weapon augment mechanics? " - Depresbian
14:51 "what's your favorite alchemy item?" - Depresbian
15:54 "What is the airspeed velocity of an unladen swallow?" - Slenderazi
16:10 "What is your dream project? If you the means, skill and knowledge to direct a team to create any vision, what would it be? Game, movie, music anything" - DaltonGoesFast
19:45 "Wait a second. If I have a cursed throwable item. Let's just say an Explosive Tomahawk. When I throw that bad boy and the curse procs, does that mean it explodes in my hand and then it's thrown? Or when I throw it, then it explodes. If you have time, explain it like your 3 years old." - Chewyou#4688
20:46 "If you were flush with endless amounts of cash, and could afford to license songs. What music would you replace the standard music with? Ex, the Demon Hall with some sick metal. (Wield Lighting to split the sun - Primordial, just to list a song.)" - Chewyou
21:54 "How do you feel about the current playerbase and it's state? Do you know which countries have a lot of good players or good high chal statistics? I've heard about big communities in South Korea and China but only communicated with Chinese part a little bit" - Rivlin the speedrunner #1
(Note that I mis-spoke at around 24:19. when I said "the Reddit community" I meant "the Discord community")
25:36 "When it's finally time to sunset Shattered, are you finally gonna us the magic combo to hit the fly's in order to guarantee the health potion? " - Chewyou#4688
26:43 "Are you excited about the imminent release of Hollow Knight Silksong? " - Block Vader
Comments
I haven't made solid decisions yet, but I am considering migrating the 'fullscreen' toggle in the settings to basically be a 'render into notch' setting. At the same time though, you would be able to quickly check the time by just swiping down from the top of your screen, as normal in any other fullscreen app.
Shattered Pixel
2025-08-25 17:40:25 +0000 UTCWould you consider adding a settings option to retain the current display cutout UI? I have an iPhone with a dynamic island and I tend to loose track of time while playing, so I really appreciate having the clock and/or a background timer visible to keep me on track. This might be minority opinion, but I don't mind the black bars on top and bottom of the display that avoid the rounded corners. Not a deal breaker if you can't for whatever reason. I'm not sure how complicated it would be to maintain compatibility if you have to make code changes on Android.
Nicholas
2025-08-25 17:17:27 +0000 UTCYeah it's not great. I understand that having a black void isn't a great user experience but having to work around an 'almost but not quite a rectangle' screen is a pretty bad developer experience. Shattered's in an unfortunate spot too because a fair bit of the UI is at the top. I have considered moving it down but I really like how the vast majority of interaction happens toward the bottom and 'informational but low interaction' UI is at the top. Desktop sort of mimics this by having all the interaction stuff at the bottom-right. atm my plan, as I mention in the weekly, is to make small adjustments to the top UI to support the most common Android hole punches, and maybe the dynamic island while I'm there, but if the cutout is any bigger the game is just going to largely stick to the 'black void' approach, maybe with a tiny bit of themeing so that it's less jarring.
Shattered Pixel
2025-08-25 16:48:25 +0000 UTCThat edge-to-edge enforcement is one of the worst breaking changes Google ever perpetrated. I'll be tuned to read your solution in source. (Oh and the answer to 15:54 should be "depends on whether it's a Python swallow or a Fallout swallow"?)
Robert Heinig
2025-08-25 15:45:02 +0000 UTC