KR102094066B1 - 모바일 게임에 대한 데이터 처리 방법 및 장치 - Google Patents

모바일 게임에 대한 데이터 처리 방법 및 장치 Download PDF

Info

Publication number
KR102094066B1
KR102094066B1 KR1020177036599A KR20177036599A KR102094066B1 KR 102094066 B1 KR102094066 B1 KR 102094066B1 KR 1020177036599 A KR1020177036599 A KR 1020177036599A KR 20177036599 A KR20177036599 A KR 20177036599A KR 102094066 B1 KR102094066 B1 KR 102094066B1
Authority
KR
South Korea
Prior art keywords
target
processed
expression
data
data operation
Prior art date
Application number
KR1020177036599A
Other languages
English (en)
Other versions
KR20180009352A (ko
Inventor
량 마
즈창 허
춘화 뤄
Original Assignee
텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 filed Critical 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20180009352A publication Critical patent/KR20180009352A/ko
Application granted granted Critical
Publication of KR102094066B1 publication Critical patent/KR102094066B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

모바일 게임에 대한 데이터 처리 방법 및 장치가 개시되어 있다. 본 방법은: 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 단계; 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 단계; 및 적어도 하나의 처리될 데이터 동작이 비전송 유형에 속하는 처리될 데이터 동작을 포함할 때, 비전송 유형에 속하는 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하는 단계 - 제1 데이터 동작은 인터페이스 관련 정보에 대한 디스플레이 동작을 포함하고, 인터페이스 관련 정보는 진행률 정보, 관련 애니메이션 정보, 및 동작 결과 정보 중 적어도 하나를 포함함 - 를 포함한다. 본 발명에 의해, 모바일 게임의 네트워크 원활성이 향상되도록, 모바일 게임 진행 중에 네트워크 대역폭의 낭비가 회피될 수 있다.

Description

모바일 게임에 대한 데이터 처리 방법 및 장치
본 출원은 2015년 11월 17일자로 출원된, 발명의 명칭이 "MOBILE GAME DATA PROCESSING METHOD AND APPARATUS"인 중국 특허 출원 제201510791150.3호 - 이는 참조에 의해 그 전체가 원용됨 - 를 우선권 주장한다.
본 개시내용은 인터넷 기술 분야에 관한 것으로서, 상세하게는, 모바일 게임 데이터 처리 방법 및 장치에 관한 것이다.
스마트폰의 보급에 따라, 모바일 게임들이 점점 더 보편화되고 있다. 모바일 게임들의 현재의 네트워크 아키텍처는 일반적으로 서버가 다수의 클라이언트들에 연결되어 있는 것이다. 즉, 서버는 다수의 클라이언트들과 게임 데이터를 교환할 수 있다. 예를 들어, n개의 클라이언트들이 동시에 모바일 게임을 플레이하는 경우, 각각의 클라이언트가 다른 클라이언트들의 게임 데이터를 이해할 수 있고 n개의 클라이언트들이 동시에 온라인으로 게임을 플레이하는 효과를 달성할 수 있도록, 서버는 n개의 클라이언트들의 게임 데이터를 실시간으로 서로에게 전송할 수 있다.
모바일 게임들의 현재의 네트워크 아키텍처는 서버에게 각각의 클라이언트에 의해 수행되는 각각의 단계를 실시간으로 이해할 것을 요구한다. 즉, 서버가 클라이언트에 의해 피드백된 단계에 따라 다음 동작을 수행하라고 클라이언트에게 지시할 수 있도록, 각각의 클라이언트는 수행된 각각의 게임 단계를 서버에게 피드백할 필요가 있다. 그렇지만, 클라이언트 자체에 의해 판단 및 처리될 수 있는 일부 단계들이 서버와의 정보 교환 이후에만 실행을 위해 서버에 의해 클라이언트에게 통지될 수 있다. 따라서 이러한 정보 교환이 중복적(redundant)인 것은 분명하다. 많은 수의 클라이언트들이 동시에 모바일 게임을 플레이할 때, 대량의 중복적인 정보 교환이 동시에 일어날 수 있다는 것은 분명하고, 그 결과 일부 네트워크 대역폭들이 중복적인 정보 교환에 의해 점유되어 네트워크 대역폭들의 낭비를 초래하며, 이는 심지어 모바일 게임의 네트워크 원활성(network smoothness)에 영향을 줄 수 있다.
본 발명의 실시예들은, 모바일 게임의 네트워크 원활성을 향상시키기 위해, 모바일 게임 동안 네트워크 대역폭들의 낭비를 피할 수 있는 모바일 게임 데이터 처리 방법 및 장치를 제공한다.
제1 양태에서, 본 개시내용은 모바일 게임 데이터 처리 방법을 제공하고, 본 방법은:
모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태(target running state)를 취득하는 단계;
타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 단계; 및
적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하는 단계를 포함하고;
여기서 제1 데이터 동작은 인터페이스 관련 정보를 디스플레이하는 동작을 포함하고, 인터페이스 관련 정보는 진행률 정보, 관련 애니메이션 정보, 및 동작 결과 정보 중 적어도 하나를 포함한다.
본 발명의 실시예들은 다른 파일 전달 방법을 제공하고, 본 방법은:
파일 전달 작업에 대한 작업 요청을 작업 관리 시스템에게 송신하는 단계;
작업 요청에 따라 작업 관리 시스템에 의해 반환된 파일 전달 작업을 수신하는 단계;
파일 전달 작업에 따라 소스 스테이션으로부터 파일을 취득하고, 파일을 저장하는 단계; 및
다른 타깃 노드들이 파일들을 취득하기 위한 소스 스테이션으로 역할하기 위해, 파일 취득이 성공했다는 것을 나타내는 작업 실행 결과를 작업 관리 시스템에게 보고하는 단계를 포함한다.
제2 양태에서, 본 개시내용은 모바일 게임 데이터 처리 장치를 제공하고, 본 장치는:
모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하도록 구성된 상태 취득 모듈;
타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하도록 구성된 탐색 모듈; 및
적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하도록 구성된 제1 결정 및 실행 모듈을 포함하고;
여기서 제1 데이터 동작은 인터페이스 관련 정보를 디스플레이하는 동작을 포함하고, 인터페이스 관련 정보는 진행률 정보, 관련 애니메이션 정보, 및 동작 결과 정보 중 적어도 하나를 포함한다.
본 발명의 실시예들은, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하고 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 것에 의해, 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행할 수 있다. 따라서, 클라이언트가 서버와 정보를 교환함이 없이 제1 데이터 동작을 로컬 클라이언트에서 수행할 수 있도록, 클라이언트가 로컬적으로 실행될 수 있는 현재의 동작을 판단하기 위해 타깃 작동 상태를 분석할 수 있으며, 이는 중복적인 정보 교환을 피함으로써 네트워크 대역폭들의 낭비를 피하고 모바일 게임의 네트워크 원활성을 향상시킨다.
본 발명의 실시예들 또는 종래 기술에서의 기술적 해결책들을 보다 명확하게 설명하기 위해, 이하에서는 실시예들 또는 종래 기술을 설명하는 데 필요한 첨부 도면들을 간략히 소개한다. 이하의 설명에서의 첨부 도면들이 본 발명의 일부 실시예들만을 도시하고, 본 기술분야의 통상의 기술자가 창조적 노력 없이 이 첨부 도면들로부터 다른 도면들을 도출할 수 있다는 것은 분명하다.
도 1은 본 발명의 일 실시예에 따른, 모바일 게임 데이터 처리 방법의 개략 플로차트;
도 1a는 본 발명의 일 실시예에 따른, 상태 머신의 모니터링 프로세스의 개략 플로차트;
도 2는 본 발명의 일 실시예에 따른, 다른 모바일 게임 데이터 처리 방법의 개략 플로차트;
도 3은 본 발명의 일 실시예에 따른, 모바일 게임 데이터 처리 장치의 개략 구조도;
도 4는 본 발명의 일 실시예에 따른, 다른 모바일 게임 데이터 처리 장치의 개략 구조도;
도 5는 본 발명의 일 실시예에 따른, 제2 결정 및 실행 모듈의 개략 구조도;
도 6은 본 발명의 일 실시예에 따른, 다른 제2 결정 및 실행 모듈의 개략 구조도;
도 7은 본 발명의 일 실시예에 따른, 추가의 모바일 게임 데이터 처리 장치의 개략 구조도.
이하에서는 본 발명의 실시예들에서의 기술적 해결책들을 본 발명의 실시예들에서의 첨부 도면들을 참조하여 명확하고 완전하게 기술한다. 기술된 실시예들이 실시예들 전부가 아닌 본 발명의 실시예들 중 일부라는 것은 분명하다. 창조적 노력 없이 본 발명의 실시예들에 기초하여 본 기술분야의 통상의 기술자에 의해 이루어진 모든 다른 실시예들은 본 개시내용의 보호 범위 내에 속한다.
본 발명의 실시예들에 관여된 클라이언트는 휴대폰들, 모바일 컴퓨터들, 태블릿 컴퓨터들, PDA(Personal Digital Assistant)들, 미디어 플레이어들, 스마트 TV들, 스마트 워치들, 스마트 안경들, 및 스마트 팔찌들 - 이들로 제한되지 않음 - 을 포함하는 사용자 장비 상에서 작동되는 게임 클라이언트일 수 있다.
도 1을 참조하면, 도 1은 본 발명의 일 실시예에 따른, 모바일 게임 데이터 처리 방법의 개략 플로차트이다. 본 방법은 하기의 단계들을 포함할 수 있다.
S101. 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득한다.
구체적으로는, 클라이언트에 적용된 모바일 게임 데이터 처리 장치는 미리 설정된 상태 머신을 통해 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득할 수 있다. 타깃 작동 상태는 모바일 게임의 규칙에 따라 미리 설정된 적어도 하나의 작동 상태 중 하나일 수 있다. 카드 게임을 예로 들면, 미리 설정된 적어도 하나의 작동 상태는 능동 플레이 초기 상태(active playing initial state), 수동 플레이 초기 상태(passive playing initial state), 선택 상태(selection state), 스킬 시작 상태(skill starting state), 플레이 상태(playing state) 등을 포함할 수 있다.
상태 머신은 유한 상태 머신(Finite State Machine, FSM) 중의 밀리 상태 머신(Mealy state machine)일 수 있다. 즉, 상태 머신은 유향 그래프(directed graph)일 수 있으며, 노드들의 그룹과 대응하는 전달 함수들의 그룹으로 이루어져 있다. 상태 머신는 일련의 이벤트들에 응답하여 "작동"된다. 각각의 이벤트는 "현재의" 노드들에 속하는 전달 함수들의 제어 범위 내에 있다. 함수들의 범위는 노드들의 서브세트이다. 노드들 중 적어도 하나의 노드가 최종 상태에 있어야만 하고, 최종 상태에 도달할 때, 상태 머신이 정지된다.
S102. 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색한다.
구체적으로는, 타깃 작동 상태를 취득한 후에, 데이터 처리 장치는 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색할 수 있다. 적어도 하나의 작동 상태를 미리 설정할 때, 데이터 처리 장치는 또한 각각의 작동 상태에 대한 적어도 하나의 처리될 데이터 동작을 설정할 수 있다. 처리될 데이터 동작들의 유형들은 비전송 유형 및 전송 유형으로 나누어질 수 있다. 비전송 유형의 처리될 데이터 동작이란 구체적으로는 서버와 데이터를 교환함이 없이 클라이언트 자체에 의해 판단 및 실행될 수 있는 데이터 동작들을 지칭하고, 전송 유형의 처리될 데이터 동작이란 구체적으로는 서버와 데이터를 교환할 필요가 있는 데이터 동작들을 지칭한다. 여전히 카드 게임을 예로 들면, 능동 플레이 초기 상태에 관여된 적어도 하나의 처리될 데이터 동작은: "플레이 진행률 표시줄을 디스플레이하라고 사용자 인터페이스(UI)에게 통지하는 것"을 포함할 수 있고; 수동 플레이 초기 상태에 관여된 적어도 하나의 처리될 데이터 동작은: "플레이 애니메이션을 디스플레이하라고 UI에게 통지하는 것", 및 "플레이 프로세스에 대응하는 게임 데이터를 서버에게 송신하는 것"을 포함할 수 있다. "플레이 진행률 표시줄을 디스플레이하라고 UI에게 통지하는 것" 및 "플레이 애니메이션을 디스플레이하라고 UI에게 통지하는 것" 둘 다는 비전송 유형의 처리될 데이터 동작들이고, "플레이 프로세스에 대응하는 게임 데이터를 서버에게 송신하는 것"은 전송 유형의 처리될 데이터 동작이다. 능동 플레이 초기 상태는, 트리거 정보를 송신하는 것에 의해, 서버에 의해 실행되도록 트리거될 수 있다. 클라이언트가 능동 플레이 라운드에 진입할 차례라는 것을 서버가 탐지할 때, 트리거 정보가 생성되고; 사용자의 플레이 클릭 동작에 따라 클라이언트에 의해 실행되도록 플레이 상태가 트리거될 수 있다.
S103. 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행한다.
구체적으로는, 데이터 처리 장치가 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 갖는다는 것을 탐지할 때, 이는, 서버와 데이터를 교환함이 없이 클라이언트 자체에 의해 판단될 수 있는, 처리될 데이터 동작이 타깃 작동 상태에 있다는 것을 나타낸다. 따라서, 데이터 처리 장치는 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행할 수 있다. 제1 데이터 동작은 인터페이스 관련 정보를 디스플레이하는 동작을 포함한다. 인터페이스 관련 정보는 진행률 정보, 관련 애니메이션 정보, 및 동작 결과 정보 중 적어도 하나를 포함한다. 예를 들어, 현재 취득된 타깃 작동 상태가 능동 플레이 초기 상태이면, 능동 플레이 초기 상태에 관여된 처리될 데이터 동작인 "플레이 진행률 표시줄을 디스플레이하라고 UI에게 통지하는 것"은 비전송 유형에 속한다는 것이 탐지될 수 있다. 따라서, 데이터 처리 장치는 플레이 진행률 표시줄을 디스플레이하라고 UI에게 능동적으로 통지할 수 있다. 즉, 데이터 처리 장치는 진행률 정보를 디스플레이하는 동작을 수행할 수 있다. 플레이 진행률 표시줄을 디스플레이하라고 클라이언트에게 통지하기 위해, 서버에 의해, 통지 메시지를 클라이언트에게 송신할 필요가 없기 때문에, 중복적인 정보 교환이 감소될 수 있다.
임의로, 제1 데이터 동작은 데이터 교환 없는 로컬 논리연산 동작(local logic operation)들을 추가로 포함할 수 있다. 로컬 논리연산 동작들이란 구체적으로는 로컬 클라이언트에서 실행될 수 있고 서버에 의해 처리 및 통지될 필요가 없는 논리연산 동작들을 지칭한다. 카드 게임을 예로 들면, 사용자가 로컬 클라이언트에서 카드를 선택하기 위해 클릭할 때, 데이터 처리 장치는 현재의 타깃 작동 상태가 선택 상태라는 것을 취득할 수 있다. 따라서, 데이터 처리 장치는 선택 상태에 관여된 로컬 논리연산 동작을 로컬 클라이언트에서 실행할 수 있다. 로컬 논리연산 동작은 구체적으로는: 카드의 공격 거리 및 로컬 클라이언트의 캐릭터 역(character role)과 다른 클라이언트의 캐릭터 역 사이의 캐릭터 거리에 따라, 카드에 의해 공격될 수 있는 캐릭터 역을 분석하는 것, 및 카드에 의해 공격될 수 없는 캐릭터 역의 아바타를 회색처리(graying)하는 것이다. 서버가 분석된 캐릭터 공격 거리 관련 정보를 로컬 클라이언트에게 송신할 필요도 없고 캐릭터 역의 아바타를 회색처리하라고 로컬 클라이언트에게 통지할 필요도 없기 때문에, 정보 교환 횟수가 효과적으로 감소될 수 있다.
임의로, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가질 때, 전송 유형의 처리될 데이터 동작은 제2 데이터 동작이라고 결정되고, 제2 데이터 동작은 서버와의 데이터 전송을 통해 실행된다. 제2 데이터 동작이란 클라이언트와 서버 사이에서 게임 데이터를 전송하는 동작을 지칭하고, 이는 구체적으로는 게임 데이터를 수신하는 동작과 게임 데이터를 송신하는 동작으로 나누어질 수 있다.
도 1a를 참조하면, 도 1a는 본 발명의 일 실시예에 따른, 상태 머신의 모니터링 프로세스의 개략 플로차트이다. 도 1a에서의 상태 머신은 카드 게임들에 적용되고, 도 1a에 도시된 상태 머신은 구체적으로는 능동 플레이 프로세스를 예로 들고 있다. 도 1a에서의 상태 머신이 실행을 시작한 후에, 상태 머신은 클라이언트가 능동 플레이 스테이지에 진입하는지 수동 플레이 스테이지에 진입하는지를, 실시간으로, 탐지할 수 있으며, 클라이언트가 능동 플레이 스테이지에 진입한다고 탐지하면, 상태 머신은 현재의 타깃 작동 상태가 능동 플레이 초기 상태라고 결정할 수 있고, 클라이언트가 수동 플레이 스테이지에 진입한다고 탐지하면, 상태 머신은 현재의 타깃 작동 상태가 수동 플레이 초기 상태라고 결정할 수 있다. 상태 머신이 현재의 타깃 작동 상태가 능동 플레이 초기 상태라고 결정한 후에, 데이터 처리 장치는 능동 플레이 초기 상태에 관여된 제1 데이터 동작("플레이 진행률 표시줄을 디스플레이하라고 UI에게 통지하는 것")을 능동적으로 실행할 수 있고; 상태 머신은 사용자가 스킬을 시작하는지 여부를 계속하여 탐지하고, 사용자가 키(key)를 선택하기 위해 클릭할 때, 데이터 처리 장치가 스킬 선택 상태에 관여된 제1 데이터 동작("스킬 선택을 트리거하라고 UI에게 통지하는 것")을 능동적으로 실행할 수 있도록, 상태 머신은 현재의 타깃 작동 상태를 스킬 선택 상태로 점프할 수 있으며; 사용자가 스킬을 시작하지 않기로 선택할 때, 상태 머신은 사용자가 손을 선택하는지 여부를 계속하여 탐지하고, 사용자가 손을 클릭하면, 데이터 처리 장치가 선택 상태에 관여된 다수의 제1 데이터 동작들("손을 초기화하는 것", "손을 클릭하는 것을 트리거하라고 UI에게 통지하는 것", "손 선택이 적법한지 여부를 판단하는 것", "선택에 따라 공격 거리를 결정하는 것", 및 "공격 거리에 따라 아바타가 회색처리되는지 여부를 결정하라고 UI에게 통지하는 것")을 능동적으로 실행할 수 있도록, 상태 머신은 현재의 타깃 작동 상태를 선택 상태로 점프할 수 있으며; 상태 머신은 사용자가 타깃(타깃은 다른 클라이언트의 캐릭터 역 또는 다른 클라이언트의 손일 수 있음)을 선택하는지 여부를 계속하여 탐지하고, 사용자가 타깃을 선택하기 위해 클릭할 때, 데이터 처리 장치가 타깃 선택 상태에 관여된 제1 데이터 동작("타깃을 선택하라고 UI에게 통지하는 것")을 능동적으로 실행할 수 있도록, 상태 머신은 현재의 타깃 작동 상태를 타깃 선택 상태로 점프하며; 상태 머신은 사용자가 플레이 카(playing key)를 클릭하는지 여부를 계속하여 탐지하고, 사용자가 플레이 키를 클릭하면, 데이터 처리 장치가 플레이 상태에 관여된 제1 데이터 동작("플레이 애니메이션을 디스플레이하라고 UI에게 통지하는 것")을 능동적으로 실행할 수 있고 데이터 처리 장치가 또한 서버와의 데이터 교환을 통해 플레이 상태에 관여된 제2 데이터 동작("플레이 프로세스에 대응하는 게임 데이터를 서버에게 송신하는 것")을 실행할 수 있도록, 상태 머신은 현재의 타깃 작동 상태를 플레이 상태로 점프할 수 있다. 상태 머신이 사용자의 버리기 클릭(discard click) 동작을 탐지한 후에, 상태 머신은 라운드의 상태를 모니터링하는 것을 중단할 것이다.
본 발명의 실시예는, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하고 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 것에 의해, 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행할 수 있다. 따라서, 클라이언트가 서버와 정보를 교환함이 없이 제1 데이터 동작을 로컬 클라이언트에서 수행할 수 있도록, 클라이언트가 로컬적으로 실행될 수 있는 현재의 동작을 판단하기 위해 타깃 작동 상태를 분석할 수 있으며, 이는 중복적인 정보 교환을 피함으로써 네트워크 대역폭들의 낭비를 피하고 모바일 게임의 네트워크 원활성을 향상시킨다.
도 2를 참조하면, 도 2는 본 발명의 일 실시예에 따른, 다른 모바일 게임 데이터 처리 방법의 개략 플로차트이다. 본 방법은 하기의 단계들을 포함할 수 있다.
S201. 모바일 게임에서의 모든 요소 객체들에 대한 대응하는 객체 식별자들을 각각 설정한다.
S202. 요소 객체들과 객체 식별자들 간의 매핑 관계를 선언하고, 정규 표현식 규칙(regular expression rule)을 설정한다.
구체적으로는, 클라이언트에 적용된 모바일 게임 데이터 처리 장치는, 데이터 처리 장치가 요소 객체들에 대응하는 객체 식별자들을 취득하거나 선언된 매핑 관계에 따라 객체 식별자들에 대응하는 요소 객체들을 파싱할 수 있도록, 미리 설정된 스킬 관리자를 통해 모바일 게임에서의 모든 요소 객체들에 대한 대응하는 객체 식별자들을 각각 설정하고, 요소 객체들과 객체 식별자들 간의 매핑 관계를 선언할 수 있다. 매핑 관계를 선언하는 구체적인 방법은: 자동 스킬 생성을 가능하게 하기 위해, 미리 컴파일된 템플릿 특화(precompiled template specialization)에 의해 요소 객체들과 객체 식별자들 간의 매핑 관계를 선언하는 것이다.
카드 게임을 예로 들면, 요소 객체들은 카드 내용, 스킬 내용, 게임 캐릭터 역들 등을 포함할 수 있다. 실제 적용 동안, 스킬 관리자에 의해, 객체 식별자들을 설정하고 매핑 관계를 선언하는 구체적인 프로세스는, 예를 들어, 3개의 부분들로 나누어질 수 있다:
단계 1에서, CSkilldata.h 파일에 스킬 ID와 공격 거리가 정의된다
Figure 112017126652206-pct00001
단계 2에서, CSkilldata.h 파일에 스킬 시퀀스가 생성된다(즉, 요소 객체들의 객체 식별자들과 공격 거리들이 클래스 이름들을 설정하는 것에 의해 연관됨)
Figure 112017126652206-pct00002
단계 3에서, 스킬 생성자 템플릿 클래스(skill constructor template class)의 선언이 SkillCreatorFactory.h에 추가된다. 설정된 요소 객체들의 클래스가 요소 객체들과 객체 식별자들 간의 매핑 관계, 요소 객체들과 공격 거리들 간의 매핑 관계, 및 요소 객체들의 객체 식별자들과 공격 거리들 간의 매핑 관계를 포함하기 때문에, 요소 객체들의 클래스가 선언된 후에, 클라이언트가 요소 객체의 클래스 이름을 호출하는 것에 의해 요소 객체의 객체 식별자 및 공격 거리를 취득할 수 있도록, 클래스 이름에 대응하는 각각의 매핑 관계가 클래스 이름의 호출 동안 취득될 수 있다.
각각의 클래스 이름을 선언한 후에, 스킬 관리자는 요소 객체들의 수명 주기들을 관리하도록 추가로 구성될 수 있다. 즉, 스킬 관리자는 게임 동안 클라이언트에 의해 소유된 모든 카드들을 감독할 수 있으며, 감독은 생성(creation), 논리연산(logic), 및 삭제(deletion) 중 적어도 하나를 포함한다. 예를 들어, 클라이언트가 새로운 카드를 취득하면, 스킬 관리자는 카드의 동작 파라미터를 생성할 수 있고(동작 파라미터는 카드의 클래스 이름에 따라 취득된 객체 식별자 및 공격 거리를 포함함); 카드가 손 구역(hand area)으로부터 장비 구역(equipment area)으로 옮겨질 때, 그에 대응하여 카드에 대해 논리 처리가 수행될 수 있으며(논리 처리는 구체적으로는 카드가 위치되는 구역의 상태를 조정하는 것임); 카드가 플레이되거나 버려질 때, 카드가 삭제될 수 있다. 즉, 스킬 관리자는 카드를 더 이상 감독하지 않는다.
데이터 처리 장치는, 스킬 관리자를 통해 객체 식별자를 설정하고 매핑 관계를 선언한 후에, 정규 표현식 규칙을 추가로 설정할 수 있다. 정규 표현식 규칙이란 "정규 문자열(regular character string)"을 형성하기 위해 미리 정의된 특정 문자들 및 특정 문자들의 조합을 사용하는 것을 지칭할 수 있고, "정규 문자열"은 문자열에 대한 필터링 논리를 표현하는 데 사용될 수 있다.
카드 게임을 예로 들면, 정규 표현식 규칙은 카드 와일드카드 규칙(card wildcard rule) 및 임의적인 타깃 와일드카드 규칙(target wildcard rule)을 포함할 수 있다.
카드 와일드카드 규칙은 다음과 같다:
[카드 수량 하한 flagFromTo 카드 수량 상한, 1: flag<패>2: flag<점수>3: flag<classId>4. flag<카드 자리>5: flag<지정된 카드 ID 집합체>];
[카드 와일드카드] |[카드 와일드카드] ---논리 or, 2개의 조건들 중 하나가 충족됨;
[카드 와일드카드] &[카드 와일드카드] ---논리 and, 2개의 조건들이 동시에 충족됨;
[카드 와일드카드] % [카드 와일드카드] ---제1 와일드카드를 충족시키는 요소가 다음 와일드카드에 참여하지 않음;
flag:#는 상호 배제(mutual exclusion)를 나타내고; =는 동일함을 나타내며; *는 임의의 것을 나타내고; !는 불포함(non-inclusion)을 나타내며; flagFromTo:-는 전부를 나타낸다.
주의: (1) ~ 한도 수치 범위가 사용될 때, 현재의 조건을 충족시키는 요소는 다음 조건 매칭에 참여하지 않고; (2) 지원되지 않는 매칭 모드: 플래그 값이 =이고 flagFromTo 값이 ~ 일 때.
상수는 하기를 포함한다:
Figure 112017126652206-pct00003
주의: (1) 집합체(aggregation)가 경계 기호가 <>이고 내부가 비어 있다는 것을 식별해줄 때, 이는, 집합체에 의해 구속되지 않는, 임의의 것을 나타낸다. (2) 요소들이 상수들, 및 점수의 범위: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13로 인덱싱된다.
예를 들어, 요소 객체에 대응하는 논리 기능이 id들이 103이 될 수 없는 상이한 흑색 패들을 갖는 2장의 카드들을 지정하고 있을 때, 논리 기능에 대응하는 임의적인 카드 표현식은 카드 와일드카드 규칙에 따라 다음과 같이 생성될 수 있거나: [2-2, 1:#<1, 2>5:!<103>]; 요소 객체에 대응하는 논리 기능이 동일한 패를 갖는 2장의 "shan" 카드들을 지정하고 있을 때, 논리 기능에 대응하는 임의적인 카드 표현식은 카드 와일드카드 규칙에 따라 다음과 같이 생성될 수 있다: [2-2, 1:=<> 3:=<jinkCard>].
임의적인 타깃 와일드카드 규칙은 다음과 같다:
[타깃 수량 하한 flagFromTo 타깃 수량 상한, flag<지정된 타깃 ChairId 집합체> 거리];
[타깃 와일드카드] | [타깃 와일드카드] ---논리 or를 나타냄, 2개의 조건들 중 하나가 충족됨;
flag: *는 사용자 상호작용을 요구하지 않고, $는 사용자 상호작용을 요구하며; flagFromTo: -는 전부를 나타낸다.
거리가 양수일 때, 이는 물리적인 거리를 나타내고; 거리가 음수일 때, 이는 공격 거리를 나타내며; 거리가 0이거나 구성되지 않을 때, 이는 거리 제약이 없다는 것을 나타낸다.
요소 객체의 논리 기능에 대응하는 논리 표현식은 임의적인 카드 표현식 및/또는 임의적인 타깃 표현식을 포함할 수 있다. 임의적인 카드 표현식은 카드 와일드카드 규칙에 따라 생성되고, 임의적인 카드 표현식은 논리 기능에 의해 선택될 수 있는 카드 범위를 나타낸다. 임의적인 타깃 표현식은 임의적인 타깃 와일드카드 규칙에 따라 생성되고, 임의적인 타깃 표현식은 논리 기능에 의해 선택될 수 있는 타깃 캐릭터 역들을 나타낸다. 스킬이 시작되거나 카드가 플레이될 때, 데이터 처리 장치는 사용자 동작에 대응하는 게임 데이터(게임 데이터는 사용자가 선택한 스킬 또는 사용자가 선택한 카드 또는 사용자가 선택한 타깃 캐릭터 역을 포함함)에 따라 대응하는 동작 표현식을 생성할 수 있다. 동작 표현식은 선택된 카드 표현식 및/또는 선택된 타깃 표현식을 포함할 수 있다. 선택된 카드 표현식은 카드 와일드카드 규칙에 따라 생성될 수 있고, 선택된 카드 표현식은 사용자에 의해 선택된 카드 정보를 나타내며, 선택된 카드 표현식은 또한 사용자에 의해 선택된 스킬의 객체 식별자를 담고 있을 수 있다. 선택된 타깃 표현식은 임의적인 타깃 와일드카드 규칙에 따라 생성될 수 있고, 선택된 타깃 표현식은 사용자에 의해 선택된 타깃 캐릭터 역을 나타낸다.
S203. 모바일 게임의 규칙에 따라 적어도 하나의 작동 상태를 설정하고, 각각의 작동 상태에 대해 적어도 하나의 처리될 데이터 동작을 구성한다.
구체적으로는, 단계(S203) 및 단계들(S201 및 S202)은 임의의 특정의 순서로 수행되지 않고, 단계들(S201 내지 S203)은 미리 설정된 프로세스이다. 데이터 처리 장치는 모바일 게임의 규칙에 따라 적어도 하나의 작동 상태를 설정하고, 각각의 작동 상태에 대해 적어도 하나의 처리될 데이터 동작을 구성할 수 있으며; 여기서 적어도 하나의 상태는 사용자 동작에 따라 로컬 클라이언트에 의해 순차적으로 트리거되는 적어도 하나의 타깃 작동 상태를 갖거나, 적어도 하나의 상태는 트리거 정보를 송신하는 것에 의해 서버에 의해 트리거되는 적어도 하나의 타깃 작동 상태를 갖는다. 카드 게임을 예로 들면, 미리 설정된 적어도 하나의 작동 상태는 능동 플레이 초기 상태, 수동 플레이 초기 상태, 선택 상태, 스킬 시작 상태, 플레이 상태 등을 포함할 수 있다. 처리될 데이터 동작들의 유형들은 비전송 유형 및 전송 유형으로 나누어질 수 있다. 비전송 유형의 처리될 데이터 동작이란 구체적으로는 서버와 데이터를 교환함이 없이 클라이언트 자체에 의해 판단 및 실행될 수 있는 데이터 동작들을 지칭하고, 전송 유형의 처리될 데이터 동작이란 구체적으로는 서버와 데이터를 교환할 필요가 있는 데이터 동작들을 지칭한다. 여전히 카드 게임을 예로 들면, 능동 플레이 초기 상태에 관여된 적어도 하나의 처리될 데이터 동작은: "플레이 진행률 표시줄을 디스플레이하라고 UI에게 통지하는 것"을 포함할 수 있고; 수동 플레이 초기 상태에 관여된 적어도 하나의 처리될 데이터 동작은: "플레이 애니메이션을 디스플레이하라고 UI에게 통지하는 것", 및 "플레이 프로세스에 대응하는 게임 데이터를 서버에게 송신하는 것"을 포함할 수 있다. "플레이 진행률 표시줄을 디스플레이하라고 UI에게 통지하는 것" 및 "플레이 애니메이션을 디스플레이하라고 UI에게 통지하는 것" 둘 다는 비전송 유형의 처리될 데이터 동작들이고, "플레이 프로세스에 대응하는 게임 데이터를 서버에게 송신하는 것"은 전송 유형의 처리될 데이터 동작이다. 능동 플레이 초기 상태는, 트리거 정보를 송신하는 것에 의해, 서버에 의해 실행되도록 트리거될 수 있다. 클라이언트가 능동 플레이 라운드에 진입할 차례라는 것을 서버가 탐지할 때, 트리거 정보가 생성되고; 사용자의 플레이 클릭 동작에 따라 클라이언트에 의해 실행되도록 플레이 상태가 트리거될 수 있다.
S204. 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득한다.
S205. 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색한다.
S206. 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행한다.
단계들(S204 내지 S206)의 구체적인 구현들에 대해서는 도 1의 대응하는 실시예에서의 S101 내지 S103이 참조될 수 있으며, 이에 대해서는 본원에 더 이상 기술되지 않는다.
S207. 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가질 때, 전송 유형의 처리될 데이터 동작을 제2 데이터 동작이라고 결정하고, 제2 데이터 동작을 서버와의 데이터 전송을 통해 실행하고; 여기서 제2 데이터 동작에서 전송되는 게임 데이터는 정규 표현식 규칙에 따라 형성되며; 게임 데이터는 동작 표현식 또는 논리 표현식을 포함한다.
구체적으로는, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가질 때, 이는 서버와의 정보 교환을 요구하는 처리될 데이터 동작이 타깃 작동 상태에 있다는 것을 나타낸다. 따라서, 데이터 처리 장치는 전송 유형의 처리될 데이터 동작을 제2 데이터 동작이라고 결정하고, 제2 데이터 동작을 서버와의 데이터 전송을 통해 실행할 수 있다. 제2 데이터 동작은 구체적으로는 게임 데이터를 수신하는 동작과 게임 데이터를 송신하는 동작으로 나누어질 수 있다. 게임 데이터는 정규 표현식 규칙에 따라 형성되고; 게임 데이터는 동작 표현식 또는 논리 표현식을 포함한다.
게다가, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며, 타깃 작동 상태가 사용자 동작에 따라 로컬 클라이언트에 의해 트리거된다는 것이 추가로 탐지될 때, 제2 데이터 동작은 게임 데이터를 송신하는 동작이라고 결정될 수 있고, 그러면 제2 데이터 동작을 서버와의 데이터 전송을 통해 실행하는 구체적인 프로세스는: 정규 표현식 규칙에 따라 사용자 동작에 대응하는 동작 표현식을 생성하는 단계 - 동작 표현식은 사용자 동작에 관여된 타깃 요소 객체의 객체 식별자를 포함함 -; 및 서버가 타깃 요소 객체의 논리 기능을 취득하도록, 동작 표현식을 서버에게 송신하고, 논리 기능에 대응하는 논리 표현식을 타깃 클라이언트에게 송신하는 단계 - 논리 표현식은 정규 표현식 규칙에 따라 형성되고, 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 - 일 수 있다. 카드 게임을 예로 들면, 사용자가 카드 A를 선택하고 타깃 캐릭터 역 B를 선택하며 플레이하기 위해 클릭하면, 데이터 처리 장치는 사용자 동작에 대응하는 동작 표현식을 생성하고, 동작 표현식을 서버에게 송신할 수 있다. 동작 표현식은 선택된 카드 표현식 및 선택된 타깃 표현식을 포함할 수 있다. 선택된 카드 표현식은 카드 와일드카드 규칙에 따라 생성될 수 있고, 선택된 카드 표현식은 사용자에 의해 선택된 카드 A의 정보(즉, 카드 A에 대응하는 객체 식별자)를 나타낸다. 선택된 타깃 표현식은 임의적인 타깃 와일드카드 규칙에 따라 생성될 수 있고, 선택된 타깃 표현식은 사용자에 의해 선택된 타깃 캐릭터 역 B의 정보(즉, 타깃 캐릭터 역 B에 대응하는 객체 식별자)를 나타낸다.
게다가, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며, 타깃 작동 상태가 서버에 의해 트리거된다는 것이 추가로 탐지될 때, 제2 데이터 동작은 게임 데이터를 수신하는 동작이라고 결정될 수 있고, 그러면 제2 데이터 동작을 서버와의 데이터 전송을 통해 실행하는 구체적인 프로세스는: 서버에 의해 송신된 타깃 요소 객체의 논리 기능에 대응하는 논리 표현식을 수신하는 단계 - 논리 표현식은 정규 표현식 규칙에 따라 형성되고, 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 -; 및 타깃 요소 객체의 논리 기능을 식별하기 위해 논리 와일드카드 표현식에서 객체 식별자를 파싱하고, 논리 기능과 부합하는 동작을 실행하는 단계일 수 있다. 여전히 카드 게임을 예로 들면, 다른 클라이언트가 로컬 클라이언트의 캐릭터 역을 선택하고 카드 A를 플레이할 때, 서버는 카드 A의 논리 기능에 대응하는 논리 표현식을 로컬 클라이언트에게 송신할 것이다. 논리 표현식은 임의적인 카드 표현식을 포함할 수 있다. 임의적인 카드 표현식은 카드 와일드카드 규칙에 따라 생성되고, 임의적인 카드 표현식은 카드 A의 논리 기능에 의해 선택될 수 있는 카드 범위를 나타낸다. 논리 표현식을 수신한 후에, 로컬 클라이언트가 카드 A의 논리 기능에 의해 선택될 수 있는 카드 범위에 따라 유효한 카드들을 선택할 수 있도록, 로컬 클라이언트는 카드 A의 논리 기능을 취득하기 위해 논리 표현식에서 임의적인 카드 표현식을 파싱할 수 있다. 다른 예로서, 카드 A의 논리 기능에 대응하는 임의적인 카드 표현식이 [2-2, 1:#<1, 2>5:!<103>]이면, 데이터 처리 장치는, 카드 와일드카드 규칙에 따라, "2-2"는 2장의 카드들을 선택하는 것을 지칭하고, "1:#<1, 2>"는 상이한 흑색 패들을 갖는 카드들을 선택하는 것을 지칭하며, "5:!<103>"은 선택한 카드들의 번호가 103일 수 없다는 것을 지칭한다고 분석할 수 있으며, 따라서 카드 A의 논리 기능에 의해 선택될 수 있는 카드 범위가 "번호가 103일 수 없는 상이한 흑색 패들을 갖는 2장의 카드들을 지정하는 것"임을 알 수 있다.
본 발명의 실시예에서의 데이터 처리 장치는 cocos2d-x-UFO을 기반으로 개발된 파생 시스템 모듈이다. cocos2d-x-UFO는 UFO 엔진을 기반으로 cocos2d-x(오픈 소스 모바일 2D 게임 프레임워크)의 우수한 특성들을 융합시키고, 골격 애니메이션, 입자 효과들, FBO 오프스크린 렌더링(FBO Off-Screen Rendering), Shader(렌더러(renderer)), 모션 어셈블러(motion assembler), Scud, 및 증분 업그레이드 모듈(incremental upgrade module)들과 같은 우수한 기능 모듈들을 상호 융합시킨다. cocos2d-x-UFO는 크로스 플랫폼(cross-platform)이며, iOS, Android, Symbian, Win32, WP7, Bada, 및 iMac과 같은 플랫폼들을 커버할 수 있다. 서버와 각각의 클라이언트 사이의 데이터 교환은 동작 표현식 또는 논리 표현식에 기초한 전송이고, 동작 표현식 및 논리 표현식 둘 다는 미리 설정된 객체 식별자들에 의해 형성되며, 객체 식별자들은 통용성이 있다(universal). 즉, 다양한 플랫폼들의 클라이언트들이 객체 식별자들을 식별할 수 있다. 따라서, 크로스 플랫폼 통합의 구현가능성이 추가로 향상된다. 더욱이, 동작 표현식과 논리 표현식이 비교적 작은 용량을 차지하기 때문에, 동작 표현식 또는 논리 표현식을 전송하는 것은 네트워크 패킷 트래픽을 절감할 수 있다. 모든 카드들, 스킬들, 및 영웅들이 객체 식별자들로서 설정되기 때문에, 새로운 요소 객체가 추가될 때, 새로운 요소 객체의 적응적 효과가 새로운 요소 객체의 객체 식별자를 클라이언트 및 서버에 구성하는 것 및 새로운 요소 객체의 논리 기능에 대응하는 논리 표현식을 서버에 구성하는 것만으로 달성될 수 있으며, 그로써 클라이언트의 새로운 요소 객체와 기존의 요소 객체들 사이의 복제 관계(replication relationship)에서의 많은 변경들을 피할 수 있으며, 따라서 프로젝트의 인적 비용을 상당히 줄일 수 있고 스킬들의 개발 주기를 단축시킬 수 있다.
임의로, 데이터 처리 장치는 또한 MVC(Model View Controller) 모델에 기초하여 관계 리스닝 큐(relationship listening queue)를 미리 설정할 수 있고, 관계 리스닝 큐는 모바일 게임에서의 적어도 하나의 작동 상태와 모든 인터페이스 관련 정보 사이의 그리고 모든 요소 객체들과 모든 인터페이스 관련 정보 사이의 매핑 관계들을 포함하며; 하나의 작동 상태는 하나의 인터페이스 관련 정보에 대응하고, 하나의 요소 객체는 하나의 인터페이스 관련 정보에 대응한다. 인터페이스 관련 정보가 수정될 때, 적어도 하나의 작동 상태 및 모든 요소 객체들을 재작성(rewrite)할 필요가 없고 관계 리스닝 큐 내의 매핑 관계를 수정하기만 하면 되도록, 데이터 처리 장치는 적어도 하나의 작동 상태 및 모든 요소 객체들을, 모든 인터페이스 관련 정보와 분리되게 하기 위해, MVC 모델을 통해 하나의 컴포넌트에 모아둘 수 있다. 따라서, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하는 단계는 구체적으로는: 미리 설정된 관계 리스닝 큐에 따라, 타깃 작동 상태와의 매핑 관계를 갖는 인터페이스 관련 정보 및/또는 타깃 요소 객체와의 매핑 관계를 갖는 인터페이스 관련 정보를 취득하고, 취득된 인터페이스 관련 정보를 로컬 클라이언트의 사용자 인터페이스에 디스플레이하는 단계 - 타깃 요소 객체는 타깃 작동 상태에서 트리거되는 요소 객체(즉, 사용자에 의해 조작되는 요소 객체)임 - 를 포함할 수 있다.
구체적으로는, 데이터 처리 장치는 Observer 인터페이스들 및 Observable 클래스들을 생성할 수 있다. 하나의 매핑 관계(하나의 작동 상태와 하나의 인터페이스 관련 정보 간의 매핑 관계를 지칭하거나 하나의 요소 객체와 하나의 인터페이스 관련 정보 간의 매핑 관계를 지칭함)가 하나의 Observer 인터페이스에 대응하기 때문에, 모바일 게임에서의 적어도 하나의 작동 상태와 모든 인터페이스 관련 정보 사이의 그리고 모든 요소 객체들과 모든 인터페이스 관련 정보 사이의 매핑 관계들 모두가 Observable 클래스들의 관계 리스닝 큐에 등록될 수 있다. 즉, 모든 Observer 인터페이스들이 Observable 클래스들의 관계 리스닝 큐에 등록된다.
본 발명의 실시예는, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하고 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 것에 의해, 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행할 수 있다. 따라서, 클라이언트가 서버와 정보를 교환함이 없이 제1 데이터 동작을 로컬 클라이언트에서 수행할 수 있도록, 클라이언트가 로컬적으로 실행될 수 있는 현재의 동작을 판단하기 위해 타깃 작동 상태를 분석할 수 있으며, 이는 중복적인 정보 교환을 피함으로써 네트워크 대역폭들의 낭비를 피하고 모바일 게임의 네트워크 원활성을 향상시킨다. 더욱이, 서버와 각각의 클라이언트 사이의 데이터 교환은 동작 표현식 또는 논리 표현식에 기초한 전송이고, 동작 표현식 및 논리 표현식 둘 다는 미리 설정된 객체 식별자들에 의해 형성되며, 객체 식별자들은 통용성이 있다. 즉, 다양한 플랫폼들의 클라이언트들이 객체 식별자들을 식별할 수 있다. 따라서, 크로스 플랫폼 통합의 구현가능성이 추가로 향상된다. 더욱이, 동작 표현식과 논리 표현식이 비교적 작은 용량을 차지하기 때문에, 동작 표현식 또는 논리 표현식을 전송하는 것은 네트워크 패킷 트래픽을 절감할 수 있다. 모든 카드들, 스킬들, 및 영웅들이 객체 식별자들로서 설정되기 때문에, 새로운 요소 객체가 추가될 때, 새로운 요소 객체의 적응적 효과가 새로운 요소 객체의 객체 식별자를 클라이언트 및 서버에 구성하는 것 및 새로운 요소 객체의 논리 기능에 대응하는 논리 표현식을 서버에 구성하는 것만으로 달성될 수 있으며, 그로써 클라이언트의 새로운 요소 객체와 기존의 요소 객체들 사이의 복제 관계에서의 많은 변경들을 피할 수 있으며, 따라서 프로젝트의 인적 비용을 상당히 줄일 수 있고 스킬들의 개발 주기를 단축시킬 수 있다. 그 밖에, 적어도 하나의 작동 상태와 모든 요소 객체들을, 모든 인터페이스 관련 정보와 분리되게 하기 위해, MVC 모델을 통해 하나의 컴포넌트에 모아두는 것에 의해 결합도가 크게 감소될 수 있다.
도 3을 참조하면, 도 3은 본 발명의 일 실시예에 따른, 모바일 게임 데이터 처리 장치의 개략 구조도이다. 데이터 처리 장치(1)는 클라이언트에 적용될 수 있고, 데이터 처리 장치(1)는: 상태 취득 모듈(10), 탐색 모듈(20), 그리고 제1 결정 및 실행 모듈(30)을 포함할 수 있다.
상태 취득 모듈(10)은 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하도록 구성된다.
구체적으로는, 상태 취득 모듈(10)은 미리 설정된 상태 머신을 통해 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득한다. 타깃 작동 상태는 모바일 게임의 규칙에 따라 미리 설정된 적어도 하나의 작동 상태 중 하나일 수 있다. 카드 게임을 예로 들면, 미리 설정된 적어도 하나의 작동 상태는 능동 플레이 초기 상태, 수동 플레이 초기 상태, 선택 상태, 스킬 시작 상태, 플레이 상태 등을 포함할 수 있다.
상태 머신은 FSM 중의 밀리 상태 머신일 수 있다. 즉, 상태 머신은 유향 그래프일 수 있으며, 노드들의 그룹과 대응하는 전달 함수들의 그룹으로 이루어져 있다. 상태 머신는 일련의 이벤트들에 응답하여 "작동"된다. 각각의 이벤트는 "현재의" 노드들에 속하는 전달 함수들의 제어 범위 내에 있다. 함수들의 범위는 노드들의 서브세트이다. 노드들 중 적어도 하나의 노드가 최종 상태에 있어야만 하고, 최종 상태에 도달할 때, 상태 머신이 정지된다.
탐색 모듈(20)은 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하도록 구성된다.
구체적으로는, 상태 취득 모듈(10)이 타깃 작동 상태를 취득한 후에, 탐색 모듈(20)은 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색할 수 있다. 적어도 하나의 작동 상태가 미리 설정될 때, 각각의 작동 상태에 대해 적어도 하나의 처리될 데이터 동작이 또한 설정될 수 있다. 처리될 데이터 동작들의 유형들은 비전송 유형 및 전송 유형으로 나누어질 수 있다. 비전송 유형의 처리될 데이터 동작이란 구체적으로는 서버와 데이터를 교환함이 없이 클라이언트 자체에 의해 판단 및 실행될 수 있는 데이터 동작들을 지칭하고, 전송 유형의 처리될 데이터 동작이란 구체적으로는 서버와 데이터를 교환할 필요가 있는 데이터 동작들을 지칭한다. 여전히 카드 게임을 예로 들면, 능동 플레이 초기 상태에 관여된 적어도 하나의 처리될 데이터 동작은: "플레이 진행률 표시줄을 디스플레이하라고 UI에게 통지하는 것"을 포함할 수 있고; 수동 플레이 초기 상태에 관여된 적어도 하나의 처리될 데이터 동작은: "플레이 애니메이션을 디스플레이하라고 UI에게 통지하는 것", 및 "플레이 프로세스에 대응하는 게임 데이터를 서버에게 송신하는 것"을 포함할 수 있다. "플레이 진행률 표시줄을 디스플레이하라고 UI에게 통지하는 것" 및 "플레이 애니메이션을 디스플레이하라고 UI에게 통지하는 것" 둘 다는 비전송 유형의 처리될 데이터 동작들이고, "플레이 프로세스에 대응하는 게임 데이터를 서버에게 송신하는 것"은 전송 유형의 처리될 데이터 동작이다. 능동 플레이 초기 상태는, 트리거 정보를 송신하는 것에 의해, 서버에 의해 실행되도록 트리거될 수 있다. 클라이언트가 능동 플레이 라운드에 진입할 차례라는 것을 서버가 탐지할 때, 트리거 정보가 생성되고; 사용자의 플레이 클릭 동작에 따라 클라이언트에 의해 실행되도록 플레이 상태가 트리거될 수 있다.
제1 결정 및 실행 모듈(30)은, 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하도록 구성된다.
구체적으로는, 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 갖는다는 것이 탐지될 때, 이는, 서버와 데이터를 교환함이 없이 클라이언트 자체에 의해 판단될 수 있는, 처리될 데이터 동작이 타깃 작동 상태에 있다는 것을 나타낸다. 따라서, 제1 결정 및 실행 모듈(30)은 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행할 수 있다. 제1 데이터 동작은 인터페이스 관련 정보를 디스플레이하는 동작을 포함한다. 인터페이스 관련 정보는 진행률 정보, 관련 애니메이션 정보, 및 동작 결과 정보 중 적어도 하나를 포함한다. 예를 들어, 현재 취득된 타깃 작동 상태가 능동 플레이 초기 상태이면, 능동 플레이 초기 상태에 관여된 처리될 데이터 동작인 "플레이 진행률 표시줄을 디스플레이하라고 UI에게 통지하는 것"은 비전송 유형에 속한다는 것이 탐지될 수 있다. 따라서, 제1 결정 및 실행 모듈(30)은 플레이 진행률 표시줄을 디스플레이하라고 UI에게 능동적으로 통지할 수 있다. 즉, 제1 결정 및 실행 모듈(30)은 진행률 정보를 디스플레이하는 동작을 수행할 수 있다. 플레이 진행률 표시줄을 디스플레이하라고 클라이언트에게 통지하기 위해, 서버에 의해, 통지 메시지를 클라이언트에게 송신할 필요가 없기 때문에, 중복적인 정보 교환이 감소될 수 있다.
임의로, 제1 데이터 동작은 데이터 교환 없는 로컬 논리연산 동작들을 추가로 포함할 수 있다. 로컬 논리연산 동작들이란 구체적으로는 로컬 클라이언트에서 실행될 수 있고 서버에 의해 처리 및 통지될 필요가 없는 논리연산 동작들을 지칭한다. 카드 게임을 예로 들면, 사용자가 로컬 클라이언트에서 카드를 선택하기 위해 클릭할 때, 제1 결정 및 실행 모듈(30)은 현재의 타깃 작동 상태가 선택 상태라는 것을 취득할 수 있다. 따라서, 데이터 처리 장치(1)는 로컬 클라이언트에서 선택 상태에 관여된 로컬 논리연산 동작을 실행할 수 있다. 로컬 논리연산 동작은 구체적으로는: 카드의 공격 거리 및 로컬 클라이언트의 캐릭터 역과 다른 클라이언트의 캐릭터 역 사이의 캐릭터 거리에 따라, 카드에 의해 공격될 수 있는 캐릭터 역을 분석하는 것, 및 카드에 의해 공격될 수 없는 캐릭터 역의 아바타를 회색처리하는 것이다. 서버가 분석된 캐릭터 공격 거리 관련 정보를 로컬 클라이언트에게 송신할 필요도 없고 캐릭터 역의 아바타를 회색처리하라고 로컬 클라이언트에게 통지할 필요도 없기 때문에, 정보 교환 횟수가 효과적으로 감소될 수 있다.
본 발명의 실시예는, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하고 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 것에 의해, 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행할 수 있다. 따라서, 클라이언트가 서버와 정보를 교환함이 없이 제1 데이터 동작을 로컬 클라이언트에서 수행할 수 있도록, 클라이언트가 로컬적으로 실행될 수 있는 현재의 동작을 판단하기 위해 타깃 작동 상태를 분석할 수 있으며, 이는 중복적인 정보 교환을 피함으로써 네트워크 대역폭들의 낭비를 피하고 모바일 게임의 네트워크 원활성을 향상시킨다.
도 4를 참조하면, 도 4는 본 발명의 일 실시예에 따른, 다른 모바일 게임 데이터 처리 장치의 개략 구조도이다. 데이터 처리 장치(1)가 클라이언트에 적용될 수 있다. 데이터 처리 장치(1)는 도 3의 대응하는 실시예에서의 상태 취득 모듈(10), 탐색 모듈(20), 그리고 제1 결정 및 실행 모듈(30)을 포함할 수 있고, 데이터 처리 장치(1)는: 제1 설정 모듈(40), 제2 설정 모듈(50), 제3 설정 모듈(60), 그리고 제2 결정 및 실행 모듈(70)을 추가로 포함할 수 있다.
제1 설정 모듈(40)은 모바일 게임에서의 모든 요소 객체들에 대한 대응하는 객체 식별자들을 각각 설정하도록 구성된다.
제1 설정 모듈(40)은, 요소 객체들과 객체 식별자들 간의 매핑 관계 및 정규 표현식 규칙에 따라 동작 표현식이 생성되거나 차후에 논리 표현식이 파싱되도록, 매핑 관계를 선언하고, 정규 표현식 규칙을 설정하도록 추가로 구성된다.
구체적으로는, 제1 설정 모듈(40)은, 데이터 처리 장치(1)가 요소 객체들에 대응하는 객체 식별자들을 취득하거나 선언된 매핑 관계에 따라 객체 식별자들에 대응하는 요소 객체들을 파싱할 수 있도록, 미리 설정된 스킬 관리자를 통해 모바일 게임에서의 모든 요소 객체들에 대한 대응하는 객체 식별자들을 각각 설정하고, 요소 객체들과 객체 식별자들 간의 매핑 관계를 선언할 수 있다. 매핑 관계를 선언하는 구체적인 방법은: 자동 스킬 생성을 가능하게 하기 위해, 미리 컴파일된 템플릿 특화에 의해 요소 객체들과 객체 식별자들 간의 매핑 관계를 선언하는 것이다.
카드 게임을 예로 들면, 요소 객체들은 카드 내용, 스킬 내용, 게임 캐릭터 역들 등을 포함할 수 있다. 실제 적용 동안, 스킬 관리자에 의해, 객체 식별자들을 설정하고 매핑 관계를 선언하는 구체적인 프로세스는, 예를 들어, 3개의 부분들로 나누어질 수 있다:
단계 1에서, CSkilldata.h 파일에 스킬 ID와 공격 거리가 정의된다
Figure 112017126652206-pct00004
단계 2에서, CSkilldata.h 파일에 스킬 시퀀스가 생성된다(즉, 요소 객체들의 객체 식별자들과 공격 거리들이 클래스 이름들을 설정하는 것에 의해 연관됨)
Figure 112017126652206-pct00005
단계 3에서, 스킬 생성자 템플릿 클래스의 선언이 SkillCreatorFactory.h에 추가된다. 설정된 요소 객체들의 클래스가 요소 객체들과 객체 식별자들 간의 매핑 관계, 요소 객체들과 공격 거리들 간의 매핑 관계, 및 요소 객체들의 객체 식별자들과 공격 거리들 간의 매핑 관계를 포함하기 때문에, 요소 객체들의 클래스가 선언된 후에, 데이터 처리 장치(1)가 요소 객체의 클래스 이름을 호출하는 것에 의해 요소 객체의 객체 식별자 및 공격 거리를 취득할 수 있도록, 클래스 이름에 대응하는 각각의 매핑 관계가 클래스 이름의 호출 동안 취득될 수 있다.
각각의 클래스 이름을 선언한 후에, 스킬 관리자는 요소 객체들의 수명 주기들을 관리하도록 추가로 구성될 수 있다. 즉, 스킬 관리자는 게임 동안 클라이언트에 의해 소유된 모든 카드들을 감독할 수 있으며, 감독은 생성, 논리연산, 및 삭제 중 적어도 하나를 포함한다. 예를 들어, 클라이언트가 새로운 카드를 취득하면, 스킬 관리자는 카드의 동작 파라미터를 생성할 수 있고(동작 파라미터는 카드의 클래스 이름에 따라 취득된 객체 식별자 및 공격 거리를 포함함); 카드가 손 구역으로부터 장비 구역으로 옮겨질 때, 그에 대응하여 카드에 대해 논리 처리가 수행될 수 있으며(논리 처리는 구체적으로는 카드가 위치되는 구역의 상태를 조정하는 것임); 카드가 플레이되거나 버려질 때, 카드가 삭제될 수 있다. 즉, 스킬 관리자는 카드를 더 이상 감독하지 않는다.
제1 설정 모듈(40)은, 스킬 관리자를 통해 객체 식별자를 설정하고 매핑 관계를 선언한 후에, 정규 표현식 규칙을 추가로 설정할 수 있다. 정규 표현식 규칙이란 "정규 문자열"을 형성하기 위해 미리 정의된 특정 문자들 및 특정 문자들의 조합을 사용하는 것을 지칭할 수 있고, "정규 문자열"은 문자열에 대한 필터링 논리를 표현하는 데 사용될 수 있다.
카드 게임을 예로 들면, 정규 표현식 규칙은 카드 와일드카드 규칙 및 임의적인 타깃 와일드카드 규칙을 포함할 수 있다.
카드 와일드카드 규칙은 다음과 같다:
[카드 수량 하한 flagFromTo 카드 수량 상한, 1: flag<패>2: flag<점수>3: flag<classId>4. flag<카드 자리>5: flag<지정된 카드 ID 집합체>];
[카드 와일드카드] |[카드 와일드카드] ---논리 or, 2개의 조건들 중 하나가 충족됨;
[카드 와일드카드] &[카드 와일드카드] ---논리 and, 2개의 조건들이 동시에 충족됨;
[카드 와일드카드] % [카드 와일드카드] ---제1 와일드카드를 충족시키는 요소가 다음 와일드카드에 참여하지 않음;
flag:#는 상호 배제를 나타내고; =는 동일함을 나타내며; *는 임의의 것을 나타내고; !는 불포함을 나타내며; flagFromTo:-는 전부를 나타낸다.
주의: (1) ~ 한도 수치 범위가 사용될 때, 현재의 조건을 충족시키는 요소는 다음 조건 매칭에 참여하지 않고; (2) 지원되지 않는 매칭 모드: 플래그 값이 =이고 flagFromTo 값이 ~ 일 때.
상수는 하기를 포함한다:
Figure 112017126652206-pct00006
주의: (1) 집합체가 경계 기호가 <>이고 내부가 비어 있다는 것을 식별해줄 때, 이는, 집합체에 구속되지 않는, 임의의 것을 나타낸다. (2) 요소들이 상수들, 및 점수의 범위: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13로 인덱싱된다.
예를 들어, 요소 객체에 대응하는 논리 기능이 id들이 103이 될 수 없는 상이한 흑색 패들을 갖는 2개의 카드들을 지정하고 있을 때, 논리 기능에 대응하는 임의적인 카드 표현식은 카드 와일드카드 규칙에 따라 다음과 같이 생성될 수 있거나: [2-2, 1:#<1, 2>5:!<103>]; 요소 객체에 대응하는 논리 기능이 동일한 패를 갖는 2개의 "shan" 카드들을 지정하고 있을 때, 논리 기능에 대응하는 임의적인 카드 표현식은 카드 와일드카드 규칙에 따라 다음과 같이 생성될 수 있다: [2-2, 1:=<> 3:=<jinkCard>].
임의적인 타깃 와일드카드 규칙은 다음과 같다:
[타깃 수량 하한 flagFromTo 타깃 수량 상한, flag<지정된 타깃 ChairId 집합체> 거리];
[타깃 와일드카드] | [타깃 와일드카드] ---논리 or를 나타냄, 2개의 조건들 중 하나가 충족됨;
flag: *는 사용자 상호작용을 요구하지 않고, $는 사용자 상호작용을 요구하며; flagFromTo: -는 전부를 나타낸다.
거리가 양수일 때, 이는 물리적인 거리를 나타내고; 거리가 음수일 때, 이는 공격 거리를 나타내며; 거리가 0이거나 구성되지 않을 때, 이는 거리 제약이 없다는 것을 나타낸다.
요소 객체의 논리 기능에 대응하는 논리 표현식은 임의적인 카드 표현식 및/또는 임의적인 타깃 표현식을 포함할 수 있다. 임의적인 카드 표현식은 카드 와일드카드 규칙에 따라 생성되고, 임의적인 카드 표현식은 논리 기능에 의해 선택될 수 있는 카드 범위를 나타낸다. 임의적인 타깃 표현식은 임의적인 타깃 와일드카드 규칙에 따라 생성되고, 임의적인 타깃 표현식은 논리 기능에 의해 선택될 수 있는 타깃 캐릭터 역들을 나타낸다. 스킬이 시작되거나 카드가 플레이될 때, 데이터 처리 장치(1)는 사용자 동작에 대응하는 게임 데이터(게임 데이터는 사용자가 선택한 스킬 또는 사용자가 선택한 카드 또는 사용자가 선택한 타깃 캐릭터 역을 포함함)에 따라 대응하는 동작 표현식을 생성할 수 있다. 동작 표현식은 선택된 카드 표현식 및/또는 선택된 타깃 표현식을 포함할 수 있다. 선택된 카드 표현식은 카드 와일드카드 규칙에 따라 생성될 수 있고, 선택된 카드 표현식은 사용자에 의해 선택된 카드 정보를 나타내며, 선택된 카드 표현식은 또한 사용자에 의해 선택된 스킬의 객체 식별자를 담고 있을 수 있다. 선택된 타깃 표현식은 임의적인 타깃 와일드카드 규칙에 따라 생성될 수 있고, 선택된 타깃 표현식은 사용자에 의해 선택된 타깃 캐릭터 역을 나타낸다.
제2 설정 모듈(50)은 모바일 게임의 규칙에 따라 적어도 하나의 작동 상태를 설정하고, 각각의 작동 상태에 대한 적어도 하나의 처리될 데이터 동작을 구성하도록 구성된다.
구체적으로는, 제2 설정 모듈(50) 및 제1 설정 모듈(40)의 실행 시간들이 임의의 특정의 순서로 되어 있지 않을 수 있다. 제2 설정 모듈(50)은 모바일 게임의 규칙에 따라 적어도 하나의 작동 상태를 설정하고, 각각의 작동 상태에 대한 적어도 하나의 처리될 데이터 동작을 구성할 수 있고; 여기서 적어도 하나의 상태는 사용자 동작에 따라 로컬 클라이언트에 의해 순차적으로 트리거되는 적어도 하나의 타깃 작동 상태를 갖거나, 적어도 하나의 상태는 트리거 정보를 송신하는 것에 의해 서버에 의해 트리거되는 적어도 하나의 타깃 작동 상태를 갖는다. 카드 게임을 예로 들면, 미리 설정된 적어도 하나의 작동 상태는 능동 플레이 초기 상태, 수동 플레이 초기 상태, 선택 상태, 스킬 시작 상태, 플레이 상태 등을 포함할 수 있다. 처리될 데이터 동작들의 유형들은 비전송 유형 및 전송 유형으로 나누어질 수 있다. 비전송 유형의 처리될 데이터 동작이란 구체적으로는 서버와 데이터를 교환함이 없이 클라이언트 자체에 의해 판단 및 실행될 수 있는 데이터 동작들을 지칭하고, 전송 유형의 처리될 데이터 동작이란 구체적으로는 서버와 데이터를 교환할 필요가 있는 데이터 동작들을 지칭한다. 여전히 카드 게임을 예로 들면, 능동 플레이 초기 상태에 관여된 적어도 하나의 처리될 데이터 동작은: "플레이 진행률 표시줄을 디스플레이하라고 UI에게 통지하는 것"을 포함할 수 있고; 수동 플레이 초기 상태에 관여된 적어도 하나의 처리될 데이터 동작은: "플레이 애니메이션을 디스플레이하라고 UI에게 통지하는 것", 및 "플레이 프로세스에 대응하는 게임 데이터를 서버에게 송신하는 것"을 포함할 수 있다. "플레이 진행률 표시줄을 디스플레이하라고 UI에게 통지하는 것" 및 "플레이 애니메이션을 디스플레이하라고 UI에게 통지하는 것" 둘 다는 비전송 유형의 처리될 데이터 동작들이고, "플레이 프로세스에 대응하는 게임 데이터를 서버에게 송신하는 것"은 전송 유형의 처리될 데이터 동작이다. 능동 플레이 초기 상태는, 트리거 정보를 송신하는 것에 의해, 서버에 의해 실행되도록 트리거될 수 있다. 클라이언트가 능동 플레이 라운드에 진입할 차례라는 것을 서버가 탐지할 때, 트리거 정보가 생성되고; 사용자의 플레이 클릭 동작에 따라 클라이언트에 의해 실행되도록 플레이 상태가 트리거될 수 있다.
제3 설정 모듈(60)은 MVC 모델에 기초하여 관계 리스닝 큐를 설정하도록 - 관계 리스닝 큐는 모바일 게임에서의 적어도 하나의 작동 상태와 모든 인터페이스 관련 정보 사이의 그리고 모든 요소 객체들과 모든 인터페이스 관련 정보 사이의 매핑 관계들을 포함하고; 하나의 작동 상태는 하나의 인터페이스 관련 정보에 대응하고, 하나의 요소 객체는 하나의 인터페이스 관련 정보에 대응함 - 구성된다.
제1 결정 및 실행 모듈(30)은 구체적으로는, 미리 설정된 관계 리스닝 큐에 따라, 타깃 작동 상태와의 매핑 관계를 갖는 인터페이스 관련 정보 및/또는 타깃 요소 객체와의 매핑 관계를 갖는 인터페이스 관련 정보를 취득하고, 취득된 인터페이스 관련 정보를 로컬 클라이언트의 사용자 인터페이스에 디스플레이하도록 - 타깃 요소 객체는 타깃 작동 상태에서 트리거되는 요소 객체임 - 구성된다.
구체적으로는, 제3 설정 모듈(60)은 Observer 인터페이스들 및 Observable 클래스들을 생성할 수 있다. 하나의 매핑 관계(하나의 작동 상태와 하나의 인터페이스 관련 정보 간의 매핑 관계를 지칭하거나 하나의 요소 객체와 하나의 인터페이스 관련 정보 간의 매핑 관계를 지칭함)가 하나의 Observer 인터페이스에 대응하기 때문에, 모바일 게임에서의 적어도 하나의 작동 상태와 모든 인터페이스 관련 정보 사이의 그리고 모든 요소 객체들과 모든 인터페이스 관련 정보 사이의 매핑 관계들 모두가 Observable 클래스들의 관계 리스닝 큐에 등록될 수 있다. 즉, 모든 Observer 인터페이스들이 Observable 클래스들의 관계 리스닝 큐에 등록된다. 인터페이스 관련 정보가 수정될 때, 적어도 하나의 작동 상태 및 모든 요소 객체들을 재작성할 필요가 없고 관계 리스닝 큐 내의 매핑 관계를 수정하기만 하면 되도록, 제3 설정 모듈(60)은 적어도 하나의 작동 상태 및 모든 요소 객체들을, 모든 인터페이스 관련 정보와 분리되게 하기 위해, MVC 모델을 통해 하나의 컴포넌트에 모아둘 수 있다.
제2 결정 및 실행 모듈(70)은, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가질 때, 전송 유형의 처리될 데이터 동작을 제2 데이터 동작이라고 결정하고, 제2 데이터 동작을 서버와의 데이터 전송을 통해 실행하도록 구성된다.
구체적으로는, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가질 때, 이는 서버와의 정보 교환을 요구하는 처리될 데이터 동작이 타깃 작동 상태에 있다는 것을 나타낸다. 따라서, 제2 결정 및 실행 모듈(70)은 전송 유형의 처리될 데이터 동작을 제2 데이터 동작이라고 결정하고, 제2 데이터 동작을 서버와의 데이터 전송을 통해 실행할 수 있다. 제2 데이터 동작은 구체적으로는 게임 데이터를 수신하는 동작과 게임 데이터를 송신하는 동작으로 나누어질 수 있다. 게임 데이터는 정규 표현식 규칙에 따라 형성되고; 게임 데이터는 동작 표현식 또는 논리 표현식을 포함한다.
게다가, 도 5를 참조하면, 도 5는 본 발명의 일 실시예에 따른, 제2 결정 및 실행 모듈(70)의 개략 구조도이다. 제2 결정 및 실행 모듈(70)은: 생성 유닛(701) 및 송신 유닛(702)을 포함할 수 있다.
생성 유닛(701)은, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 타깃 작동 상태가 사용자 동작에 따라 로컬 클라이언트에 의해 트리거될 때, 정규 표현식 규칙에 따라 사용자 동작에 대응하는 동작 표현식을 생성하도록 - 동작 표현식은 사용자 동작에 관여된 타깃 요소 객체의 객체 식별자를 포함함 - 구성된다.
송신 유닛(702)은, 서버가 타깃 요소 객체의 논리 기능을 취득하도록, 동작 표현식을 서버에게 송신하고, 논리 기능에 대응하는 논리 표현식을 타깃 클라이언트에게 송신하도록 - 논리 표현식은 정규 표현식 규칙에 따라 형성되고, 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 - 구성된다.
구체적으로는, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며, 타깃 작동 상태가 사용자 동작에 따라 로컬 클라이언트에 의해 트리거된다는 것이 추가로 탐지될 때, 제2 데이터 동작은 게임 데이터를 송신하는 동작이라고 결정될 수 있고, 생성 유닛(701)은 정규 표현식 규칙에 따라 사용자 동작에 대응하는 동작 표현식을 생성할 수 있으며; 송신 유닛(702)은 동작 표현식을 서버에게 송신한다. 카드 게임을 예로 들면, 사용자가 카드 A를 선택하고 타깃 캐릭터 역 B를 선택하며 플레이하기 위해 클릭하면, 생성 유닛(701)은 사용자 동작에 대응하는 동작 표현식을 생성할 수 있고, 송신 유닛(702)은 동작 표현식을 서버에게 송신한다. 동작 표현식은 선택된 카드 표현식 및 선택된 타깃 표현식을 포함할 수 있다. 선택된 카드 표현식은 카드 와일드카드 규칙에 따라 생성될 수 있고, 선택된 카드 표현식은 사용자에 의해 선택된 카드 A의 정보(즉, 카드 A에 대응하는 객체 식별자)를 나타낸다. 선택된 타깃 표현식은 임의적인 타깃 와일드카드 규칙에 따라 생성될 수 있고, 선택된 타깃 표현식은 사용자에 의해 선택된 타깃 캐릭터 역 B의 정보(즉, 타깃 캐릭터 역 B에 대응하는 객체 식별자)를 나타낸다.
게다가, 도 6을 참조하면, 도 6은 본 발명의 일 실시예에 따른, 다른 제2 결정 및 실행 모듈(70)의 개략 구조도이다. 제2 결정 및 실행 모듈(70)은: 수신 유닛(703)과 파싱 및 식별 유닛(704)을 포함할 수 있다.
수신 유닛(703)은, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 타깃 작동 상태가 서버에 의해 트리거될 때, 서버에 의해 송신된 타깃 요소 객체의 논리 기능에 대응하는 논리 표현식을 수신하도록 - 논리 표현식은 정규 표현식 규칙에 따라 형성되고, 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 - 구성된다.
파싱 및 식별 유닛(704)은 타깃 요소 객체의 논리 기능을 식별하기 위해 논리 와일드카드 표현식에서 객체 식별자를 파싱하고, 논리 기능과 부합하는 동작을 실행하도록 구성된다.
구체적으로는, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며, 타깃 작동 상태가 서버에 의해 트리거된다는 것이 추가로 탐지될 때, 제2 데이터 동작은 게임 데이터를 수신하는 동작이라고 결정될 수 있고, 그러면 수신 유닛(703)은 서버에 의해 송신된 타깃 요소 객체의 논리 기능에 대응하는 논리 표현식을 수신할 수 있고, 파싱 및 식별 유닛(704)은 타깃 요소 객체의 논리 기능을 식별하기 위해 논리 와일드카드 표현식에서 객체 식별자를 파싱하고, 논리 기능과 부합하는 동작을 실행한다. 여전히 카드 게임을 예로 들면, 다른 클라이언트가 로컬 클라이언트의 캐릭터 역을 선택하고 카드 A를 플레이할 때, 서버는 카드 A의 논리 기능에 대응하는 논리 표현식을 로컬 클라이언트에게 송신할 것이다. 논리 표현식은 임의적인 카드 표현식을 포함할 수 있다. 임의적인 카드 표현식은 카드 와일드카드 규칙에 따라 생성되고, 임의적인 카드 표현식은 카드 A의 논리 기능에 의해 선택될 수 있는 카드 범위를 나타낸다. 수신 유닛(703)이 논리 표현식을 수신한 후에, 로컬 클라이언트가 카드 A의 논리 기능에 의해 선택될 수 있는 카드 범위에 따라 유효한 카드들을 선택할 수 있도록, 파싱 및 식별 유닛(704)은 카드 A의 논리 기능을 취득하기 위해 논리 표현식에서 임의적인 카드 표현식을 파싱할 수 있다. 다른 예로서, 카드 A의 논리 기능에 대응하는 임의적인 카드 표현식이 [2-2, 1:#<1, 2>5:!<103>]이면, 데이터 처리 장치는, 카드 와일드카드 규칙에 따라, "2-2"는 2장의 카드들을 선택하는 것을 지칭하고, "1:#<1, 2>"는 상이한 흑색 패들을 갖는 카드들을 선택하는 것을 지칭하며, "5:!<103>"은 선택한 카드들의 번호가 103일 수 없다는 것을 지칭한다고 분석할 수 있으며, 따라서 카드 A의 논리 기능에 의해 선택될 수 있는 카드 범위가 "번호가 103일 수 없는 상이한 흑색 패들을 갖는 2장의 카드들을 지정하는 것"임을 알 수 있다.
본 발명의 실시예에서의 데이터 처리 장치(1)는 cocos2d-x-UFO를 기반으로 개발된 파생 시스템 모듈이다. cocos2d-x-UFO는 UFO 엔진을 기반으로 cocos2d-x(오픈 소스 모바일 2D 게임 프레임워크)의 우수한 특성들을 융합시키고, 골격 애니메이션, 입자 효과들, FBO 오프스크린 렌더링, Shader(렌더러), 모션 어셈블러, Scud, 및 증분 업그레이드 모듈들과 같은 우수한 기능 모듈들을 상호 융합시킨다. cocos2d-x-UFO는 크로스 플랫폼이며, iOS, Android, Symbian, Win32, WP7, Bada, 및 iMac과 같은 플랫폼들을 커버할 수 있다.
본 발명의 실시예는, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하고 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 것에 의해, 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행할 수 있다. 따라서, 클라이언트가 서버와 정보를 교환함이 없이 제1 데이터 동작을 로컬 클라이언트에서 수행할 수 있도록, 클라이언트가 로컬적으로 실행될 수 있는 현재의 동작을 판단하기 위해 타깃 작동 상태를 분석할 수 있으며, 이는 중복적인 정보 교환을 피함으로써 네트워크 대역폭들의 낭비를 피하고 모바일 게임의 네트워크 원활성을 향상시킨다. 더욱이, 서버와 각각의 클라이언트 사이의 데이터 교환은 동작 표현식 또는 논리 표현식에 기초한 전송이고, 동작 표현식 및 논리 표현식 둘 다는 미리 설정된 객체 식별자들에 의해 형성되며, 객체 식별자들은 통용성이 있다. 즉, 다양한 플랫폼들의 클라이언트들이 객체 식별자들을 식별할 수 있다. 따라서, 크로스 플랫폼 통합의 구현가능성이 추가로 향상된다. 더욱이, 동작 표현식과 논리 표현식이 비교적 작은 용량을 차지하기 때문에, 동작 표현식 또는 논리 표현식을 전송하는 것은 네트워크 패킷 트래픽을 절감할 수 있다. 모든 카드들, 스킬들, 및 영웅들이 객체 식별자들로서 설정되기 때문에, 새로운 요소 객체가 추가될 때, 새로운 요소 객체의 적응적 효과가 새로운 요소 객체의 객체 식별자를 클라이언트 및 서버에 구성하는 것 및 새로운 요소 객체의 논리 기능에 대응하는 논리 표현식을 서버에 구성하는 것만으로 달성될 수 있으며, 그로써 클라이언트의 새로운 요소 객체와 기존의 요소 객체들 사이의 복제 관계에서의 많은 변경들을 피할 수 있으며, 따라서 프로젝트의 인적 비용을 상당히 줄일 수 있고 스킬들의 개발 주기를 단축시킬 수 있다. 그 밖에, 적어도 하나의 작동 상태와 모든 요소 객체들을, 모든 인터페이스 관련 정보와 분리되게 하기 위해, MVC 모델을 통해 하나의 컴포넌트에 모아두는 것에 의해 결합도가 크게 감소될 수 있다.
도 7을 참조하면, 도 7은 본 발명의 일 실시예에 따른, 추가의 모바일 게임 데이터 처리 장치의 개략 구조도이다. 도 7에 도시된 바와 같이, 데이터 처리 장치(1000)는: 적어도 하나의 프로세서(1001), 예를 들어, CPU, 적어도 하나의 네트워크 인터페이스(1004), 사용자 인터페이스(1003), 메모리(1005), 및 적어도 하나의 통신 버스(1002)를 포함할 수 있다. 통신 버스(1002)는 컴포넌트들 사이의 연결 통신을 구현하도록 구성된다. 사용자 인터페이스(1003)는 디스플레이 및 키보드를 포함할 수 있다. 임의로, 사용자 인터페이스(1003)는 표준 유선 인터페이스들 및 무선 인터페이스들을 추가로 포함할 수 있다. 임의로, 네트워크 인터페이스(1004)는 표준 유선 인터페이스들 및 무선 인터페이스들(예컨대, WI-FI 인터페이스들)을 포함할 수 있다. 메모리(1005)는 고속 RAM 메모리일 수 있고, 또한 비휘발성 메모리, 예를 들어, 적어도 하나의 자기 디스크 메모리일 수 있다. 임의로, 메모리(1005)는 추가로 프로세서(1001)로부터 멀리 떨어져 있는 적어도 하나의 저장 디바이스일 수 있다. 도 7에 도시된 바와 같이, 컴퓨터 저장 매체로서의 메모리(105)는 운영 체제, 네트워크 통신 모듈, 사용자 인터페이스 모듈, 및 디바이스 제어 애플리케이션을 포함할 수 있다.
도 7에 도시된 데이터 처리 장치(1000)에서, 네트워크 인터페이스(1004)는 서버에 연결하고 서버와 데이터 통신을 수행하는 데 주로 사용되고; 사용자 인터페이스(1003)는 사용자를 위한 입력 인터페이스를 제공하고 사용자에 의해 출력된 데이터를 취득하는 데 주로 사용되며; 프로세서(1001)는 메모리(1005)에 저장된 디바이스 제어 애플리케이션을 호출하고, 구체적으로는, 하기의 단계들:
모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 단계;
타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 단계; 및
적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하는 단계 -
제1 데이터 동작은 인터페이스 관련 정보에 대한 디스플레이 동작을 포함하고, 인터페이스 관련 정보는 진행률 정보, 관련 애니메이션 정보, 및 동작 결과 정보 중 적어도 하나를 포함함 - 를 수행하는 데 사용될 수 있다.
일 실시예에서, 프로세서(1001)는 또한 하기의 단계:
적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가질 때, 전송 유형의 처리될 데이터 동작을 제2 데이터 동작이라고 결정하고, 제2 데이터 동작을 서버와의 데이터 전송을 통해 실행하는 단계를 수행하고;
여기서 제2 데이터 동작에서 전송되는 게임 데이터는 정규 표현식 규칙에 따라 형성되며; 게임 데이터는 동작 표현식 또는 논리 표현식을 포함한다.
일 실시예에서, 프로세서(1001)는, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가질 때, 전송 유형의 처리될 데이터 동작을 제2 데이터 동작이라고 결정하고, 제2 데이터 동작을 서버와의 데이터 전송을 통해 실행하는 경우, 구체적으로는 하기의 단계들:
적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 타깃 작동 상태가 사용자 동작에 따라 로컬 클라이언트에 의해 트리거될 때, 정규 표현식 규칙에 따라 사용자 동작에 대응하는 동작 표현식을 생성하는 단계 - 동작 표현식은 사용자 동작에 관여된 타깃 요소 객체의 객체 식별자를 포함함 -; 및
서버가 타깃 요소 객체의 논리 기능을 취득하도록, 동작 표현식을 서버에게 송신하고, 논리 기능에 대응하는 논리 표현식을 타깃 클라이언트에게 송신하는 단계 - 논리 표현식은 정규 표현식 규칙에 따라 형성되고, 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 - 를 수행한다.
일 실시예에서, 프로세서(1001)는, 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가질 때, 전송 유형의 처리될 데이터 동작을 제2 데이터 동작이라고 결정하고, 제2 데이터 동작을 서버와의 데이터 전송을 통해 실행하는 경우, 구체적으로는 하기의 단계들:
적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 타깃 작동 상태가 서버에 의해 트리거될 때, 서버에 의해 송신된 타깃 요소 객체의 논리 기능에 대응하는 논리 표현식을 수신하는 단계 - 논리 표현식은 정규 표현식 규칙에 따라 형성되고, 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 -; 및
타깃 요소 객체의 논리 기능을 식별하기 위해 논리 와일드카드 표현식에서 객체 식별자를 파싱하고, 논리 기능과 부합하는 동작을 실행하는 단계를 수행한다.
일 실시예에서, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하기 전에, 프로세서(1001)는 하기의 단계들:
모바일 게임에서의 모든 요소 객체들에 대한 대응하는 객체 식별자들을 각각 설정하는 단계; 및
요소 객체들과 객체 식별자들 간의 매핑 관계 및 정규 표현식 규칙에 따라 동작 표현식이 생성되거나 차후에 논리 표현식이 파싱되도록, 매핑 관계를 선언하고, 정규 표현식 규칙을 설정하는 단계를 추가로 수행하고;
여기서 타깃 작동 상태에 있는 적어도 하나의 요소 객체는 로컬 클라이언트에 의해 감독되고, 감독은 생성, 논리연산, 및 삭제 중 적어도 하나를 포함한다.
일 실시예에서, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하기 전에, 프로세서(1001)는 하기의 단계:
모바일 게임의 규칙에 따라 적어도 하나의 작동 상태를 설정하고, 각각의 작동 상태에 대해 적어도 하나의 처리될 데이터 동작을 구성하는 단계를 추가로 수행하고;
여기서 적어도 하나의 상태는 사용자 동작에 따라 로컬 클라이언트에 의해 순차적으로 트리거되는 적어도 하나의 타깃 작동 상태를 갖거나, 적어도 하나의 상태는 트리거 정보를 송신하는 것에 의해 서버에 의해 트리거되는 적어도 하나의 타깃 작동 상태를 갖는다.
일 실시예에서, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하기 전에, 프로세서(1001)는 하기의 단계:
MVC 모델에 기초하여 관계 리스닝 큐를 설정하는 단계 - 관계 리스닝 큐는 모바일 게임에서의 적어도 하나의 작동 상태와 모든 인터페이스 관련 정보 사이의 그리고 모든 요소 객체들과 모든 인터페이스 관련 정보 사이의 매핑 관계들을 포함하고; 하나의 작동 상태는 하나의 인터페이스 관련 정보에 대응하고, 하나의 요소 객체는 하나의 인터페이스 관련 정보에 대응함 - 를 추가로 수행하고;
제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행할 때, 프로세서(1001)는 구체적으로는 하기의 단계:
미리 설정된 관계 리스닝 큐에 따라, 타깃 작동 상태와의 매핑 관계를 갖는 인터페이스 관련 정보 및/또는 타깃 요소 객체와의 매핑 관계를 갖는 인터페이스 관련 정보를 취득하고, 취득된 인터페이스 관련 정보를 로컬 클라이언트의 사용자 인터페이스에 디스플레이하는 단계 - 타깃 요소 객체는 타깃 작동 상태에서 트리거되는 요소 객체임 - 를 수행한다.
본 발명의 실시예는, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하고 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 것에 의해, 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행할 수 있다. 따라서, 클라이언트가 서버와 정보를 교환함이 없이 제1 데이터 동작을 로컬 클라이언트에서 수행할 수 있도록, 클라이언트가 로컬적으로 실행될 수 있는 현재의 동작을 판단하기 위해 타깃 작동 상태를 분석할 수 있으며, 이는 중복적인 정보 교환을 피함으로써 네트워크 대역폭들의 낭비를 피하고 모바일 게임의 네트워크 원활성을 향상시킨다. 더욱이, 서버와 각각의 클라이언트 사이의 데이터 교환은 동작 표현식 또는 논리 표현식에 기초한 전송이고, 동작 표현식 및 논리 표현식 둘 다는 미리 설정된 객체 식별자들에 의해 형성되며, 객체 식별자들은 통용성이 있다. 즉, 다양한 플랫폼들의 클라이언트들이 객체 식별자들을 식별할 수 있다. 따라서, 크로스 플랫폼 통합의 구현가능성이 추가로 향상된다. 더욱이, 동작 표현식과 논리 표현식이 비교적 작은 용량을 차지하기 때문에, 동작 표현식 또는 논리 표현식을 전송하는 것은 네트워크 패킷 트래픽을 절감할 수 있다. 모든 카드들, 스킬들, 및 영웅들이 객체 식별자들로서 설정되기 때문에, 새로운 요소 객체가 추가될 때, 새로운 요소 객체의 적응적 효과가 새로운 요소 객체의 객체 식별자를 클라이언트 및 서버에 구성하는 것 및 새로운 요소 객체의 논리 기능에 대응하는 논리 표현식을 서버에 구성하는 것만으로 달성될 수 있으며, 그로써 클라이언트의 새로운 요소 객체와 기존의 요소 객체들 사이의 복제 관계에서의 많은 변경들을 피할 수 있으며, 따라서 프로젝트의 인적 비용을 상당히 줄일 수 있고 스킬들의 개발 주기를 단축시킬 수 있다. 그 밖에, 적어도 하나의 작동 상태와 모든 요소 객체들을, 모든 인터페이스 관련 정보와 분리되게 하기 위해, MVC 모델을 통해 하나의 컴포넌트에 모아두는 것에 의해 결합도가 크게 감소될 수 있다.
본 개시내용의 일 구현에 따르면, 모바일 게임의 데이터 처리를 위한 프로그램 제품을 저장하는 비휘발성 머신 판독가능 저장 매체가 추가로 제공되며, 프로그램 제품은 컴퓨터 시스템으로 하여금 하기의 단계들을 수행하게 하기 위한 머신 실행가능 명령어를 포함한다: 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 단계; 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 단계; 및 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하는 단계 - 제1 데이터 동작은 인터페이스 관련 정보에 대한 디스플레이 동작을 포함하고, 인터페이스 관련 정보는 진행률 정보, 관련 애니메이션 정보, 및 동작 결과 정보 중 적어도 하나를 포함함 -.
적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가질 때, 전송 유형의 처리될 데이터 동작은 제2 데이터 동작이라고 결정되고, 제2 데이터 동작은 서버와의 데이터 전송을 통해 실행된다. 제2 데이터 동작에서 전송되는 게임 데이터는 정규 표현식 규칙에 따라 형성되고; 게임 데이터는 동작 표현식 또는 논리 표현식을 포함한다.
적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가질 때, 전송 유형의 처리될 데이터 동작을 제2 데이터 동작이라고 결정하고, 제2 데이터 동작을 서버와의 데이터 전송을 통해 실행하는 단계는: 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 타깃 작동 상태가 사용자 동작에 따라 로컬 클라이언트에 의해 트리거될 때, 정규 표현식 규칙에 따라 사용자 동작에 대응하는 동작 표현식을 생성하는 단계 - 동작 표현식은 사용자 동작에 관여된 타깃 요소 객체의 객체 식별자를 포함함 -; 및 서버가 타깃 요소 객체의 논리 기능을 취득하도록, 동작 표현식을 서버에게 송신하고, 논리 기능에 대응하는 논리 표현식을 타깃 클라이언트에게 송신하는 단계 - 논리 표현식은 정규 표현식 규칙에 따라 형성되고, 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 - 를 포함한다.
적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가질 때, 전송 유형의 처리될 데이터 동작을 제2 데이터 동작이라고 결정하고, 제2 데이터 동작을 서버와의 데이터 전송을 통해 실행하는 단계는: 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 타깃 작동 상태가 서버에 의해 트리거될 때, 서버에 의해 송신된 타깃 요소 객체의 논리 기능에 대응하는 논리 표현식을 수신하는 단계 - 논리 표현식은 정규 표현식 규칙에 따라 형성되고, 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 - ; 및 타깃 요소 객체의 논리 기능을 식별하기 위해 논리 와일드카드 표현식에서 객체 식별자를 파싱하고, 논리 기능과 부합하는 동작을 실행하는 단계를 포함한다.
모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 단계 이전에, 본 방법은:
모바일 게임에서의 모든 요소 객체들에 대한 대응하는 객체 식별자들을 각각 설정하는 단계; 및 요소 객체들과 객체 식별자들 간의 매핑 관계 및 정규 표현식 규칙에 따라 동작 표현식이 생성되거나 차후에 논리 표현식이 파싱되도록, 매핑 관계를 선언하고, 정규 표현식 규칙을 설정하는 단계를 추가로 포함하고; 여기서 타깃 작동 상태에 있는 적어도 하나의 요소 객체는 로컬 클라이언트에 의해 감독되고, 감독은 생성, 논리연산, 및 삭제 중 적어도 하나를 포함한다.
모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 단계 이전에, 본 방법은:
모바일 게임의 규칙에 따라 적어도 하나의 작동 상태를 설정하고, 각각의 작동 상태에 대해 적어도 하나의 처리될 데이터 동작을 구성하는 단계를 추가로 포함하고; 여기서 적어도 하나의 상태는 사용자 동작에 따라 로컬 클라이언트에 의해 순차적으로 트리거되는 적어도 하나의 타깃 작동 상태를 갖거나, 적어도 하나의 상태는 트리거 정보를 송신하는 것에 의해 서버에 의해 트리거되는 적어도 하나의 타깃 작동 상태를 갖는다.
모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 단계 이전에, 본 방법은:
MVC 모델에 기초하여 관계 리스닝 큐를 설정하는 단계 - 관계 리스닝 큐는 모바일 게임에서의 적어도 하나의 작동 상태와 모든 인터페이스 관련 정보 사이의 그리고 모든 요소 객체들과 모든 인터페이스 관련 정보 사이의 매핑 관계들을 포함하고; 하나의 작동 상태는 하나의 인터페이스 관련 정보에 대응하고, 하나의 요소 객체는 하나의 인터페이스 관련 정보에 대응함 - 를 추가로 포함하고; 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하는 단계는 구체적으로는: 미리 설정된 관계 리스닝 큐에 따라, 타깃 작동 상태와의 매핑 관계를 갖는 인터페이스 관련 정보 및/또는 타깃 요소 객체와의 매핑 관계를 갖는 인터페이스 관련 정보를 취득하고, 취득된 인터페이스 관련 정보를 로컬 클라이언트의 사용자 인터페이스에 디스플레이하는 단계 - 타깃 요소 객체는 타깃 작동 상태에서 트리거되는 요소 객체임 - 를 포함한다.
본 기술분야의 통상의 기술자는 전술한 실시예들에서의 방법들의 단계들의 전부 또는 일부가 관련 하드웨어에 명령하는 프로그램에 의해 구현될 수 있다는 것을 이해할 수 있다. 프로그램은 컴퓨터 판독가능 저장 매체에 저장될 수 있다. 프로그램은 실행될 때 방법의 실시예의 프로세스를 포함할 수 있다. 저장 매체는 자기 디스크, 광학 디스크, ROM(Read Only Memory), RAM(Random Access Memory) 등일 수 있다.
이상의 개시된 내용은 본 발명의 바람직한 실시예들에 불과하고, 분명하게도 본 개시내용의 범주를 제한하기 위해 사용될 수 없다. 따라서, 본 개시내용의 청구항들에 따라 이루어진 등가의 변경들은 본 개시내용에 의해 커버되는 범주에 여전히 속한다.

Claims (26)

  1. 모바일 게임 데이터 처리 방법으로서,
    모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태(target running state)를 취득하는 단계;
    상기 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 단계;
    상기 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 상기 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 상기 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하는 단계 - 상기 제1 데이터 동작은 인터페이스 관련 정보를 디스플레이하는 동작을 포함하고, 상기 인터페이스 관련 정보는 진행률 정보, 관련 애니메이션 정보, 및 동작 결과 정보 중 적어도 하나를 포함함 -;
    상기 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 상기 타깃 작동 상태가 사용자 동작에 따라 상기 로컬 클라이언트에 의해 트리거될 때, 정규 표현식 규칙에 따라 상기 사용자 동작에 대응하는 동작 표현식을 생성하는 단계 - 상기 동작 표현식은 상기 사용자 동작에 관여된 타깃 요소 객체의 객체 식별자를 포함함 -; 및
    서버가 상기 타깃 요소 객체의 논리 기능을 취득하도록, 상기 동작 표현식을 상기 서버에게 송신하고, 상기 논리 기능에 대응하는 논리 표현식을 타깃 클라이언트에게 송신하는 단계 - 상기 논리 표현식은 상기 정규 표현식 규칙에 따라 형성되고, 상기 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 - 를 포함하는, 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 상기 타깃 작동 상태가 상기 서버에 의해 트리거될 때, 상기 서버에 의해 송신된 타깃 요소 객체의 논리 기능에 대응하는 논리 표현식을 수신하는 단계 - 상기 논리 표현식은 상기 정규 표현식 규칙에 따라 형성되고, 상기 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 -; 및
    상기 타깃 요소 객체의 상기 논리 기능을 식별하기 위해 상기 논리 표현식에서 상기 객체 식별자를 파싱하고, 상기 논리 기능과 부합하는 동작을 실행하는 단계를 더 포함하는, 방법.
  5. 제1항 또는 제4항에 있어서, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 상기 단계 이전에,
    상기 모바일 게임에서의 모든 요소 객체들에 대한 대응하는 객체 식별자들을 각각 설정하는 단계; 및
    상기 요소 객체들과 상기 객체 식별자들 간의 매핑 관계 및 정규 표현식 규칙에 따라 상기 동작 표현식이 생성되거나 차후에 상기 논리 표현식이 파싱되도록, 상기 매핑 관계를 선언하고, 상기 정규 표현식 규칙을 설정하는 단계를 추가로 포함하고;
    상기 타깃 작동 상태에 있는 상기 적어도 하나의 요소 객체는 상기 로컬 클라이언트에 의해 감독되고, 상기 감독은 생성, 논리연산, 및 삭제 중 적어도 하나를 포함하는, 방법.
  6. 제5항에 있어서, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 상기 단계 이전에,
    상기 모바일 게임의 규칙에 따라 적어도 하나의 작동 상태를 설정하고, 각각의 작동 상태에 대해 적어도 하나의 처리될 데이터 동작을 구성하는 단계를 추가로 포함하고;
    상기 적어도 하나의 상태는 사용자 동작에 따라 상기 로컬 클라이언트에 의해 순차적으로 트리거되는 적어도 하나의 타깃 작동 상태를 갖거나, 상기 적어도 하나의 상태는 트리거 정보를 송신하는 것에 의해 상기 서버에 의해 트리거되는 적어도 하나의 타깃 작동 상태를 갖는, 방법.
  7. 제6항에 있어서, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 상기 단계 이전에,
    MVC 모델에 기초하여 관계 리스닝 큐(relationship listening queue)를 설정하는 단계 - 상기 관계 리스닝 큐는 상기 모바일 게임에서의 상기 적어도 하나의 작동 상태와 모든 인터페이스 관련 정보 사이의 그리고 모든 상기 요소 객체들과 모든 인터페이스 관련 정보 사이의 매핑 관계들을 포함하고; 하나의 작동 상태는 하나의 인터페이스 관련 정보에 대응하고, 하나의 요소 객체는 하나의 인터페이스 관련 정보에 대응함 - 를 추가로 포함하고;
    상기 제1 데이터 동작을 상기 모바일 게임의 로컬 클라이언트에서 실행하는 상기 단계는 구체적으로는:
    상기 관계 리스닝 큐에 따라, 상기 타깃 작동 상태와의 매핑 관계를 갖는 인터페이스 관련 정보 및 타깃 요소 객체와의 매핑 관계를 갖는 인터페이스 관련 정보 중 적어도 하나를 취득하고, 상기 취득된 인터페이스 관련 정보를 상기 로컬 클라이언트의 사용자 인터페이스에 디스플레이하는 단계 - 상기 타깃 요소 객체는 상기 타깃 작동 상태에서 트리거되는 요소 객체임 - 를 포함하는, 방법.
  8. 모바일 게임 데이터 처리 장치로서,
    모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하도록 구성된 상태 취득 모듈;
    상기 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하도록 구성된 탐색 모듈;
    상기 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 상기 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 상기 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하도록 구성된 제1 결정 및 실행 모듈 - 상기 제1 데이터 동작은 인터페이스 관련 정보를 디스플레이하는 동작을 포함하고, 상기 인터페이스 관련 정보는 진행률 정보, 관련 애니메이션 정보, 및 동작 결과 정보 중 적어도 하나를 포함함 -;
    상기 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 상기 타깃 작동 상태가 사용자 동작에 따라 상기 로컬 클라이언트에 의해 트리거될 때, 정규 표현식 규칙에 따라 상기 사용자 동작에 대응하는 동작 표현식을 생성하도록 - 상기 동작 표현식은 상기 사용자 동작에 관여된 타깃 요소 객체의 객체 식별자를 포함함 - 구성된 생성 유닛; 및
    서버가 상기 타깃 요소 객체의 논리 기능을 취득하도록, 상기 동작 표현식을 상기 서버에게 송신하고, 상기 논리 기능에 대응하는 논리 표현식을 타깃 클라이언트에게 송신하도록 - 상기 논리 표현식은 상기 정규 표현식 규칙에 따라 형성되고, 상기 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 - 구성된 송신 유닛을 포함하는, 장치.
  9. 삭제
  10. 삭제
  11. 제8항에 있어서,
    상기 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 상기 타깃 작동 상태가 상기 서버에 의해 트리거될 때, 상기 서버에 의해 송신된 타깃 요소 객체의 논리 기능에 대응하는 논리 표현식을 수신하도록 - 상기 논리 표현식은 상기 정규 표현식 규칙에 따라 형성되고, 상기 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 - 구성된 수신 유닛; 및
    상기 타깃 요소 객체의 상기 논리 기능을 식별하기 위해 상기 논리 표현식에서 상기 객체 식별자를 파싱하고, 상기 논리 기능과 부합하는 동작을 실행하도록 구성된 파싱 및 식별 유닛을 더 포함하는, 장치.
  12. 제8항 또는 제11항에 있어서,
    상기 모바일 게임에서의 모든 요소 객체들에 대한 대응하는 객체 식별자들을 각각 설정하도록 구성된 제1 설정 모듈을 추가로 포함하고;
    상기 제1 설정 모듈은, 상기 요소 객체들과 상기 객체 식별자들 간의 매핑 관계 및 정규 표현식 규칙에 따라 상기 동작 표현식이 생성되거나 차후에 상기 논리 표현식이 파싱되도록, 상기 매핑 관계를 선언하고, 상기 정규 표현식 규칙을 설정하도록 추가로 구성되며;
    상기 타깃 작동 상태에 있는 상기 적어도 하나의 요소 객체는 상기 로컬 클라이언트에 의해 감독되고, 상기 감독은 생성, 논리연산, 및 삭제 중 적어도 하나를 포함하는, 장치.
  13. 제12항에 있어서,
    상기 모바일 게임의 규칙에 따라 적어도 하나의 작동 상태를 설정하고, 각각의 작동 상태에 대해 적어도 하나의 처리될 데이터 동작을 구성하도록 구성된 제2 설정 모듈을 추가로 포함하고;
    상기 적어도 하나의 상태는 사용자 동작에 따라 상기 로컬 클라이언트에 의해 순차적으로 트리거되는 적어도 하나의 타깃 작동 상태를 갖거나, 상기 적어도 하나의 상태는 트리거 정보를 송신하는 것에 의해 상기 서버에 의해 트리거되는 적어도 하나의 타깃 작동 상태를 갖는, 장치.
  14. 제13항에 있어서,
    MVC 모델에 기초하여 관계 리스닝 큐를 설정하도록 - 상기 관계 리스닝 큐는 상기 모바일 게임에서의 상기 적어도 하나의 작동 상태와 모든 인터페이스 관련 정보 사이의 그리고 모든 상기 요소 객체들과 모든 인터페이스 관련 정보 사이의 매핑 관계들을 포함하고; 하나의 작동 상태는 하나의 인터페이스 관련 정보에 대응하고, 하나의 요소 객체는 하나의 인터페이스 관련 정보에 대응함 - 구성된 제3 설정 모듈을 추가로 포함하고;
    상기 제1 결정 및 실행 모듈은 구체적으로는, 상기 관계 리스닝 큐에 따라, 상기 타깃 작동 상태와의 매핑 관계를 갖는 인터페이스 관련 정보 및 타깃 요소 객체와의 매핑 관계를 갖는 인터페이스 관련 정보 중 적어도 하나를 취득하고, 상기 취득된 인터페이스 관련 정보를 상기 로컬 클라이언트의 사용자 인터페이스에 디스플레이하도록 - 상기 타깃 요소 객체는 상기 타깃 작동 상태에서 트리거되는 요소 객체임 - 구성된, 장치.
  15. 모바일 게임 데이터 처리 장치로서,
    컴퓨터 실행가능 프로그램 코드를 저장하는 메모리; 및
    상기 컴퓨터 실행가능 프로그램 코드를 실행하여 하기의 동작들:
    모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 동작;
    상기 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 동작;
    상기 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 상기 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 상기 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하는 동작 - 상기 제1 데이터 동작은 인터페이스 관련 정보를 디스플레이하는 동작을 포함하고, 상기 인터페이스 관련 정보는 진행률 정보, 관련 애니메이션 정보, 및 동작 결과 정보 중 적어도 하나를 포함함 -;
    상기 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 상기 타깃 작동 상태가 사용자 동작에 따라 상기 로컬 클라이언트에 의해 트리거될 때, 정규 표현식 규칙에 따라 상기 사용자 동작에 대응하는 동작 표현식을 생성하는 동작 - 상기 동작 표현식은 상기 사용자 동작에 관여된 타깃 요소 객체의 객체 식별자를 포함함 -; 및
    서버가 상기 타깃 요소 객체의 논리 기능을 취득하도록, 상기 동작 표현식을 상기 서버에게 송신하고, 상기 논리 기능에 대응하는 논리 표현식을 타깃 클라이언트에게 송신하는 동작 - 상기 논리 표현식은 상기 정규 표현식 규칙에 따라 형성되고, 상기 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 - 을 실행하도록 구성된 프로세서를 포함하는, 모바일 게임 데이터 처리 장치.
  16. 삭제
  17. 삭제
  18. 제15항에 있어서, 상기 프로세서는 상기 컴퓨터 실행가능 프로그램 코드를 실행하여 하기의 동작들:
    상기 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 상기 타깃 작동 상태가 상기 서버에 의해 트리거될 때, 상기 서버에 의해 송신된 타깃 요소 객체의 논리 기능에 대응하는 논리 표현식을 수신하는 동작 - 상기 논리 표현식은 상기 정규 표현식 규칙에 따라 형성되고, 상기 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 -; 및
    상기 타깃 요소 객체의 상기 논리 기능을 식별하기 위해 상기 논리 표현식에서 상기 객체 식별자를 파싱하고, 상기 논리 기능과 부합하는 동작을 실행하는 동작을 실행하도록 구성되는, 모바일 게임 데이터 처리 장치.
  19. 제15항 또는 제18항에 있어서, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 상기 동작 이전에, 상기 컴퓨터 실행가능 프로그램 코드는:
    상기 모바일 게임에서의 모든 요소 객체들에 대한 대응하는 객체 식별자들을 각각 설정하는 동작; 및
    상기 요소 객체들과 상기 객체 식별자들 간의 매핑 관계 및 정규 표현식 규칙에 따라 상기 동작 표현식이 생성되거나 차후에 상기 논리 표현식이 파싱되도록, 상기 매핑 관계를 선언하고, 상기 정규 표현식 규칙을 설정하는 동작을 위해 사용되기 위해 추가로 실행되고;
    상기 타깃 작동 상태에 있는 상기 적어도 하나의 요소 객체는 상기 로컬 클라이언트에 의해 감독되고, 상기 감독은 생성, 논리연산, 및 삭제 중 적어도 하나를 포함하는, 모바일 게임 데이터 처리 장치.
  20. 제19항에 있어서, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 상기 동작 이전에, 상기 컴퓨터 실행가능 프로그램 코드는:
    상기 모바일 게임의 규칙에 따라 적어도 하나의 작동 상태를 설정하고, 각각의 작동 상태에 대해 적어도 하나의 처리될 데이터 동작을 구성하는 동작을 위해 사용되기 위해 추가로 실행되고;
    상기 적어도 하나의 상태는 사용자 동작에 따라 상기 로컬 클라이언트에 의해 순차적으로 트리거되는 적어도 하나의 타깃 작동 상태를 갖거나, 상기 적어도 하나의 상태는 트리거 정보를 송신하는 것에 의해 상기 서버에 의해 트리거되는 적어도 하나의 타깃 작동 상태를 갖는, 모바일 게임 데이터 처리 장치.
  21. 컴퓨터 실행가능 프로그램 코드를 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 실행가능 프로그램 코드는 모바일 게임 데이터 처리 장치로 하여금 하기의 동작들:
    모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 동작;
    상기 타깃 작동 상태에 관여된 적어도 하나의 처리될 데이터 동작을 탐색하는 동작;
    상기 적어도 하나의 처리될 데이터 동작이 비전송 유형의 처리될 데이터 동작을 가질 때, 비전송 유형의 상기 처리될 데이터 동작을 제1 데이터 동작이라고 결정하고, 상기 제1 데이터 동작을 모바일 게임의 로컬 클라이언트에서 실행하는 동작 - 상기 제1 데이터 동작은 인터페이스 관련 정보를 디스플레이하는 동작을 포함하고, 상기 인터페이스 관련 정보는 진행률 정보, 관련 애니메이션 정보, 및 동작 결과 정보 중 적어도 하나를 포함함 -;
    상기 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 상기 타깃 작동 상태가 사용자 동작에 따라 상기 로컬 클라이언트에 의해 트리거될 때, 정규 표현식 규칙에 따라 상기 사용자 동작에 대응하는 동작 표현식을 생성하는 동작 - 상기 동작 표현식은 상기 사용자 동작에 관여된 타깃 요소 객체의 객체 식별자를 포함함 -; 및
    서버가 상기 타깃 요소 객체의 논리 기능을 취득하도록, 상기 동작 표현식을 상기 서버에게 송신하고, 상기 논리 기능에 대응하는 논리 표현식을 타깃 클라이언트에게 송신하는 동작 - 상기 논리 표현식은 상기 정규 표현식 규칙에 따라 형성되고, 상기 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 - 을 실행하게 하는, 컴퓨터 판독가능 저장 매체.
  22. 삭제
  23. 삭제
  24. 제21항에 있어서, 상기 컴퓨터 실행가능 프로그램 코드는 상기 모바일 게임 데이터 처리 장치로 하여금 하기의 동작들:
    상기 적어도 하나의 처리될 데이터 동작이 전송 유형의 처리될 데이터 동작을 가지며 상기 타깃 작동 상태가 상기 서버에 의해 트리거될 때, 상기 서버에 의해 송신된 타깃 요소 객체의 논리 기능에 대응하는 논리 표현식을 수신하는 동작 - 상기 논리 표현식은 상기 정규 표현식 규칙에 따라 형성되고, 상기 논리 기능과 연관된 적어도 하나의 요소 객체의 객체 식별자를 포함함 -; 및
    상기 타깃 요소 객체의 상기 논리 기능을 식별하기 위해 상기 논리 표현식에서 상기 객체 식별자를 파싱하고, 상기 논리 기능과 부합하는 동작을 실행하는 동작을 실행하게 하는, 컴퓨터 판독가능 저장 매체.
  25. 제21항 또는 제24항에 있어서, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 상기 동작 이전에, 상기 컴퓨터 실행가능 프로그램 코드는:
    상기 모바일 게임에서의 모든 요소 객체들에 대한 대응하는 객체 식별자들을 각각 설정하는 동작; 및
    상기 요소 객체들과 상기 객체 식별자들 간의 매핑 관계 및 정규 표현식 규칙에 따라 상기 동작 표현식이 생성되거나 차후에 상기 논리 표현식이 파싱되도록, 상기 매핑 관계를 선언하고, 상기 정규 표현식 규칙을 설정하는 동작을 위해 사용되기 위해 추가로 실행되고;
    상기 타깃 작동 상태에 있는 상기 적어도 하나의 요소 객체는 상기 로컬 클라이언트에 의해 감독되고, 상기 감독은 생성, 논리연산, 및 삭제 중 적어도 하나를 포함하는, 컴퓨터 판독가능 저장 매체.
  26. 제25항에 있어서, 모바일 게임의, 실행을 위해 현재 트리거된, 타깃 작동 상태를 취득하는 상기 동작 이전에, 상기 컴퓨터 실행가능 프로그램 코드는:
    상기 모바일 게임의 규칙에 따라 적어도 하나의 작동 상태를 설정하고, 각각의 작동 상태에 대해 적어도 하나의 처리될 데이터 동작을 구성하는 동작을 위해 사용되기 위해 추가로 실행되고;
    상기 적어도 하나의 상태는 사용자 동작에 따라 상기 로컬 클라이언트에 의해 순차적으로 트리거되는 적어도 하나의 타깃 작동 상태를 갖거나, 상기 적어도 하나의 상태는 트리거 정보를 송신하는 것에 의해 상기 서버에 의해 트리거되는 적어도 하나의 타깃 작동 상태를 갖는, 컴퓨터 판독가능 저장 매체.
KR1020177036599A 2015-11-17 2016-05-24 모바일 게임에 대한 데이터 처리 방법 및 장치 KR102094066B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510791150.3 2015-11-17
CN201510791150.3A CN105468358B (zh) 2015-11-17 2015-11-17 一种移动游戏的数据处理方法以及装置
PCT/CN2016/083157 WO2017084283A1 (zh) 2015-11-17 2016-05-24 一种移动游戏的数据处理方法以及装置

Publications (2)

Publication Number Publication Date
KR20180009352A KR20180009352A (ko) 2018-01-26
KR102094066B1 true KR102094066B1 (ko) 2020-03-26

Family

ID=55606101

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177036599A KR102094066B1 (ko) 2015-11-17 2016-05-24 모바일 게임에 대한 데이터 처리 방법 및 장치

Country Status (5)

Country Link
US (1) US10445103B2 (ko)
JP (1) JP6755527B2 (ko)
KR (1) KR102094066B1 (ko)
CN (1) CN105468358B (ko)
WO (1) WO2017084283A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468358B (zh) * 2015-11-17 2019-11-05 腾讯科技(深圳)有限公司 一种移动游戏的数据处理方法以及装置
CN107982912B (zh) * 2016-10-26 2020-08-11 腾讯科技(深圳)有限公司 一种信息处理方法和终端
CN108379841B (zh) * 2018-03-15 2021-10-29 网易(杭州)网络有限公司 游戏特效的处理方法、装置和终端
CN108769192B (zh) * 2018-05-29 2022-01-14 努比亚技术有限公司 一种游戏带宽调控方法、设备及计算机可读存储介质
CN109847356B (zh) * 2019-02-25 2022-03-01 腾讯科技(深圳)有限公司 一种回合制游戏的数据处理方法、装置、终端及服务器
CN111437602B (zh) * 2020-03-23 2021-08-17 腾讯科技(深圳)有限公司 虚拟环境中的飞行轨迹显示方法、装置、设备及存储介质
CN113556261B (zh) * 2020-04-26 2024-02-13 阿里巴巴集团控股有限公司 数据通信方法、装置、电子设备及计算机可读存储介质
CN111773715A (zh) * 2020-08-03 2020-10-16 网易(杭州)网络有限公司 任务执行方法及装置、设备和介质
CN112044057A (zh) * 2020-09-17 2020-12-08 网易(杭州)网络有限公司 一种游戏状态监测方法和装置
CN112546624A (zh) * 2020-12-15 2021-03-26 竞技世界(北京)网络技术有限公司 一种特效释放的控制方法及装置、设备、计算机可读存储介质
CN112717372A (zh) * 2021-01-08 2021-04-30 北京爱奇艺科技有限公司 云游戏操控方法、装置、电子设备及存储介质
KR102612811B1 (ko) 2021-06-14 2023-12-11 소프트기어 가부시키가이샤 정보 처리 장치, 데이터 동기 프로그램, 데이터 동기 방법, 데이터 동기 시스템 및 단말 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014092810A (ja) * 2012-10-31 2014-05-19 Future Tech Lab Co Ltd 情報システム、サーバ装置、端末装置、情報処理方法、およびプログラム
JP2014161722A (ja) * 2013-02-27 2014-09-08 Square Enix Co Ltd ビデオゲーム処理装置、及びビデオゲーム処理プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7034834B2 (en) * 2003-10-24 2006-04-25 Microsoft Corporation Communication protocol for synchronizing animation systems
US8167722B2 (en) * 2005-05-11 2012-05-01 Qualcomm Atheros, Inc Distributed processing system and method
US10026255B2 (en) * 2006-04-13 2018-07-17 Igt Presentation of remotely-hosted and locally rendered content for gaming systems
US8291261B2 (en) * 2008-11-05 2012-10-16 Vulcan Technologies Llc Lightweight application-level runtime state save-and-restore utility
US8051427B2 (en) * 2009-04-06 2011-11-01 Jason Kleban Method of establishing a logical state of an instance using non-deterministic operation results stored in a result log
US9122538B2 (en) * 2010-02-22 2015-09-01 Virtustream, Inc. Methods and apparatus related to management of unit-based virtual resources within a data center environment
US8717289B2 (en) * 2010-06-22 2014-05-06 Hsni Llc System and method for integrating an electronic pointing device into digital image data
US9223611B2 (en) * 2010-12-28 2015-12-29 Microsoft Technology Licensing, Llc Storing and resuming application runtime state
US9717982B2 (en) * 2012-12-21 2017-08-01 Microsoft Technology Licensing, Llc Client rendering of latency sensitive game features
US10142406B2 (en) * 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
CN103731340B (zh) * 2013-12-27 2017-01-11 北京像素软件科技股份有限公司 一种网络游戏系统的通信方法
JP2015153176A (ja) * 2014-02-14 2015-08-24 株式会社コナミデジタルエンタテインメント 処理システム、サーバ、端末、サーバ処理プログラム及び端末処理プログラム
CN105468358B (zh) * 2015-11-17 2019-11-05 腾讯科技(深圳)有限公司 一种移动游戏的数据处理方法以及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014092810A (ja) * 2012-10-31 2014-05-19 Future Tech Lab Co Ltd 情報システム、サーバ装置、端末装置、情報処理方法、およびプログラム
JP2014161722A (ja) * 2013-02-27 2014-09-08 Square Enix Co Ltd ビデオゲーム処理装置、及びビデオゲーム処理プログラム

Also Published As

Publication number Publication date
JP2018528497A (ja) 2018-09-27
CN105468358A (zh) 2016-04-06
CN105468358B (zh) 2019-11-05
KR20180009352A (ko) 2018-01-26
US10445103B2 (en) 2019-10-15
WO2017084283A1 (zh) 2017-05-26
JP6755527B2 (ja) 2020-09-16
US20180018178A1 (en) 2018-01-18

Similar Documents

Publication Publication Date Title
KR102094066B1 (ko) 모바일 게임에 대한 데이터 처리 방법 및 장치
CN108566290B (zh) 服务配置管理方法、系统、存储介质和服务器
US20180367365A1 (en) State control method and apparatus
US20170293834A1 (en) Techniques to respond to user requests using natural-language machine learning based on branching example conversations
CN109462769B (zh) 直播间挂件显示方法、装置、终端及计算机可读介质
US9361277B2 (en) Method and apparatus for implementing microblog message pages
CN111143039B (zh) 一种虚拟机的调度方法、装置及计算机存储介质
CN107526645A (zh) 一种通信优化方法及系统
CN112988185A (zh) 云应用更新方法、装置、系统、电子设备及存储介质
CN112506581A (zh) 渲染小程序的方法、装置、电子设备和可读存储介质
CN110018845B (zh) 元数据版本对比方法及装置
CN108553904B (zh) 一种游戏匹配方法、装置、电子设备及介质
CN116820527B (zh) 程序升级方法、装置、计算机设备和存储介质
CN113190427A (zh) 卡顿监控方法、装置、电子设备及存储介质
CN110750419B (zh) 离线任务的处理方法、装置、电子设备及存储介质
WO2023193633A1 (zh) 图像分析方法、装置、计算机设备以及存储介质
CN106156210B (zh) 一种确定应用标识匹配列表的方法和装置
KR20180011183A (ko) 메시지 알림들을 제거하는 방법, 시스템, 및 서버
CN113347268B (zh) 基于分布式网络组网方法、装置、存储介质及计算机设备
CN115361382A (zh) 基于数据群组的数据处理方法、装置、设备和存储介质
CN111191103B (zh) 从互联网中识别分析企业主体信息方法、装置及存储介质
CN109597641B (zh) 一种对象行为的控制方法、装置、终端及存储介质
CN114217927A (zh) 一种线程调用方法、装置、计算机设备及存储介质
CN112774191A (zh) 游戏操作指引方法、装置及系统、非易失性存储介质
CN104038467A (zh) 一种结合持续时间数据和碎片时间数据的方法和系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right