Plan for allowing other screen resolutions
Right now, all games run at 320x200 resolution. It is possible to test other resolutions when using gfx_sdl. You can either set a game's resolution in a menu hidden in the SPAM menu, or by pressing SHIFT+1+R and then dragging the corner of the window.
There are various obstacles in the way of supporting other resolutions:
Contents
Baby Steps, Just One Resolution For Now[edit]
In my (James's) opinion, it might never be appropriate to add plotscripting commands to change screen resolution. The game author would choose a resolution at design-time, from a menu in custom. Supporting multiple changeable resolutions in a single game, or even freely resizable windows might be something we desire later, but it should not be part of our first-step plan to allow authors to choose a single resolution other than 320x200.
Battle System[edit]
- The battle system is hard coded 320x200, making the resolution larger leaves empty space around its edges.
- This is not a problem for game authors who don't plan on using the battle system, so it might not be an obstacle to allowing other resolutions.
- Battle backdrops would need to support larger sizes
- the Battle formation editor would need to support larger sizes.
Built-in Menus[edit]
- Built-in menus like inventory, equip, shops, are hard coded to 320x200
- This can be resolved by converting existing menu screens to slice-based menu screens.
Fonts[edit]
- We can't yet display text at any size other than 8x8 pixels.
- A solution to this is partially implemented already.
Backdrops[edit]
- All backdrops, whether for battle backgrounds, textbox backgrounds, or scripted backgrounds are all 320x200.
- Our current file format is not flexible enough to support other sizes.
- However a better file format would be fairly easy to implement. It should be RELOAD based to handle variable size backdrops.
Portability and Backcompat[edit]
- We would like to support portable versions like Android and iOS sometime in the future, and we don't want to allow people to use resolutions that couldn't work on those.
- We want to make sure we have thought out all of the backwards compatibility issues with this before we proceed
A Proposal[edit]
What if we added a menu to custom that allowed the author to change their game's resolution?
- They could choose a width and a height.
- Depending on the resolution they have chosen, a list of warnings would be displayed.
- If any size larger than 320x200 was chosen:
- Warn that the battle system doesn't support other sizes
- Warn that built-in menus don't support other sizes
- Warn that backdrops don't support other sizes
- If a size is chosen that is not in a list of well-known common resolutions:
- Warn that full-screen may not work in some backends
- Warn that future portability to mobile devices might be lost
- If a very large size is chosen:
- Warn that the game may not be playable on smaller screens
- Warn that the game may display too slowly on slower devices
A menu like this could be implemented now, without solving any of the previously-mentioned compatibility problems. Unfortunately this menu would only really be useful to game authors who plan on plotscripting almost everything. Any game author who wants to use the standard battle system and standard menus would only be mocked by the existence of this menu :(