This is not a coding issue, facing isn’t even that hard to add, the sole issue is that I don’t have a way to do the UI that doesn’t totally suck.
As has been said, in situations where you’re highly focused and micromanaging time, like scanning with binoculars, firing a scoped weapon, or possibly firing a ranged weapon in general, there could be a feature where your view is narrowed as you concentrate on a target, but for just walking around it’s just too cumbersome, whether it be your field of view or where you’re aiming a light source. For static light sources, or perhaps even cameras or mirrors, restricted field of view makes perfect sense.
An alternate way of doing this that might just make sense would be to shift your view area in the direction you’re moving, so where now it looks like (walking north):
Before After Or for circular FOV heretics
########### ########### ########### ###########
########### ##.......## ########### ###.....###
##.......## ##.......## ###.....### ##.......##
##.......## ##.......## ##.......## ##.......##
##.......## ##.......## ##.......## ##.......##
##...@...## ##...@...## ##...@...## ##...@...##
##.......## ##.......## ##.......## ##.......##
##.......## ##.......## ##.......## ###.....###
##.......## ########### ###.....### ###########
########### ########### ########### ###########
########### ########### ########### ###########
It’s a lot more subtle and less literal than having a field of view arc, but also a lot less harsh and demanding in how you manage it.
This would auto-update based on your move direction. A major reason for actually adjusting the FOV instead of sticking in facing and related perception checks is it makes the situation visible (ha) to the player, basically you should be able to develop a feel for how likely you are to spot something based on how close to you it is, and if we shift the FOV like this, that feel would easily translate to how far from the center of the viewed area the enemy is.
I’m not at all sure I’m even going to implement this, for one thing it requires loading more map, because right now you can see all of the loaded map area, so if the FOV were shifted we’d have to load more map to make the extreme area visible. Just an idea I’ve been kicking around.
Increasingly unreasonably large examples:
Before After Or for circular FOV heretics
##################### ##################### ##################### #####################
##################### ####.............#### ##################### #######.......#######
##################### ####.............#### ##################### ######.........######
####.............#### ####.............#### #######.......####### #####...........#####
####.............#### ####.............#### ######.........###### ####.............####
####.............#### ####.............#### #####...........##### ####.............####
####.............#### ####.............#### ####.............#### ####.............####
####.............#### ####.............#### ####.............#### ####.............####
####.............#### ####.............#### ####.............#### ####.............####
####......@......#### ####......@......#### ####......@......#### ####......@......####
####.............#### ####.............#### ####.............#### ####.............####
####.............#### ####.............#### ####.............#### #####...........#####
####.............#### ####.............#### ####.............#### ######.........######
####.............#### ####.............#### #####...........##### #######.......#######
####.............#### ##################### ######.........###### #####################
####.............#### ##################### #######.......####### #####################
##################### ##################### ##################### #####################
##################### ##################### ##################### #####################
##################### ##################### ##################### #####################
[/spoiler]
Before After Or for circular FOV heretics
######################################### ######################################### ######################################### #########################################
######################################### ########.........................######## ######################################### ###############...........###############
######################################### ########.........................######## ######################################### ##############.............##############
######################################### ########.........................######## ######################################### #############...............#############
######################################### ########.........................######## ######################################### ############.................############
########.........................######## ########.........................######## ###############...........############### ###########...................###########
########.........................######## ########.........................######## ##############.............############## ##########.....................##########
########.........................######## ########.........................######## #############...............############# #########.......................#########
########.........................######## ########.........................######## ############.................############ ########.........................########
########.........................######## ########.........................######## ###########...................########### ########.........................########
########.........................######## ########.........................######## ##########.....................########## ########.........................########
########.........................######## ########.........................######## #########.......................######### ########.........................########
########.........................######## ########.........................######## ########.........................######## ########.........................########
########.........................######## ########.........................######## ########.........................######## ########.........................########
########.........................######## ########.........................######## ########.........................######## ########.........................########
########.........................######## ########.........................######## ########.........................######## ########.........................########
########.........................######## ########.........................######## ########.........................######## ########.........................########
########............@............######## ########............@............######## ########............@............######## ########............@............########
########.........................######## ########.........................######## ########.........................######## ########.........................########
########.........................######## ########.........................######## ########.........................######## #########.......................#########
########.........................######## ########.........................######## ########.........................######## ##########.....................##########
########.........................######## ########.........................######## ########.........................######## ###########...................###########
########.........................######## ########.........................######## ########.........................######## ############.................############
########.........................######## ########.........................######## #########.......................######### #############...............#############
########.........................######## ########.........................######## ##########.....................########## ##############.............##############
########.........................######## ########.........................######## ###########...................########### ###############...........###############
########.........................######## ######################################### ############.................############ #########################################
########.........................######## ######################################### #############...............############# #########################################
########.........................######## ######################################### ##############.............############## #########################################
########.........................######## ######################################### ###############...........############### #########################################
######################################### ######################################### ######################################### #########################################
######################################### ######################################### ######################################### #########################################
######################################### ######################################### ######################################### #########################################
######################################### ######################################### ######################################### #########################################
######################################### ######################################### ######################################### #########################################
Pfff, I put in the next level up, but the forum won’t let me post it.