WO2007088652A1 - Information processing system, information processor, information processing program, computer-readable storage medium in which information processing program is stored and portable terminal - Google Patents

Information processing system, information processor, information processing program, computer-readable storage medium in which information processing program is stored and portable terminal Download PDF

Info

Publication number
WO2007088652A1
WO2007088652A1 PCT/JP2006/317656 JP2006317656W WO2007088652A1 WO 2007088652 A1 WO2007088652 A1 WO 2007088652A1 JP 2006317656 W JP2006317656 W JP 2006317656W WO 2007088652 A1 WO2007088652 A1 WO 2007088652A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
information
information processing
processing apparatus
virtual space
Prior art date
Application number
PCT/JP2006/317656
Other languages
French (fr)
Japanese (ja)
Inventor
Kenji Yamane
Michinari Kohno
Original Assignee
Sony Computer Entertainment Inc.
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 Sony Computer Entertainment Inc. filed Critical Sony Computer Entertainment Inc.
Publication of WO2007088652A1 publication Critical patent/WO2007088652A1/en

Links

Classifications

    • 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/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • 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/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • 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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/408Peer to peer connection
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/69Involving elements of the real world in the game world, e.g. measurement in live races, real video

Definitions

  • Information processing system information processing apparatus, information processing program, computer-readable storage medium storing information processing program, and portable terminal device
  • the present invention relates to a technique suitable for use in an information processing system in which at least two information processing devices connected to a predetermined network share a virtual space.
  • each client device periodically transmits the position information of the player object corresponding to the own device to all client devices participating in the network game.
  • the transmission is performed via the server apparatus, and the transmission is performed without the server apparatus.
  • a method of transmitting the position coordinates (xO, yO) of the player object as position information and a method of transmitting the position coordinates ( ⁇ , yO) and the velocity vector (Vx, Vy) at the position coordinates There is.
  • Patent Document 1 Japanese Patent Laid-Open No. 2001-198363
  • the position information is transmitted from the client device of the transmission source, even if the deviation method is V. It takes time for the destination client device to receive the location information (this is called network delay). For this reason, in the former method, the destination client device receives the past position coordinates at the time of transmission and cannot correctly grasp the position coordinates at the time of reception.
  • the destination client device can calculate the position coordinates (xt, yt) after t seconds using equations (a) and (b).
  • the position coordinates (xt, yt) calculated in this way are received by the destination client device that is equal to the position coordinate after t seconds after the source client device sends the location information.
  • the position coordinates after t seconds may actually be different. For this reason, there is a possibility that the position of the player object corresponding to the transmission destination client apparatus is displaced between the transmission source client apparatus and the transmission destination client apparatus (hereinafter referred to as displacement). This is also partly due to network delays between the transmission and reception of location information.
  • the present invention has been made in view of the above-described problems, and an object thereof is to provide an information communication system that can reduce misalignment due to network delay.
  • the information processing system arranges one or a plurality of predetermined objects in a virtual space shared by the first and second information processing apparatuses connected to a predetermined network.
  • the predetermined object includes a first object that moves in the virtual space in response to an instruction input from a user in the first information processing device, and the first information processing device measures time.
  • the first input means to which an instruction signal corresponding to the instruction input from the user is input, and the virtual signal of the first object Detecting position and moving speed in space 1 detection means, and a detection time at which the first detection means detects the position and moving speed of the first object is obtained from the first time measuring means, and the detection time, the position and the moving speed are obtained.
  • First position information transmitting means for transmitting the first position information including the predetermined position information via the predetermined network.
  • the second information processing apparatus includes: second time measuring means for measuring time; second position information receiving means for receiving the first position information via the predetermined network; and the second position information receiving means.
  • the reception time at which the first position information is received is acquired from the second timing means, and the position of the first object in the virtual space at the reception time is obtained using the reception time and the first position information.
  • second position calculating means for calculating.
  • the first information processing device transmits first position information including a position and a moving speed of the first object and a detection time at which the first object is detected, and the second information The information processing device calculates the position of the first object in the virtual space at the reception time by using the first position information and the reception time at which the first position information is received.
  • the second information processing apparatus can more accurately calculate the position of the first object in the virtual space, and can reduce the displacement due to the network delay.
  • FIG. 1 is a diagram showing an outline of a network game system according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of a screen according to the same embodiment.
  • FIG. 3 is a diagram illustrating a hardware configuration of the client device according to the embodiment.
  • FIG. 4 is a block diagram showing an internal configuration of the client device according to the embodiment.
  • FIG. 5 is a diagram illustrating an object management table according to the embodiment.
  • FIG. 6 is a diagram illustrating an object management table according to the embodiment.
  • FIG. 7 is a block diagram showing a functional configuration of the client device according to the embodiment.
  • FIG. 8 is a block diagram showing an internal configuration of the server device according to the embodiment.
  • FIG. 9 is a diagram illustrating a management table according to the embodiment.
  • FIG. 10 is a flowchart showing a processing flow between the client device and the server device according to the embodiment. It is a Kens chart.
  • FIG. 11 is a diagram illustrating a format of a time correction packet according to the embodiment.
  • FIG. 12 is a flowchart showing a flow of position information transmission processing according to the embodiment.
  • FIG. 13 is a diagram illustrating a format of a location information packet according to the embodiment.
  • FIG. 14 is a flowchart showing a flow of position information relay processing according to the embodiment.
  • FIG. 15 is a flowchart showing the flow of position calculation processing and drawing processing according to the embodiment.
  • FIG. 16 is a diagram showing an outline of a network game system according to another embodiment of the present invention.
  • FIG. 17 is a diagram illustrating a management table according to the embodiment.
  • FIG. 18 is a diagram illustrating an object management table according to the embodiment.
  • FIG. 19 is a flowchart showing a flow of position information transmission processing according to the embodiment.
  • FIG. 20 is a diagram showing an example of a screen according to the same embodiment.
  • FIG. 1 is a schematic diagram showing an outline of the network game system S according to the present embodiment.
  • the network game system S includes client devices 1A and 1B and a server device 2. .
  • the server device 2 and each of the client devices 1A and 1B perform packet communication via the packet communication network 30 according to rCPZlP (Transmission Control Protocol / Internet Protocol).
  • the packet communication network 30 is, for example, an analog public telephone line, communication satellite line, ADSL (Asymmetric Digital Subscriber Line), LAN (Local Area Network) ⁇ C ATV (Community Antenna Television) network, ISDN (Integrated Digital Communication Network), etc.
  • ADSL Asymmetric Digital Subscriber Line
  • LAN Local Area Network
  • C ATV Common Antenna Television
  • ISDN Integrated Digital Communication Network
  • Controllers 20A and 20B which are operation terminals operated by a user, and monitor devices 10A and 10B are connected to each client device 1A and 1B, respectively.
  • the monitor devices 10A and 10B are supplied with video signals and audio signals from the client devices 1A and 1B, respectively.
  • the monitor devices 10A and 10B output audio based on the screens 11A and 11B that display images based on the video signals supplied from the client devices 1A and 1B, and audio signals supplied from the client devices 1A and 1B.
  • a speaker (not shown) is provided.
  • each object corresponding to each client device 1A, 1B is arranged in a virtual space.
  • game images representing the virtual space are displayed on the screens 11A and 11B of the monitor devices 10A and 10B connected to the client devices 1A and 1B, respectively.
  • a game image including an object OA corresponding to the client device 1A and an object OB corresponding to the client device 1B is displayed on the screens 11A and 11B.
  • the positions of the objects OA and OB in the virtual space are changed according to respective operations in the controllers 20A and 20B connected to the corresponding client devices 1A and 1B.
  • Each client device 1A, 1B periodically transmits information on the positions of the objects OA, OB assigned to the own device (hereinafter referred to as a position information packet) to the server device 2.
  • the server apparatus 2 receives the position information packet transmitted from the client apparatuses 1A and 1B, the server apparatus 2 transmits it to all other client apparatuses other than the client apparatus that transmitted the position information packet.
  • Each client device 1A, 1B is a class other than its own device.
  • the position information packet transmitted from the server apparatus 2 is received with the client apparatus power transmitted, the position of the object corresponding to the position information packet is calculated based on the position information packet.
  • each of the client devices 1A and 1B displays a corresponding object based on the calculated position, and also displays an object corresponding to the own device.
  • the game is developed by moving the objects OA and OB arranged in the virtual space.
  • the hardware configuration of the client apparatuses 1A and 1B will be described with reference to FIG.
  • the controllers 20A and 20B, the monitor devices 10A and 10B, and the screens 11A and 11B simply the client device 1, the controller 20, and the monitor device. 10 and screen 11, respectively.
  • Client device 1 includes disk tray 3, buttons 4, 9, USB (Universal Serial Bus) connection terminal 5, IEEE (Institute of Electrical and Electronics Engineers) ld94 connection fee terminal 6, controller ports 7a, 7b, memory card Slots 8a and 8b are provided.
  • the disc tray 3 is configured such that an optical disc such as a DVD-ROM or a CD-ROM can be loaded.
  • Button 4 is an on-z standby z-reset button for turning the power on, standby, and resetting the game.
  • Button 9 is an open Z close button for opening and closing the disk tray 3.
  • the controller ports 7a and 7b are configured such that the connector 12 of the connection cable 13 connected to the controller 20 is detachable.
  • the memory card slots 8a and 8b are configured such that a memory card (not shown) as a semiconductor memory is detachable.
  • a power switch audio video output terminal (AV multi-output terminal), PC card slot, optical digital output terminal, AC power input terminal, etc. are provided.
  • the controller 20 includes a first operation unit 21, a second operation unit 22, a start button 24, a selection button 25, analog operation units 23L and 23R capable of analog operation, and these analog operation units 2 3L. , 23R mode selection switch 26 and R button 28R, 28R ' , L buttons 29L and 29, a display section 27 for displaying the selected operation mode, and gripping sections 20R and 20L.
  • FIG. 4 is a block diagram showing the main internal configuration of the client device 1.
  • the client device 1 has a main bus 61 and a sub bus 62, and these 61 and 62 are connected to or disconnected from each other via a bus interface 63.
  • the main bus 61 includes a main CPU 64, a main memory 65 composed of RAM, a main DMAC (direct memory access controller) 66, and an image processing device (GPU (graphic processing) with a built-in frame memory 67. unit)) 68 is connected.
  • a CRTC CRT controller
  • the sub-bus 62 reads out the sound data stored in the sub-CPU 73 composed of a microprocessor, the sub-memory 74 composed of RAM, the sub-DMAC 75, the ROM 70, and the sound memory 76, and outputs an audio signal.
  • Sound processing unit (SPU) 77, IO processor (IOP) 78 that controls peripheral devices, communication unit 79, CD-ROM ⁇ DVD —ROM 72 Media drive 71 is connected.
  • the ROM 70 stores an operating system for controlling each unit of the client device 1 and various programs such as a program and a game program for realizing various functions.
  • the main CPU 64 reads the operating system stored in the ROM 70 via the bus interface 63 into the main memory 65 when the client device 1 is started up, and executes the read operating system, thereby Control the operation of each part. Further, the main CPU 64 includes a counter 640, and obtains the current time based on the value measured by the counter 640. In addition, the counter 640 has a timer function that outputs an end signal every predetermined time set.
  • the main CPU 64 executes various programs stored in the ROM 70, thereby realizing a time information processing function and a position information processing function. What is the time information processing function? It includes a time information transmission function, a time information reception function, and a time correction function. Specifically, the time information processing function means that the current time based on the value measured by the counter 640 of the main CPU 64 is transmitted to the server device by transmitting and receiving time information packets between the client device 1 and the server device 2. This is a function to synchronize with the current time in 2.
  • the position information processing function includes a position information transmission function, a position information reception function, and a position calculation function.
  • the position information transmission function is a function for transmitting the position information of the object assigned to the client device 1 to the server device 2 after the client device 1 participates in the network game.
  • the position information receiving function is a function for receiving from the server device 2 position information of objects corresponding to other client devices participating in the network game.
  • the position calculation function is a function for calculating the position of an object based on received position information. Details of these functions will be described later.
  • the main CPU 64 controls the media drive 71, reads application programs and various data from the media 72 loaded in the media drive 71 to the main memory 65, and executes the read application program. Realize various functions.
  • the media 72 stores data such as game programs and game images.
  • the main CPU 64 performs geometry processing on the three-dimensional object data (such as the coordinate values of the vertices of the polygon) composed of a plurality of basic figures (polygons) among the various data read out to the main memory 65.
  • the display list is polygon definition information for drawing a polygon
  • the polygon definition information includes drawing area setting information and polygon information.
  • the drawing area setting information also includes the offset coordinates in the frame buffer address of the drawing area and the coordinate force of the drawing clipping area for canceling drawing when the coordinates of the polygon are outside the drawing area.
  • Polygon information consists of polygon attribute information and vertex information.
  • Polygon attribute information is information that specifies the shading mode, ⁇ -plending mode, texture mapping mode, etc.
  • vertex information is coordinates in the vertex drawing area. , Vertex texture area coordinates, and vertex color information.
  • the main CPU 64 uses MPEG (Moving Picture Experts Group) or JPEG (Joi (nt Photographic Experts Group) method is used to decompress the compressed data.
  • MPEG Motion Picture Experts Group
  • JPEG Joi (nt Photographic Experts Group) method is used to decompress the compressed data.
  • the main memory 65 stores various data such as programs read from the ROM 70 and the medium 72 by the main CPU 64.
  • an object management table 650 used by the main CPU 64 when the position information processing function described above is realized is stored.
  • an object management table 650A as shown in FIG. 5 is stored in the client device 1A
  • an object management table 650B as shown in FIG. 6 is stored in the client device 1B. Yes.
  • This object management table 650 stores information on the position of each object in the virtual space used when executing the network game.
  • the virtual space is a two-dimensional space, and each object arranged in the virtual space is associated with a two-dimensional position coordinate.
  • the object ID of the object, the management ID corresponding to the object, the information included in the location information packet received from the server device 2, and the location information packet are received.
  • the received time is stored in association with each other.
  • the information included in the position information bucket is the position coordinates of the object in the virtual space, the velocity vector indicating the moving speed and moving direction of the object, and the detection time when these were detected.
  • the object management table 650 stores the initial coordinates of the object calculated by the main CPU 64 using the above-described position coordinates, velocity vector, detection time, and reception time. Further, for the object corresponding to the client device 1, the position coordinates detected according to the operation signal transmitted from the controller 20, the velocity vector, and the detection time when these are detected are stored.
  • the object ID of the object OA is “OA”
  • the object ID of the object OB is “OB”.
  • the GPU 68 holds a drawing context. Based on the identification information of the image context included in the display list supplied from the main CPU 64, the GPU 68 reads out the corresponding drawing context and uses this to perform rendering processing. And draw the polygon in the frame memory 67. Since the frame memory 67 can also be used as a texture memory, the pixel image on the frame memory 67 can be pasted to a polygon to be drawn as a texture.
  • the CRTC 69 generates a video signal based on the image drawn in the frame memory 67 and supplies it to the monitor device 10 connected to the client device 1. As a result, an image is displayed on the screen 11 of the monitor device 10.
  • the main DMAC 66 performs DMA transfer control for each circuit connected to the main bus 61, and is connected to the sub-node 62 according to the state of the bus interface 63.
  • DMA transfer control is performed for each circuit.
  • the sub CPU 73 performs various operations in accordance with programs stored in the ROM 70.
  • the sub DMAC75 has a bus interface 63 power and separates the main bus 61 and the subbus 62.
  • the IOP 78 executes a program such as an operating system for IOP stored in the ROM 70, so that an operation signal from the controller 20 and the controller 20 sent and received through the controller ports 7A and 7B. Control signals to and from the memory card ports 8A and 8B, and data input / output at the USB connection terminal 5 and IEEE1394 connection terminal 6.
  • the communication unit 79 controls data communication with an external device under the control of the sub CPU 73.
  • the external device and the communication unit 79 perform data communication via the packet communication network 30.
  • FIG. 7 schematically shows a functional configuration of the client device 1 according to the present embodiment.
  • the main CPU 64 executes various programs stored in the ROM 70, and the client device 1 such as the GPU 68 performs various processes in accordance with the control instruction of the main CPU 64 during the execution process of this process.
  • the functions of the following means KC1 to KC7 are realized.
  • the time information processing function is realized by realizing the functions of the following means KC1 to KC2.
  • the position information processing function is realized by realizing the functions of the following means KC1, KC3 to KC7.
  • Time measuring means KC1 measures time.
  • the time information processing means KC2 obtains the current time based on the time measured by the time measuring means KC1, generates a time correction packet including this time T1, and transmits this to the server device 2 via the packet communication network 30. To do.
  • the time information processing means KC2 also includes a reception time T2 when the time correction packet transmitted by the time information processing means KC2 is received by the server device 2, and a transmission time T3 when the time correction packet is transmitted by the server device 2.
  • a time correction packet (time reply information) including “” is received from the server device 2.
  • a time difference D between the server device 2 and the client device 1 is calculated using the reception time T4 when the time correction packet is received and the times T1 to T3 included in the time correction packet. Then, using the calculated time difference D, the current time based on the time measured by the clock means KC1 is corrected, and the current time of the server device 2 and the current time of the client device 1 are synchronized.
  • the detection means KC3 sequentially receives an operation signal corresponding to the operation in the controller 20 from the controller 20, and detects a position coordinate and a velocity vector corresponding to the operation signal for the object assigned to the client device 1. .
  • the position information transmitting means KC4 is based on the time measured by the time measuring means KC1, and the position coordinates and velocity vectors of the object detected by the detecting means KC3 and the time at which these are detected for each predetermined time. Is transmitted to the server device 2 via the packet communication network 30.
  • the location information receiving means KC5 receives the location information packet of the other client device transmitted from the server device 2, and temporarily stores the reception time when the packet is received.
  • the position calculation means KC6 uses the reception time at which the position information reception means KC5 received the position information packet and the position information packet, at the reception time of the object corresponding to the position information packet. Calculate the position coordinates.
  • the drawing unit KC7 generates a game image including each object using each position coordinate calculated by the position calculation unit KC6, and displays the game image on the screen 11 of the monitor device 10.
  • FIG. 8 is a block diagram showing the main internal configuration of the server device 2.
  • the server device 2 includes a CPU 20S, a ROM 21S, a RAM 22S, an HD (Hard Disc) 23S, and a communication unit 24S, which are connected via a nose.
  • the ROM 21S stores an operating system and various programs for controlling each part of the server device 2.
  • a time information transmission function for sending back a time correction packet transmitted from the client device 1 with a reception time and a reply time, and a position for transmitting the position information packet transmitted from the client device 1 to another client device.
  • a game control program for realizing the information relay function is stored. Details of each of these functions will be described later.
  • the CPU 20S controls the operation of each part of the server device 2 by reading the operating system stored in the ROM 21S into the RAM 22S when the server device 2 is started up and executing the read operating system.
  • the CPU 20S includes a counter 200, and obtains the current time based on the value measured by the counter 200.
  • the force counter 200 has a timer function for outputting an end signal every predetermined time set.
  • the CPU 20S realizes the following functions by executing the game control program stored in the ROM 21S.
  • the CPU 20S receives a packet indicating a request for participation in the network game from the client device 1, the CPU 20S assigns a management ID to the client device 1 and assigns an object corresponding to the client device 1. The object is selected from a plurality of objects predetermined in the network game. Then, a response packet including the assigned management ID and the object ID indicating the assigned object is transmitted to the client apparatus 1.
  • the response packet is received by the client device 1, a session between the server device 2 and the client device 1 is established. Other functions realized by executing the game control program will be described later.
  • the communication unit 24S controls data communication with an external device such as the client device 1 under the control of the CPU 20S.
  • the external device and the communication unit 24S perform data communication via the packet communication network 30.
  • the HD23S stores a management table 230 as shown in FIG. Management table In Table 230, the management ID of the client device 1 participating in the network game, the IP address of the client device 1, and the object ID representing the player corresponding to the client device 1 in the network game are associated with each other. It is remembered.
  • FIG. 7 schematically shows a functional configuration of the server apparatus 2 according to the present embodiment.
  • the CPU 20S executes the game control program stored in the ROM 21S, and each part of the server device 2 such as the communication unit 24S performs various processes according to the control command of the CPU 20S during the execution of this process.
  • the functions of the following means KS1 to KS4 are realized.
  • the time information transmission function is realized by realizing the functions of the following means KS1 to KS2.
  • the location information relay function is realized.
  • Timekeeping means KS1 measures time.
  • the communication means KS2 transmits / receives packets to / from the packet communication network 30.
  • the time information transmission means KS3 When the time information transmission means KS3 receives the time correction packet from the client device 1, the time information transmission means KS3 obtains the reception time based on the time measured by the time measurement means KS1, and returns a reply time for returning the time correction packet. The acquired reception time and reply time are added to the time correction packet, and the time correction packet (time reply information) is transmitted to the client device 1 via the communication means KS2.
  • the position information relay means KS4 When the position information relay means KS4 receives the position information packet from the client apparatus 1, the position information relay means KS4 communicates the position information packet to all client apparatuses participating in the network game other than the client apparatus that transmitted the packet. Send via KS2.
  • the server device 2 is powered on (not shown), and the program such as an operation system stored in the ROM 21S is read out to the RAM 22S by the CPU 20S and executed, and instructions are respectively input by the user.
  • various programs such as the game control program read to the RAM 22S are executed by the CPU 20S, and the various functions described in the above-described configuration section are realized.
  • FIG. 10 is a sequence chart showing the flow of processing in the client device 1 and the server device 2.
  • the main CPU 64 stores the game program for the network game from the ROM 70 in accordance with the operation. Read to memory 65 and execute it. First, a participation request packet indicating a participation request for participation in the network game is transmitted to the server device 2 via the communication unit 79 (step S 1).
  • the CPU 20S of the server apparatus 2 When the CPU 20S of the server apparatus 2 receives the participation request packet (step S2), it assigns a management ID to the client apparatus 1. Furthermore, an object corresponding to the client device is assigned to the object represented in the game image of the network game. Then, an object ID corresponding to the object, a management ID corresponding to the client device 1, a management ID corresponding to another client device participating in the network game, and the other client device are assigned. A response packet including the object information associated with the object ID corresponding to the identified object is transmitted to the client device 1 via the communication unit 24S (step S3).
  • step S4 when the main CPU 64 of the client device 1 receives the response packet transmitted from the server device 2 (step S4), a session between the server device 2 and the client device 1 is established. Next, the main CPU 64 of the client device 1 performs the following time information processing.
  • the main CPU 64 Based on the time measured by the counter 640, the main CPU 64 acquires the transmission time T1 for transmitting the time correction packet, and supports the time correction packet including the transmission time T1. The data is transmitted to the server device 2 (step S5).
  • the CPU 20S of the server device 2 performs the following time information transmission processing.
  • the CPU 20S receives the time correction packet transmitted from the client device 1 (step S6)
  • the CPU 20S obtains the reception time T2 based on the time measured by the counter 200, and returns a response time for returning the time correction packet.
  • T3 is acquired, the reception time T2 and the reply time T3 are added to the time correction packet, and this is transmitted to the client device 1 (step S7). For example, a time correction packet having a format as shown in FIG. 11 is transmitted.
  • the main CPU 64 of the client device 1 receives the time correction bucket transmitted from the server device 2, the main CPU 64 acquires the reception time T4 when the time correction packet is received based on the time measured by the counter 640, Is temporarily stored in the main memory 65 (step S8). Then, using the reception time T4 and the times T1 to T3 included in the received time correction packet, the time difference D between the server device 2 and the client device 1 is calculated by the following equation (1).
  • Network delay that is, the time difference between the transmission time T1 acquired by executing Step S5 and the reception time T2 acquired by executing Step S6 is dl, and acquired by executing Step S7. If the time difference between the reply time T3 to be received and the reception time T4 acquired by executing step S8 is d2, the following equations (2) and (3) hold.
  • T4-T3 D + d2 (3)
  • main CPU 64 uses time difference D calculated as described above to correct the current time obtained by the value measured by counter 640 described above (step S9). For example, when the time difference is “+ l” msc, the time when lmsc is added to the current time obtained from the counter 640 is set as the current time.
  • the main CPU 64 of the client device 1 desirably performs such time information processing periodically. Specifically, for example, the counter 640 outputs an end signal every 1 to 2 minutes. Set.
  • the main CPU 64 is configured to perform steps S5, S8, and S9 each time an end signal is output from the counter 640.
  • the server device 2 is configured to perform the processing of steps S6 and S7 each time a time correction packet is received from the client device 1 with the CPU 20S.
  • the main CPU 64A, the management ID assigned to the own device 1A included in the response packet, the object ID corresponding to the object assigned to the own device 1A, and other client devices (here, The management ID corresponding to the client apparatus 1B) and the object ID corresponding to the other client apparatus 1B are stored in the object management table 650A in association with each other. Then, the main CPU 64A determines that the object corresponding to the object ID assigned to the own device is an object to be controlled to move and display in accordance with an operation signal from the controller 20A. Further, based on the position information packet transmitted from the object force server apparatus 2 corresponding to the object ID assigned to another client apparatus, it is determined that the object is a target to be controlled to be moved and displayed.
  • the main CPU 64A of the client device 1A performs the following position information transmission process on the object OA, and performs a position calculation process described later on the object OB. Further, the main CPU 64B of the client device 1B performs the following position information transmission process for the object OB, and performs a position calculation process described later for the object OA.
  • FIG. 12 is a flowchart showing the operation flow of the position information transmission process.
  • the position coordinates assigned to the object OA will be described as (xA, yA)
  • the position coordinates assigned to the object OB will be described as (xB, yB).
  • the main CPU 64A of the client device 1A receives the transmitted operation signal. In response, the position coordinates of the object OA and the velocity vector are detected. In addition, every time the main CPU 64A detects the end signal output from the counter 640A (step S20: YES), the main time (hereinafter referred to as detection time) TAdt and the position coordinates (xA, yA) of the object OA , Velocity vector (VxA, VyA) is detected.
  • a position information packet including the detection time TAdt, the position coordinates (xA, yA), the velocity vector (VxA, VyA), and the management ID assigned to the client apparatus 1A is generated, and this is generated as a server apparatus 2 (Step S21).
  • a position information packet in a format as shown in FIG. 13 is transmitted.
  • the main CPU 64A stores the above-described detection time TAdt, position coordinates (xA, yA), and velocity vector (VxA, VyA) in the object management table 650A in association with the object OA.
  • FIG. 14 is a flowchart showing the flow of position information relay processing.
  • step S40 when the CPU 20S of the server device 2 receives the position information packet transmitted from the client device 1A (step S40: YES), it receives it from other client devices 1A. Transmit to the client device (step S41). Specifically, the CPU 20 S refers to the management table 230 stored in the HD 23 S, and all the client devices (here, the client device) to which a management ID other than the management ID included in the position information packet is assigned. 1B), the position information packet is transmitted.
  • FIG. 15 is a flowchart showing the flow of the position calculation process.
  • the main CPU 64B of the client device 1B receives the position information packet transmitted from the server device 2 (step S60: YES)
  • the main CPU 64B refers to the object management table 650B stored in the main memory 65B.
  • the object corresponding to the management ID included in the location information packet is specified.
  • the object specified here is an object OA corresponding to the client device 1A.
  • the position coordinates, velocity vector, and detection time included in the position information packet are stored in the object management table 650B in association with the management ID.
  • the main CPU 64B obtains the reception time Trv at which the position coordinate packet is received based on the value measured by the counter 640B, and stores it in the object management table 650B.
  • the main CPU 64B uses the reception time Trv stored in the object management table 650B, the position coordinates (xA, yA), the velocity vector (VxA, VyA) included in the position information packet, and the detection time Tdt to determine the reception time.
  • the position coordinates (xAi, yAi) of the object OA are calculated using the calculation formulas (4) and (5) (step S61).
  • the calculated position coordinates (xAi, yAi) are stored as initial coordinates in the object management table 650B stored in the main memory 65B.
  • the main CPU 64B determines whether or not the drawing time has arrived based on the value measured by the counter 640B (step S62), and the determination result is affirmative. If there is any (step S62: YES), the object management table 650B is referred to, and the position coordinates of each object at the time Trn are calculated for all objects stored in the object management table 650B.
  • the objects stored in the object management table 650B are the objects OA and OB.
  • the position coordinate at the drawing time is calculated using the position coordinate, velocity vector, detection time, and the above drawing time stored in the object management table 650B.
  • the main CPU 64B uses the position coordinates calculated in step S61 to issue an instruction to the GPU 68B to draw a game image including each object (step S63).
  • GPU68B draws a game image including object OA and object OB in frame memory 67B
  • CRTC69 generates a video signal based on the drawn image! Supply to screen 11B of monitor device 10B.
  • a game image G as shown in FIG. 2 is displayed on the screen 11B.
  • the main CPU 64B of the client apparatus 1B performs the position calculation process every time it receives the position information packet from the server apparatus 2, and performs the drawing process at every predetermined time.
  • the client device 1A Upon receiving the position information packet transmitted from the server device 2, the client device 1A also receives an object corresponding to another client device (in this case, an object OB corresponding to the client device 1B). For some), position calculation processing is performed, and drawing processing is performed every predetermined time. For example, when the drawing process is performed on the client apparatus 1A at the same time as the drawing process is performed on the client apparatus 1B described above, the screen 11A as well as the screen 11B is illustrated in FIG. A game image G as shown is displayed. That is, with the above-described configuration, the positions of the object OA and the object OB that can be displayed on the screen 11A and the screen 11B at the same time are substantially the same.
  • each client device 1A, 1B the above time information processing is performed, and the time in each is synchronized with the time in server device 2, so that each time in each client device 1A, 1B is synchronized. , Due to time lag measured in each device Therefore, the positional deviation that occurs can be reduced. As a result, user convenience can be further improved.
  • the server apparatus 2 is configured to mediate communication between the client apparatus 1A and the client apparatus 1B.
  • a configuration in which a plurality of client devices 1C, ID, and 1E communicate with each other by P2P (peer-to-peer) without using the server device 2 will be described.
  • P2P peer-to-peer
  • the client devices 1C, ID, and 1E are connected in a full mesh. As a result, a network is constructed and each packet communication is performed.
  • the client device 1C, ID, and 1E are simply referred to as the client device 1 when it is not necessary to distinguish between them.
  • each device must be described separately. If it is necessary to distinguish between the following components, add C, D, or E after each symbol.
  • the main memory 65 stores a management table 651 similar to the management table 230 stored in the HD 23S of the server device 2 in the first embodiment described above.
  • objects having object IDs “OC”, “OD”, and “OE” are assigned to the client apparatuses 1C, ID, and 1E, respectively.
  • the main memory 65 of the client device 1 stores an object management table 650 similar to that in the first embodiment described above.
  • an object management table 650C as shown in FIG. 18 is stored in the client device 1C.
  • the ROM 70 also has a function for communicating with other client devices, a function for generating a session for executing a network game, and a participation in the generated session.
  • a program for realizing a function of participating in a network game and a session generation function is stored.
  • one of the client devices 1C, ID, and 1E is first created a session for executing the network game of client devices, and the session is managed. For example, it manages system management information and information transmitted to all client devices 1 participating in the session.
  • a client device that performs such processing is hereinafter referred to as a host. Further, the client devices other than the host participate in the network game by participating in the already generated session.
  • the ROM 70 includes the time correction function in the first embodiment described above, the time information transmission function included in the server device 2 in the first embodiment described above, the second position information transmission function, and the above-described first function.
  • Various programs for realizing the position calculation function in one embodiment are stored.
  • time correction function the time information transmission function
  • second position information transmission function the second position information transmission function
  • the client device 1C, ID, or 1E is one of the client device forces. Performs information transmission processing.
  • the host does not perform time information processing.
  • a client device other than the host performs time information processing and transmits a time correction bucket to the host.
  • Each client device 1C, ID, 1E has a time correction function and a time information transmission function as described above.
  • the client device 1 transmits the position information packet of the object assigned to the own device to all other client devices participating in the network game. Specifically, the message is transmitted to all client apparatuses other than the own apparatus registered in the management table 651.
  • Each client device 1C, ID, and 1E has the second position information transmission function as described above. [0102] (2) Operation
  • the client device 1 is powered on (not shown), and the program power of the operation system or the like stored in the ROM 70 is read and executed by the main CPU 64 into the main memory 65, and each instruction is input by the user.
  • the various program coins CPU 64 read out from the ROM 70 or the optical disk 72 to the main memory 65 execute the various functions described in the above-mentioned configuration section.
  • the client device 1C first generates a session for executing a network game and becomes a host.
  • the main CPU 64C responds to the operation with a game program for the network game. Is read into ROM70C main memory 65C and executed. Then, a session for executing the network game is generated. Then, a management ID corresponding to the client device 1C is assigned. Furthermore, an object corresponding to the client device 1C is assigned to the object represented in the game image of the network game. Then, the object ID corresponding to the object and the management ID corresponding to the client device 1 are stored in the management table 651. Then, it waits for another client device (here, client device ID, 1E) to participate in the session. That is, it waits for the participation request packet described in the first embodiment to be transmitted from the client apparatus ID 1E.
  • client device ID, 1E another client device
  • the user power of the client device 1D operates the controller 20D connected to the client device 1D to instruct to start the network game and to instruct to participate in the session generated by the client device 1C.
  • the main CPU 64D reads out the game program for the network game to the ROM 70D power main memory 65D and executes it. Then, the main CPU 64D transmits a participation request packet to the client device 1C.
  • the main CPU 64C of the client device 1C is transmitted to the client device 1D.
  • a response packet is generated and transmitted to the client apparatus 1D in the same manner as the server apparatus 2 in the first embodiment described above.
  • the main CPU 64D of the client device 1D receives the response packet transmitted from the client device 1C, it performs the following time information processing. At this time, the client device
  • 1C becomes the host described above and performs time information transmission processing.
  • the main CPU 64D of the client apparatus 1D transmits a time correction packet in which the transmission time T1 is set to the client apparatus 1C in the same manner as in the first embodiment described above.
  • the main CPU 64C of the client device 1C receives the time correction packet transmitted from the client device 1D
  • the main CPU 64C sets the reception time T2 and the return time T3 to return the time correction packet to the time correction packet. In addition to this, this is transmitted to the client device 1D.
  • the main CPU 64D of the client device 1D receives the time correction packet in which the client device 1C power is also transmitted, the reception time T4 when the time correction packet is received and the times T1 to T3 indicated in the received time correction packet Are used to calculate the time difference D between the client device 1C and the client device 1D in the same manner as in the first embodiment described above. Then, based on the calculated time difference, the current time measured by the counter 640D of the main CPU 64D of the client apparatus 1D is corrected.
  • client device 1E transmits a time correction packet to client device 1C to perform time information processing, and corrects the current time obtained from the value measured by counter 640D of main CPU 64D. To do.
  • a game is started with the client device 1C, ID, 1E, and the client device 1C transmits a position information packet related to the object OC assigned to the client device 1C to another client device (here, When sending to client device ID, 1E)
  • the second position information transmission process will be described.
  • the client device 1D transmits a position information packet related to the object OD assigned to the own device to another client device
  • the client device 1E sends another position information packet related to the object OE assigned to the own device to the other device.
  • the case of transmission to the client device is also substantially the same as the following description, so the description is omitted.
  • FIG. 19 is a flowchart showing the flow of the second location information transmission process according to the present embodiment.
  • the main CPU 64C of the client device 1C receives the end signal output from the counter 640C according to the OC outside the object calculated according to the operation signal corresponding to the user operation in the controller 20C, as in the first embodiment. Is detected (step S20: YES), the detection time TCdt, the position coordinates (xC, yC) indicating the display position of the object OC, and the velocity vector (VxC, VyC) are detected. And (xC, yC), (VxC, VyC), and a location information packet including the management ID corresponding to the client device 1C are generated and transmitted to the client device ID and 1E, respectively (step S22). ).
  • the main CPUs 64D and 64E of the client apparatus ID, 1E perform steps S61 to S63 shown in FIG. 15 as in the first embodiment described above. A position calculation process and a drawing process are performed.
  • connection form in the case where a plurality of client apparatuses 1 perform communication may be other connection forms than the full-mesh type as described above.
  • it may be connected using a communication network such as the Internet or an intranet.
  • the selection of the client device 1 serving as a host may be arbitrary, for example, may be performed by using a random number, or may be performed by a predetermined method. May be.
  • the client device 1 having the best connection environment may be selected.
  • the connection environment for example, information related to the connection environment such as the transmission band and the line speed used by the client device 1 is registered in advance, and the superiority or inferiority of the connection environment is determined by a predetermined method based on this information. Based on this, the connection environments of a plurality of client devices 1 may be compared, and the client device 1 with the best connection environment may be selected.
  • the client device 1 is configured to perform time information processing, position information transmission processing, position calculation processing, and drawing processing every predetermined time.
  • the time interval for performing each process may or may not be the same, and the timing for performing each process may or may not be the same.
  • the client device 1 transmits a time correction packet in accordance with a clock (not shown) provided in the main CPU 64 of the client device 1, and sets a time interval for correcting the time. Also good.
  • the power configured to include the counter 640 inside the main CPU 64 of the client device 1 may be configured to be provided separately from the main CPU 64.
  • the server device 2 may be configured to include the counter 200 separately from the CPU 20S. Counters 640 and 200 can be used as long as the values are incremented periodically according to the output timing of the clock provided in the CPU.
  • the server device 2 is configured so that the reception time T2 for receiving the time correction packet transmitted from the client device 1 and the return time T3 for returning the time correction packet are different. However, this is received at the same time as the time correction packet is received.
  • the received reception time T2 may be added to the time correction packet, and the time correction packet may be transmitted to the client device 1.
  • the time difference D is calculated using the above-described formula (1).
  • Objects included in the game image may represent various characters, various animals, creatures, plants, various objects, or parts of a person or animal such as hands or feet. .
  • an object corresponding to the client device 1 is configured to select and assign the intermediate forces of a plurality of predetermined objects.
  • an object corresponding to the client device may be generated by an arbitrary method each time the client device participates in the network game.
  • one position coordinate assigned to each of the objects OA and OB has been described.
  • a plurality of position coordinates may be assigned to the objects OA and OB.
  • a plurality of position coordinates at the same time can be identified in one position information packet. It may be configured to include and transmit. Even when a plurality of position coordinates are assigned to each of the objects OA and OB, for example, only one position coordinate set in advance as a representative of the plurality of position coordinates is used as the position information packet. It may be configured to be included in the transmission.
  • the client device 1 that has received such a position information packet calculates initial coordinates relative to the position coordinates based on the representative position coordinates included in the position information packet, and calculates a movement amount of the position coordinates. . Then, each initial coordinate for a plurality of other position coordinates may be calculated based on the calculated movement amount.
  • one object is associated with one client device 1.
  • the present invention is not limited to this, and a plurality of objects may be associated with each other.
  • those detected at the same time may be included in one position information packet and transmitted.
  • a separate position information packet may be transmitted for each object, and the position coordinate detection timing may be different for each object, and each position information packet may be transmitted. It is also possible to change the timing of sending the packet.
  • one object is statically associated with one object, and one client device 1 associated with the object is associated with the object in the virtual space. It was configured to be able to move in.
  • the present invention is not limited to this.
  • a plurality of client devices 1 are assigned to one object, and one object is moved in accordance with the operation of the controller 20 connected to each client device 1. It may be configured.
  • the object may be configured to be dynamically associated with the client device 1.
  • the client device 1 that can move and display the object is assigned at predetermined time intervals, and each client device 1 The object may be configured to move only within a predetermined time. Further, for example, when a predetermined operation is performed in a certain controller 20, the client device 1 connected to the controller 20 may be configured to move the object.
  • the client apparatus 1 is configured to periodically transmit the position information packet of the object corresponding to the own apparatus.
  • the present invention is not limited to this.
  • the value of the velocity vector detected in accordance with the operation signal transmitted from the controller 20 is changed only when the value is different from the value detected immediately before the value is detected. It may be configured to transmit position information packets.
  • the virtual space is a two-dimensional space, and the two-dimensional coordinates are used as the position coordinates of the object placed in the virtual space.
  • the present invention is not limited to this, and even if the virtual space is a one-dimensional space, the position coordinates of an object placed in a virtual space that is good in a three-dimensional or more multidimensional space are one-dimensional coordinates. Alternatively, it may be a multidimensional coordinate of 3 dimensions or more.
  • the size of the screen 11 of the monitor device 10 connected to the client device 1 used in each of the above-described embodiments may be the same in all the monitor devices 10. Different configurations may be used depending on the monitor device 10.
  • a game image may be generated without correcting the position coordinates of each object calculated in the above-described manner and displayed on the screen 11!
  • each position coordinate may be corrected to a value corresponding to the size of the screen 11
  • a game image may be generated using the corrected position coordinate, and the game image may be displayed on each screen 11.
  • the position information of the object corresponding to the own device is also stored in the object management table 650, and the object at the drawing time is referred to by referring to the object management table 650 in the drawing process of step S63. It was configured to calculate the position of.
  • the present invention is not limited to this.
  • an operation signal is acquired from the controller 20, and the position coordinates detected in accordance with the operation signal are acquired.
  • the drawing process may be performed immediately after the object is stored in the object management table 650.
  • the number of client devices 1 participating in the network game may be increased or decreased.
  • information indicating that fact is sent to the other client devices participating in the network game.
  • the client device that has received the information adds object information corresponding to the newly joined client device to the object management table 650, or the object corresponding to the client device that has been disconnected from the network. Or delete the information.
  • the controller 20 and the client device 1 are connected via the cable 13 to perform communication.
  • the controller 20 and the client device 1 may be configured to perform wireless communication using a communication method such as Bluetooth (registered trademark) without using a cable.
  • the communication performed between the client devices 1 or between the client device 1 and the server device 2 may be wired communication or wireless communication.
  • the controller 20, the client device 1, and the monitor device 10 are configured separately.
  • the client device 1, the controller 20, and the screen 11 of the monitor device 10 may be integrally formed.
  • the present invention is not limited to this, and is a system in which client devices connected to a network and participating in a predetermined session share a virtual space and can display part or all of a common image at the same time. OK.
  • the various programs are configured to be stored in the ROM 70 of the client device 1. However, it may be configured to be stored in another storage unit such as the sub memory 74, or the execution subject of these programs may be configured to be the sub CPU 73.
  • the time correction function and the position information processing function in each of the above-described embodiments may be realized by a single program or may be realized by a plurality of programs.
  • At least two information processing devices connected to a predetermined network are virtual It is suitable for use in an information processing system sharing a space.

Abstract

A detecting means (KC3) receives the operation signal corresponding to the operation through a controller (20) and detects the position coordinates and the velocity vector corresponding to the operation signal with respect to an object allocated to a client device (1). A position information transmitting means (KC4) transmits a position information packet including the position coordinates and the velocity vector of the object detected by the detecting means (KC3) and the time when these are detected. A position information receiving means (KC5) receives a position information packet transmitted from another client device. A position calculating means (KC6) uses the received time when the position information receiving means (KC5) receives the position information packet and the position information packet to calculate the position coordinates at the received time of an object corresponding to the another client device.

Description

明 細 書  Specification
情報処理システム、情報処理装置、情報処理プログラム、情報処理プログ ラムが記憶されたコンピュータ読み取り可能な記憶媒体、及び携帯端末装置 技術分野  Information processing system, information processing apparatus, information processing program, computer-readable storage medium storing information processing program, and portable terminal device
[0001] 本発明は、所定のネットワークに接続される少なくとも 2つの情報処理装置が仮想 空間を共有する情報処理システムに用いて好適な技術に関する。  The present invention relates to a technique suitable for use in an information processing system in which at least two information processing devices connected to a predetermined network share a virtual space.
背景技術  Background art
[0002] 近年、複数のクライアント装置がネットワークを介してゲームを行うネットワークゲー ムが多種多様開発されている(例えば特許文献 1参照)。これらのネットワークゲーム では、複数のクライアント装置がネットワーク上の 1つの仮想空間を共有して、ゲーム を行う。この仮想空間には、ネットワークゲームに参加する各クライアント装置に対応 するプレイヤオブジェクトが各々配置される。各プレイヤオブジェクトは仮想空間内を 移動することができる。各プレイヤオブジェクトの移動は、各プレイヤオブジェクトに対 応するクライアント装置に接続されたコントローラを各ユーザが操作することにより行 われる。このような仮想空間は、ゲーム画像によって表される。ゲーム画像は、各クラ イアント装置に接続されたモニタ装置の各スクリーンに表示される。各スクリーンには 、各プレイヤオブジェクトの仮想空間内の位置が同期して表示されるようにしなけれ ばならない。この為、各クライアント装置は、自装置に対応するプレイヤオブジェクトの 位置情報をネットワークゲームに参加する全てのクライアント装置に定期的に送信す る。サーバ装置を介して送信する場合もサーバ装置を介さず送信する場合もある。い ずれの場合においても、位置情報としてプレイヤオブジェクトの位置座標(xO, yO)を 送信する方法と、位置座標 (χθ, yO)とその位置座標における速度ベクトル (Vx, Vy )とを送信する方法とがある。  In recent years, a wide variety of network games in which a plurality of client devices play a game via a network have been developed (see, for example, Patent Document 1). In these network games, multiple client devices share a single virtual space on the network and play games. In this virtual space, player objects corresponding to the respective client devices participating in the network game are arranged. Each player object can move in the virtual space. Each player object is moved by each user operating a controller connected to a client device corresponding to each player object. Such a virtual space is represented by a game image. The game image is displayed on each screen of a monitor device connected to each client device. On each screen, the position of each player object in the virtual space must be displayed synchronously. Therefore, each client device periodically transmits the position information of the player object corresponding to the own device to all client devices participating in the network game. In some cases, the transmission is performed via the server apparatus, and the transmission is performed without the server apparatus. In any case, a method of transmitting the position coordinates (xO, yO) of the player object as position information and a method of transmitting the position coordinates (χθ, yO) and the velocity vector (Vx, Vy) at the position coordinates There is.
[0003] 特許文献 1 :特開 2001— 198363号公報  Patent Document 1: Japanese Patent Laid-Open No. 2001-198363
発明の開示  Disclosure of the invention
発明が解決しょうとする課題  Problems to be solved by the invention
[0004] しかし、 V、ずれの方法にぉ 、ても、送信元のクライアント装置から位置情報が送信さ れてから、送信先のクライアント装置が位置情報を受信するまでに時間が力かる (こ れを、ネットワーク遅延という)。この為、前者の方法においては、送信先のクライアン ト装置では、送信当時の過去の位置座標を受信することになり、受信当時の位置座 標を正しく把握することができな 、。 [0004] However, the position information is transmitted from the client device of the transmission source, even if the deviation method is V. It takes time for the destination client device to receive the location information (this is called network delay). For this reason, in the former method, the destination client device receives the past position coordinates at the time of transmission and cannot correctly grasp the position coordinates at the time of reception.
[0005] また、後者の方法にぉ 、ては、送信先のクライアント装置では、 t秒後の位置座標 ( xt, yt)を算式 (a) , (b)により算出することができる。  [0005] Furthermore, with the latter method, the destination client device can calculate the position coordinates (xt, yt) after t seconds using equations (a) and (b).
[0006] xt= χΟ+Vx X t· · · (a) [0006] xt = χΟ + Vx X t · · (a)
yt= yO+VyX t- - - (b)  yt = yO + VyX t---(b)
しかし、このように算出した位置座標 (xt, yt)は、送信元のクライアント装置が位置 情報を送信して力 t秒後の位置座標に等しぐ送信先のクライアント装置が位置情 報を受信して力 t秒後の位置座標と実際には異なる場合がある。このため、送信元 のクライアント装置と送信先のクライアント装置とで、送信先のクライアント装置に対応 するプレイヤオブジェクトの位置にずれが生じる(以下、位置ずれという)恐れがある。 これも、結局、位置情報の送信と受信との間にネットワーク遅延が生じることに一因が ある。  However, the position coordinates (xt, yt) calculated in this way are received by the destination client device that is equal to the position coordinate after t seconds after the source client device sends the location information. The position coordinates after t seconds may actually be different. For this reason, there is a possibility that the position of the player object corresponding to the transmission destination client apparatus is displaced between the transmission source client apparatus and the transmission destination client apparatus (hereinafter referred to as displacement). This is also partly due to network delays between the transmission and reception of location information.
[0007] 従って、いずれの方法においても、同時刻に各スクリーンにおいて表示され得る各 プレイヤオブジェクトの位置ずれが常に生じる恐れがある。  [0007] Therefore, in any of the methods, there is a possibility that a position shift of each player object that can be displayed on each screen at the same time always occurs.
[0008] そこで、本発明は上述の課題に鑑みてなされたものであり、ネットワーク遅延による 位置ずれを低減させる情報通信システムを提供することを目的とする。 Therefore, the present invention has been made in view of the above-described problems, and an object thereof is to provide an information communication system that can reduce misalignment due to network delay.
課題を解決するための手段  Means for solving the problem
[0009] 本発明に係る情報処理システムは、所定のネットワークに接続される第 1及び第 2の 情報処理装置が共有する仮想空間に 1又は複数の所定のオブジェクトを配置する。 前記所定のオブジェクトは、前記第 1の情報処理装置におけるユーザからの指示入 力に応じて前記仮想空間内を移動する第 1のオブジェクトを含み、前記第 1の情報処 理装置は、時刻を計測する第 1計時手段と、ユーザからの指示入力に応じた指示信 号が入力される第 1入力手段と、前記第 1入力手段に入力された指示信号に基づき 、前記第 1のオブジェクトの前記仮想空間における位置及び移動速度を検出する第 1検出手段と、前記第 1検出手段が前記第 1のオブジェクトの位置及び移動速度を検 出した検出時刻を前記第 1計時手段より取得し、当該検出時刻と、当該位置及び移 動速度とを含む第 1位置情報を前記所定のネットワークを介して送信する第 1位置情 報送信手段とを備える。前記第 2の情報処理装置は、時刻を計測する第 2計時手段 と、前記所定のネットワークを介して前記第 1位置情報を受信する第 2位置情報受信 手段と、前記第 2位置情報受信手段が前記第 1位置情報を受信した受信時刻を前記 第 2計時手段より取得し、当該受信時刻と、当該第 1位置情報とを用いて、当該受信 時刻における前記第 1のオブジェクトの前記仮想空間における位置を算出する第 2 位置算出手段と備える。 The information processing system according to the present invention arranges one or a plurality of predetermined objects in a virtual space shared by the first and second information processing apparatuses connected to a predetermined network. The predetermined object includes a first object that moves in the virtual space in response to an instruction input from a user in the first information processing device, and the first information processing device measures time. Based on the instruction signal input to the first input means, the first input means to which an instruction signal corresponding to the instruction input from the user is input, and the virtual signal of the first object Detecting position and moving speed in space 1 detection means, and a detection time at which the first detection means detects the position and moving speed of the first object is obtained from the first time measuring means, and the detection time, the position and the moving speed are obtained. First position information transmitting means for transmitting the first position information including the predetermined position information via the predetermined network. The second information processing apparatus includes: second time measuring means for measuring time; second position information receiving means for receiving the first position information via the predetermined network; and the second position information receiving means. The reception time at which the first position information is received is acquired from the second timing means, and the position of the first object in the virtual space at the reception time is obtained using the reception time and the first position information. And second position calculating means for calculating.
発明の効果  The invention's effect
[0010] 本発明によれば、前記第 1の情報処理装置が、第 1のオブジェクトの位置及び移動 速度とこれらが検出された検出時刻とを含む第 1位置情報を送信し、前記第 2の情報 処理装置が、当該第 1位置情報と、当該第 1の位置情報を受信した受信時刻とを用 V、て、当該受信時刻における前記第 1のオブジェクトの前記仮想空間における位置 を算出する。これにより、第 2の情報処理装置は、第 1のオブジェクトの前記仮想空間 における位置をより正確に算出することができ、ネットワーク遅延による位置ずれを低 減させることができる。  [0010] According to the present invention, the first information processing device transmits first position information including a position and a moving speed of the first object and a detection time at which the first object is detected, and the second information The information processing device calculates the position of the first object in the virtual space at the reception time by using the first position information and the reception time at which the first position information is received. As a result, the second information processing apparatus can more accurately calculate the position of the first object in the virtual space, and can reduce the displacement due to the network delay.
図面の簡単な説明  Brief Description of Drawings
[0011] [図 1]本発明の一実施例に係るネットワークゲームシステムの概要を示す図である。  FIG. 1 is a diagram showing an outline of a network game system according to an embodiment of the present invention.
[図 2]同実施例に係る画面例を示す図である。  FIG. 2 is a diagram showing an example of a screen according to the same embodiment.
[図 3]同実施例に係るクライアント装置のハードウェア構成を示す図である。  FIG. 3 is a diagram illustrating a hardware configuration of the client device according to the embodiment.
[図 4]同実施例に係るクライアント装置の内部構成を示すブロック図である。  FIG. 4 is a block diagram showing an internal configuration of the client device according to the embodiment.
[図 5]同実施例に係るオブジェクト管理テーブルを例示する図である。  FIG. 5 is a diagram illustrating an object management table according to the embodiment.
[図 6]同実施例に係るオブジェクト管理テーブルを例示する図である。  FIG. 6 is a diagram illustrating an object management table according to the embodiment.
[図 7]同実施例に係るクライアント装置の機能的構成を示すブロック図である。  FIG. 7 is a block diagram showing a functional configuration of the client device according to the embodiment.
[図 8]同実施例に係るサーバ装置の内部構成を示すブロック図である。  FIG. 8 is a block diagram showing an internal configuration of the server device according to the embodiment.
[図 9]同実施例に係る管理テーブルを例示する図である。  FIG. 9 is a diagram illustrating a management table according to the embodiment.
[図 10]同実施例に係るクライアント装置とサーバ装置とにおける処理の流れを示すシ 一ケンスチャートである。 FIG. 10 is a flowchart showing a processing flow between the client device and the server device according to the embodiment. It is a Kens chart.
[図 11]同実施例に係る時刻補正パケットのフォーマットを例示する図である。  FIG. 11 is a diagram illustrating a format of a time correction packet according to the embodiment.
[図 12]同実施例に係る位置情報送信処理の流れを示すフローチャートである。 FIG. 12 is a flowchart showing a flow of position information transmission processing according to the embodiment.
[図 13]同実施例に係る位置情報パケットのフォーマットを例示する図である。 FIG. 13 is a diagram illustrating a format of a location information packet according to the embodiment.
[図 14]同実施例に係る位置情報中継処理の流れを示すフローチャートである。 FIG. 14 is a flowchart showing a flow of position information relay processing according to the embodiment.
[図 15]同実施例に係る位置算出処理及び描画処理の流れを示すフローチャートで ある。 FIG. 15 is a flowchart showing the flow of position calculation processing and drawing processing according to the embodiment.
[図 16]本発明の他の実施例に係るネットワークゲームシステムの概要を示す図である  FIG. 16 is a diagram showing an outline of a network game system according to another embodiment of the present invention.
[図 17]同実施例に係る管理テーブルを例示する図である。 FIG. 17 is a diagram illustrating a management table according to the embodiment.
[図 18]同実施例に係るオブジェクト管理テーブルを例示する図である。  FIG. 18 is a diagram illustrating an object management table according to the embodiment.
[図 19]同実施例に係る位置情報送信処理の流れを示すフローチャートである。  FIG. 19 is a flowchart showing a flow of position information transmission processing according to the embodiment.
[図 20]同実施例に係る画面例を示す図である。  FIG. 20 is a diagram showing an example of a screen according to the same embodiment.
符号の説明 Explanation of symbols
1 クライアント装置 1 Client device
2 'サーバ装置  2 'server device
10 モニタ装置  10 Monitor device
11 スクリーン  11 screens
20 コントローラ  20 Controller
20S CPU  20S CPU
21S ROM  21S ROM
22S RAM  22S RAM
23S HD  23S HD
24S 通信部  24S communication section
64 メイン CPU  64 main CPU
65 メインメモリ  65 Main memory
68 GPU  68 GPU
70 ROM 200 カウンタ 70 ROM 200 counters
230 管理テーブル  230 Management table
640 カウンタ  640 counter
650 オブジェクト管理テーブル  650 Object management table
651 管理テーブル  651 Management table
S ネットワークゲームシステム  S network game system
S' ネットワークゲームシステム  S 'network game system
KC1 計時手段  KC1 Timekeeping method
KC2 時刻情報処理手段  KC2 Time information processing means
KC3 検出手段  KC3 detection means
KC4 位置情報送信手段  KC4 Location information transmission means
KC5 位置情報受信手段  KC5 Location information receiving means
KC6 位置算出手段  KC6 Position calculation means
KC7 描画手段  KC7 drawing means
KS1 計時手段  KS1 clock
KS2 通信手段  KS2 communication means
KS3 時刻情報送信手段  KS3 time information transmission means
KS4 位置情報中継手段  KS4 Location information relay means
発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION
[0013] 以下、図面を参照して本発明の実施例について説明する。なお、各図において共 通する部分には、同一の符号が付されている。また、かかる実施例は本発明の一態 様を示すものであり、この発明を限定するものではなぐ本発明の範囲で任意に変更 可能である。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In addition, the same code | symbol is attached | subjected to the common part in each figure. Further, these examples show one embodiment of the present invention, and can be arbitrarily changed within the scope of the present invention, which is not intended to limit the present invention.
実施例 1  Example 1
[0014] (1)構成 [0014] (1) Configuration
<ネットワークゲームシステムの構成 >  <Network game system configuration>
図 1は、本実施例に係るネットワークゲームシステム Sの概要を示す模式図である。 ネットワークゲームシステム Sは、クライアント装置 1A, 1Bと、サーバ装置 2とを備える 。サーバ装置 2と、クライアント装置 1A, 1Bの各々とは、パケット通信網 30を介して、 ί列 ば rCPZlP (Transmission Control Protocol / Internet Protocol)に従って、ノヽ ケット通信を行う。パケット通信網 30は、例えば、アナログ公衆電話回線や通信衛星 回線、 ADSL (Asymmetric Digital Subscriber Line)や LAN(Local Area Network)^ C ATV(Community Antenna Television)網、 ISDN (総合ディジタル通信網)などの通 信手段によって、サーバ装置 2と、クライアント装置 1A, 1Bとのデータの授受を中継 する。 FIG. 1 is a schematic diagram showing an outline of the network game system S according to the present embodiment. The network game system S includes client devices 1A and 1B and a server device 2. . The server device 2 and each of the client devices 1A and 1B perform packet communication via the packet communication network 30 according to rCPZlP (Transmission Control Protocol / Internet Protocol). The packet communication network 30 is, for example, an analog public telephone line, communication satellite line, ADSL (Asymmetric Digital Subscriber Line), LAN (Local Area Network) ^ C ATV (Community Antenna Television) network, ISDN (Integrated Digital Communication Network), etc. By means of communication, data exchange between the server device 2 and the client devices 1A and 1B is relayed.
[0015] 各クライアント装置 1A, 1Bには、ユーザにより操作される操作端末であるコントロー ラ 20A, 20Bと、モニタ装置 10A, 10Bとが各々接続される。モニタ装置 10A, 10B にはクライアント装置 1A, 1Bから映像信号及び音声信号が各々供給される。モニタ 装置 10A, 10Bは、クライアント装置 1A, 1Bから供給された映像信号に基づいて画 像を表示するスクリーン 11A, 11Bと、クライアント装置 1A, 1Bから供給された音声 信号に基づいて音声を出力するスピーカ(図示せず)とを各々備える。  [0015] Controllers 20A and 20B, which are operation terminals operated by a user, and monitor devices 10A and 10B are connected to each client device 1A and 1B, respectively. The monitor devices 10A and 10B are supplied with video signals and audio signals from the client devices 1A and 1B, respectively. The monitor devices 10A and 10B output audio based on the screens 11A and 11B that display images based on the video signals supplied from the client devices 1A and 1B, and audio signals supplied from the client devices 1A and 1B. A speaker (not shown) is provided.
[0016] <ネットワークゲームの概要 >  [0016] <Overview of network games>
上記構成のネットワークゲームシステム Sにより、各クライアント装置 1A, 1Bにおい て、ネットワークゲームが実行される。本実施形態におけるネットワークゲームにおい ては、仮想空間に各クライアント装置 1A, 1Bに対応する各オブジェクトが配置される 。そして、この仮想空間を表すゲーム画像が、各クライアント装置 1A, 1Bに接続され たモニタ装置 10A, 10Bのスクリーン 11A, 11Bに各々表示される。スクリーン 11A, 11Bには、例えば、図 2に示されるように、クライアント装置 1Aに対応するオブジェクト OAとクライアント装置 1Bに対応するオブジェクト OBとを含むゲーム画像が表示され る。仮想空間内における各オブジェクト OA, OBの位置は、各々対応するクライアント 装置 1A, 1Bに接続されるコントローラ 20A, 20Bにおける各々の操作に応じて変更 される。各クライアント装置 1A, 1Bは、自装置に各々割り当てられたオブジェクト OA , OBの位置に関する情報 (以下、位置情報パケットという)をサーバ装置 2に定期的 に送信する。サーバ装置 2は、クライアント装置 1A, 1Bから送信された位置情報パケ ットを受信すると、当該位置情報パケットを送信したクライアント装置以外の他のクライ アント装置全てに対して送信する。各クライアント装置 1A, 1Bは、 自装置以外のクラ イアント装置力も送信されサーバ装置 2から送信された位置情報パケットを受信する と、当該位置情報パケットに基づいて、当該位置情報パケットに対応するオブジェクト の位置を算出する。そして、各クライアント装置 1A, 1Bは、算出した位置に基づき、 各々対応するオブジェクトを表示させると共に、 自装置に対応するオブジェクトを表示 させる。以上のようにして、仮想空間に配置されたオブジェクト OA, OBを移動させる ことによりゲームが展開される。 With the network game system S configured as described above, the network game is executed in each of the client devices 1A and 1B. In the network game in the present embodiment, each object corresponding to each client device 1A, 1B is arranged in a virtual space. Then, game images representing the virtual space are displayed on the screens 11A and 11B of the monitor devices 10A and 10B connected to the client devices 1A and 1B, respectively. For example, as shown in FIG. 2, a game image including an object OA corresponding to the client device 1A and an object OB corresponding to the client device 1B is displayed on the screens 11A and 11B. The positions of the objects OA and OB in the virtual space are changed according to respective operations in the controllers 20A and 20B connected to the corresponding client devices 1A and 1B. Each client device 1A, 1B periodically transmits information on the positions of the objects OA, OB assigned to the own device (hereinafter referred to as a position information packet) to the server device 2. When the server apparatus 2 receives the position information packet transmitted from the client apparatuses 1A and 1B, the server apparatus 2 transmits it to all other client apparatuses other than the client apparatus that transmitted the position information packet. Each client device 1A, 1B is a class other than its own device. When the position information packet transmitted from the server apparatus 2 is received with the client apparatus power transmitted, the position of the object corresponding to the position information packet is calculated based on the position information packet. Then, each of the client devices 1A and 1B displays a corresponding object based on the calculated position, and also displays an object corresponding to the own device. As described above, the game is developed by moving the objects OA and OB arranged in the virtual space.
[0017] くクライアント装置の構成 >  [0017] Configuration of client device>
次に、図 3を参照しながら、クライアント装置 1A, 1Bのハードウェア構成について説 明する。尚、以降、クライアント装置 1A, 1B、コントローラ 20A, 20B、モニタ装置 10 A, 10B、スクリーン 11A, 11Bについて、区別して記載する必要がない場合には、 単に、クライアント装置 1、コントローラ 20、モニタ装置 10、スクリーン 11、と各々記載 する。また、各装置を区別して記載する必要があり、以下の各構成要素について区 別して記載する必要がある場合には、各々符号の後ろに A又は Bを付記する。  Next, the hardware configuration of the client apparatuses 1A and 1B will be described with reference to FIG. In the following, if it is not necessary to distinguish between the client devices 1A and 1B, the controllers 20A and 20B, the monitor devices 10A and 10B, and the screens 11A and 11B, simply the client device 1, the controller 20, and the monitor device. 10 and screen 11, respectively. Also, it is necessary to distinguish between each device, and when it is necessary to separately describe each of the following components, add A or B after each symbol.
[0018] クライアント装置 1は、ディスクトレイ 3、ボタン 4, 9、 USB (Universal Serial Bus)接続 端子 5、 IEEE (Institute of Electrical and Electronics Engineers) ld94接 fee端子 6、 コントローラポート 7a, 7b、メモリカードスロット 8a, 8b等を備えている。ディスクトレイ 3 は、 DVD— ROMや CD— ROM等の光ディスクが装填可能に構成されている。ボタ ン 4は、電源のオンやスタンバイ,ゲームのリセットを行うためのオン Zスタンバイ Zリ セットボタンである。ボタン 9は、ディスクトレイ 3をオープン Zクローズさせるオープン Zクローズボタンである。コントローラポート 7a, 7bは、コントローラ 20に接続される接 続ケーブル 13の有するコネクタ 12が着脱自在に構成されている。メモリカードスロット 8a, 8bは、半導体メモリであるメモリカード(図示せず)が着脱自在に構成されている 。また、図示は省略するが、当該クライアント装置 1の背面側には、電源スィッチ、音 響映像出力端子 (AVマルチ出力端子)、 PCカードスロット、光ディジタル出力端子、 AC電源入力端子などが設けられて 、る。  [0018] Client device 1 includes disk tray 3, buttons 4, 9, USB (Universal Serial Bus) connection terminal 5, IEEE (Institute of Electrical and Electronics Engineers) ld94 connection fee terminal 6, controller ports 7a, 7b, memory card Slots 8a and 8b are provided. The disc tray 3 is configured such that an optical disc such as a DVD-ROM or a CD-ROM can be loaded. Button 4 is an on-z standby z-reset button for turning the power on, standby, and resetting the game. Button 9 is an open Z close button for opening and closing the disk tray 3. The controller ports 7a and 7b are configured such that the connector 12 of the connection cable 13 connected to the controller 20 is detachable. The memory card slots 8a and 8b are configured such that a memory card (not shown) as a semiconductor memory is detachable. Although not shown, on the back side of the client device 1, a power switch, audio video output terminal (AV multi-output terminal), PC card slot, optical digital output terminal, AC power input terminal, etc. are provided. And
[0019] コントローラ 20は、第 1操作部 21、第 2操作部 22と、スタートボタン 24と、選択ボタ ン 25と、アナログ操作が可能なアナログ操作部 23L, 23Rと、これらアナログ操作部 2 3L、 23Rの操作モードを選択するモード選択スィッチ 26と、 Rボタン 28R, 28R' と 、 Lボタン 29L, 29 との各種操作子と、選択された操作モードを表示するための 表示部 27と、把持部 20R, 20Lとを備えている。 [0019] The controller 20 includes a first operation unit 21, a second operation unit 22, a start button 24, a selection button 25, analog operation units 23L and 23R capable of analog operation, and these analog operation units 2 3L. , 23R mode selection switch 26 and R button 28R, 28R ' , L buttons 29L and 29, a display section 27 for displaying the selected operation mode, and gripping sections 20R and 20L.
[0020] <クライアント装置の内部回路構成 >  <Internal circuit configuration of client device>
次に、図 4を参照しながら、クライアント装置 1の主要な内部構成について説明する 。図 4は、クライアント装置 1の主要な内部構成を示すブロック図である。  Next, the main internal configuration of the client device 1 will be described with reference to FIG. FIG. 4 is a block diagram showing the main internal configuration of the client device 1.
[0021] 図 4に示すように、クライアント装置 1は、メインバス 61とサブバス 62とを有し、これら の 61、 62は、バスインタフェース 63を介して互いに接続され又は切り離される。  As shown in FIG. 4, the client device 1 has a main bus 61 and a sub bus 62, and these 61 and 62 are connected to or disconnected from each other via a bus interface 63.
[0022] メインバス 61には、メイン CPU64と、 RAMで構成されるメインメモリ 65と、メイン D MAC (direct memory access controller) 66と、フレームメモリ 67を内蔵する画像処 理デバイス(GPU (graphic processing unit) ) 68とが接続される。 GPU68には、映像 信号を生成するための制御手段である CRTC (CRT controller) 69が接続される。  [0022] The main bus 61 includes a main CPU 64, a main memory 65 composed of RAM, a main DMAC (direct memory access controller) 66, and an image processing device (GPU (graphic processing) with a built-in frame memory 67. unit)) 68 is connected. Connected to the GPU 68 is a CRTC (CRT controller) 69 which is a control means for generating a video signal.
[0023] サブバス 62には、マイクロプロセッサなどで構成されるサブ CPU73、 RAMで構成 されるサブメモリ 74、サブ DMAC75、 ROM70、サウンドメモリ 76に蓄積された音デ ータを読み出して音声信号を出力する音声処理装置(SPU (sound processing unit) ) 77、周辺機器を制御する IOプロセッサ(IOP) 78、通信部 79、 CD-ROM^DVD —ROM等の記録媒体であるメディア 72を装着するためのメディアドライブ 71が接続 されている。  [0023] The sub-bus 62 reads out the sound data stored in the sub-CPU 73 composed of a microprocessor, the sub-memory 74 composed of RAM, the sub-DMAC 75, the ROM 70, and the sound memory 76, and outputs an audio signal. Sound processing unit (SPU) 77, IO processor (IOP) 78 that controls peripheral devices, communication unit 79, CD-ROM ^ DVD —ROM 72 Media drive 71 is connected.
[0024] ROM70には、クライアント装置 1の各部を制御するためのオペレーティングシステ ムゃ、各種機能を実現させるためのプログラムやゲームプログラムなどの各種プログ ラムが記憶されている。  The ROM 70 stores an operating system for controlling each unit of the client device 1 and various programs such as a program and a game program for realizing various functions.
[0025] メイン CPU64は、クライアント装置 1の起動時にバスインタフェース 63を介して RO M70に記憶されているオペレーティングシステムをメインメモリ 65に読み出し、読み 出したオペレーティングシステムを実行することにより、クライアント装置 1の各部の動 作を制御する。また、メイン CPU64は、カウンタ 640を備え、当該カウンタ 640により 計測される値に基づいて、現在時刻を得る。また、カウンタ 640は、設定された所定 の時間毎に終了信号を出力するタイマ機能を備える。  [0025] The main CPU 64 reads the operating system stored in the ROM 70 via the bus interface 63 into the main memory 65 when the client device 1 is started up, and executes the read operating system, thereby Control the operation of each part. Further, the main CPU 64 includes a counter 640, and obtains the current time based on the value measured by the counter 640. In addition, the counter 640 has a timer function that outputs an end signal every predetermined time set.
[0026] また、メイン CPU64が ROM70に記憶された各種プログラムを実行することにより、 時刻情報処理機能及び位置情報処理機能を実現させる。時刻情報処理機能とは、 時刻情報送信機能と、時刻情報受信機能と、時刻補正機能とを含む。具体的には、 時刻情報処理機能とは、クライアント装置 1とサーバ装置 2との間で時刻情報パケット を送受信することにより、メイン CPU64のカウンタ 640で計測された値に基づく現在 時刻を、サーバ装置 2における現在時刻に同期させる機能のことである。位置情報処 理機能とは、位置情報送信機能と、位置情報受信機能と、位置算出機能とを含む。 位置情報送信機能とは、当該クライアント装置 1がネットワークゲームに参加した後、 当該クライアント装置 1に割り当てられたオブジェクトの位置情報をサーバ装置 2に送 信する機能のことである。位置情報受信機能とは、ネットワークゲームに参加する他 のクライアント装置に対応するオブジェクトの位置情報をサーバ装置 2から受信する 機能のことである。位置算出機能とは、受信した位置情報に基づき、オブジェクトの 位置を算出する機能のことである。これらの機能の詳細については、後述する。 [0026] The main CPU 64 executes various programs stored in the ROM 70, thereby realizing a time information processing function and a position information processing function. What is the time information processing function? It includes a time information transmission function, a time information reception function, and a time correction function. Specifically, the time information processing function means that the current time based on the value measured by the counter 640 of the main CPU 64 is transmitted to the server device by transmitting and receiving time information packets between the client device 1 and the server device 2. This is a function to synchronize with the current time in 2. The position information processing function includes a position information transmission function, a position information reception function, and a position calculation function. The position information transmission function is a function for transmitting the position information of the object assigned to the client device 1 to the server device 2 after the client device 1 participates in the network game. The position information receiving function is a function for receiving from the server device 2 position information of objects corresponding to other client devices participating in the network game. The position calculation function is a function for calculating the position of an object based on received position information. Details of these functions will be described later.
[0027] また、メイン CPU64は、メディアドライブ 71を制御するとともに、このメディアドライブ 71に装着されたメディア 72からアプリケーションプログラムや各種データをメインメモ リ 65に読み出し、読み出したアプリケーションプログラムを実行することにより、各種 機能を実現させる。メディア 72には、例えば、ゲームプログラムや、ゲーム画像などの データが記憶されている。  [0027] The main CPU 64 controls the media drive 71, reads application programs and various data from the media 72 loaded in the media drive 71 to the main memory 65, and executes the read application program. Realize various functions. The media 72 stores data such as game programs and game images.
[0028] また、メイン CPU64は、メインメモリ 65に読み出した各種データのうち、複数の基本 図形 (ポリゴン)で構成された 3次元オブジェクトデータ (ポリゴンの頂点の座標値など )に対してジオメトリ処理を行って、ディスプレイリストを生成し、生成したディスプレイリ ストを GPU68に供給する。ディスプレイリストは、ポリゴンを描画するためのポリゴン定 義情報であり、ポリゴン定義情報は、描画領域設定情報とポリゴン情報とからなる。描 画領域設定情報は、描画領域のフレームバッファアドレスにおけるオフセット座標と、 描画領域の外部にポリゴンの座標があった場合に、描画をキャンセルするための描 画クリッピング領域の座標力もなる。ポリゴン情報は、ポリゴン属性情報と頂点情報と からなり、ポリゴン属性情報は、シェーディングモード、 αプレンディングモード、およ びテクスチャマッピングモード等を指定する情報であり、頂点情報は、頂点描画領域 内座標、頂点テクスチャ領域内座標、および頂点色等の情報である。  [0028] In addition, the main CPU 64 performs geometry processing on the three-dimensional object data (such as the coordinate values of the vertices of the polygon) composed of a plurality of basic figures (polygons) among the various data read out to the main memory 65. To generate a display list and supply the generated display list to the GPU 68. The display list is polygon definition information for drawing a polygon, and the polygon definition information includes drawing area setting information and polygon information. The drawing area setting information also includes the offset coordinates in the frame buffer address of the drawing area and the coordinate force of the drawing clipping area for canceling drawing when the coordinates of the polygon are outside the drawing area. Polygon information consists of polygon attribute information and vertex information. Polygon attribute information is information that specifies the shading mode, α-plending mode, texture mapping mode, etc., and vertex information is coordinates in the vertex drawing area. , Vertex texture area coordinates, and vertex color information.
[0029] また、メイン CPU64は、 MPEG (Moving Picture Experts Group)方式や JPEG (Joi nt Photographic Experts Group)方式等で圧縮されたデータを伸張する。 [0029] In addition, the main CPU 64 uses MPEG (Moving Picture Experts Group) or JPEG (Joi (nt Photographic Experts Group) method is used to decompress the compressed data.
[0030] メインメモリ 65には、メイン CPU64が ROM70やメディア 72から読み出したプログラ ムゃ、各種データが記憶される。また、上述の位置情報処理機能が実現される際にメ イン CPU64によって用いられるオブジェクト管理テーブル 650が記憶される。クライ アント装置 1Aにおいては、例えば、図 5に示されるようなオブジェクト管理テーブル 6 50Aが記憶されており、クライアント装置 1Bにおいては、例えば、図 6に示されるよう なオブジェクト管理テーブル 650Bが記憶されている。 The main memory 65 stores various data such as programs read from the ROM 70 and the medium 72 by the main CPU 64. In addition, an object management table 650 used by the main CPU 64 when the position information processing function described above is realized is stored. For example, an object management table 650A as shown in FIG. 5 is stored in the client device 1A, and an object management table 650B as shown in FIG. 6 is stored in the client device 1B. Yes.
[0031] このオブジェクト管理テーブル 650には、ネットワークゲームを実行する際に用いら れる仮想空間における各オブジェクトの位置に関する情報が記憶される。本実施例 においては、仮想空間は、 2次元空間であり、この仮想空間に配置される各オブジェ タトには、 2次元の位置座標が対応付けられる。そして、他のクライアント装置に対応 するオブジェクトについては、オブジェクトのオブジェクト IDと、オブジェクトに対応す る管理 IDと、サーバ装置 2から受信した位置情報パケットに含まれる情報と、当該位 置情報パケットを受信した受信時刻とが対応付けられて記憶される。位置情報バケツ トに含まれる情報とは、仮想空間におけるオブジェクトの位置座標と、当該オブジェク トの移動速度及び移動方向を示す速度ベクトルと、これらが検出された検出時刻とで ある。更に、オブジェクト管理テーブル 650には、上述の位置座標、速度ベクトル、検 出時刻及び受信時刻を用いてメイン CPU64が算出したオブジェクトの初期座標が 記憶される。また、当該クライアント装置 1に対応するオブジェクトについては、コント ローラ 20から送信された操作信号に応じて検出される位置座標と、速度ベクトルと、 これらが検出された検出時刻とが記憶される。尚、本実施例においては、説明の便 宜上、オブジェクト OAのオブジェクト IDを" OA"とし、オブジェクト OBのオブジェクト I Dを" OB"とする。 [0031] This object management table 650 stores information on the position of each object in the virtual space used when executing the network game. In this embodiment, the virtual space is a two-dimensional space, and each object arranged in the virtual space is associated with a two-dimensional position coordinate. For objects corresponding to other client devices, the object ID of the object, the management ID corresponding to the object, the information included in the location information packet received from the server device 2, and the location information packet are received. The received time is stored in association with each other. The information included in the position information bucket is the position coordinates of the object in the virtual space, the velocity vector indicating the moving speed and moving direction of the object, and the detection time when these were detected. Further, the object management table 650 stores the initial coordinates of the object calculated by the main CPU 64 using the above-described position coordinates, velocity vector, detection time, and reception time. Further, for the object corresponding to the client device 1, the position coordinates detected according to the operation signal transmitted from the controller 20, the velocity vector, and the detection time when these are detected are stored. In this embodiment, for convenience of explanation, the object ID of the object OA is “OA”, and the object ID of the object OB is “OB”.
[0032] GPU68は、描画コンテクストを保持しており、メイン CPU64から供給されるディスプ レイリストに含まれる画像コンテクストの識別情報に基づ 、て該当する描画コンテクス トを読み出し、これを用いてレンダリング処理を行い、フレームメモリ 67にポリゴンを描 画する。フレームメモリ 67は、テクスチャメモリとしても使用できるため、フレームメモリ 67上のピクセルイメージをテクスチャとして描画するポリゴンに貼り付けることができる [0033] CRTC69は、フレームメモリ 67に描画された画像に基づいて映像信号を生成し、こ れをクライアント装置 1と接続されているモニタ装置 10に供給する。この結果、モニタ 装置 10のスクリーン 11に画像が表示される。 [0032] The GPU 68 holds a drawing context. Based on the identification information of the image context included in the display list supplied from the main CPU 64, the GPU 68 reads out the corresponding drawing context and uses this to perform rendering processing. And draw the polygon in the frame memory 67. Since the frame memory 67 can also be used as a texture memory, the pixel image on the frame memory 67 can be pasted to a polygon to be drawn as a texture. The CRTC 69 generates a video signal based on the image drawn in the frame memory 67 and supplies it to the monitor device 10 connected to the client device 1. As a result, an image is displayed on the screen 11 of the monitor device 10.
[0034] メイン DMAC66は、メインバス 61に接続されている各回路を対象として DMA転送 制御を行うととも〖こ、バスインタフェース 63の状態に応じて、サブノ ス 62に接続されて[0034] The main DMAC 66 performs DMA transfer control for each circuit connected to the main bus 61, and is connected to the sub-node 62 according to the state of the bus interface 63.
V、る各回路を対象として DMA転送制御を行う。 DMA transfer control is performed for each circuit.
[0035] サブ CPU73は、 ROM70に記憶されているプログラムに従って各種動作を行う。 The sub CPU 73 performs various operations in accordance with programs stored in the ROM 70.
サブ DMAC75は、バスインタフェース 63力メインバス 61とサブバス 62を切り離して The sub DMAC75 has a bus interface 63 power and separates the main bus 61 and the subbus 62.
V、る状態にぉ 、てのみ、サブノ ス 62に接続されて 、る各回路を対象として DMA転 送などの制御を行う。 Only in the V state, it is connected to the sub-node 62 and performs control such as DMA transfer for each circuit.
[0036] IOP78は、 ROM70に記憶されている IOP用のオペレーティングシステムなどのプ ログラムを実行することにより、コントローラポート 7A, 7Bを介して授受されるコント口 ーラ 20からの操作信号やコントローラ 20への制御信号、メモリカードポート 8A, 8Bを 介して授受されるメモリカードにおけるデータの入出力、 USB接続端子 5や IEEE13 94接続端子 6におけるデータの入出力を制御する。  [0036] The IOP 78 executes a program such as an operating system for IOP stored in the ROM 70, so that an operation signal from the controller 20 and the controller 20 sent and received through the controller ports 7A and 7B. Control signals to and from the memory card ports 8A and 8B, and data input / output at the USB connection terminal 5 and IEEE1394 connection terminal 6.
[0037] 通信部 79は、サブ CPU73の制御の下、外部装置とのデータ通信を制御する。外 部装置と通信部 79とは、パケット通信網 30を介してデータ通信を行う。  The communication unit 79 controls data communication with an external device under the control of the sub CPU 73. The external device and the communication unit 79 perform data communication via the packet communication network 30.
[0038] <機能的構成 >  [0038] <Functional configuration>
次に、クライアント装置 1の機能的構成について説明する。図 7に、本実施例に係る クライアント装置 1の機能的構成を模式的に示す。本実施例においては、 ROM70に 記憶された各種プログラムをメイン CPU64が実行し、この処理の実行過程にぉ 、て メイン CPU64の制御命令に従って GPU68等のクライアント装置 1各部が各種処理 を行うことにより、以下の各手段 KC1〜KC7の機能が実現される。また、以下の各手 段 KC1〜KC2の機能が実現されることにより、時刻情報処理機能が実現される。以 下の各手段 KC1, KC3〜KC7の機能が実現されることにより、位置情報処理機能 が実現される。  Next, the functional configuration of the client device 1 will be described. FIG. 7 schematically shows a functional configuration of the client device 1 according to the present embodiment. In this embodiment, the main CPU 64 executes various programs stored in the ROM 70, and the client device 1 such as the GPU 68 performs various processes in accordance with the control instruction of the main CPU 64 during the execution process of this process. The functions of the following means KC1 to KC7 are realized. In addition, the time information processing function is realized by realizing the functions of the following means KC1 to KC2. The position information processing function is realized by realizing the functions of the following means KC1, KC3 to KC7.
[0039] <時刻情報処理機能 > 計時手段 KC1は、時刻を計測する。時刻情報処理手段 KC2は、計時手段 KC1で 計測された時刻に基づき、現在時刻を得て、この時刻 T1を含む時刻補正パケットを 生成し、これをパケット通信網 30を介してサーバ装置 2に送信する。また、時刻情報 処理手段 KC2は、当該時刻情報処理手段 KC2が送信した時刻補正パケットがサー バ装置 2で受信された受信時刻 T2と、当該時刻補正パケットがサーバ装置 2で送信 された送信時刻 T3とを含む時刻補正パケット(時刻返信情報)をサーバ装置 2から受 信する。そして、当該時刻補正パケットを受信した受信時刻 T4と、当該時刻補正パ ケットに含まれる時刻 T1〜T3とを用いて、サーバ装置 2とクライアント装置 1との時刻 差 Dを算出する。そして、算出した時刻差 Dを用いて、計時手段 KC1で計測される時 刻に基づく現在時刻を補正し、サーバ装置 2の現在時刻と、クライアント装置 1の現在 時刻とを同期させる。 [0039] <Time information processing function> Time measuring means KC1 measures time. The time information processing means KC2 obtains the current time based on the time measured by the time measuring means KC1, generates a time correction packet including this time T1, and transmits this to the server device 2 via the packet communication network 30. To do. The time information processing means KC2 also includes a reception time T2 when the time correction packet transmitted by the time information processing means KC2 is received by the server device 2, and a transmission time T3 when the time correction packet is transmitted by the server device 2. A time correction packet (time reply information) including “” is received from the server device 2. Then, a time difference D between the server device 2 and the client device 1 is calculated using the reception time T4 when the time correction packet is received and the times T1 to T3 included in the time correction packet. Then, using the calculated time difference D, the current time based on the time measured by the clock means KC1 is corrected, and the current time of the server device 2 and the current time of the client device 1 are synchronized.
[0040] <位置情報処理機能 >  [0040] <Location information processing function>
検出手段 KC3は、コントローラ 20における操作に応じた操作信号をコントローラ 20 から逐次受信し、当該クライアント装置 1に割り当てられたオブジェクトに対し、当該操 作信号に応じた位置座標、及び速度ベクトルを検出する。  The detection means KC3 sequentially receives an operation signal corresponding to the operation in the controller 20 from the controller 20, and detects a position coordinate and a velocity vector corresponding to the operation signal for the object assigned to the client device 1. .
[0041] 位置情報送信手段 KC4は、計時手段 KC1で計測された時刻に基づき、所定の時 間毎に、検出手段 KC3が検出したオブジェクトの位置座標及び速度ベクトルと、これ らが検出された時刻とを含む位置情報パケットを、パケット通信網 30を介してサーバ 装置 2に送信する。  [0041] The position information transmitting means KC4 is based on the time measured by the time measuring means KC1, and the position coordinates and velocity vectors of the object detected by the detecting means KC3 and the time at which these are detected for each predetermined time. Is transmitted to the server device 2 via the packet communication network 30.
[0042] 位置情報受信手段 KC5は、サーバ装置 2から送信された他のクライアント装置の位 置情報パケットを受信し、当該パケットを受信した受信時刻を一時的に記憶する。  [0042] The location information receiving means KC5 receives the location information packet of the other client device transmitted from the server device 2, and temporarily stores the reception time when the packet is received.
[0043] 位置算出手段 KC6は、位置情報受信手段 KC5が位置情報パケットを受信した受 信時刻と、当該位置情報パケットとを用いて、当該位置情報パケットに対応するォブ ジェタトの当該受信時刻における位置座標を算出する。 [0043] The position calculation means KC6 uses the reception time at which the position information reception means KC5 received the position information packet and the position information packet, at the reception time of the object corresponding to the position information packet. Calculate the position coordinates.
[0044] 描画手段 KC7は、位置算出手段 KC6が算出した各位置座標を用いて、各ォブジ ェクトを含むゲーム画像を生成し、これをモニタ装置 10のスクリーン 11に表示させる。 The drawing unit KC7 generates a game image including each object using each position coordinate calculated by the position calculation unit KC6, and displays the game image on the screen 11 of the monitor device 10.
[0045] <サーバ装置の構成 > [0045] <Configuration of server device>
次に、図 8を参照しながら、サーバ装置 2の主要な内部構成について説明する。図 8は、サーバ装置 2の主要な内部構成を示すブロック図である。 Next, the main internal configuration of the server device 2 will be described with reference to FIG. Figure FIG. 8 is a block diagram showing the main internal configuration of the server device 2.
[0046] サーバ装置 2は、 CPU20Sと、 ROM21Sと、 RAM22Sと、 HD (Hard Disc) 23Sと 、通信部 24Sとから構成され、これらはノ スを介して接続される。  The server device 2 includes a CPU 20S, a ROM 21S, a RAM 22S, an HD (Hard Disc) 23S, and a communication unit 24S, which are connected via a nose.
[0047] ROM21Sには、サーバ装置 2の各部を制御するためのオペレーティングシステム や各種プログラムが記憶されている。また、クライアント装置 1から送信された時刻補 正パケットに受信時刻及び返信時刻を加えて返信する時刻情報送信機能や、クライ アント装置 1から送信された位置情報パケットを他のクライアント装置へ送信する位置 情報中継機能を実現させるためのゲーム制御プログラムが記憶されて 、る。これらの 各機能の詳細については、後述する。  The ROM 21S stores an operating system and various programs for controlling each part of the server device 2. In addition, a time information transmission function for sending back a time correction packet transmitted from the client device 1 with a reception time and a reply time, and a position for transmitting the position information packet transmitted from the client device 1 to another client device. A game control program for realizing the information relay function is stored. Details of each of these functions will be described later.
[0048] CPU20Sは、サーバ装置 2の起動時に ROM21Sに記憶されているオペレーティ ングシステムを RAM22Sに読み出し、読み出したオペレーティングシステムを実行 することにより、サーバ装置 2の各部の動作を制御する。また、 CPU20Sは、カウンタ 200を備え、カウンタ 200により計測される値に基づいて、現在時刻を得る。また、力 ゥンタ 200は、設定された所定の時間毎に終了信号を出力するタイマ機能を備える。  [0048] The CPU 20S controls the operation of each part of the server device 2 by reading the operating system stored in the ROM 21S into the RAM 22S when the server device 2 is started up and executing the read operating system. In addition, the CPU 20S includes a counter 200, and obtains the current time based on the value measured by the counter 200. Further, the force counter 200 has a timer function for outputting an end signal every predetermined time set.
[0049] また、 CPU20Sは、 ROM21Sに記憶されたゲーム制御プログラムを実行すること により、以下の機能を実現させる。 CPU20Sは、クライアント装置 1からネットワークゲ ームへの参加要求を示すパケットを受信すると、当該クライアント装置 1に対して管理 IDを割り当てると共に、当該クライアント装置 1に対応するオブジェクトを割り当てる。 当該オブジェクトは、当該ネットワークゲームにおいて予め定められている複数のォ ブジエタトの中から選択する。そして、割り当てた管理 IDと、割り当てたオブジェクトを 示すオブジェクト IDとを含む応答パケットをクライアント装置 1に送信する。この応答 パケットがクライアント装置 1に受信されることにより、サーバ装置 2とクライアント装置 1 との間のセッションが確立される。尚、ゲーム制御プログラムを実行することにより実現 される他の機能にっ 、ては後述する。  In addition, the CPU 20S realizes the following functions by executing the game control program stored in the ROM 21S. When the CPU 20S receives a packet indicating a request for participation in the network game from the client device 1, the CPU 20S assigns a management ID to the client device 1 and assigns an object corresponding to the client device 1. The object is selected from a plurality of objects predetermined in the network game. Then, a response packet including the assigned management ID and the object ID indicating the assigned object is transmitted to the client apparatus 1. When the response packet is received by the client device 1, a session between the server device 2 and the client device 1 is established. Other functions realized by executing the game control program will be described later.
[0050] 通信部 24Sは、 CPU20Sの制御の下、クライアント装置 1等の外部装置とのデータ 通信を制御する。外部装置と通信部 24Sとは、パケット通信網 30を介してデータ通 信を行う。  [0050] The communication unit 24S controls data communication with an external device such as the client device 1 under the control of the CPU 20S. The external device and the communication unit 24S perform data communication via the packet communication network 30.
[0051] HD23Sには、図 9に示されるような管理テーブル 230が記憶されている。管理テー ブル 230には、ネットワークゲームに参加しているクライアント装置 1の管理 IDと、クラ イアント装置 1の IPアドレスと、ネットワークゲームにおけるクライアント装置 1に対応す るプレイヤを表すオブジェクト IDとが対応付けられて記憶されている。 [0051] The HD23S stores a management table 230 as shown in FIG. Management table In Table 230, the management ID of the client device 1 participating in the network game, the IP address of the client device 1, and the object ID representing the player corresponding to the client device 1 in the network game are associated with each other. It is remembered.
[0052] <機能的構成 > [0052] <Functional configuration>
次に、サーバ装置 2の機能的構成について説明する。図 7に、本実施例に係るサ ーバ装置 2の機能的構成を模式的に示す。本実施例においては、 ROM21Sに記憶 されたゲーム制御プログラムを CPU20Sが実行し、この処理の実行過程にぉ 、て C PU20Sの制御命令に従って通信部 24S等のサーバ装置 2の各部が各種処理を行う ことにより、以下の各手段 KS1〜KS4の機能が実現される。また、以下の各手段 KS 1〜KS2の機能が実現されることにより、時刻情報送信機能が実現される。以下の各 手段 KSl, KS3〜KS4の機能が実現されることにより、位置情報中継機能が実現さ れる。  Next, the functional configuration of the server device 2 will be described. FIG. 7 schematically shows a functional configuration of the server apparatus 2 according to the present embodiment. In the present embodiment, the CPU 20S executes the game control program stored in the ROM 21S, and each part of the server device 2 such as the communication unit 24S performs various processes according to the control command of the CPU 20S during the execution of this process. Thus, the functions of the following means KS1 to KS4 are realized. Moreover, the time information transmission function is realized by realizing the functions of the following means KS1 to KS2. By implementing the functions of the following means KSl, KS3 to KS4, the location information relay function is realized.
[0053] 計時手段 KS1は、時刻を計測する。通信手段 KS2は、パケット通信網 30との間で パケットの送受信を行う。  [0053] Timekeeping means KS1 measures time. The communication means KS2 transmits / receives packets to / from the packet communication network 30.
[0054] 時刻情報送信手段 KS3は、クライアント装置 1から時刻補正パケットを受信すると、 計時手段 KS1で計測される時刻に基づき、受信時刻を取得すると共に、当該時刻補 正パケットを返信する返信時刻を取得し、取得した受信時刻及び返信時刻を当該時 刻補正パケットに加えて、当該時刻補正パケット(時刻返信情報)をクライアント装置 1 に通信手段 KS 2を介して送信する。  [0054] When the time information transmission means KS3 receives the time correction packet from the client device 1, the time information transmission means KS3 obtains the reception time based on the time measured by the time measurement means KS1, and returns a reply time for returning the time correction packet. The acquired reception time and reply time are added to the time correction packet, and the time correction packet (time reply information) is transmitted to the client device 1 via the communication means KS2.
[0055] 位置情報中継手段 KS4は、クライアント装置 1から位置情報パケットを受信すると、 当該パケットを送信したクライアント装置以外のネットワークゲームに参加している全 てのクライアント装置に当該位置情報パケットを通信手段 KS2を介して送信する。  When the position information relay means KS4 receives the position information packet from the client apparatus 1, the position information relay means KS4 communicates the position information packet to all client apparatuses participating in the network game other than the client apparatus that transmitted the packet. Send via KS2.
[0056] (2)動作  [0056] (2) Operation
次に、本実施例に係る動作について説明する。  Next, an operation according to the present embodiment will be described.
[0057] 尚、クライアント装置 1の図示しない電源が投入され、 ROM70に記憶されたォペレ ーシヨンシステムなどのプログラム力 Sメイン CPU64によってメインメモリ 65に読み出さ れて実行され、ユーザによってそれぞれ指示が入力されることにより、 ROM70や光 ディスク 72からメインメモリ 65に読み出された各種プログラムカ^ィン CPU64によつ て実行され、上述の構成欄で述べた各種機能が実現される。 [0057] It should be noted that the power supply (not shown) of the client device 1 is turned on, and the program power of the operation system or the like stored in the ROM 70 is read out and executed by the main CPU 64 into the main memory 65, and each instruction is input by the user. As a result, various program keys read from the ROM 70 or the optical disk 72 to the main memory 65 can be connected by the CPU 64. The various functions described in the above-described configuration column are realized.
[0058] また、サーバ装置 2の図示しない電源が投入され、 ROM21Sに記憶されたォペレ ーシヨンシステムなどのプログラムが CPU20Sによって RAM22Sに読み出されて実 行され、ユーザによってそれぞれ指示が入力されることにより、 RAM22Sに読み出さ れたゲーム制御プログラムなどの各種プログラムが CPU20Sによって実行され、上述 の構成欄で述べた各種機能が実現される。 [0058] Further, the server device 2 is powered on (not shown), and the program such as an operation system stored in the ROM 21S is read out to the RAM 22S by the CPU 20S and executed, and instructions are respectively input by the user. As a result, various programs such as the game control program read to the RAM 22S are executed by the CPU 20S, and the various functions described in the above-described configuration section are realized.
[0059] 図 10は、クライアント装置 1とサーバ装置 2とにおける処理の流れを示すシーケンス チャートである。 FIG. 10 is a sequence chart showing the flow of processing in the client device 1 and the server device 2.
[0060] まず、ユーザが、クライアント装置 1に接続されたコントローラ 20を操作して、ネットヮ ークゲームの開始を指示すると、メイン CPU64は、当該操作に応じて、当該ネットヮ ークゲームに対するゲームプログラムを ROM70からメインメモリ 65に読み出し、これ を実行する。そして、まず、ネットワークゲームへの参カ卩要求を示す参カ卩要求パケット を通信部 79を介してサーバ装置 2へ送信する (ステップ S 1)。  First, when the user operates the controller 20 connected to the client device 1 to instruct the start of the network game, the main CPU 64 stores the game program for the network game from the ROM 70 in accordance with the operation. Read to memory 65 and execute it. First, a participation request packet indicating a participation request for participation in the network game is transmitted to the server device 2 via the communication unit 79 (step S 1).
[0061] サーバ装置 2の CPU20Sは、当該参カ卩要求パケットを受信すると (ステップ S2)、当 該クライアント装置 1に対して管理 IDを割り当てる。更に、当該ネットワークゲームの ゲーム画像において表されるオブジェクトについて、当該クライアント装置に対応する オブジェクトを割り当てる。そして、当該オブジェクトに対応するオブジェクト IDと、当 該クライアント装置 1に対応する管理 IDと、当該ネットワークゲームに参加している他 のクライアント装置に対応する管理 IDと当該他のクライアント装置に対して割り当てら れているオブジェクトに対応するオブジェクト IDとを対応付けたオブジェクト情報とを 含む応答パケットをクライアント装置 1へ通信部 24Sを介して送信する (ステップ S3)。  When the CPU 20S of the server apparatus 2 receives the participation request packet (step S2), it assigns a management ID to the client apparatus 1. Furthermore, an object corresponding to the client device is assigned to the object represented in the game image of the network game. Then, an object ID corresponding to the object, a management ID corresponding to the client device 1, a management ID corresponding to another client device participating in the network game, and the other client device are assigned. A response packet including the object information associated with the object ID corresponding to the identified object is transmitted to the client device 1 via the communication unit 24S (step S3).
[0062] その後、クライアント装置 1のメイン CPU64がサーバ装置 2から送信された応答パケ ットを受信すると (ステップ S4)、サーバ装置 2とクライアント装置 1との間のセッション が確立される。次いで、クライアント装置 1のメイン CPU64は、以下の時刻情報処理 を行う。  [0062] After that, when the main CPU 64 of the client device 1 receives the response packet transmitted from the server device 2 (step S4), a session between the server device 2 and the client device 1 is established. Next, the main CPU 64 of the client device 1 performs the following time information processing.
[0063] <時刻情報処理 >  [0063] <Time information processing>
メイン CPU64は、カウンタ 640が計測した時刻に基づき、時刻補正パケットを送信 する送信時刻 T1を取得すると共に、当該送信時刻 T1を含む時刻補正パケットをサ ーバ装置 2に送信する (ステップ S5)。 Based on the time measured by the counter 640, the main CPU 64 acquires the transmission time T1 for transmitting the time correction packet, and supports the time correction packet including the transmission time T1. The data is transmitted to the server device 2 (step S5).
[0064] 一方、サーバ装置 2の CPU20Sは、以下の時刻情報送信処理を行う。 CPU20Sは 、クライアント装置 1から送信された時刻補正パケットを受信すると (ステップ S6)、カウ ンタ 200が計測した時刻に基づき、当該受信時刻 T2を取得すると共に、当該時刻補 正パケットを返信する返信時刻 T3を取得し、当該受信時刻 T2及び返信時刻 T3を 当該時刻補正パケットに追加し、これをクライアント装置 1に送信する (ステップ S7)。 例えば、図 11に示されるようなフォーマットの時刻補正パケットが送信される。  On the other hand, the CPU 20S of the server device 2 performs the following time information transmission processing. When the CPU 20S receives the time correction packet transmitted from the client device 1 (step S6), the CPU 20S obtains the reception time T2 based on the time measured by the counter 200, and returns a response time for returning the time correction packet. T3 is acquired, the reception time T2 and the reply time T3 are added to the time correction packet, and this is transmitted to the client device 1 (step S7). For example, a time correction packet having a format as shown in FIG. 11 is transmitted.
[0065] クライアント装置 1のメイン CPU64は、サーバ装置 2から送信された時刻補正バケツ トを受信すると、カウンタ 640が計測した時刻に基づき、当該時刻補正パケットを受信 した受信時刻 T4を取得し、これをメインメモリ 65に一時的に記憶させる (ステップ S8) 。そして、当該受信時刻 T4と、受信した時刻補正パケットに含まれる時刻 T1〜T3と を用いて、以下の算式(1)により、サーバ装置 2とクライアント装置 1との時刻差 Dを算 出する。  [0065] When the main CPU 64 of the client device 1 receives the time correction bucket transmitted from the server device 2, the main CPU 64 acquires the reception time T4 when the time correction packet is received based on the time measured by the counter 640, Is temporarily stored in the main memory 65 (step S8). Then, using the reception time T4 and the times T1 to T3 included in the received time correction packet, the time difference D between the server device 2 and the client device 1 is calculated by the following equation (1).
[0066] D= 1/2 X { (T2-T1) - (T4— T3) } (1)  [0066] D = 1/2 X {(T2-T1)-(T4— T3)} (1)
この算式(1)の根拠は以下の通りである。  The basis of this formula (1) is as follows.
[0067] ネットワーク遅延、即ち、ステップ S5が実行されて取得される送信時刻 T1と、ステツ プ S6が実行されて取得される受信時刻 T2との時間差を dlとし、ステップ S7が実行 されて取得される返信時刻 T3と、ステップ S8が実行されて取得される受信時刻 T4と の時間差を d2とすると、以下の算式 (2) , (3)が成り立つ。 [0067] Network delay, that is, the time difference between the transmission time T1 acquired by executing Step S5 and the reception time T2 acquired by executing Step S6 is dl, and acquired by executing Step S7. If the time difference between the reply time T3 to be received and the reception time T4 acquired by executing step S8 is d2, the following equations (2) and (3) hold.
[0068] T2-Tl = D+dl (2)  [0068] T2-Tl = D + dl (2)
T4-T3 = D+d2 (3)  T4-T3 = D + d2 (3)
ここで、 dl = d2であると見なすと、上述の算式(1)が導き出される。  Here, assuming that dl = d2, the above formula (1) is derived.
[0069] 以上のようにして算出した時刻差 Dを用いて、メイン CPU64は、上述のカウンタ 64 0で計測される値によって得られる現在時刻を補正する (ステップ S9)。例えば、時刻 差が" + l"mscである場合、カウンタ 640から得られた現在時刻に lmscをカ卩えた時 刻を現在時刻とする。 [0069] Using time difference D calculated as described above, main CPU 64 corrects the current time obtained by the value measured by counter 640 described above (step S9). For example, when the time difference is “+ l” msc, the time when lmsc is added to the current time obtained from the counter 640 is set as the current time.
[0070] クライアント装置 1のメイン CPU64は、このような時刻情報処理を定期的に行うこと が望ましい。具体的には、例えば、 1〜2分毎に終了信号を出力するようカウンタ 640 を設定する。そして、メイン CPU64は、カウンタ 640から終了信号が出力される度に 、ステップ S5, S8, S9の処理を行うように構成する。また、サーバ装置 2においては、 CPU20S力 クライアント装置 1から時刻補正パケットを受信する度に、ステップ S6, S7の処理を行うように構成する。 [0070] The main CPU 64 of the client device 1 desirably performs such time information processing periodically. Specifically, for example, the counter 640 outputs an end signal every 1 to 2 minutes. Set. The main CPU 64 is configured to perform steps S5, S8, and S9 each time an end signal is output from the counter 640. Further, the server device 2 is configured to perform the processing of steps S6 and S7 each time a time correction packet is received from the client device 1 with the CPU 20S.
[0071] <オブジェクト情報登録処理 > [0071] <Object information registration process>
次に、ステップ S4〖こ戻り、クライアント装置 1Aのメイン CPU64Aが、サーバ装置 2 力も応答パケットを受信したときについて説明する。クライアント装置 1Bがステップ S4 でサーバ装置 2から応答パケットを受信した場合も以下の説明と略同様であるため、 その説明を省略する。  Next, a description will be given of the case where the main CPU 64A of the client device 1A receives the response packet for both the server device 2 and the client device 1A. The case where the client device 1B receives the response packet from the server device 2 in step S4 is substantially the same as the following description, and thus the description thereof is omitted.
[0072] メイン CPU64Aは、当該応答パケットに含まれる自装置 1Aに対して割り当てられた 管理 IDと、自装置 1Aに対して割り当てられたオブジェクトに対応するオブジェクト ID と、他のクライアント装置 (ここでは、クライアント装置 1Bである)に対応する管理 IDと、 他のクライアント装置 1Bに対応するオブジェクト IDと各々対応付けてオブジェクト管 理テーブル 650Aに記憶させる。そして、メイン CPU64Aは、自装置に対して割り当 てられたオブジェクト IDに対応するオブジェクトが、コントローラ 20Aからの操作信号 に応じて移動表示させる制御を行う対象のオブジェクトであることを判別する。また、 他のクライアント装置に対して割り当てられたオブジェクト IDに対応するオブジェクト 力 サーバ装置 2から送信される位置情報パケットに基づいて、移動表示させる制御 を行う対象のオブジェクトであることを判別する。  [0072] The main CPU 64A, the management ID assigned to the own device 1A included in the response packet, the object ID corresponding to the object assigned to the own device 1A, and other client devices (here, The management ID corresponding to the client apparatus 1B) and the object ID corresponding to the other client apparatus 1B are stored in the object management table 650A in association with each other. Then, the main CPU 64A determines that the object corresponding to the object ID assigned to the own device is an object to be controlled to move and display in accordance with an operation signal from the controller 20A. Further, based on the position information packet transmitted from the object force server apparatus 2 corresponding to the object ID assigned to another client apparatus, it is determined that the object is a target to be controlled to be moved and displayed.
[0073] そして、クライアント装置 1Aのメイン CPU64Aは、オブジェクト OAに対して以下の 位置情報送信処理を行い、オブジェクト OBに対して後述の位置算出処理を行う。ま た、クライアント装置 1Bのメイン CPU64Bは、オブジェクト OBに対して以下の位置情 報送信処理を行 、、オブジェクト OAに対して後述の位置算出処理を行う。  [0073] Then, the main CPU 64A of the client device 1A performs the following position information transmission process on the object OA, and performs a position calculation process described later on the object OB. Further, the main CPU 64B of the client device 1B performs the following position information transmission process for the object OB, and performs a position calculation process described later for the object OA.
[0074] <位置情報送信処理 >  [0074] <Location information transmission processing>
ここでは、クライアント装置 1Aが当該クライアント装置 1Aに対して割り当てられたォ ブジエ外 OAに関する位置情報パケットをサーバ装置 2に送信する場合の位置情報 送信処理について説明する。図 12は、位置情報送信処理の動作の流れを示すフロ 一チャートである。 [0075] 尚、以降の説明にお 、ては、オブジェクト OAに割り当てられる位置座標を (xA, y A)とし、オブジェクト OBに割り当てられる位置座標を (xB, yB)として説明する。 Here, a description will be given of position information transmission processing when the client apparatus 1A transmits to the server apparatus 2 a position information packet related to an OA outside the boss assigned to the client apparatus 1A. FIG. 12 is a flowchart showing the operation flow of the position information transmission process. In the following description, the position coordinates assigned to the object OA will be described as (xA, yA), and the position coordinates assigned to the object OB will be described as (xB, yB).
[0076] クライアント装置 1Aのメイン CPU64Aは、コントローラ 20Aにおけるユーザの操作 に応じて、所定の単位時間毎に検出され出力された操作信号がコントローラ 20Aか ら送信されると、送信された操作信号に応じて、オブジェクト OAの位置座標と、速度 ベクトルとを検出する。また、メイン CPU64Aは、カウンタ 640Aから出力された終了 信号を検出する度に (ステップ S 20 : YES)、当該時刻(以下、検出時刻という) TAdt と、オブジェクト OAの位置座標(xA, yA)と、速度ベクトル (VxA, VyA)とを検出す る。そして、検出時刻 TAdtと、位置座標(xA, yA)と、速度ベクトル (VxA, VyA)と 、当該クライアント装置 1Aに割り当てられた管理 IDとを含む位置情報パケットを生成 し、これをサーバ装置 2に送信する(ステップ S21)。例えば、図 13に示されるようなフ ォーマットの位置情報パケットを送信する。  [0076] When the operation signal detected and output every predetermined unit time is transmitted from the controller 20A according to the operation of the user in the controller 20A, the main CPU 64A of the client device 1A receives the transmitted operation signal. In response, the position coordinates of the object OA and the velocity vector are detected. In addition, every time the main CPU 64A detects the end signal output from the counter 640A (step S20: YES), the main time (hereinafter referred to as detection time) TAdt and the position coordinates (xA, yA) of the object OA , Velocity vector (VxA, VyA) is detected. Then, a position information packet including the detection time TAdt, the position coordinates (xA, yA), the velocity vector (VxA, VyA), and the management ID assigned to the client apparatus 1A is generated, and this is generated as a server apparatus 2 (Step S21). For example, a position information packet in a format as shown in FIG. 13 is transmitted.
[0077] また、メイン CPU64Aは、上述の検出時刻 TAdt,位置座標 (xA, yA),速度べタト ル (VxA, VyA)をオブジェクト OAと対応付けてオブジェクト管理テーブル 650Aに 記憶させる。  Further, the main CPU 64A stores the above-described detection time TAdt, position coordinates (xA, yA), and velocity vector (VxA, VyA) in the object management table 650A in association with the object OA.
[0078] クライアント装置 1Bが当該クライアント装置 1Bに対して割り当てられたオブジェクト OBに関する位置情報パケットをサーバ装置 2に送信する場合も上記説明と略同様 であるため、その説明を省略する。  [0078] The case where the client apparatus 1B transmits a position information packet related to the object OB assigned to the client apparatus 1B to the server apparatus 2 is substantially the same as described above, and thus the description thereof is omitted.
[0079] <位置算出処理 >  [0079] <Position calculation process>
続いて、サーバ装置 2の CPU20Sが行う位置情報中継処理について説明する。図 14は、位置情報中継処理の流れを示すフローチャートである。  Next, the position information relay process performed by the CPU 20S of the server device 2 will be described. FIG. 14 is a flowchart showing the flow of position information relay processing.
[0080] 図 14に示されるように、サーバ装置 2の CPU20Sは、クライアント装置 1 Aから送信 された位置情報パケットを受信すると (ステップ S40 :YES)、これを当該クライアント装 置 1A以外の他のクライアント装置へ送信する(ステップ S41)。具体的には、 CPU20 Sは、 HD23Sに記憶された管理テーブル 230を参照して、当該位置情報パケットに 含まれる管理 ID以外の管理 IDが割り当てられた全てのクライアント装置 (ここでは、ク ライアント装置 1Bである)へ当該位置情報パケットを送信する。  [0080] As shown in FIG. 14, when the CPU 20S of the server device 2 receives the position information packet transmitted from the client device 1A (step S40: YES), it receives it from other client devices 1A. Transmit to the client device (step S41). Specifically, the CPU 20 S refers to the management table 230 stored in the HD 23 S, and all the client devices (here, the client device) to which a management ID other than the management ID included in the position information packet is assigned. 1B), the position information packet is transmitted.
[0081] 次に、クライアント装置 1Aから送信された後サーバ装置 2から送信された位置情報 パケットをクライアント装置 IBが受信し、位置算出処理を行う場合について説明する 。図 15は、位置算出処理の流れを示すフローチャートである。 Next, the position information transmitted from the server apparatus 2 after being transmitted from the client apparatus 1A A case where the client apparatus IB receives a packet and performs position calculation processing will be described. FIG. 15 is a flowchart showing the flow of the position calculation process.
[0082] クライアント装置 1Bのメイン CPU64Bは、サーバ装置 2から送信された位置情報パ ケットを受信すると (ステップ S60 : YES)、メインメモリ 65Bに記憶されているオブジェ タト管理テーブル 650Bを参照して、当該位置情報パケットに含まれる管理 IDに対応 するオブジェクトを特定する。ここで特定されるオブジェクトは、クライアント装置 1 Aに 対応するオブジェクト OAとする。次いで、当該位置情報パケットに含まれる位置座標 、速度ベクトル及び検出時刻とを当該管理 IDと対応付けてオブジェクト管理テープ ル 650Bに各々記憶させる。また、メイン CPU64Bは、カウンタ 640Bで計測される値 に基づいて、当該位置座標パケットを受信した受信時刻 Trvを得て、これをオブジェ タト管理テーブル 650Bに記憶させる。次いで、メイン CPU64Bは、オブジェクト管理 テーブル 650Bに記憶させた受信時刻 Trv、位置情報パケットに含まれる位置座標 ( xA, yA)、速度ベクトル (VxA, VyA)、検出時刻 Tdtを用いて、当該受信時刻にお けるオブジェクト OAの位置座標 (xAi, yAi)を算出式 (4) , (5)により算出する (ステ ップ S61)。 [0082] When the main CPU 64B of the client device 1B receives the position information packet transmitted from the server device 2 (step S60: YES), the main CPU 64B refers to the object management table 650B stored in the main memory 65B. The object corresponding to the management ID included in the location information packet is specified. The object specified here is an object OA corresponding to the client device 1A. Next, the position coordinates, velocity vector, and detection time included in the position information packet are stored in the object management table 650B in association with the management ID. Further, the main CPU 64B obtains the reception time Trv at which the position coordinate packet is received based on the value measured by the counter 640B, and stores it in the object management table 650B. Next, the main CPU 64B uses the reception time Trv stored in the object management table 650B, the position coordinates (xA, yA), the velocity vector (VxA, VyA) included in the position information packet, and the detection time Tdt to determine the reception time. The position coordinates (xAi, yAi) of the object OA are calculated using the calculation formulas (4) and (5) (step S61).
[0083] xAi= (Trv— Tdt) X VAx +xA (4)  [0083] xAi = (Trv— Tdt) X VAx + xA (4)
yAi= (Trv— Tdt) XVAy+yA (5)  yAi = (Trv— Tdt) XVAy + yA (5)
そして、算出した位置座標 (xAi, yAi)をメインメモリ 65Bに記憶されているオブジェ タト管理テーブル 650Bに初期座標として記憶させる。  Then, the calculated position coordinates (xAi, yAi) are stored as initial coordinates in the object management table 650B stored in the main memory 65B.
[0084] 続!、て、メイン CPU64Bは、カウンタ 640Bで計測される値に基づ!/、て、描画時刻 が到来した力否かを判定し (ステップ S62)、当該判定結果が肯定的である場合 (ステ ップ S62 : YES)、オブジェクト管理テーブル 650Bを参照し、当該オブジェクト管理テ 一ブル 650Bに記憶されている全てのオブジェクトについて、時刻 Trnにおける各ォ ブジエタトの位置座標を算出する。ここでは、オブジェクト管理テーブル 650Bに記憶 されているオブジェクトは、オブジェクト OA, OBである。オブジェクト OAの位置座標 (xArn, yArn)については、オブジェクト管理テーブル 650Bに記憶されている速度 ベクトル、検出時刻、初期座標、当該描画時刻を用いて、算式 (6) , (7)により算出 する。 [0085] xArn= (Trn— Trv) XVxA+xAi (6) [0084] Next, the main CPU 64B determines whether or not the drawing time has arrived based on the value measured by the counter 640B (step S62), and the determination result is affirmative. If there is any (step S62: YES), the object management table 650B is referred to, and the position coordinates of each object at the time Trn are calculated for all objects stored in the object management table 650B. Here, the objects stored in the object management table 650B are the objects OA and OB. The position coordinates (xArn, yArn) of the object OA are calculated by equations (6) and (7) using the velocity vector, the detection time, the initial coordinates, and the drawing time stored in the object management table 650B. [0085] xArn = (Trn— Trv) XVxA + xAi (6)
yArn= (Trn— Trv) XVyA+yAi (7)  yArn = (Trn— Trv) XVyA + yAi (7)
また、当該クライアント装置 IBに対応するオブジェクト OBについては、オブジェクト 管理テーブル 650Bに記憶されている位置座標、速度ベクトル、検出時刻、上述の 描画時刻を用いて、当該描画時刻における位置座標を算出する。  For the object OB corresponding to the client device IB, the position coordinate at the drawing time is calculated using the position coordinate, velocity vector, detection time, and the above drawing time stored in the object management table 650B.
[0086] 次いで、メイン CPU64Bは、ステップ S61において算出した各位置座標を用いて、 各オブジェクトを含むゲーム画像を描画する命令を GPU68Bに対して行う(ステップ S63)。この描画命令に従って、ここでは、 GPU68Bがオブジェクト OA及びオブジェ タト OBを含むゲーム画像をフレームメモリ 67Bに描画し、描画された画像に基づ!/、て CRTC69が映像信号を生成して、これをモニタ装置 10Bのスクリーン 11Bに供給す る。この結果、スクリーン 11Bには、図 2に示されるようなゲーム画像 Gが表示される。  [0086] Next, the main CPU 64B uses the position coordinates calculated in step S61 to issue an instruction to the GPU 68B to draw a game image including each object (step S63). According to this drawing command, GPU68B draws a game image including object OA and object OB in frame memory 67B, and CRTC69 generates a video signal based on the drawn image! Supply to screen 11B of monitor device 10B. As a result, a game image G as shown in FIG. 2 is displayed on the screen 11B.
[0087] 以上のようにして、クライアント装置 1Bのメイン CPU64Bは、サーバ装置 2から位置 情報パケットを受信する度に、位置算出処理を行い、所定の時間毎に描画処理を行  [0087] As described above, the main CPU 64B of the client apparatus 1B performs the position calculation process every time it receives the position information packet from the server apparatus 2, and performs the drawing process at every predetermined time.
[0088] クライアント装置 1Aも、サーバ装置 2から送信された位置情報パケットを受信すると 、上述と同様にして、他のクライアント装置に対応するオブジェクト (ここでは、クライア ント装置 1Bに対応するオブジェクト OBである)に対し、位置算出処理を行い、所定の 時間毎に描画処理を行う。そして、例えば、上述のクライアント装置 1Bにおいて描画 処理が行われた時刻と同時刻にクライアント装置 1 Aにお ヽて描画処理が行われた 場合、スクリーン 11Bと同様にスクリーン 11Aにも、図 2に示されるようなゲーム画像 G が表示される。即ち、上述の構成により、同時刻において、スクリーン 11A及びスクリ ーン 11Bに表示され得るオブジェクト OA及びオブジェクト OBの各位置が略同一とな る。 [0088] Upon receiving the position information packet transmitted from the server device 2, the client device 1A also receives an object corresponding to another client device (in this case, an object OB corresponding to the client device 1B). For some), position calculation processing is performed, and drawing processing is performed every predetermined time. For example, when the drawing process is performed on the client apparatus 1A at the same time as the drawing process is performed on the client apparatus 1B described above, the screen 11A as well as the screen 11B is illustrated in FIG. A game image G as shown is displayed. That is, with the above-described configuration, the positions of the object OA and the object OB that can be displayed on the screen 11A and the screen 11B at the same time are substantially the same.
[0089] 以上のようにして位置ずれを低減させることにより、ユーザに違和感の少ないゲー ム画像を提供することができ、ユーザの利便性を向上させることができる。  [0089] By reducing the displacement as described above, it is possible to provide the user with a game image with a little uncomfortable feeling, and to improve the convenience for the user.
[0090] また、各クライアント装置 1A, 1Bにおいて、上述の時刻情報処理が行われて各々 における時刻をサーバ装置 2における時刻と同期させて、各クライアント装置 1A, 1B における各時刻を同期させることにより、各装置において計測される時刻のずれによ つて生じる位置ずれを低減させることができる。この結果、ユーザの利便性を更に向 上させることができる。 [0090] Further, in each client device 1A, 1B, the above time information processing is performed, and the time in each is synchronized with the time in server device 2, so that each time in each client device 1A, 1B is synchronized. , Due to time lag measured in each device Therefore, the positional deviation that occurs can be reduced. As a result, user convenience can be further improved.
実施例 2  Example 2
[0091] 上述の第 1実施例においては、サーバ装置 2がクライアント装置 1Aとクライアント装 置 1Bとの通信を仲介する構成とした。本実施例においては、サーバ装置 2を介さず、 複数のクライアント装置 1C, ID, 1Eが各々と P2P (peer-to-peer)で通信する構成に ついて説明する。以下、上記第 1実施例と共通する部分については、その説明を省 略したり、同一の符号を使用して説明したりする。  In the first embodiment described above, the server apparatus 2 is configured to mediate communication between the client apparatus 1A and the client apparatus 1B. In the present embodiment, a configuration in which a plurality of client devices 1C, ID, and 1E communicate with each other by P2P (peer-to-peer) without using the server device 2 will be described. Hereinafter, the description of the parts common to the first embodiment will be omitted, or the description will be made using the same reference numerals.
[0092] (1)構成  [0092] (1) Configuration
<ネットワークゲームシステムの構成 >  <Network game system configuration>
図 16に示されるように、ネットワークゲームシステム^ では、クライアント装置 1C, ID, 1Eがフルメッシュで接続される。これにより、ネットワークを構成し、各々パケット 通信を行う。  As shown in FIG. 16, in the network game system ^, the client devices 1C, ID, and 1E are connected in a full mesh. As a result, a network is constructed and each packet communication is performed.
[0093] <クライアント装置の内部回路構成 >  <Internal circuit configuration of client device>
次に、クライアント装置 1の内部回路構成のうち、上述の第 1実施例と異なる部分に ついて説明する。尚、クライアント装置 1C, ID, 1Eについて、区別して記載する必 要がない場合には、単に、クライアント装置 1と記載する。また、各装置を区別して記 載する必要があり、以下の各構成要素について区別して記載する必要がある場合に は、各々符号の後ろに C, D又は Eを付記する。  Next, differences in the internal circuit configuration of the client device 1 from the above-described first embodiment will be described. Note that the client device 1C, ID, and 1E are simply referred to as the client device 1 when it is not necessary to distinguish between them. In addition, each device must be described separately. If it is necessary to distinguish between the following components, add C, D, or E after each symbol.
[0094] メインメモリ 65には、例えば図 17に示されるように、上述の第 1実施例においてサ ーバ装置 2の HD23Sに記憶された管理テーブル 230と同様の管理テーブル 651が 記憶される。尚、ここでは、クライアント装置 1C, ID, 1Eには各々、オブジェクト IDが "OC", "OD", "OE"のオブジェクトが割り当てられているものとする。  For example, as shown in FIG. 17, the main memory 65 stores a management table 651 similar to the management table 230 stored in the HD 23S of the server device 2 in the first embodiment described above. Here, it is assumed that objects having object IDs “OC”, “OD”, and “OE” are assigned to the client apparatuses 1C, ID, and 1E, respectively.
[0095] また、クライアント装置 1のメインメモリ 65には、上述の第 1実施例と同様のオブジェ タト管理テーブル 650が記憶される。これらは、例えば、クライアント装置 1Cには、図 18に示されるようなオブジェクト管理テーブル 650Cが記憶されている。  In addition, the main memory 65 of the client device 1 stores an object management table 650 similar to that in the first embodiment described above. For example, an object management table 650C as shown in FIG. 18 is stored in the client device 1C.
また、 ROM70には、他のクライアント装置と通信を行うための機能と、ネットワーク ゲームを実行するためのセッションを生成する機能と、生成されたセッションに参加し 、ネットワークゲームに参加する機能と、セッション生成機能とを実現させるためのプ ログラムが記憶されている。本実施例においては、クライアント装置 1C, ID, 1Eのう ちいずれか 1つのクライアント装置力 ネットワークゲームを実行するためのセッション を最初に生成し、セッションの管理を行う。例えば、システム管理情報や、セッション に参加する全てのクライアント装置 1に送信される情報の管理などを行う。このような 処理を行うクライアント装置を、以下、ホストという。また、ホスト以外のクライアント装置 は、既に生成されたセッションに参加することにより、ネットワークゲームに参加する。 The ROM 70 also has a function for communicating with other client devices, a function for generating a session for executing a network game, and a participation in the generated session. In addition, a program for realizing a function of participating in a network game and a session generation function is stored. In the present embodiment, one of the client devices 1C, ID, and 1E is first created a session for executing the network game of client devices, and the session is managed. For example, it manages system management information and information transmitted to all client devices 1 participating in the session. A client device that performs such processing is hereinafter referred to as a host. Further, the client devices other than the host participate in the network game by participating in the already generated session.
[0096] 更に、 ROM70には、上述の第 1実施例における時刻補正機能及び上述の第 1実 施例においてサーバ装置 2が有する時刻情報送信機能と、第 2位置情報送信機能と 、上述の第 1実施例における位置算出機能とを実現させるための各種プログラムが 記憶されている。 Furthermore, the ROM 70 includes the time correction function in the first embodiment described above, the time information transmission function included in the server device 2 in the first embodiment described above, the second position information transmission function, and the above-described first function. Various programs for realizing the position calculation function in one embodiment are stored.
[0097] ここで、時刻補正機能及び時刻情報送信機能と、第 2位置情報送信機能とにつ ヽ て上述の第 1実施例と異なる部分について説明する。  Here, the time correction function, the time information transmission function, and the second position information transmission function will be described with respect to differences from the first embodiment.
[0098] <時刻補正機能及び時刻情報送信機能 >  [0098] <Time correction function and time information transmission function>
本実施例においては、上述の第 1実施例で説明した時刻情報処理において、クラ イアント装置 1C, ID, 1Eのうちいずれ力 1つのクライアント装置力 ホストとして上述 のサーバ装置 2の役割を果たし、時刻情報送信処理を行う。ホストは、時刻情報処理 を行わない。ホスト以外のクライアント装置は、時刻情報処理を行い、時刻補正バケツ トをホストへ送信する。  In this embodiment, in the time information processing described in the first embodiment, the client device 1C, ID, or 1E is one of the client device forces. Performs information transmission processing. The host does not perform time information processing. A client device other than the host performs time information processing and transmits a time correction bucket to the host.
[0099] 各クライアント装置 1C, ID, 1Eは、以上のような時刻補正機能及び時刻情報送信 機能を各々有する。  Each client device 1C, ID, 1E has a time correction function and a time information transmission function as described above.
[0100] <第 2位置情報送信機能 > [0100] <Second location information transmission function>
本実施例においては、クライアント装置 1は、自装置に割り当てられたオブジェクト の位置情報パケットを、ネットワークゲームに参加する他の全てのクライアント装置に 送信する。具体的には、管理テーブル 651に登録されている自装置以外の全てのク ライアント装置に送信する。  In the present embodiment, the client device 1 transmits the position information packet of the object assigned to the own device to all other client devices participating in the network game. Specifically, the message is transmitted to all client apparatuses other than the own apparatus registered in the management table 651.
[0101] 各クライアント装置 1C, ID, 1Eは、以上のような第 2位置情報送信機能を各々有 する。 [0102] (2)動作 [0101] Each client device 1C, ID, and 1E has the second position information transmission function as described above. [0102] (2) Operation
次に、本実施例に係る動作について説明する。  Next, an operation according to the present embodiment will be described.
[0103] 尚、クライアント装置 1の図示しない電源が投入され、 ROM70に記憶されたォペレ ーシヨンシステムなどのプログラム力 Sメイン CPU64によってメインメモリ 65に読み出さ れて実行され、ユーザによってそれぞれ指示が入力されることにより、 ROM70や光 ディスク 72からメインメモリ 65に読み出された各種プログラムカ^ィン CPU64によつ て実行され、上述の構成欄で述べた各種機能が実現される。  [0103] Note that the client device 1 is powered on (not shown), and the program power of the operation system or the like stored in the ROM 70 is read and executed by the main CPU 64 into the main memory 65, and each instruction is input by the user. As a result, the various program coins CPU 64 read out from the ROM 70 or the optical disk 72 to the main memory 65 execute the various functions described in the above-mentioned configuration section.
[0104] 本実施例においては、クライアント装置 1Cがネットワークゲームを実行するための セッションを最初に生成し、ホストとなるものとする。  In this embodiment, it is assumed that the client device 1C first generates a session for executing a network game and becomes a host.
[0105] まず、クライアント装置 1Cのユーザ力 クライアント装置 1Cに接続されたコントロー ラ 20Cを操作して、ネットワークゲームの開始を指示すると、メイン CPU64Cは、当該 操作に応じて、当該ネットワークゲームに対するゲームプログラムを ROM70C力 メ インメモリ 65Cに読み出し、これを実行する。そして、ネットワークゲームを実行するた めのセッションを生成する。そして、当該クライアント装置 1Cに対応する管理 IDを割り 当てる。更に、当該ネットワークゲームのゲーム画像において表されるオブジェクトに ついて、当該クライアント装置 1Cに対応するオブジェクトを割り当てる。そして、当該 オブジェクトに対応するオブジェクト IDと、当該クライアント装置 1に対応する管理 ID とを管理テーブル 651に記憶させる。そして、他のクライアント装置 (ここでは、クライ アント装置 ID, 1Eである)がセッションに参加するのを待機する。即ち、上述の第 1 実施例で説明した参加要求パケットがクライアント装置 ID, 1Eから送信されるのを待 機する。  First, when the user power of the client device 1C is operated to operate the controller 20C connected to the client device 1C to instruct the start of the network game, the main CPU 64C responds to the operation with a game program for the network game. Is read into ROM70C main memory 65C and executed. Then, a session for executing the network game is generated. Then, a management ID corresponding to the client device 1C is assigned. Furthermore, an object corresponding to the client device 1C is assigned to the object represented in the game image of the network game. Then, the object ID corresponding to the object and the management ID corresponding to the client device 1 are stored in the management table 651. Then, it waits for another client device (here, client device ID, 1E) to participate in the session. That is, it waits for the participation request packet described in the first embodiment to be transmitted from the client apparatus ID 1E.
[0106] ここで、例えば、クライアント装置 1Dのユーザ力 クライアント装置 1Dに接続された コントローラ 20Dを操作して、ネットワークゲームの開始を指示すると共に、クライアン ト装置 1Cが生成したセッションへの参加を指示すると、メイン CPU64Dは、当該操作 に応じて、当該ネットワークゲームに対するゲームプログラムを ROM70D力 メインメ モリ 65Dに読み出し、これを実行する。そして、メイン CPU64Dは、クライアント装置 1 Cに対して参加要求パケットを送信する。  Here, for example, the user power of the client device 1D operates the controller 20D connected to the client device 1D to instruct to start the network game and to instruct to participate in the session generated by the client device 1C. Then, in response to the operation, the main CPU 64D reads out the game program for the network game to the ROM 70D power main memory 65D and executes it. Then, the main CPU 64D transmits a participation request packet to the client device 1C.
[0107] 次いで、クライアント装置 1Cのメイン CPU64Cは、クライアント装置 1D力 送信され た参加要求パケットを受信すると、上述の第 1実施例におけるサーバ装置 2と同様に して、応答パケットを生成しこれをクライアント装置 1Dに送信する。 [0107] Next, the main CPU 64C of the client device 1C is transmitted to the client device 1D. When the participation request packet is received, a response packet is generated and transmitted to the client apparatus 1D in the same manner as the server apparatus 2 in the first embodiment described above.
[0108] 続いて、クライアント装置 1Dのメイン CPU64Dは、クライアント装置 1Cから送信され た応答パケットを受信すると、以下の時刻情報処理を行う。このとき、クライアント装置Subsequently, when the main CPU 64D of the client device 1D receives the response packet transmitted from the client device 1C, it performs the following time information processing. At this time, the client device
1Cは、上述で説明したホストとなり、時刻情報送信処理を行う。 1C becomes the host described above and performs time information transmission processing.
[0109] 尚、クライアント装置 1Eがセッションに参加する場合も上述と同様の処理を行い、以 下の時刻情報処理を行う。 Note that the same processing as described above is performed when the client device 1E participates in a session, and the following time information processing is performed.
[0110] <時刻情報処理 > [0110] <Time information processing>
クライアント装置 1Dのメイン CPU64Dは、カウンタ 640Dが計測した値に基づき、 上述の第 1実施例と同様にして、送信時刻 T1をセットした時刻補正パケットをクライア ント装置 1Cに送信する。  Based on the value measured by the counter 640D, the main CPU 64D of the client apparatus 1D transmits a time correction packet in which the transmission time T1 is set to the client apparatus 1C in the same manner as in the first embodiment described above.
[0111] 一方、クライアント装置 1Cのメイン CPU64Cは、クライアント装置 1D力 送信された 時刻補正パケットを受信すると、当該受信時刻 T2と、当該時刻補正パケットを返信す る返信時刻 T3とを当該時刻補正パケットに加えて、これをクライアント装置 1Dに送信 する。 [0111] On the other hand, when the main CPU 64C of the client device 1C receives the time correction packet transmitted from the client device 1D, the main CPU 64C sets the reception time T2 and the return time T3 to return the time correction packet to the time correction packet. In addition to this, this is transmitted to the client device 1D.
[0112] クライアント装置 1Dのメイン CPU64Dは、クライアント装置 1C力も送信された時刻 補正パケットを受信すると、当該時刻補正パケットを受信した受信時刻 T4と、受信し た時刻補正パケットに示される時刻 T1〜T3とを用いて、上述の第 1実施例と同様に して、クライアント装置 1Cとクライアント装置 1Dとの時刻差 Dを算出する。そして、算 出した時刻差に基づ 、て、クライアント装置 1Dのメイン CPU64Dのカウンタ 640Dに お!、て計測される現在時刻を補正する。  [0112] When the main CPU 64D of the client device 1D receives the time correction packet in which the client device 1C power is also transmitted, the reception time T4 when the time correction packet is received and the times T1 to T3 indicated in the received time correction packet Are used to calculate the time difference D between the client device 1C and the client device 1D in the same manner as in the first embodiment described above. Then, based on the calculated time difference, the current time measured by the counter 640D of the main CPU 64D of the client apparatus 1D is corrected.
[0113] クライアント装置 1Eについてもクライアント装置 1Dと同様に、クライアント装置 1Cに 時刻補正パケットを送信して時刻情報処理を行 、、メイン CPU64Dのカウンタ 640D において計測される値によって得られる現在時刻を補正する。  [0113] Similarly to client device 1D, client device 1E transmits a time correction packet to client device 1C to perform time information processing, and corrects the current time obtained from the value measured by counter 640D of main CPU 64D. To do.
[0114] <第 2位置情報送信処理 >  [0114] <Second location information transmission process>
次に、クライアント装置 1C, ID, 1Eとの間でゲームを開始し、クライアント装置 1C が当該クライアント装置 1 Cに対して割り当てられたオブジェクト OCに関する位置情 報パケットを他のクライアント装置 (ここでは、クライアント装置 ID, 1E)に送信する場 合の第 2位置情報送信処理について説明する。クライアント装置 1Dが自装置に対し て割り当てられたオブジェクト ODに関する位置情報パケットを他のクライアント装置 に送信する場合及びクライアント装置 1Eが自装置に対して割り当てられたオブジェク ト OEに関する位置情報パケットを他のクライアント装置に送信する場合についても以 下の説明と略同様であるため、その説明を省略する。 Next, a game is started with the client device 1C, ID, 1E, and the client device 1C transmits a position information packet related to the object OC assigned to the client device 1C to another client device (here, When sending to client device ID, 1E) The second position information transmission process will be described. When the client device 1D transmits a position information packet related to the object OD assigned to the own device to another client device, and the client device 1E sends another position information packet related to the object OE assigned to the own device to the other device. The case of transmission to the client device is also substantially the same as the following description, so the description is omitted.
[0115] 図 19は、本実施例に係る第 2位置情報送信処理の流れを示すフローチャートであ る。 FIG. 19 is a flowchart showing the flow of the second location information transmission process according to the present embodiment.
[0116] クライアント装置 1Cのメイン CPU64Cは、コントローラ 20Cにおけるユーザの操作 に対応する操作信号に応じて算出したオブジェ外 OCにっき、上述の第 1実施例と 同様に、カウンタ 640Cから出力された終了信号を検出する度に (ステップ S20 :YE S)、検出時刻 TCdtと、オブジェクト OCの表示位置を示す位置座標 (xC, yC)と、速 度ベクトル (VxC, VyC)とを検出し、検出した TCdtと、 (xC, yC)と、(VxC, VyC)と 、当該クライアント装置 1Cに対応する管理 IDとを含む位置情報パケットを生成し、こ れをクライアント装置 ID, 1Eに各々送信する (ステップ S22)。  [0116] The main CPU 64C of the client device 1C receives the end signal output from the counter 640C according to the OC outside the object calculated according to the operation signal corresponding to the user operation in the controller 20C, as in the first embodiment. Is detected (step S20: YES), the detection time TCdt, the position coordinates (xC, yC) indicating the display position of the object OC, and the velocity vector (VxC, VyC) are detected. And (xC, yC), (VxC, VyC), and a location information packet including the management ID corresponding to the client device 1C are generated and transmitted to the client device ID and 1E, respectively (step S22). ).
[0117] <位置算出処理 >  [0117] <Position calculation process>
一方、クライアント装置 ID, 1Eのメイン CPU64D, 64Eは、クライアント装置 1Cか ら送信された位置情報パケットを受信すると、上述の第 1実施例と同様に、図 15に示 されるステップ S61〜S63の位置算出処理及び描画処理を各々行う。  On the other hand, when receiving the position information packet transmitted from the client apparatus 1C, the main CPUs 64D and 64E of the client apparatus ID, 1E perform steps S61 to S63 shown in FIG. 15 as in the first embodiment described above. A position calculation process and a drawing process are performed.
[0118] クライアント装置 1Cのメイン CPU64C力 クライアント装置 ID, 1Eから送信された 位置情報パケットを受信した場合も同様である。  [0118] Main CPU 64C power of client device 1C The same applies when the location information packet transmitted from client device ID, 1E is received.
[0119] 以上の結果、例えば、上述のクライアント装置 1C, ID, 1Eにおいて同時刻に描画 処理が行われた場合、スクリーン 11C, 11D, 11Eには、図 20に示されるような同一 のゲーム画像 G'が表示される。即ち、上述の構成により、同時刻において、スクリー ン 11C, 11D, 11Eに各々表示され得るオブジェクト OC, OD, OEの各位置が略同 一となる。  As a result of the above, for example, when drawing processing is performed at the same time in the above-described client devices 1C, ID, 1E, the same game image as shown in FIG. 20 is displayed on the screens 11C, 11D, 11E. G 'is displayed. That is, with the above-described configuration, the positions of the objects OC, OD, and OE that can be displayed on the screens 11C, 11D, and 11E at the same time are substantially the same.
[0120] 以上のようにして、サーバ装置 2を介さず、ネットワークゲームに参加するクライアン ト装置同士が時刻補正パケット及び位置情報パケットを送受信することによって、位 置ずれを低減させることができる。 [0121] 尚、複数のクライアント装置 1が通信を行う場合の接続形態は、上述のようにフルメ ッシュ型ではなぐ他の接続形態であっても良い。また、インターネットやイントラネット 等の通信網を使用して接続する形態であっても良 、。 As described above, the positional deviation can be reduced by transmitting and receiving the time correction packet and the position information packet between the client apparatuses participating in the network game without using the server apparatus 2. [0121] It should be noted that the connection form in the case where a plurality of client apparatuses 1 perform communication may be other connection forms than the full-mesh type as described above. In addition, it may be connected using a communication network such as the Internet or an intranet.
[0122] また、ホストとなるクライアント装置 1の選定は、任意であっても良ぐ例えば乱数を 用いることにより行うように構成しても良いし、また、所定の方法によって行うように構 成しても良い。例えば、接続環境が一番良好なクライアント装置 1を選定するように構 成しても良い。接続環境については、例えば、クライアント装置 1が使用する伝送帯 域や回線速度等の接続環境に関する情報を予め登録しておき、この情報に基づい て、接続環境の優劣を所定の方法により決定する。これに基づいて、複数のクライア ント装置 1の接続環境を比較し、接続環境が一番良好なクライアント装置 1を選定す るように構成しても良い。  [0122] Further, the selection of the client device 1 serving as a host may be arbitrary, for example, may be performed by using a random number, or may be performed by a predetermined method. May be. For example, the client device 1 having the best connection environment may be selected. As for the connection environment, for example, information related to the connection environment such as the transmission band and the line speed used by the client device 1 is registered in advance, and the superiority or inferiority of the connection environment is determined by a predetermined method based on this information. Based on this, the connection environments of a plurality of client devices 1 may be compared, and the client device 1 with the best connection environment may be selected.
[0123] <変形例 1 >  [0123] <Modification 1>
上述の各実施例においては、クライアント装置 1は、時刻情報処理、位置情報送信 処理、位置算出処理及び描画処理を各々所定の時間毎に行うように構成した。各処 理を行う時間間隔は、同一であっても又は同一でなくても良いし、各々処理を行うタ イミングは、同一であっても又は同一でなくても良い。  In each of the above-described embodiments, the client device 1 is configured to perform time information processing, position information transmission processing, position calculation processing, and drawing processing every predetermined time. The time interval for performing each process may or may not be the same, and the timing for performing each process may or may not be the same.
[0124] また、時刻情報処理において、クライアント装置 1のメイン CPU64に備わる図示しな いクロックに応じて、クライアント装置 1が時刻補正パケットを送信し、時刻を補正する 時間間隔を設定するようにしても良 ヽ。  [0124] In the time information processing, the client device 1 transmits a time correction packet in accordance with a clock (not shown) provided in the main CPU 64 of the client device 1, and sets a time interval for correcting the time. Also good.
[0125] また、クライアント装置 1のメイン CPU64の内部にカウンタ 640を備えるように構成し た力 これをメイン CPU64とは別に備える構成であっても良い。同様に、サーバ装置 2においても CPU20Sとは別にカウンタ 200を備える構成であっても良い。また、カウ ンタ 640, 200は、 CPU内部に備わるクロックの出力タイミングなどに応じて定期的に 数値をインクリメントするものであれば良 、。  Further, the power configured to include the counter 640 inside the main CPU 64 of the client device 1 may be configured to be provided separately from the main CPU 64. Similarly, the server device 2 may be configured to include the counter 200 separately from the CPU 20S. Counters 640 and 200 can be used as long as the values are incremented periodically according to the output timing of the clock provided in the CPU.
[0126] <変形例 2>  [0126] <Modification 2>
上述の各実施例においては、サーバ装置 2は、クライアント装置 1から送信された時 刻補正パケットを受信する受信時刻 T2と、時刻補正パケットを返信する返信時刻 T3 とは異なるように構成した。しかし、時刻補正パケットを受信すると同時に、これを受 信した受信時刻 T2を時刻補正パケットに加えて、この時刻補正パケットをクライアント 装置 1に送信するように構成しても良い。この場合、受信時刻 Τ2と、返信時刻 Τ3とが 同一であるとして、上述の算式(1)を用いて時刻差 Dを算出する。 In each of the above-described embodiments, the server device 2 is configured so that the reception time T2 for receiving the time correction packet transmitted from the client device 1 and the return time T3 for returning the time correction packet are different. However, this is received at the same time as the time correction packet is received. The received reception time T2 may be added to the time correction packet, and the time correction packet may be transmitted to the client device 1. In this case, assuming that the reception time Τ2 and the reply time Τ3 are the same, the time difference D is calculated using the above-described formula (1).
[0127] <変形例 3 > [0127] <Modification 3>
ゲーム画像に含まれるオブジェクトは、様々なキャラクタや、様々な動物、生物、植 物や、様々な物、又、手や足など人物や動物の一部の部分を表すものであっても良 い。  Objects included in the game image may represent various characters, various animals, creatures, plants, various objects, or parts of a person or animal such as hands or feet. .
[0128] また、上述の各実施例においては、クライアント装置 1に対応するオブジェクトを、予 め定められている複数のオブジェクトの中力も選択して割り当てる構成とした。しかし 、クライアント装置に対応するオブジェクトを、当該クライアント装置がネットワークゲー ムに参加する都度、任意の方法により生成するようにしても良い。  Further, in each of the above-described embodiments, an object corresponding to the client device 1 is configured to select and assign the intermediate forces of a plurality of predetermined objects. However, an object corresponding to the client device may be generated by an arbitrary method each time the client device participates in the network game.
[0129] また、上述の各実施例においては、オブジェクト OA, OBに対して割り当てられた 各々 1つの位置座標について説明した。し力し、オブジェクト OA, OBに対して各々 複数の位置座標が割り当てられていても良ぐこの場合、同時刻におけるこれらの複 数の位置座標を各々識別可能な状態で 1つの位置情報パケットに含めて送信するよ うに構成しても良い。また、オブジェクト OA, OBに対して各々複数の位置座標が割り 当てられている場合であっても、例えば、複数の位置座標のうち代表として予め設定 されている 1つの位置座標のみを位置情報パケットに含めて送信するように構成して も良い。そして、このような位置情報パケットを受信したクライアント装置 1は、この位置 情報パケットに含まれる代表の位置座標に基づき、位置座標に対する初期座標を算 出すると共に、当該位置座標の移動量を算出する。そして、算出した移動量に基づ き、他の複数の位置座標に対する各初期座標を算出するように構成しても良い。  [0129] Further, in each of the above-described embodiments, one position coordinate assigned to each of the objects OA and OB has been described. In this case, a plurality of position coordinates may be assigned to the objects OA and OB. In this case, a plurality of position coordinates at the same time can be identified in one position information packet. It may be configured to include and transmit. Even when a plurality of position coordinates are assigned to each of the objects OA and OB, for example, only one position coordinate set in advance as a representative of the plurality of position coordinates is used as the position information packet. It may be configured to be included in the transmission. Then, the client device 1 that has received such a position information packet calculates initial coordinates relative to the position coordinates based on the representative position coordinates included in the position information packet, and calculates a movement amount of the position coordinates. . Then, each initial coordinate for a plurality of other position coordinates may be calculated based on the calculated movement amount.
[0130] また、上述の各実施例においては、 1つのクライアント装置 1に対して 1つのォブジ ェクトを対応付ける構成とした。しかし、本発明においてはこれに限らず、複数のォブ ジェタトを対応付けるように構成しても良い。この場合、複数のオブジェクトの位置座 標について、同時刻に検出されたものを 1つの位置情報パケットに含めて送信しても 良い。又は、オブジェクト毎に別個の位置情報パケットを送信するようにしても良いし 、更に、オブジェクト毎に位置座標を検出するタイミングを異ならせ、各々位置情報パ ケットを送信するタイミングを異ならせるようにしても良 、。 In each of the above-described embodiments, one object is associated with one client device 1. However, the present invention is not limited to this, and a plurality of objects may be associated with each other. In this case, regarding the position coordinates of a plurality of objects, those detected at the same time may be included in one position information packet and transmitted. Alternatively, a separate position information packet may be transmitted for each object, and the position coordinate detection timing may be different for each object, and each position information packet may be transmitted. It is also possible to change the timing of sending the packet.
[0131] また、上述の実施例においては、 1つのオブジェクトにっき、 1つのクライアント装置 を静的に対応付けるように構成し、オブジェクトに対応付けられた 1つのクライアント装 置 1が当該オブジェクトを仮想空間内において移動させることができるように構成した 。しかし、本発明においてはこれに限らず、 1つのオブジェクトに対して複数のクライ アント装置 1を割り当て、各クライアント装置 1に接続されるコントローラ 20の操作に応 じて 1つのオブジェクトを移動させるように構成しても良い。この場合、オブジェクトをク ライアント装置 1に動的に対応付けるように構成しても良ぐ例えば、所定の時間毎に 、オブジェクトを移動表示させることができるクライアント装置 1を割り当て、各クライア ント装置 1は、所定の時間内においてのみオブジェクトを移動させることができるよう に構成しても良い。また、例えば、ある 1つのコントローラ 20において所定の操作が行 われたときに、当該コントローラ 20に接続されたクライアント装置 1が当該オブジェクト を移動させることができるように構成しても良 、。  [0131] In the above-described embodiment, one object is statically associated with one object, and one client device 1 associated with the object is associated with the object in the virtual space. It was configured to be able to move in. However, the present invention is not limited to this. A plurality of client devices 1 are assigned to one object, and one object is moved in accordance with the operation of the controller 20 connected to each client device 1. It may be configured. In this case, the object may be configured to be dynamically associated with the client device 1. For example, the client device 1 that can move and display the object is assigned at predetermined time intervals, and each client device 1 The object may be configured to move only within a predetermined time. Further, for example, when a predetermined operation is performed in a certain controller 20, the client device 1 connected to the controller 20 may be configured to move the object.
[0132] 上述の各実施例においては、クライアント装置 1は、定期的に、自装置に対応する オブジェクトの位置情報パケットを送信するように構成した。しかし、本発明において はこれに限らず、例えば、コントローラ 20から送信される操作信号に応じて検出され る速度ベクトルの値力 当該値が検出される直前に検出された値と異なる時だけ、位 置情報パケットを送信するように構成しても良 、。  In each of the embodiments described above, the client apparatus 1 is configured to periodically transmit the position information packet of the object corresponding to the own apparatus. However, the present invention is not limited to this. For example, the value of the velocity vector detected in accordance with the operation signal transmitted from the controller 20 is changed only when the value is different from the value detected immediately before the value is detected. It may be configured to transmit position information packets.
[0133] また、上述の各実施例においては、仮想空間を 2次元空間とし、この仮想空間に配 置されるオブジェクトの位置座標として 2次元座標を用いた。しかし、本発明において はこれに限らず、仮想空間は 1次元空間であっても 3次元以上の多次元空間であつ て良ぐ仮想空間に配置されるオブジェクトの位置座標は、 1次元座標であっても 3次 元以上の多次元座標であっても良い。  [0133] In each of the above-described embodiments, the virtual space is a two-dimensional space, and the two-dimensional coordinates are used as the position coordinates of the object placed in the virtual space. However, in the present invention, the present invention is not limited to this, and even if the virtual space is a one-dimensional space, the position coordinates of an object placed in a virtual space that is good in a three-dimensional or more multidimensional space are one-dimensional coordinates. Alternatively, it may be a multidimensional coordinate of 3 dimensions or more.
[0134] また、上述の各実施例において用いたクライアント装置 1に接続されるモニタ装置 1 0のスクリーン 11の大きさは、各モニタ装置 10全てにおいて同一である構成であって も良いし、各モニタ装置 10によって異なる構成であっても良い。  In addition, the size of the screen 11 of the monitor device 10 connected to the client device 1 used in each of the above-described embodiments may be the same in all the monitor devices 10. Different configurations may be used depending on the monitor device 10.
[0135] また、上述のように算出した各オブジェクトの仮想空間における位置座標を補正す ることなくゲーム画像を生成し、これをスクリーン 11に表示させるようにしても良!、し、 例えば、各位置座標をスクリーン 11の大きさに応じた値に補正し、補正した位置座標 を用いてゲーム画像を生成し、当該ゲーム画像を各スクリーン 11に表示させるように 構成しても良い。 [0135] In addition, a game image may be generated without correcting the position coordinates of each object calculated in the above-described manner and displayed on the screen 11! For example, each position coordinate may be corrected to a value corresponding to the size of the screen 11, a game image may be generated using the corrected position coordinate, and the game image may be displayed on each screen 11.
[0136] <変形例 4>  [0136] <Modification 4>
上述の各実施例においては、自装置に対応するオブジェクトの位置情報について も、オブジェクト管理テーブル 650に記憶させ、ステップ S63の描画処理において当 該オブジェクト管理テーブル 650を参照して、描画時刻における当該オブジェクトの 位置を算出するよう構成した。しかし、本発明においてはこれに限らず、当該ォブジ ェタトについては、例えば、ステップ S63の描画処理時に、コントローラ 20から操作信 号を取得し、当該操作信号に応じて検出される位置座標を取得し、これをオブジェク ト管理テーブル 650に記憶させることなぐ直ぐに描画処理を行うように構成しても良 い。  In each of the above-described embodiments, the position information of the object corresponding to the own device is also stored in the object management table 650, and the object at the drawing time is referred to by referring to the object management table 650 in the drawing process of step S63. It was configured to calculate the position of. However, the present invention is not limited to this. For the object, for example, during the rendering process in step S63, an operation signal is acquired from the controller 20, and the position coordinates detected in accordance with the operation signal are acquired. Alternatively, the drawing process may be performed immediately after the object is stored in the object management table 650.
[0137] <変形例 5 >  [0137] <Modification 5>
上述の各実施例において、ネットワークゲームに参加するクライアント装置 1の数を 増減させるように構成しても良い。そして、新たなクライアント装置が参加したり、参カロ して!/、たクライアント装置がネットワークから切断されたりする場合、その旨を示す情 報を、当該ネットワークゲームに参加する他のクライアント装置に送信するように構成 する。当該情報を受信したクライアント装置は、当該情報に基づいて、オブジェクト管 理テーブル 650に、新たに参加したクライアント装置に対応するオブジェクトの情報を 追加したり、ネットワーク力 切断されたクライアント装置に対応するオブジェクトの情 報を削除したりする。  In each of the above embodiments, the number of client devices 1 participating in the network game may be increased or decreased. When a new client device joins or joins and is disconnected from the network, information indicating that fact is sent to the other client devices participating in the network game. Configure to Based on the information, the client device that has received the information adds object information corresponding to the newly joined client device to the object management table 650, or the object corresponding to the client device that has been disconnected from the network. Or delete the information.
[0138] また、上述の第 2実施例において、ホストとなるクライアント装置 1がネットワークから 切断される場合、他のクライアント装置をホストに割り当てるように構成することが望ま しい。この場合、ホストとなっていたクライアント装置力 新たにホストとなるクライアント 装置に上述の管理テーブル 651に記憶された情報を送信するようにしても良!、。  [0138] In addition, in the second embodiment described above, when the client device 1 serving as the host is disconnected from the network, it is desirable that another client device be assigned to the host. In this case, it is also possible to send the information stored in the management table 651 to the client device that newly becomes the host.
[0139] 又は、クライアント装置がセッションに参加する際に、当該クライアント装置 1にホスト 力も管理テーブル 651に記憶されている全ての情報を送信し、当該セッションに参カロ する全てのクライアント装置が共通の管理テーブル 651を有するようにしても良い。 [0140] <変形例 6 > [0139] Alternatively, when a client device participates in a session, all information stored in the management table 651 is also transmitted to the client device 1 so that all client devices participating in the session share a common host power. A management table 651 may be provided. [0140] <Modification 6>
上述の実施例においては、コントローラ 20とクライアント装置 1とはケーブル 13を介 して接続され通信を行う構成とした。しかし、コントローラ 20とクライアント装置 1とはケ 一ブルを介さず、例えば Bluetooth (登録商標)などの通信方式によって無線通信を 行う構成でも良い。  In the embodiment described above, the controller 20 and the client device 1 are connected via the cable 13 to perform communication. However, the controller 20 and the client device 1 may be configured to perform wireless communication using a communication method such as Bluetooth (registered trademark) without using a cable.
[0141] また、各クライアント装置 1同士又は、クライアント装置 1とサーバ装置 2とが行う通信 についても、有線通信であっても良いし、無線通信であっても良い。  [0141] The communication performed between the client devices 1 or between the client device 1 and the server device 2 may be wired communication or wireless communication.
[0142] また、上述の実施例においては、コントローラ 20と、クライアント装置 1と、モニタ装 置 10とはそれぞれ別体で構成するようにした。しかし、クライアント装置 1と、コント口 ーラ 20と、モニタ装置 10のスクリーン 11とを一体的に形成するようにしても良い。  [0142] In the above-described embodiment, the controller 20, the client device 1, and the monitor device 10 are configured separately. However, the client device 1, the controller 20, and the screen 11 of the monitor device 10 may be integrally formed.
[0143] <変形例 7>  [Modification 7]
上述の各実施例においては、ネットワークゲームを行うシステムについて説明した。 しかし、本発明においてはこれに限らず、ネットワークに接続され所定のセッションに 参加するクライアント装置同士が、仮想空間を共有し、同時刻に共通の画像の一部 又は全部が表示され得るシステムであっても良 、。  In each of the above-described embodiments, a system for playing a network game has been described. However, the present invention is not limited to this, and is a system in which client devices connected to a network and participating in a predetermined session share a virtual space and can display part or all of a common image at the same time. OK.
[0144] <変形例 8 >  [0144] <Modification 8>
上述の実施例においては、各種プログラムは、クライアント装置 1の ROM70に記憶 されるように構成した。しかし、サブメモリ 74等他の記憶部に記憶されるように構成し ても良ぐまた、これらのプログラムの実行主体は、サブ CPU73であるように構成して も良い。また、上述の各実施例における時刻補正機能、位置情報処理機能は、 1つ のプログラムにより実現される構成であっても、複数のプログラムにより実現される構 成であっても良い。  In the above embodiment, the various programs are configured to be stored in the ROM 70 of the client device 1. However, it may be configured to be stored in another storage unit such as the sub memory 74, or the execution subject of these programs may be configured to be the sub CPU 73. In addition, the time correction function and the position information processing function in each of the above-described embodiments may be realized by a single program or may be realized by a plurality of programs.
[0145] 上述の各実施の形態の説明は本発明の一例である。このため、本発明は上述の各 実施の形態に限定されることはなく、本発明に係る技術的思想を逸脱しな ヽ範囲で あれば、上述の実施の形態以外であっても種々の変更が可能であることは勿論であ る。  [0145] The above description of each embodiment is an example of the present invention. For this reason, the present invention is not limited to each of the above-described embodiments, and various modifications can be made within the scope of the technical idea according to the present invention, even if other than the above-described embodiments. Of course, it is possible.
産業上の利用可能性  Industrial applicability
[0146] 本発明は、所定のネットワークに接続される少なくとも 2つの情報処理装置が仮想 空間を共有する情報処理システムに用いて好適である。 In the present invention, at least two information processing devices connected to a predetermined network are virtual It is suitable for use in an information processing system sharing a space.

Claims

請求の範囲 The scope of the claims
[1] 所定のネットワークに接続される第 1及び第 2の情報処理装置が共有する仮想空間 に 1又は複数の所定のオブジェクトを配置する情報処理システムであって、 前記所定のオブジェクトは、前記第 1の情報処理装置におけるユーザからの指示入 力に応じて前記仮想空間内を移動する第 1のオブジェクトを含み、  [1] An information processing system in which one or a plurality of predetermined objects are arranged in a virtual space shared by first and second information processing apparatuses connected to a predetermined network, wherein the predetermined objects are A first object that moves in the virtual space in response to an instruction input from a user in one information processing apparatus;
前記第 1の情報処理装置は、  The first information processing apparatus includes:
時刻を計測する第 1計時手段と、  A first time measuring means for measuring time;
ユーザからの指示入力に応じた指示信号が入力される第 1入力手段と、 前記第 1入力手段に入力された指示信号に基づき、前記第 1のオブジェクトの前記 仮想空間における位置及び移動速度を検出する第 1検出手段と、  First input means for receiving an instruction signal corresponding to an instruction input from a user, and detecting the position and moving speed of the first object in the virtual space based on the instruction signal input to the first input means First detecting means to perform,
前記第 1検出手段が前記第 1のオブジェクトの位置及び移動速度を検出した検出 時刻を前記第 1計時手段より取得し、当該検出時刻と前記第 1オブジェクトの位置及 び移動速度とを含む第 1位置情報を前記所定のネットワークを介して送信する第 1位 置情報送信手段とを備え、  A detection time at which the first detection means detects the position and movement speed of the first object is obtained from the first time measurement means, and a first time including the detection time and the position and movement speed of the first object. First position information transmitting means for transmitting position information via the predetermined network,
前記第 2の情報処理装置は、  The second information processing apparatus includes:
時刻を計測する第 2計時手段と、  A second timing means for measuring time;
前記所定のネットワークを介して前記第 1位置情報を受信する第 2位置情報受信手 段と、  A second location information receiving means for receiving the first location information via the predetermined network;
前記第 2位置情報受信手段が前記第 1位置情報を受信した受信時刻を前記第 2計 時手段より取得し、当該受信時刻と当該第 1位置情報とを用いて、当該受信時刻に おける前記第 1のオブジェ外の前記仮想空間における位置を算出する第 2位置算 出手段とを備える  The second position information receiving means obtains the reception time when the first position information is received from the second time measuring means, and uses the reception time and the first position information to obtain the first time at the reception time. A second position calculating means for calculating a position in the virtual space outside the one object.
ことを特徴とする情報処理システム。  An information processing system characterized by this.
[2] 前記所定のオブジェクトは、前記第 1のオブジェクトを複数含み、 [2] The predetermined object includes a plurality of the first objects,
前記第 1検出手段は、前記第 1入力手段に入力された指示信号に基づき、複数の 前記第 1のオブジェクトの前記仮想空間における各位置及び各移動速度を検出し、 前記第 1位置情報は、前記第 1検出手段が検出した複数の前記第 1のオブジェクト の各位置及び各移動速度と、これらが検出された検出時刻とを含む ことを特徴とする請求項 1に記載の情報処理システム。 The first detection means detects positions and movement speeds of the plurality of first objects in the virtual space based on an instruction signal input to the first input means, and the first position information is Each position and each moving speed of the plurality of first objects detected by the first detection means, and detection times when these were detected The information processing system according to claim 1, wherein:
[3] 前記第 1検出手段は、前記第 1のオブジェクトの移動方向を検出し、 [3] The first detection means detects a moving direction of the first object,
前記第 1位置情報は、前記第 1のオブジェクトの移動方向を含む  The first position information includes a moving direction of the first object.
ことを特徴とする請求項 1又は請求項 2に記載の情報処理システム。  The information processing system according to claim 1 or claim 2, wherein
[4] 前記所定のオブジェクトは、前記第 2の情報処理装置におけるユーザからの指示入 力に応じて前記仮想空間内を移動する第 2のオブジェクトを含み、 [4] The predetermined object includes a second object that moves in the virtual space in response to an instruction input from a user in the second information processing apparatus,
前記第 2の情報処理装置は、  The second information processing apparatus includes:
ユーザからの指示入力に応じた指示信号が入力される第 2入力手段と、 前記第 2入力手段に入力された指示信号に基づき、前記第 2のオブジェクトの前記 仮想空間における位置及び移動速度を検出する第 2検出手段と、  Second input means for receiving an instruction signal corresponding to an instruction input from a user, and detecting the position and moving speed of the second object in the virtual space based on the instruction signal input to the second input means Second detecting means for
前記第 2検出手段が前記第 2のオブジェクトの位置及び移動速度を検出した検出 時刻を前記第 2計時手段より取得し、当該検出時刻と前記第 2のオブジェクトの位置 及び移動速度とを含む第 2位置情報を前記所定のネットワークを介して送信する第 2 位置情報送信手段とを更に備え、  A detection time at which the second detection means detects the position and movement speed of the second object is acquired from the second time measurement means, and a second time including the detection time and the position and movement speed of the second object. Second location information transmission means for transmitting location information via the predetermined network,
前記第 1の情報処理装置は、  The first information processing apparatus includes:
前記所定のネットワークを介して送信された前記第 2位置情報を受信する第 1位置 情報受信手段と、  First position information receiving means for receiving the second position information transmitted via the predetermined network;
前記第 1位置情報受信手段が前記第 2位置情報を受信した受信時刻を前記第 1計 時手段より取得し、当該受信時刻と、当該第 2位置情報とを用いて、当該受信時刻に おける前記第 2のオブジェ外の前記仮想空間における位置を算出する第 1位置算 出手段とを更に備える  The first position information receiving means obtains the reception time when the second position information is received from the first time measuring means, and the reception time and the second position information are used to obtain the reception time at the reception time. A first position calculating means for calculating a position in the virtual space outside the second object.
ことを特徴とする請求項 1から請求項 3のうちいずれか一項に記載の情報処理シス テム。  The information processing system according to any one of claims 1 to 3, characterized in that:
[5] 前記第 2の情報処理装置は、前記第 2位置算出手段が算出した位置に基づいて前 記第 1のオブジェ外を配置した仮想空間を表す画像を描画する第 2描画手段を備え る  [5] The second information processing apparatus includes second drawing means for drawing an image representing a virtual space in which the outside of the first object is arranged based on the position calculated by the second position calculating means.
ことを特徴とする請求項 1から請求項 4のうちいずれか一項に記載の情報処理シス テム。 5. The information processing system according to claim 1, wherein the information processing system is any one of claims 1 to 4.
[6] 前記第 2の情報処理装置は、前記第 2検出手段が検出した位置に基づいて配置し た前記第 2のオブジェクトと、前記第 2位置算出手段が算出した位置に基づいて配置 した前記第 1のオブジェクトとを含む仮想空間を表す画像を描画する第 2描画手段を 備える [6] The second information processing apparatus is arranged based on the second object arranged based on the position detected by the second detecting means and the position calculated by the second position calculating means. A second rendering means for rendering an image representing a virtual space including the first object;
ことを特徴とする請求項 4に記載の情報処理システム。  The information processing system according to claim 4, wherein:
[7] 前記第 2の情報処理装置は、前記第 2位置情報受信手段が受信した前記第 1位置 情報と、前記第 2位置算出手段が取得した前記受信時刻と、前記第 2位置算出手段 が算出した前記受信時刻における前記位置とを記憶する第 2記憶手段を備え、 前記第 2位置算出手段は、前記第 2描画手段が前記画像を描画するとき、当該描 画時刻を前記第 2計時手段より取得し、当該描画時刻と、前記第 2記憶手段に記憶 された前記受信時刻と、前記受信時刻における前記位置及び前記第 1位置情報に 含まれる移動速度とを用いて、当該描画時刻における前記第 1のオブジェクトの位置 を算出する [7] In the second information processing apparatus, the first position information received by the second position information receiving unit, the reception time acquired by the second position calculating unit, and the second position calculating unit Second storage means for storing the calculated position at the reception time, and the second position calculation means, when the second drawing means draws the image, the drawing time when the second drawing means draws the image. Using the drawing time, the reception time stored in the second storage means, and the movement speed included in the position and the first position information at the reception time. Calculate the position of the first object
ことを特徴とする請求項 5又は請求項 6に記載の情報処理システム。  The information processing system according to claim 5 or claim 6, wherein:
[8] 前記第 2描画手段が描画した画像を表示する第 2表示手段を備える [8] Second display means for displaying the image drawn by the second drawing means is provided.
ことを特徴とする請求項 5から請求項 7のうちいずれか一項に記載の情報処理シス テム。  8. The information processing system according to claim 5, wherein the information processing system is any one of claims 5 to 7.
[9] 前記第 1の情報処理装置は、前記第 1検出手段が検出した位置に基づいて前記第 1のオブジェ外を配置した仮想空間を表す画像を描画する第 1描画手段を備える ことを特徴とする請求項 1から請求項 8のうちいずれか一項に記載の情報処理シス テム。  [9] The first information processing apparatus includes first drawing means for drawing an image representing a virtual space in which the outside of the first object is arranged based on the position detected by the first detection means. The information processing system according to any one of claims 1 to 8.
[10] 前記第 1の情報処理装置は、前記第 1検出手段が検出した位置に基づいて配置し た前記第 1のオブジェクトと、前記第 1位置算出手段が算出した位置に基づいて配置 した前記第 2のオブジェクトとを含む仮想空間を表す画像を描画する第 1描画手段を 備える  [10] The first information processing device is arranged based on the first object arranged based on the position detected by the first detecting means and the position calculated by the first position calculating means. First drawing means for drawing an image representing a virtual space including a second object is provided.
ことを特徴とする請求項 4に記載の情報処理システム。  The information processing system according to claim 4, wherein:
[11] 前記第 1の情報処理装置は、前記第 1位置情報受信手段が受信した前記第 2位置 情報と、前記第 1位置算出手段が取得した前記受信時刻と、前記第 1位置算出手段 が算出した前記受信時刻における前記位置とを記憶する第 1記憶手段を備え、 前記第 1位置算出手段は、前記第 1描画手段が前記画像を描画するとき、当該描 画時刻を前記第 1計時手段より取得し、当該描画時刻と、前記第 1記憶手段に記憶 された前記受信時刻と、前記受信時刻における前記位置及び前記第 2位置情報に 含まれる移動速度とを用いて、当該描画時刻における前記第 2のオブジェクトの位置 を算出する [11] The first information processing apparatus includes the second position information received by the first position information receiving unit, the reception time acquired by the first position calculating unit, and the first position calculating unit. And a first storage means for storing the position at the reception time calculated by the first position, and the first position calculation means, when the first drawing means draws the image, the drawing time as the first timekeeping. Using the drawing time, the reception time stored in the first storage means, and the moving speed included in the position and the second position information at the reception time. Calculate the position of the second object
ことを特徴とする請求項 10に記載の情報処理システム。  The information processing system according to claim 10.
[12] 前記第 1描画手段が描画した画像を表示する第 1表示手段を備える [12] First display means for displaying an image drawn by the first drawing means is provided.
ことを特徴とする請求項 9から請求項 11のうちいずれか一項に記載の記載の情報 処理システム。  12. The information processing system according to claim 9, wherein the information processing system is any one of claims 9 to 11.
[13] 前記第 1及び第 2の情報処理装置のうち一方の情報処理装置は、  [13] One of the first and second information processing devices is
送信時刻を示す第 1時刻情報を他方の情報処理装置へ送信する時刻情報送信手 段と、  A time information transmitting means for transmitting the first time information indicating the transmission time to the other information processing apparatus;
前記第 1時刻情報を受信した前記他方の情報処理装置から送信され、当該第 1時 刻情報と当該第 1時刻情報を受信した受信時刻を示す第 2時刻情報とを含む時刻返 信情報を受信する時刻情報受信手段と、  Time response information is transmitted from the other information processing apparatus that has received the first time information and includes the first time information and second time information indicating the reception time at which the first time information was received. Time information receiving means,
前記時刻情報受信手段が前記時刻返信情報を受信した受信時刻と、当該時刻返 信情報に含まれる第 1時刻情報及び第 2時刻情報が各々示す前記時刻とを用いて、 前記他方の情報処理装置との時刻差を算出し、算出した時刻差を用いて、当該一方 の情報処理装置の計時手段が計測する時刻を補正する時刻補正手段とを備え、 前記他方の情報処理装置は、  Using the reception time when the time information receiving means receives the time reply information and the time indicated by the first time information and the second time information included in the time reply information, the other information processing apparatus A time correction unit that corrects the time measured by the time measuring unit of the one information processing device using the calculated time difference, and the other information processing device includes:
前記一方の情報処理装置から送信された前記第 1時刻情報を受信したとき、当該 受信時刻を示す第 2時刻情報と、当該第 1時刻情報とを含む前記時刻返信情報を、 前記一方の情報処理装置に送信する時刻情報返信手段を備える  When the first time information transmitted from the one information processing apparatus is received, the second time information indicating the reception time and the time return information including the first time information Time information return means for transmitting to the device is provided
ことを特徴とする請求項 1から請求項 6のうちいずれか一項に記載の情報処理シス テム。  The information processing system according to any one of claims 1 to 6, wherein the information processing system is characterized in that:
[14] 前記時刻返信情報は、当該時刻返信情報を返信する返信時刻を示す第 3時刻情 報を含み、 前記時刻補正手段は、前記時刻情報受信手段が前記時刻返信情報を受信した受 信時刻と、当該時刻返信情報に含まれる第 1時刻情報、第 2時刻情報及び第 3時刻 情報が各々示す時刻とを用いて、前記他方の情報処理装置との時刻差を算出する ことを特徴とする請求項 8に記載の情報処理システム。 [14] The time reply information includes third time information indicating a reply time for replying the time reply information, The time correction means includes a reception time when the time information reception means receives the time reply information, and a time indicated by each of the first time information, the second time information, and the third time information included in the time reply information. The information processing system according to claim 8, wherein a time difference from the other information processing apparatus is calculated using.
[15] 所定のネットワークに接続されたサーバ装置を更に備え、 [15] It further comprises a server device connected to a predetermined network,
前記サーバ装置は、前記第 1の情報処理装置から送信された前記第 1位置情報を 前記第 2の情報処理装置に送信する位置情報中継手段を備える  The server device includes position information relay means for transmitting the first position information transmitted from the first information processing apparatus to the second information processing apparatus.
ことを特徴とする請求項 1から請求項 14のうちいずれか一項に記載の情報処理シ ステム。  15. The information processing system according to claim 1, wherein the information processing system is any one of claims 1 to 14.
[16] 所定のネットワークに接続されたサーバ装置を更に備え、  [16] A server device connected to a predetermined network is further provided,
前記サーバ装置は、前記第 2の情報処理装置から送信された前記第 2位置情報を 前記第 1の情報処理装置に送信する位置情報中継手段を備える  The server device includes position information relay means for transmitting the second position information transmitted from the second information processing apparatus to the first information processing apparatus.
ことを特徴とする請求項 4、請求項 6、請求項 10、及び請求項 11のうちいずれか一 項に記載の情報処理システム。  12. The information processing system according to claim 4, wherein the information processing system is any one of claims 4, 6, 10, and 11.
[17] 前記第 1及び第 2の情報処理装置のうち少なくとも 1つの情報処理装置は、 [17] At least one information processing device of the first and second information processing devices is:
送信時刻を示す第 1時刻情報を前記サーバ装置へ送信する第 1時刻情報送信手 段と、  A first time information transmitting means for transmitting first time information indicating a transmission time to the server device;
前記第 1時刻情報を受信した前記サーバ装置から送信され、当該第 1時刻情報と 当該第 1時刻情報を受信した時刻を示す第 2時刻情報とを含む時刻返信情報を受 信する時刻情報受信手段と、  Time information receiving means for receiving time reply information that is transmitted from the server device that has received the first time information and includes the first time information and second time information indicating the time at which the first time information is received. When,
前記時刻情報受信手段が前記時刻返信情報を受信した受信時刻と、当該時刻返 信情報に含まれる第 1時刻情報及び第 2時刻情報が各々示す前記時刻とを用いて、 前記サーバ装置との時刻差を算出し、算出した時刻差を用いて、当該情報処理装置 の計時手段が計測する時刻を補正する時刻補正手段とを備え、  Using the reception time when the time information receiving means receives the time reply information and the times indicated by the first time information and the second time information included in the time reply information, the time with the server device A time correction unit that calculates a difference and corrects the time measured by the time measuring unit of the information processing apparatus using the calculated time difference;
前記サーバ装置は、  The server device
時刻を計測する第 3計時手段と、  A third timing means for measuring time;
前記情報処理装置から送信された前記第 1時刻情報を受信したとき、当該受信時 刻を示す第 2時刻情報と、当該第 1時刻情報とを含む前記時刻返信情報を、前記情 報処理装置に送信する時刻情報返信手段とを備える When the first time information transmitted from the information processing apparatus is received, the time reply information including the second time information indicating the reception time and the first time information is included in the information. Time information return means for transmitting to the information processing device
ことを特徴とする請求項 15又は請求項 16に記載の情報処理システム。  The information processing system according to claim 15 or claim 16, wherein
[18] 所定のネットワークに接続される第 1及び第 2の情報処理装置が共有する仮想空間 に 1又は複数の所定のオブジェクトを配置する第 1の情報処理装置であって、 前記所定のオブジェクトは、前記第 1の情報処理装置におけるユーザからの指示入 力に応じて前記仮想空間内を移動する第 1のオブジェクトを含み、 [18] A first information processing apparatus that arranges one or more predetermined objects in a virtual space shared by the first and second information processing apparatuses connected to a predetermined network, wherein the predetermined objects are A first object that moves in the virtual space in response to an instruction input from a user in the first information processing apparatus,
時刻を計測する第 1計時手段と、  A first time measuring means for measuring time;
ユーザからの指示入力に応じた指示信号が入力される第 1入力手段と、 前記第 1入力手段に入力された指示信号に基づき、前記第 1のオブジェクトの前記 仮想空間における位置及び移動速度を検出する第 1検出手段と、  First input means for receiving an instruction signal corresponding to an instruction input from a user, and detecting the position and moving speed of the first object in the virtual space based on the instruction signal input to the first input means First detecting means to perform,
前記第 1検出手段が前記第 1のオブジェクトの位置及び移動速度を検出した検出 時刻を前記第 1計時手段より取得し、当該検出時刻と前記第 1のオブジェクトの位置 及び移動速度とを含む第 1位置情報を前記所定のネットワークを介して送信する第 1 位置情報送信手段とを備える  A detection time at which the first detection means detects the position and movement speed of the first object is acquired from the first time measurement means, and a first time including the detection time and the position and movement speed of the first object is obtained. First position information transmitting means for transmitting position information via the predetermined network.
ことを特徴とする情報処理装置。  An information processing apparatus characterized by that.
[19] 所定のネットワークに接続される第 1及び第 2の情報処理装置が共有する仮想空間 に 1又は複数の所定のオブジェクトを配置する第 2の情報処理装置であって、 前記所定のオブジェクトは、前記第 1の情報処理装置におけるユーザからの指示入 力に応じて前記仮想空間内を移動する第 1のオブジェクトを含み、 [19] A second information processing apparatus that arranges one or a plurality of predetermined objects in a virtual space shared by the first and second information processing apparatuses connected to a predetermined network, wherein the predetermined objects are A first object that moves in the virtual space in response to an instruction input from a user in the first information processing apparatus,
時刻を計測する第 2計時手段と、  A second timing means for measuring time;
前記第 1のオブジェクトの位置及び移動速度とこれらが検出された検出時刻とを含 む第 1位置情報を前記所定のネットワークを介して受信する第 2位置情報受信手段と 前記第 2位置情報受信手段が前記第 1位置情報を受信した受信時刻を前記第 2計 時手段より取得し、当該受信時刻と当該第 1位置情報とを用いて、当該受信時刻に おける前記第 1のオブジェ外の前記仮想空間における位置を算出する第 2位置算 出手段とを備える  Second position information receiving means for receiving first position information including the position and moving speed of the first object and the detection time at which they were detected via the predetermined network; and the second position information receiving means Acquires the reception time at which the first position information is received from the second time measuring means, and uses the reception time and the first position information to use the virtual object outside the first object at the reception time. A second position calculating means for calculating a position in space.
ことを特徴とする情報処理装置。 An information processing apparatus characterized by that.
[20] 所定のネットワークに接続される第 1及び第 2の携帯端末装置が共有する仮想空間 に 1又は複数の所定のオブジェクトを配置し、前記所定のオブジェクトは、前記第 1の 携帯端末装置におけるユーザ力 の指示入力に応じて前記仮想空間内を移動する 第 1のオブジェクトと、前記第 2の携帯端末装置におけるユーザからの指示入力に応 じて前記仮想空間内を移動する第 2のオブジェクトとを含む第 1の携帯端末装置であ つて、 [20] One or a plurality of predetermined objects are arranged in a virtual space shared by the first and second portable terminal devices connected to a predetermined network, and the predetermined objects are in the first portable terminal device A first object that moves in the virtual space in response to a user force instruction input; and a second object that moves in the virtual space in response to an instruction input from a user in the second portable terminal device; A first mobile terminal device including
ユーザからの指示入力に応じた指示信号が入力される入力手段と、  An input means for inputting an instruction signal corresponding to an instruction input from a user;
時刻を計測する計時手段と、  A time measuring means for measuring time;
前記入力手段に入力された指示信号に基づき、前記第 1のオブジェクトの前記仮 想空間における位置及び移動速度を検出する検出手段と、  Detection means for detecting a position and a moving speed of the first object in the virtual space based on an instruction signal input to the input means;
前記検出手段が前記第 1のオブジェクトの位置と移動速度とを検出した検出時刻を 前記計時手段より取得し、当該検出時刻と、当該位置及び移動速度とを含む第 1位 置情報を前記所定のネットワークを介して送信する位置情報送信手段と、  A detection time at which the detection means detects the position and moving speed of the first object is acquired from the time measuring means, and first position information including the detection time, the position and the moving speed is obtained as the predetermined position. Position information transmitting means for transmitting via a network;
前記第 2のオブジェクトの位置及び移動速度とこれらが検出された検出時刻とを含 む第 2位置情報を前記所定のネットワークを介して受信する位置情報受信手段と、 前記位置情報受信手段が前記第 2位置情報を受信した受信時刻を前記計時手段 より取得し、当該受信時刻と、当該第 2位置情報とを用いて、当該受信時刻における 前記第 2のオブジェ外の前記仮想空間における位置を算出する位置算出手段と、 前記検出手段が検出した位置に基づ!/、て配置した前記第 1のオブジェクトと、前記 位置算出手段が算出した位置に基づいて配置した前記第 2のオブジェクトとを含む 仮想空間を表す画像を描画する描画手段と、  Position information receiving means for receiving second position information including the position and moving speed of the second object and the detection time at which they were detected via the predetermined network; and the position information receiving means (2) The reception time when the position information is received is acquired from the time measuring means, and the position in the virtual space outside the second object at the reception time is calculated using the reception time and the second position information. A position calculation means; a virtual object including the first object arranged based on the position detected by the detection means; and the second object arranged based on the position calculated by the position calculation means. A drawing means for drawing an image representing a space;
前記描画手段が描画した画像を表示する表示手段とを備える  Display means for displaying an image drawn by the drawing means.
ことを特徴とする携帯端末装置。  The portable terminal device characterized by the above-mentioned.
[21] 所定のネットワークに接続される第 1及び第 2の情報処理装置が共有する仮想空間 に 1又は複数の所定のオブジェクトを配置する第 1の情報処理装置のコンピュータに 実行させるための情報処理プログラムであって、 [21] Information processing for causing a computer of a first information processing apparatus to place one or more predetermined objects in a virtual space shared by first and second information processing apparatuses connected to a predetermined network A program,
前記所定のオブジェクトは、前記第 1の情報処理装置におけるユーザからの指示入 力に応じて前記仮想空間内を移動する第 1のオブジェクトを含み、 ユーザ力 の指示入力に応じた指示信号が入力される第 1入力ステップと、 前記第 1入力ステップで入力された指示信号に基づき、前記第 1のオブジェクトの 前記仮想空間における位置及び移動速度を検出する第 1検出ステップと、 The predetermined object includes a first object that moves in the virtual space in response to an instruction input from a user in the first information processing apparatus, A first input step in which an instruction signal corresponding to an instruction input of user force is input, and a position and a moving speed of the first object in the virtual space are detected based on the instruction signal input in the first input step. A first detection step to
前記第 1検出ステップで前記第 1のオブジェクトの位置及び移動速度を検出した検 出時刻を取得し、当該検出時刻と前記第 1のオブジェクトの位置及び移動速度とを 含む第 1位置情報を前記所定のネットワークを介して送信する第 1位置情報送信ステ ップとを有する  A detection time at which the position and movement speed of the first object are detected in the first detection step is acquired, and first position information including the detection time and the position and movement speed of the first object is obtained as the predetermined position. A first location information transmission step for transmitting via a network of
ことを特徴とする情報処理プログラム。  An information processing program characterized by that.
[22] 所定のネットワークに接続される第 1及び第 2の情報処理装置が共有する仮想空間 に 1又は複数の所定のオブジェクトを配置する第 2の情報処理装置のコンピュータに 実行させるための情報処理プログラムであって、  [22] Information processing for causing a computer of a second information processing apparatus to place one or more predetermined objects in a virtual space shared by the first and second information processing apparatuses connected to a predetermined network A program,
前記所定のオブジェクトは、前記第 1の情報処理装置におけるユーザからの指示入 力に応じて前記仮想空間内を移動する第 1のオブジェクトを含み、  The predetermined object includes a first object that moves in the virtual space in response to an instruction input from a user in the first information processing apparatus,
前記第 1のオブジェクトの位置及び移動速度とこれらが検出された検出時刻とを含 む第 1位置情報を前記所定のネットワークを介して受信する第 2位置情報受信ステツ プと、  A second position information receiving step for receiving, via the predetermined network, first position information including the position and moving speed of the first object and the detection time at which they were detected;
前記第 2位置情報受信ステップで前記第 1位置情報を受信した受信時刻を取得し 、当該受信時刻と当該第 1位置情報とを用いて、当該受信時刻における前記第 1の オブジェ外の前記仮想空間における位置を算出する第 2位置算出ステップとを有す る  Obtaining the reception time at which the first position information was received in the second position information reception step, and using the reception time and the first position information, the virtual space outside the first object at the reception time A second position calculating step for calculating the position at
ことを特徴とする情報処理プログラム。  An information processing program characterized by that.
[23] 請求項 21又は請求項 22に記載のプログラムを記憶したコンピュータ読み取り可能 な記憶媒体。 [23] A computer-readable storage medium storing the program according to claim 21 or claim 22.
PCT/JP2006/317656 2006-01-31 2006-09-06 Information processing system, information processor, information processing program, computer-readable storage medium in which information processing program is stored and portable terminal WO2007088652A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006021615A JP2007206755A (en) 2006-01-31 2006-01-31 Information processing system, information processor, information processing program, and computer-readable storage medium storing information processing program
JP2006-021615 2006-01-31

Publications (1)

Publication Number Publication Date
WO2007088652A1 true WO2007088652A1 (en) 2007-08-09

Family

ID=38327238

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/317656 WO2007088652A1 (en) 2006-01-31 2006-09-06 Information processing system, information processor, information processing program, computer-readable storage medium in which information processing program is stored and portable terminal

Country Status (2)

Country Link
JP (1) JP2007206755A (en)
WO (1) WO2007088652A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009125266A (en) * 2007-11-22 2009-06-11 Nhn Corp Synchronous control method and game system
KR101766370B1 (en) * 2009-01-29 2017-08-08 임머숀 코퍼레이션 Systems and methods for interpreting physical interactions with a graphical user interface
KR101099519B1 (en) * 2010-02-12 2011-12-28 주식회사 블루사이드 Method for Synchronizing Character Object Information by Classified Data Type
JP5190486B2 (en) * 2010-04-26 2013-04-24 株式会社スクウェア・エニックス Network game system, client device, and program
JP6314274B1 (en) * 2017-05-26 2018-04-18 株式会社ドワンゴ Data generation apparatus and application execution apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004081809A (en) * 2002-01-23 2004-03-18 Konami Co Ltd Network game system, game server, and control method for the server
JP2004105671A (en) * 2002-09-16 2004-04-08 Genki Kk Spatial position sharing system, data sharing system, network game system, and network game client

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004081809A (en) * 2002-01-23 2004-03-18 Konami Co Ltd Network game system, game server, and control method for the server
JP2004105671A (en) * 2002-09-16 2004-04-08 Genki Kk Spatial position sharing system, data sharing system, network game system, and network game client

Also Published As

Publication number Publication date
JP2007206755A (en) 2007-08-16

Similar Documents

Publication Publication Date Title
JP4807517B2 (en) Information processing apparatus, data processing method, program, and recording medium
US20170144074A1 (en) Video game recording and playback with visual display of game controller manipulation
US20030060285A1 (en) Network game system, network game server, and network game terminal
WO1999012617A1 (en) Video game system for fighting game and method for executing fighting game
CN104602774B (en) Games system, the control method of the games system and the storage medium that can be read in computer installation
WO2007088652A1 (en) Information processing system, information processor, information processing program, computer-readable storage medium in which information processing program is stored and portable terminal
US8269691B2 (en) Networked computer graphics rendering system with multiple displays for displaying multiple viewing frustums
US20100328354A1 (en) Networked Computer Graphics Rendering System with Multiple Displays
JP2011045504A (en) Program, information storage medium, and game device
US11471778B2 (en) System providing a shared environment
JP5137932B2 (en) Communication system, terminal device, communication processing method, communication processing program, storage medium storing communication processing program, and expansion device
JP4889081B2 (en) GAME DEVICE, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP5770513B2 (en) Program and game information generation device
KR101601587B1 (en) Communication destination determining apparatus, game system, communication destination determining method, and recording medium
JP3853637B2 (en) Information processing system, method, and computer program
JP3547611B2 (en) Network game system
JP4005614B2 (en) NETWORK GAME SYSTEM, GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP4154311B2 (en) Game system and game program
JP5067993B2 (en) Server, program and information storage medium
WO2010096130A1 (en) System and method for communicating game information
JP3455418B2 (en) Network game system
WO2010151511A1 (en) Networked computer graphics rendering system with multiple displays
JP2006280558A (en) Program, information storage medium, game device and server
JP2004188193A (en) Entertainment system, image display device, information processing apparatus, and method for synchronous control
JP2008264541A (en) Inter-multiplayer game device and method using zigbee communication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06797551

Country of ref document: EP

Kind code of ref document: A1