Недавно нашёл скрипт модифицирующий прокрутку камеры. Мне кажется в такой игре будет неплохо смотреться. В него встроена функция свободного просмотра камерой, но её можно отключить.

Спойлер Код:
Код:
#==============================================================================
# ** Модификация камеры v1.0 (07.2.12)  by shun / Перевод: Arnon
#------------------------------------------------------------------------------
#   Модифицирует пермещение камеры, замедляя её.
#   Также добавляет возможность свободного перемещения камеры.
#==============================================================================

module SIMP
  #--------------------------------------------------------------------------
  # * Настройки
  #--------------------------------------------------------------------------
  #
  # Скорость прокрутки
  #
  CAMERA_MIN_SPEED = 1            # Минимальная скорость прокрутки
  CAMERA_DELAY = 2                # Задержка камеры (чем выше тем позднее)
  #
  # Свободный просмотр
  #
  CAMERA_SCROLL_SWITCH = 48       # Номер переключателя, запрещающего просмотр
  CAMERA_SCROLL_KEY = Input::A    # Клавиша активации (Input::<кнопка>)
  CAMERA_SCROLL_SPEED = 5         # Скорость свободного перемещения камеры
  CAMERA_SCROLL_DIR8 = true       # Просмотр в 8 направлениях
end

class Game_Map
  #--------------------------------------------------------------------------
  # ● Публичные переменные
  #--------------------------------------------------------------------------
  attr_writer   :real_display_x           # X координата
  attr_writer   :real_display_y           # Y координата
  #--------------------------------------------------------------------------
  # ● Инициализация камеры
  #--------------------------------------------------------------------------
  alias camera_initialize initialize
  def initialize
    camera_initialize
    @real_display_x = 0
    @real_display_y = 0
  end
  #--------------------------------------------------------------------------
  # ● Установка камеры
  #     map_id : ID карты
  #--------------------------------------------------------------------------
  alias camera_setup setup
  def setup(map_id)
    camera_setup(map_id)
    @real_display_x = 0
    @real_display_y = 0
  end
  #--------------------------------------------------------------------------
  # ● Координата X * 128
  #--------------------------------------------------------------------------
  def display_x
    return @real_display_x
  end
  #--------------------------------------------------------------------------
  # ● Координата Y * 128
  #--------------------------------------------------------------------------
  def display_y
    return @real_display_y
  end
  #--------------------------------------------------------------------------
  # ● Обновление кадра
  #--------------------------------------------------------------------------
  alias camera_update update
  def update
    camera_update
    dx = @display_x - @real_display_x
    unless dx == 0
      speed = get_speed(dx.abs)
      distance = 2 ** speed
      if dx > 0
        @real_display_x = [@real_display_x + distance, @display_x].min
      else
        @real_display_x = [@real_display_x - distance, @display_x].max
      end
    end
    dy = @display_y - @real_display_y
    unless dy == 0
      speed = get_speed(dy.abs)
      distance = 2 ** speed
      if dy > 0
        @real_display_y = [@real_display_y + distance, @display_y].min
      else
        @real_display_y = [@real_display_y - distance, @display_y].max
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Получение скорости прокрутки
  #     distance : дистанция
  #--------------------------------------------------------------------------
  def get_speed(distance)
    return [SIMP::CAMERA_MIN_SPEED, distance / 32 - SIMP::CAMERA_DELAY].max
  end
end

class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # ● Обновление кадра
  #--------------------------------------------------------------------------
  alias camera_update update
  def update
    # Проверка на движение, запущенные команды события, маршрут движения,
    # а так же показанное на экране сообщение
    unless moving? or $game_system.map_interpreter.running? or
           @move_route_forcing or $game_temp.message_window_showing
      # Если нажата клавиша свободного просмотра и не активен переключатель
      if Input.trigger?(SIMP::CAMERA_SCROLL_KEY) and @scroll != true and
         $game_switches[SIMP::CAMERA_SCROLL_SWITCH] != true
        # Воспроизведение SE выбора решения
        $game_system.se_play($data_system.decision_se)
        @scroll = true
        Input.update
      end
    end
    # Если активен свободный просмотр
    if @scroll
      super
      update_scroll
    else
      camera_update
    end
  end
  #--------------------------------------------------------------------------
  # * Обнолвление кадра (свободный просмотр)
  #--------------------------------------------------------------------------
  def update_scroll
    # Если была нажата клавиша свободного просмотра
    if Input.trigger?(SIMP::CAMERA_SCROLL_KEY)
      # Воспроизведение SE отмены
      $game_system.se_play($data_system.cancel_se)
      # Центрировать карту
      center(@x, @y)
      # Установка флага прокрутки
      @scroll = false
      return
    end
    distance = 2 ** SIMP::CAMERA_SCROLL_SPEED
    # Прокрутка в указанном направлении
    dir = (SIMP::CAMERA_SCROLL_DIR8 ? Input.dir8 : Input.dir4)
    case dir
    when 1
      $game_map.scroll_down(distance)
      $game_map.scroll_left(distance)
    when 2
      $game_map.scroll_down(distance)
    when 3
      $game_map.scroll_down(distance)
      $game_map.scroll_right(distance)
    when 4
      $game_map.scroll_left(distance)
    when 6
      $game_map.scroll_right(distance)
    when 7
      $game_map.scroll_left(distance)
      $game_map.scroll_up(distance)
    when 8
      $game_map.scroll_up(distance)
    when 9
      $game_map.scroll_right(distance)
      $game_map.scroll_up(distance)
    end
  end
  #--------------------------------------------------------------------------
  # ● Центрирование карты
  #--------------------------------------------------------------------------
  alias camera_center center
  def center(x, y)
    camera_center(x, y)
    $game_map.real_display_x = $game_map.display_x
    $game_map.real_display_y = $game_map.display_y
  end
end

  #--------------------------------------------------------------------------

Попробуй, может пригодится.