This is my first post, I really hope it’s well written (I apologize for the video watermarks). I’ve found a way to preserve consistently what players see on screen, regardless of their resolution or aspect ratio, and I’m trying to get some feedback/suggestions about if I should Open Source this and if it’s actually something useful.
In many competitive games, players with wider aspect ratios often have an advantage due to increased peripheral vision with wider aspect ratios. Roblox doesn’t currently allow us to set a constant FOV for both vertical and horizontal axes simultaneously, which could solve this issue in competitive/shooters games.
Image 01 - Example of how different aspect ratios changes FOV (Source)
I’ve made a system that ensures all players see the exact same amount of game content, even if they change their window size in real-time. This is similar to how some popular competitive games like Counter Strike and Valorant handle aspect ratio differences.
It works by “stretching” the player camera CFrame to fit the player’s screen while maintaining a previosly set field of view. This means that regardless of whether a player has a 16:9, 21:9, or any other aspect ratio, they’ll all have access to the same visual information.
Demonstration
Video 01 - Video showing how the visualization stills the same when aspect ratio is changed. (Test place link)
- Do you think some games would benefit from this type of consistent FOV through different aspect ratios?
- Is this feature really necessary for developers?
- Should I consider open-sourcing this for other developers to use and improve upon?
Main References
FrostDracony - CFrame.fromMatrix, what is it and how can I use it?
nothing_1649 - FOV decoupler function: modify horizontal and vertical fov
Maximum_ADHD - Super Camera Skewer 64