docs: def search(
          self,
          filter_by,
          return_fields=None,
          sort_by=None,
          desc=True,
          limit=None,
          offset=None,
      ):
          """
          Full search of games resource, supporting all search fields
          available in API
          http://www.giantbomb.com/api/documentation#toc-0-17
  
          :param filter_by: dict
          :param return_fields: tuple
          :param sort_by: string
          :param desc: bool
          :param limit: int
          :param offset: int
          :return: pybomb.clients.Response
          """
          self._validate_filter_fields(filter_by)
          search_filter = self._create_search_filter(filter_by)
  
          search_params = {"filter": search_filter}
  
          if return_fields is not None:
              self._validate_return_fields(return_fields)
              field_list = ",".join(return_fields)
  
              search_params["field_list"] = field_list
  
          if sort_by is not None:
              self._validate_sort_field(sort_by)
  
              if desc:
                  direction = self.SORT_ORDER_DESCENDING
              else:
                  direction = self.SORT_ORDER_ASCENDING
  
              search_params["sort"] = "{0}:{1}".format(sort_by, direction)
  
          if limit is not None:
              search_params["limit"] = int(limit)
  
          if offset is not None:
              search_params["offset"] = int(offset)
  
          response = self._query(search_params)
  
          return response