Skip to content

Conversation

@wjt
Copy link
Member

@wjt wjt commented Sep 10, 2025

This adjusts the font sizes used in the game (building on #1162 which gives us more font sizes to use), and adjusts the margins, separation, and sizes of various elements to better fit the UI in the reduced resolution.

All screenshots taken fullscreen on a 3840x2160 monitor for fairness: this common hidpi display resolution is precisely 200% larger than 1080p and 300% larger than 720p, so all screenshots have integer scaling.

0.1.3 release (1080p) main (720p) this branch
image image image
image image image

Fixes #1136
Fixes #1142


wjt added 6 commits September 10, 2025 10:49
The dialogue balloon scene sets a minimum height of 64px on the ribbon. Be consistent.
When we switched the game's base resolution from 1920×1080 to 1280×720, we did
not adjust the font size to compensate.

The new resolution is 2/3 of the old resolution in both axes. The previous font
only had one size, and we were using it at 2× that size. Halving it to its
natural size looked too small against the scroll assets.

Having switched to a font that has a variety of sizes, we can now reduce its
size by approximately 1/3:

- The default font was Jersey-20 at 1×. Change it to Jersey-15. Since Jersey-20
  is slightly smaller than the old font was, this works out at almost exactly
  2/3 the size of m6x11plus.

- BigFlatButton (used for the buttons on the main menu) was Jersey-20 at 2×.
  Change it to Jersey-25 at 1×.

Helps #1136
We have reduced the font size to approximately 66% of its former size,
so we should at least reduce the line separation proportionately.

But to my eye, reducing from 9px to 6px is still too spacious. Reduce it
further to 3px.
We have less space to spare at 720p.
This is roughly 2/3 of the old value, matching the reduction in the
game's base resolution.
Since changing the game's base resolution, dialogue balloons have taken
up way too much of the viewport. Reducing the font size and box
margins/padding have helped a bit but we can go further:

- Reduce the minimum size of the balloon by 1/3 in the y-axis and 1/5 in the
  x-axis. To my eye, reducing the minimum width to 320 looked too narrow.

- Reduce the padding around the Next button by eliminating the HBoxContainer and
  MarginContainer it was packed in. Adjust its horizontal container sizing to
  shrink end to preserve its right-aligned position; and the script to show and
  hide the button rather than the now-removed container.

The assets from Tiny Swords that we are using for the balloons (and other UI
elements) are the limiting factor in making this much smaller, since they are
based around a 64×64 grid. In future I think we'll want to replace them.
@github-actions
Copy link

Play this branch at https://endlessm.github.io/threadbare/branches/endlessm/update-theme-for-720p.

(This launches the game from the start, not directly at the change(s) in this pull request.)

@wjt wjt marked this pull request as ready for review September 10, 2025 10:15
@wjt wjt requested a review from a team as a code owner September 10, 2025 10:15
@wjt
Copy link
Member Author

wjt commented Sep 10, 2025

I didn't spend any time on the storybook because that is being redesigned.

wjt added 2 commits September 10, 2025 11:16
We have less space after switching to 720p. Remove the MarginContainer that
previously surrounded all the controls. Make the Back button smaller.

Fixes #1142
Previously the right column of the credits page had two sections in
separate scrolls. This took up so much vertical space with margins and
padding that neither of the RichTextLabels within could be read without
scrolling.

Merge them. Set the longer of the two (the third-party components
section) to have twice the stretch ratio of the Art & Music section, so
that both fit entirely without scrolling.

This page is still a placeholder but at least players can now see,
without scrolling, all of the credits that we are required to show!
@wjt wjt force-pushed the update-theme-for-720p branch from 8ba23f2 to c39c4b2 Compare September 10, 2025 10:17
Copy link
Collaborator

@manuq manuq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great to me! I experimented with a bit more margin to the left of the panels, for readability. Feel free to take my suggestion.

Comment on lines 121 to 124
content_margin_left = 96.0
content_margin_left = 64.0
content_margin_top = 64.0
content_margin_right = 96.0
content_margin_right = 64.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that there is less space to spare in 720p! But at the same time I find a bit odd that the balloon is sparing space on the left of the texture showing the background behind instead of having the solid paper background for better margin and readability. The text is too close to the border. Ideally we should expand the texture to the left:

Image

I gave it a try, I thought it was impossible without editing the asset in an external program because the texture comes in 64x64 tiles. But there is an "Expand Margin" option. Setting left to 16 px looks much better to me. And right too to keep things centered. Before:

Image

After:

Image

Now this also enlarged the texture to the right, we can compensate by reducing the width in the custom minimum size by 16 px:

Image

I think this looks better. Here is a commit for reference, in case you agree: 036157a

I checked the credits and the intro dialogues and didn't saw anything overflow because of the 16 px horizontal reduction. What do you think?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is much better! I didn't know this was supported. I'll look at your patch.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I amended it to apply the same to the top and bottom margins; and to adjust the default size of the balloon so that it does not need to resize unless there are more than 3 lines of dialogue, or 2 or more responses.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I amended it to apply the same to the top and bottom margins; and to adjust the default size of the balloon so that it does not need to resize unless there are more than 3 lines of dialogue, or 2 or more responses.

I was about to suggest doing the same in the vertical axis, you read my mind!

manuq and others added 2 commits September 10, 2025 15:20
The scroll/parchment texture we are using for PanelContainer's background has
around 30px of transparent border. For PanelContainer we would prefer to use
this space as margin between the edge of the visible parchment and its contents.

Expand the margin by 16px in each axis. Reduce the content margin at the top by
16px to compensate - the shape of the scroll means there is additional margin
there.

Co-authored-by: Will Thompson <wjt@endlessaccess.org>
Due to the previous change to effectively add 16px to the content
margins for PanelContainer, we can reduce the minimum width of the
balloon by 2×16px to compensate.

In addition, hide the ResponsesMenu container, and update the offsets
saved to the PanelContainer node in the scene. Previously the saved size
included both the "Next" button and 1 row of responses; now, the saved
size has space for the speaker's name, 3 lines of dialogue, and a next
button. This means that in most cases, the balloon does not need to grow
when the "Next" button appears or between lines of dialogue.
@wjt wjt merged commit 37fddfc into main Sep 10, 2025
8 checks passed
@wjt wjt deleted the update-theme-for-720p branch September 10, 2025 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Credits screen doesn't fit 720p Adjust theme font & box sizes for 720p base resolution

3 participants