WO2022259659A1 - シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム - Google Patents

シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム Download PDF

Info

Publication number
WO2022259659A1
WO2022259659A1 PCT/JP2022/009930 JP2022009930W WO2022259659A1 WO 2022259659 A1 WO2022259659 A1 WO 2022259659A1 JP 2022009930 W JP2022009930 W JP 2022009930W WO 2022259659 A1 WO2022259659 A1 WO 2022259659A1
Authority
WO
WIPO (PCT)
Prior art keywords
character
user
command
virtual
unit
Prior art date
Application number
PCT/JP2022/009930
Other languages
English (en)
French (fr)
Inventor
洋介 押野
Original Assignee
株式会社ポケモン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ポケモン filed Critical 株式会社ポケモン
Publication of WO2022259659A1 publication Critical patent/WO2022259659A1/ja
Priority to US18/530,246 priority Critical patent/US20240100432A1/en

Links

Images

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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • 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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5378Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for displaying an additional top view, e.g. radar screens or maps
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • 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
    • 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/69Generating 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 by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/847Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal

Definitions

  • the present invention relates to a simulation system, a simulation method, and a simulation program.
  • the present invention relates to a simulation system, a simulation method, and a simulation program in which characters owned by a plurality of users operate in virtual space.
  • At least operation means, calculation means, and storage means are provided, and the calculation means performs calculations based on the information input by the game player from the operation means, and the game program and data stored in the storage means.
  • a game system for progressing a role-playing game in which a game player completes a scenario by instructing the action of a character assigned to him/her, and a game player arbitrarily edits the game system
  • a game system is known in which a simulation game in which a game player builds a unique world is progressed in parallel, and these two games are associated (see, for example, Patent Document 1).
  • Patent Document 1 According to the game system described in Patent Literature 1, by providing a world unique to the game player in the world of the role-playing game, even a game player who has experienced many role-playing games can play the game without getting bored. You can enjoy the game.
  • an object of the present invention is to provide a simulation system, a simulation method, and a simulation system that allow a user to enjoy imagining changes in the behavior of a character when moving the character in a virtual space, and that allow a plurality of users to play simultaneously. It is to provide a simulation program.
  • the present invention can be arranged in a virtual space composed of a plurality of virtual unit spaces, and one or more commands can be set for each character associated with each of a plurality of users.
  • a command setting unit that sets the execution order of commands when a plurality of commands are set; and an action control unit that causes the character to move in the virtual space based on the commands and the execution order set for the character.
  • the command setting unit is capable of setting commands and execution order for each of the one or more characters based on each user's instruction associated with each character
  • the operation control unit is capable of setting the first user's instruction and operates a first character associated with the first user in the virtual space based on the command and execution order set for the first character regardless of the instruction of the second user
  • the command and execution order set for the second character which are associated with the second user, are executed by receiving the instruction of the second user and irrespective of the instruction of the first user.
  • a simulation system that operates in a virtual space based on is provided.
  • the simulation system when a character is moved in a virtual space, the user can anticipate changes in the behavior of the character and enjoy it, and simultaneous play by a plurality of users is possible.
  • a possible simulation system, simulation method, and simulation program can be provided.
  • FIG. 1 is a schematic diagram of a simulation system according to an embodiment
  • FIG. 1 is a schematic diagram of a simulation system according to an embodiment
  • FIG. 1 is a schematic diagram of a simulation system according to an embodiment
  • FIG. 1 is a schematic diagram of a simulation system according to an embodiment
  • FIG. It is a functional configuration block diagram of a simulation system according to the present embodiment.
  • 4 is a data configuration diagram of each storage section included in the storage unit according to the embodiment
  • FIG. FIG. 10 is a diagram showing the flow of processing when processing of the simulation system according to the present embodiment is in real time
  • FIG. 10 is a diagram showing the flow of processing when the processing of the simulation system according to the present embodiment is turn-based
  • It is a flow chart of processing in the simulation system according to the present embodiment.
  • the simulation system 1 can be configured to include information terminals for each of a plurality of users and a server that executes predetermined processing for simulation.
  • the information terminal and the server are connected via a communication network so as to enable two-way communication.
  • the communication network is a mobile phone network and/or a communication network such as the Internet.
  • Communication networks can also include communication networks such as wired LANs and wireless LANs.
  • the simulation system 1 may be a server-client type simulation system. In the following description, as an example, an example in which the simulation system 1 includes information terminals of a plurality of users and a server that executes predetermined processing of the simulation will be described.
  • the simulation system 1 arranges characters and/or objects possessed by each of a plurality of users in a virtual space (field). Set the request and the execution order of the request. Then, the simulation system 1 causes the characters to execute the requests in the virtual space in accordance with the order of execution, triggered by the instruction of the execution of the request to each character possessed by each user. That is, in the simulation system 1, when one user has one character and another user has another character, one user sets a request and an execution order for one character, and another user has another character. The user sets requests and execution order for other characters. Then, when one user instructs one character to execute a wish, the simulation system 1 follows the execution order to one character regardless of the instructions of other users (that is, independently).
  • the simulation system 1 outputs the action of one character and/or object to the display unit of the information terminal of one user when one user instructs to execute a request, and at the same time, the other user performs a request.
  • the action of other characters and/or objects is also output to the display section or the like. The same applies to information terminals of other users.
  • the simulation system 1 divides the virtual space into a plurality of areas, and assigns (that is, associates) each area with each of the plurality of users.
  • Each of the plurality of areas is an area (operable area) in which a user associated with each area can operate a character and/or an object owned by the user. For example, if one area is assigned to one user, the one area is prohibited from being assigned to other users.
  • each user arranges one or more characters in an area assigned to him/herself, and sets a request and an execution order for each character. A predetermined object can also be placed in the area.
  • one user can place their own characters and/or objects only within one area (within their own area), and placement in other areas is prohibited. That is, when a character is first placed in an area in the simulation system 1, only one character owned by one user can be placed in one area assigned to one user, and another character assigned to another user can be placed in one area. It is prohibited to place one character in the area of .
  • the simulation system 1 allows an object owned by one user to be placed in one area and prohibits placing it in another area. However, in the simulation system 1, after one character placed in one area moves from one area to another area based on one user's command, one user for the one character You may allow adding or resetting commands by .
  • each character operates in a virtual space, and one character (first character) and another character (second character) different from the one character or a predetermined object are placed at the same position. If it will exist, the combination of the characteristics of the first character and the characteristics of the second character or the characteristics of a predetermined object, etc., and/or the first character and/or the second character before existing at the position.
  • the first character and/or the second character are made to perform a predetermined action along with the set request, or prior to the set request, based on the request or the like executed by the character.
  • the user having the first character and the user having the second character, and the user having the first character and the user having the object may be the same or different.
  • the simulation system 1 configures the virtual space from a plurality of virtual unit spaces. A unique feature can then be associated with each virtual unit space.
  • the simulation system 1 combines the characteristics of the character and the characteristics of the virtual unit space in which the character exists, and/or calculates the Based on the request or the like, it is also possible to cause the character to perform a predetermined action along with the set request or prior to the set request.
  • 1 to 4 show an example of an overview of the simulation system and operation according to this embodiment.
  • the simulation system 1 assigns a character owned by each of a plurality of users in the same virtual space based on requests (hereinafter referred to as "commands") set by each of the users and the execution order of the commands. It is a system that executes the operation of That is, in the simulation system 1, each of multiple users has one or more characters. Then, the simulation system 1 receives an instruction from one user, and sets an instruction and an execution order of the instruction for one character possessed by the one user. The simulation system 1 also receives instructions from other users, and sets commands and execution orders of commands for other characters possessed by the other users.
  • the simulation system 1 is triggered by receiving an instruction to execute an instruction from one user, causes one character to execute an instruction in accordance with the execution order regardless of instructions from other users, and receives instructions from other users. Triggered by the reception of an instruction to execute a command, another character is caused to execute a command in accordance with the order of execution regardless of one user's instruction.
  • the virtual space is configured by connecting a plurality of structural units (hereinafter referred to as “virtual unit space”).
  • a virtual space 100 is composed of an aggregate of a plurality of virtual unit spaces 110 .
  • the boundary lines of the virtual unit space 110 are shown in FIG. 1A, the boundary lines do not need to be displayed when the virtual space 100 is displayed on a display unit such as an information terminal.
  • FIG. 1A the boundary lines do not need to be displayed when the virtual space 100 is displayed on a display unit such as an information terminal.
  • FIG. 1A shows an example in which a plurality of cubic virtual unit spaces 110 (that is, virtual three-dimensional masses) are assembled to form a cubic virtual space 100 (for example, 5 ⁇ 5 ⁇
  • a cubic virtual space 100 for example, 5 ⁇ 5 ⁇
  • the virtual space 100 is configured by an aggregate of 5 virtual unit spaces
  • the size of the aggregate is not limited to this.
  • the virtual space is an aggregate of m ⁇ n ⁇ o virtual unit spaces. provided that m, n, and o are the same or different positive integers).
  • the shape of the virtual space 100 is not limited to a cubic shape, and may be any shape as long as it is an aggregate of a plurality of virtual unit spaces 110 .
  • the virtual space 100 By constructing the virtual space 100 from the virtual unit space 110 in this way, it is possible to specify the movement of the character between virtual three-dimensional masses (that is, specify the movement of the character in units of the virtual unit space 110), and Since it becomes possible to specify the predetermined motion, it is possible to provide the simulation system 1 that is easy to operate despite the high degree of freedom in character movement and motion.
  • the shape of the virtual unit space 110 is not particularly limited. However, it is preferable that the virtual unit space 110 is configured to have a cubic shape, for example, from the viewpoint of securing the easiness of configuring the virtual space 100, and the like. Also, a plurality of virtual spaces 100 may be connected. Note that the virtual unit space 110 may be configured to have other shapes such as a rectangular parallelepiped shape and a spherical shape. In addition, the virtual unit space 110 connects a plurality of virtual unit spaces having the same or mutually different shapes, treats the connected portion (joint portion) as nonexistent, and combines the plurality of connected virtual unit spaces into one virtual unit space. It can be treated as a unit space. In this embodiment, an example in which the virtual unit space 110 is cubic and the virtual space 100 is also cubic will be described.
  • the virtual space 100 is configured with a plurality of areas. Also, each area includes a plurality of virtual unit spaces 110 .
  • the virtual space 100 has an area 101, an area 101a, an area 101b, and an area 101c.
  • FIG. 1B shows a plan view of the virtual space 100 to simplify the explanation.
  • the virtual space 100 is configured with four areas, but the number of areas is not limited to four as long as it is plural. Furthermore, the shape and size of the area can be freely set.
  • one area is associated with one user.
  • area 101 is associated with the first user
  • area 101a is associated with the second user
  • area 101b is associated with the third user
  • area 101c is associated with the fourth user.
  • the virtual space 100 may have an area (neutral area) with which no user is associated. That is, while area 101 is associated with the first user and area 101b is associated with the second user, areas 101a and 101c may not be associated with any user.
  • a team consisting of a plurality of users may be set and the team may be associated with an area. In this case, one area is associated with multiple users on the same team.
  • the simulation system 1 arranges a predetermined character in a predetermined area of the virtual space 100 according to instructions from each of a plurality of users or in advance. For example, assume that area 101 is associated with a first user and area 101b is associated with a second user. In this case, the simulation system 1 limits the arrangement in the virtual space 100 of the character 50 owned by the first user and for which the command and the execution order of the command have not yet been set, within the area 101 . As an example, the simulation system 1 arranges the character 50 in the virtual unit space 110a within the area 101, as shown in FIG. 1(b), based on the instruction of the first user.
  • the simulation system 1 prohibits the first user from arranging the character 50 in the virtual unit space of areas other than the area 101 .
  • the simulation system 1 limits the placement of the character 52 owned by the second user in the virtual space, for which the command and the execution order of the command have not yet been set, to the area 101b.
  • the simulation system 1 arranges the character 52 in the virtual unit space 110b in the area 101b based on the instruction of the second user, and places the character 52 in the virtual unit space in the area other than the area 101b by the second user. 52 placement is prohibited.
  • the position where the character and/or object is first placed in the area that is, the position where the character and/or object is placed in the virtual space
  • the action start position when the user first places the character and/or object in the area (hereinafter referred to as the position where the character and/or object is first placed in the area, that is, the position where the character and/or object is placed in the virtual space) 100 is referred to as an "action start position"), and while the character and/or object of itself can be placed in its own area, the character and/or object can be placed in another person's area. Objects cannot be placed. In other words, the motion start positions of the character and object are limited within the area associated with the user having the character and object.
  • each of the plurality of users belonging to the team can place their own characters and/or objects in areas associated with the team.
  • other users on the same team may be prohibited from operating characters and/or objects owned by one user.
  • the simulation system 1 can set predetermined restrictions on the placement of characters and objects owned by each user. For example, when two teams are set, a team including users A and B (ally team) and a team including other users (enemy team), the initial placement of characters and objects (that is, actions A condition may be set for the start position).
  • the areas include an area for user A (own area), an area for user B (ally area), and an area for the enemy team (enemy area).
  • User A can set the action start position of the character and object associated with user A within his own area.
  • User A can set the action start position of the character associated with user A within the teammate area, but can set the action start position of the object only within his own area.
  • user A can set the action start position of the object associated with user A within the teammate area, while setting the action start position of the character only within his own area.
  • User A cannot set the action start positions of the characters and objects associated with User A within the enemy area.
  • the above conditions (i) to (iii) are the same for user B and other users.
  • some of the areas may be set as areas having the following characteristics.
  • the predetermined condition is, for example, use of a predetermined item.
  • An area that refers to the degree of achievement of each user's goal and is associated with the user with the lowest degree of achievement when goals to be achieved are set for each user.
  • the simulation system 1 sets the instructions and the execution order of the instructions.
  • the character 50 is moved in the virtual space 100 based on the.
  • the motion of the character 50 of the first user is executed regardless of the command set by the second user, the order of execution of the command, and the command execution instruction.
  • the simulation system 1 similarly causes the character 52 to act based on instructions from the second user and based on the instructions and the execution order of the instructions set by the second user.
  • the actions of the character 52 of the second user are executed similarly to the character 50 regardless of the command set by the first user, the command execution order, and the command execution instruction.
  • the simulation system 1 executes the command and the command to the character. Additions and/or changes to the order may be allowed. For example, if the first user's character 50 moves from the area 101 to the area 101a by executing the command, the area 101a is not the area associated with the first user. However, the simulation system 1 can set commands for the character 50 in the area 101a (for example, change or stop already set commands, and/or add new commands) based on the instruction of the first user.
  • commands for the character 50 in the area 101a for example, change or stop already set commands, and/or add new commands
  • the simulation system 1 limits the motion start positions of characters and objects within an area associated with the user who has the characters and objects, while setting commands for the characters and/or objects. Not limited to area. That is, if the character and object are associated with the user, the simulation system 1 can perform the character and the object regardless of the position in the virtual space 100 where the character and the object exist. It is possible to set the instruction for the object and the order of execution of the instruction.
  • the simulation system when the positional relationship in the virtual space 100 between the character 50 and the character 52 satisfies a predetermined relationship (for example, when they are positioned in the same virtual unit space), the character 50 and the character 52 At least one of the character 50 and the character 52 is caused to perform a predetermined action, giving priority to the command set to the character 52 .
  • a predetermined relationship for example, when they are positioned in the same virtual unit space
  • the character 50 and the character 52 At least one of the character 50 and the character 52 is caused to perform a predetermined action, giving priority to the command set to the character 52 .
  • at least one of the character 50 and the character 52 performs an unexpected action (that is, an action not included in the set command), and the unexpectedness of the action makes the simulation more interesting.
  • the simulation system 1 may set goals to be achieved for each user.
  • Each user arranges his/her own character and/or object in his/her own area, sets commands to the characters and the execution order of the commands, and causes the characters to execute the commands to achieve the set goals.
  • one or more commands and the execution order of the commands are set for one character to aim at reaching the goal point of the one character.
  • another user predicts the route to the goal point of one character, installs an object in another area that obstructs the movement of one character, or prevents the movement of one character to the goal point. It is possible to hinder the achievement of a user's goal by placing other characters in other areas, for which an obstructive command and an execution order of the commands are set.
  • FIG. 2 shows an example associated with a first user and a second user are using the simulation system 1, the first user is associated with the area 101, and the second user is associated with the area 101a. shows an example associated with .
  • the virtual space 100 has an area 101 and an area 101a adjacent to the area 101. The area 101 is not shaded, and the area 101a is shaded. area.
  • FIG. 2 shows an example in which a plurality of characters and objects are arranged in the virtual space 100, the number of characters and/or objects arranged in the virtual space 100 may be one or more.
  • FIG. 2(b) only the bottom surface of each virtual unit space is shown for simplification of explanation (thus, only the bottom surface of the virtual space 100 is shown in FIG. 2(b)). Therefore, the simulation system 1 can place characters and objects not only on the lower surface of the virtual space 100 but also in a virtual unit space (not shown) above the lower surface.
  • the first user selects a character to be placed in the area 101 from among his/her own characters and/or objects.
  • the simulation system 1 causes the first user's information terminal to display characters and objects possessed by the first user (see the upper diagram in FIG. 2A), and based on the selection of the first user, the character to select.
  • a character 54, a character 56, an object 60, and the like possessed by the first user are displayed on the information terminal of the first user. Assume that the first user selects the character 54 in the example of FIG.
  • the simulation system 1 arranges the character 54 in the virtual unit space 111 of the area 101 designated by the first user. Subsequently, the simulation system 1 causes the first user's information terminal to display various commands to be set for the character (see the lower diagram in FIG. 2(a)). As an example, the first user's information terminal displays an instruction C1 designating "go forward", an instruction C2 designating "turn around”, an instruction C3 designating "jump", and the like.
  • the simulation system 1 sets one or more instructions and the execution order of the instructions for the character 54 based on the instruction of the first user.
  • the simulation system 1 similarly installs the character 56 possessed by the second user in the virtual unit space 111i based on the instruction of the second user, and commands and commands to the character 56. set the order of execution.
  • a character is a character that can appear in the simulation system 1 , can be placed in the virtual space 100 , and can be commanded by the user regarding actions in the virtual space 100 .
  • An object is an object that can be placed in a predetermined virtual unit space 110 that constitutes the virtual space 100 in accordance with a user's instruction, and that represents an object that can or cannot be interfered with by a character. is. Also, features of the virtual unit space such as topography and weather may be set in the virtual unit space 110 .
  • the objects include characters that do not substantially move in the virtual space 100, derived objects that are objects that accompany the actions of the characters, and objects ( environmental objects) are also included.
  • interference refers to the case where one character exists in the same or near virtual unit space as another character and/or object different from the one character, and/or when one character exists in a predetermined virtual unit space.
  • one character exerts a predetermined influence on another character and/or an object, and/or one character is in a predetermined virtual unit space. It means that it can give a certain influence.
  • a given influence can include a variety of influences. For example, various effects can be set, such as the effect of pushing one character into another virtual unit space, the effect of destroying an object in the same virtual unit space, and the effect of changing the situation of the virtual unit space.
  • the first user sets a command for the character 54 and the second user sets a command for the character 56 .
  • the simulation system 1 causes the character 54 to move from the virtual unit space 111 to the virtual unit space 111b via the virtual unit space 111a based on the instruction of the first user, and change direction in the virtual unit space 111b. Proceed to virtual unit space 111c, virtual unit space 111d, virtual unit space 111e, and virtual unit space 111f, change direction again at virtual unit space 111f, and reach virtual unit space 111h via virtual unit space 111g.
  • the simulation system 1 sets the command and the execution order of the command for the character 56 based on the instruction of the second user.
  • the character 56 it advances from the virtual unit space 111i to the virtual unit space 111k via the virtual unit space 111j, turns to the left in the virtual unit space 111k, moves to the virtual unit space 111l, and moves to the virtual unit space 111l.
  • an instruction and an execution order of the instructions are set so that the direction of movement is further turned to the right and the virtual unit space 111h is reached.
  • the simulation system 1 arranges the object 60 in the virtual unit space 111m based on the instruction of the first user. Then, the simulation system receives an instruction execution instruction from the first user and causes the character 54 to execute the instruction, receives an instruction execution instruction from the second user, and causes the character 56 to execute the instruction.
  • the simulation system 1 can output instructions set by the user and the execution order of the instructions in a perceptible manner to the user.
  • the simulation system 1 can be executed on an information terminal, and the instructions and execution order set by the user can be displayed on the display unit of the information terminal together with or separately from the virtual space 100 .
  • the content of the instruction and its execution order are displayed as the instruction 300 using text as shown in FIG. 2(c).
  • FIG. 2(c) part of the command content set for the character 54 of the first user is displayed.
  • the character 54 is set with a command 300 including the contents of repeating the "turn" command in a predetermined direction, and then repeating the "forward" command four times.
  • the simulation system 1 causes the information terminal of the second user to display the command set by the second user for the character 56 and the execution order of the command.
  • the simulation system 1 causes each character to act in the virtual space 100 by executing commands set by each user in the execution order set by each user.
  • actions to be executed in the virtual unit space in which the character exists are performed while the simulation system 1 is executing the action of the character. Even if there is, it may be operable according to a user's instruction.
  • an instruction (first instruction) to "jump" from the virtual unit space 111g to the virtual unit space 111h is set in the character 54 of the first user, and the character 54 of the second user It is assumed that the character 54a is set with a "proceed" command (second command) from the virtual unit space 111l to the virtual unit space 111h.
  • first instruction is executed by the instruction of the first user
  • the character 54 jumps from the virtual unit space 111g and reaches the virtual unit space 111h
  • the second instruction is executed by the instruction of the second user.
  • the character 54a advances from the virtual unit space 111l and reaches the virtual unit space 111h.
  • the simulation system 1 controls the motion of the character 54 in the virtual unit space 111h based on the combination of the characteristics of the character 54 and the characteristics of the character 54a and the command immediately before the character 54 reaches the virtual unit space 111h. do. In other words, the simulation system 1 controls the action of the character 54 based on predetermined conditions regardless of (or prioritizing) user settings.
  • a plurality of characters existing in the same virtual unit space are of the same type, and one character jumps from a virtual unit space adjacent to the virtual unit space to the virtual unit space. It is preset to execute an action of placing one character on top of another character existing in the virtual unit space when the virtual unit space is reached.
  • the character 54 and the character 54a are of the same type, and since the character 54 executed the instruction to jump immediately before reaching the virtual unit space 111h, the simulation system 1, as shown in FIG. The character 54 is moved so that the character 54 rides on the character 54a.
  • a plurality of characters existing in the same virtual unit space are characters of the same type, and one character moves from a virtual unit space adjacent to the virtual unit space to the virtual unit space by "advance". When it reaches, it collides with another character existing in the virtual unit space, and one character stays in place (virtual unit space adjacent to the virtual unit space where the other character exists), or one character and the other It is also possible to set in advance that both characters are bounced in opposite directions.
  • the first user's character 54b is set with a "go forward" command (first command) from the virtual unit space 111g to the virtual unit space 111h. It is assumed that the character 54c is set with a "proceed” command (second command) from the virtual unit space 111l to the virtual unit space 111h.
  • first command is executed by the instruction of the first user
  • second command is executed by the instruction of the second user
  • the character 54c advances from the virtual unit space 111l and reaches the virtual unit space 111h.
  • the simulation system 1 controls the motion of the character 54b in the virtual unit space 111h based on the combination of the characteristics of the character 54b and the characteristics of the character 54c and the command immediately before the character 54b reaches the virtual unit space 111h. do.
  • the character 54b has the same type as the character 54c, but the size of the character 54b is smaller than the size of the character 54c.
  • each character has the same type, and the size of one character reaching the virtual unit space exists in the virtual unit space. If it is smaller than the size of the character, it collides with another character existing in the virtual unit space, and executes an action of retreating to the virtual unit space further behind the original virtual unit space from which the character moved. It is set in advance that the Also, in this case, a character having a larger size (in this case, another character) is set in advance to perform an action while existing in the virtual unit space.
  • the size of the character 54c is larger than the size of the character 54b. Then, when the character 54c exists in the virtual unit space 111h, the simulation system 1 causes the character 54b to be repelled by the character 54c, and the character 54b to move backward, as shown in FIG. It is operated to return to the virtual unit space 111f.
  • the character 56 jumps from the virtual unit space 111n and reaches the virtual unit space 111m. Then, the character 56 and the object 60 exist in the same virtual unit space 111m. In this case, the simulation system 1 controls the movement of the character 56 in the virtual unit space 111m based on the combination of the characteristics of the character 56 and the characteristics of the object 60 and the command immediately before the character 56 reaches the virtual unit space 111m. do.
  • the simulation system 1 presets that a given object can receive a given interference from the character when one character and a given object exist in the same virtual unit space. Interference here indicates, as an example, that the character can destroy a predetermined object. Then, when one character reaches the virtual unit space by "jumping" from the virtual unit space adjacent to the virtual unit space, the simulation system 1 executes an action of destroying the object existing in the virtual unit space. Set things in advance. Then, since the character 56 executed the command to jump immediately before reaching the virtual unit space 111m, the simulation system 1 causes the object 60 to be destroyed by the character 56, and a plurality of fragments of the object 60 are generated as shown in FIG. The character 56 and the objects 60 are moved so that the objects 60a are scattered around the virtual unit space 111m.
  • the one character reaches the virtual unit space by "jumping" or "advancing" from the virtual unit space adjacent to the virtual unit space, the object existing in the virtual unit space is not destroyed, and one character is repelled by the object. It is also possible to set in advance to execute an operation to return to the original virtual unit space. Further, when one character advances into a virtual unit space in which a predetermined object exists, it is set in advance that the predetermined object cannot interfere with the character, and the one character has an attribute of "passing through objects" as an attribute of the character.
  • characters and objects may be sized to occupy a plurality of virtual unit spaces 110 .
  • Various sizes of characters and/or objects occupying the virtual unit space 110 can be used. In this case, "interference" is only when one or more virtual unit spaces 110 occupied by one character and/or object match one or more virtual unit spaces 110 occupied by another character and/or object.
  • one character may have a predetermined effect on other characters and/or objects, and/or one character may have a predetermined effect on a predetermined virtual unit space, if at least some of them are in common.
  • one character occupies a plurality of virtual unit spaces 110, and another character overlaps all or part of the plurality of virtual unit spaces 110 (that is, the position of one character and the position of another character). at least partly with the location of existence), then "interference" may occur.
  • one or more virtual unit spaces 110 occupied by one character and/or object and one or more virtual unit spaces 110 occupied by another character and/or object match, unlike the case where one part is common, , may be recognized as special interference and predetermined interference processing may be performed.
  • each of the plurality of users can freely set commands for the characters and the order of execution of the commands for their own characters and/or objects.
  • the execution of the actions of each character of each user is started according to the command set by each user and the order of execution of the command, and in a predetermined case, one character interferes with another character. occurs.
  • the simulation system 1 can control the action performed by one character based on the relationship between the one character and other characters, the previous action of the one character, and the like.
  • the interference can occur between a character and/or an object owned by one user and a character and/or object owned by another user. / or can occur to and from an object.
  • the virtual space 100 is composed of a plurality of virtual unit spaces 110, and a character set with commands can move from one virtual unit space 110 to another virtual unit space 110 for each virtual unit space. Therefore, the occurrence of interference between characters and/or between a character and an object can be controlled for each virtual unit space. (without strictly setting the contact judgment with the The user cannot easily assume until interference occurs.).
  • the commands and/or the order of commands set by each of a plurality of users are not always executed as set by each user.
  • the combination of features of the virtual unit space 110 causes various changes in the behavior of the character. Therefore, according to the simulation system 1, when a plurality of characters are used, each user can determine what kind of character should be used for a given character to observe interesting behavior, and what kind of character should be used to observe interesting behavior, and what kind of character should be used to observe the interesting behavior of the character depending on the object placed in the virtual space 100.
  • the simulation system 1 can be realized by an information terminal or the like.
  • An information terminal is a device that can be operated by a user.
  • the information terminal may be, for example, a portable terminal such as a mobile phone, a smart phone, or a tablet compatible with a mobile communication system.
  • the information terminal may be, for example, a stationary personal computer (PC), a laptop PC, a notebook PC, a portable game machine, and/or a home-use game machine, a dedicated game machine, or the like.
  • PC personal computer
  • the details of the simulation system 1 according to the present embodiment will be described below, but the names, numerical values, etc. in the above description and the following description are only examples, and the present invention is not limited to these proper names and numerical values. and that these proper names and numbers are not necessarily related to real-world proper names and numbers.
  • FIG. 5 shows an example of the functional configuration of the simulation system according to this embodiment.
  • FIG. 6 shows an example of the data configuration of each storage section included in the storage unit according to the present embodiment.
  • the simulation system 1 includes an input unit 10 that receives input of predetermined instructions and information from each of a plurality of users, an arrangement unit 12 that arranges characters and the like of each of the plurality of users in the same virtual space 100, A command setting unit 14 for setting commands to be executed by each character of a plurality of users, an execution receiving unit 16 for receiving execution of commands from each of the plurality of users, an action control unit 18 for controlling actions of each character, and each character. , an output control unit 21 that controls the output of the output unit 20, a storage unit 22 that stores various information, and an editing unit 24 that transforms the virtual unit space, objects, etc. and a judgment unit 26 for judging whether or not a predetermined condition set for each user is satisfied by the action of each character.
  • the storage unit 22 includes a character information storage section 220 that stores information about characters, a unit space information storage section 221 that stores information about virtual unit spaces, a command information storage section 222 that stores information about commands, and a a character interference information storage unit 223 that stores information about interference with a virtual space; a spatial interference information storage unit 224 that stores information about interference with virtual space; an object information storage unit 225 that stores information about objects; an object interference information storage unit 226 that stores information about a series of actions of a character; an action sequence information storage unit 227 that stores information about a series of actions of a character; and a user information storage unit 228 that stores information about a user.
  • a character information storage section 220 that stores information about characters
  • a unit space information storage section 221 that stores information about virtual unit spaces
  • a command information storage section 222 that stores information about commands
  • a character interference information storage unit 223 that stores information about interference with a virtual space
  • a spatial interference information storage unit 224 that stores information about interference with virtual space
  • the simulation system 1 may not only have the plurality of components physically located in the same device, but may also have some of the plurality of components physically separated.
  • the simulation system 1 may cause an external server to perform part of the functions of the components.
  • the simulation system 1 may be configured as one or more servers. In this case, the simulation system 1 is configured by combining a plurality of information terminals, components of one server, and components of another server. Further, in the present embodiment, an aggregate of predetermined components can be grasped as one "information processing apparatus", and the simulation system 1 may be formed as an aggregate of a plurality of information processing apparatuses.
  • How to distribute a plurality of functions required to realize the simulation system 1 according to this embodiment to one or more pieces of hardware depends on the processing capacity of each piece of hardware and/or the specifications required for the simulation system 1. can be determined as appropriate in view of the above.
  • the various information stored in the storage unit 22 may be updated according to instructions and information from each user received via the input unit 10, and predetermined information is acquired from a predetermined server existing outside the simulation system 1. and may be updated from time to time.
  • the simulation provided by the simulation system 1 will be mainly described as an example in which a plurality of users use their respective information terminals and execute the simulation via a server.
  • the simulation system 1 includes, for example, information terminals and servers for each of a plurality of users.
  • each of the plurality of information terminals is configured to have at least an input section 10 and an output section 20 .
  • the server is configured with components other than the input unit 10 and the output unit 20, and is connected to a plurality of information terminals via a communication network so as to be capable of two-way communication.
  • the input unit 10 receives an input such as a predetermined instruction from the user.
  • the input unit 10 is, for example, a touch panel of an information terminal, a keyboard, a mouse, a microphone, a motion sensor, or the like.
  • the input unit 10 supplies the instructions to predetermined components of the simulation system 1 . Each component that receives the instruction performs a predetermined function.
  • the output unit 20 outputs, under the control of the output control unit 21, various processing results before, during, and/or after execution of actions by the character in the simulation system 1, and the state of the virtual space 100. That is, the output control unit 21 controls the output contents to be output by the output unit 20 based on instructions from and/or information received from predetermined components of the simulation system 1 .
  • the output unit 20 is controlled by the output control unit 21 and outputs various processing results, information stored in the storage unit 22, the appearance of the virtual space 100, and the like in a manner that the user can perceive. In the following description, unless otherwise specified, the output section 20 is controlled by the output control section 21 and outputs various information.
  • the output unit 20 outputs various processing results, stored information, etc. as data in a predetermined format, still images, moving images, voices, texts, and/or physical phenomena such as vibrations.
  • the output section 20 is a display section, a speaker, a vibrating section (a device provided in the information terminal and generating vibration by a predetermined electric signal), a light emitting section, or a data output section of the information terminal.
  • the output unit 20 outputs information regarding the placement of characters and objects in the virtual space 100 set by the user, information indicating commands and command sequences set for the characters and objects, and/or It is also possible to externally output information and the like regarding the motion of a character that has performed a predetermined motion in a predetermined data format.
  • the output unit 20 can also output information received from an external server.
  • the output unit 20 changes the output mode between one area associated with one user and another area associated with another user for a plurality of areas that configure the virtual space 100.
  • the output unit 20 of one user's information terminal can output the other area in a less visible manner than the one area. That is, the output unit 20 of the information terminal of one user may output another area of another user in a manner different from that of the one area as viewed from the one user.
  • the output unit 20 can change or not change the output mode between one character owned by one user and another character owned by another user.
  • the output unit 20 of one user's information terminal can output one character in an easy-to-see (clear) manner regardless of which of the plurality of areas the character is in.
  • other characters of other users can be output in a manner that is harder to see than one character (for example, a manner in which the position of the character can be grasped, but the type of character cannot be known). .
  • the storage unit 22 stores various information related to the simulation system 1 .
  • Each storage section of the storage unit 22 supplies predetermined information to predetermined components in response to requests from other components of the simulation system 1 .
  • the character information storage unit 220 stores information about characters used for simulation. Specifically, the character information storage unit 220 stores character information and the like in association with a character ID that identifies a character.
  • the character information is character features, such as character attributes, character type, character name, hit points (HP), character sex, character ability, character skill, and other information that can be reduced by the character skill. Character's HP amount, character's size, character's weight (body weight), maximum number of commands that the character can receive in one command, types of commands that the character can receive, existence of tools in possession, experience This is information indicating values, levels, and the like.
  • Attributes are information set for each character, for example, characteristics that a character has that are set according to the character's type, state, nature, ability, or the like. Attributes are not particularly limited, but include, for example, attributes with names such as normal, fire, water, grass, cool, electric, and ghost. Note that a plurality of attributes may be set for one character. The attributes may also be attributes such as "skills" that the character remembers or "skills" that are set for the items possessed by the character. In this case, for example, the character may have both the character's own attribute and the "skill" attribute that the character remembers (which may be the same as or different from the character's own attribute).
  • the unit space information storage unit 221 stores position information indicating the position of the virtual unit space in the virtual space, area information indicating the area to which the virtual unit space belongs, and Stores virtual unit space information, which is information related to topography, weather, etc. associated with the virtual unit space and indicates the characteristics of the virtual unit space.
  • the area information includes an area ID for identifying a plurality of areas forming the virtual space 100, and the like.
  • the virtual unit space information includes terrain information, weather information, interference availability information, and the like.
  • Terrain information specifically includes information indicating grasslands, coasts, waterfronts, mountains, rocky areas, towns, cemeteries, etc.
  • the virtual unit space corresponds to the terrain information based on the associated terrain information.
  • a virtual unit space objects characteristic of each of a plurality of types of landforms such as grasslands, rocky areas, and watersides (this object may be an object that can be placed by the user or placed in advance by the simulation system 1).
  • the weather information is information about the weather that can be set for each virtual unit space, such as information indicating fine weather, cloudy weather, rainy weather, thunderstorms, snow, and the like.
  • the virtual unit space associated with the weather information is output from the output unit 20 as a virtual unit space indicating the weather corresponding to the weather information based on the associated weather information.
  • the interference availability information is information indicating whether or not the user and/or the character can interfere with the virtual unit space.
  • the interference possibility information is information indicating that interference is possible
  • the editing unit 24 receives a predetermined instruction from the user via the input unit 10 regarding the virtual unit space in which interference is possible, and inputs the instruction. It can be reflected in the virtual unit space.
  • the editing unit 24 can transform the terrain of the virtual unit space according to the user's instructions (for example, deformation that destroys (e.g., a deformation that raises the ground by piling up soil, etc., and a deformation that reclaims swamps, etc.).
  • the interference availability information is information indicating that interference is possible
  • interference such as destruction by a character may be enabled for the virtual unit space in which interference is possible.
  • the interference availability information is information indicating that interference is impossible
  • interference by the user and character is prohibited for the virtual unit space where interference is impossible.
  • the command information storage unit 222 stores command information indicating the content of the command to be executed by the character in association with the command ID that identifies the command.
  • the command information storage unit 222 stores a plurality of command information.
  • the instruction is an instruction to move the character in the virtual space without specifying the arrival position in the virtual space (in other words, specify which virtual unit space in the virtual space is the destination virtual unit space).
  • an action instruction to change the virtual unit space in which the character is positioned hereinafter referred to as a "first action instruction”
  • An action instruction located in space and causing the character to perform a predetermined action in the predetermined virtual unit space hereinafter referred to as a "second action instruction”
  • the instructions may also include an action instruction to repeat the first action instruction and/or the second action instruction a predetermined number of times.
  • Examples of the first action command include commands related to the direction, amount, and method of movement from a predetermined virtual unit space (that is, an action to change the position of the character to a virtual unit space adjacent to the predetermined virtual unit space). Examples include commands to go forward, go back, go right or left, jump forward, jump back, jump right or left, fly, roll, crawl, and so on.
  • the second action command includes a command to execute a predetermined action without moving from a predetermined virtual unit space, such as changing the orientation of the character in a predetermined direction, jumping on the spot, and staying on the spot ( standby), perform a predetermined technique (punch, kick, electric shock, other character-specific techniques/actions, etc.), and pause the instruction once.
  • the command to stay in place includes commands to keep the character sitting, commands to keep it standing, commands to keep it asleep, commands to keep it flying in the virtual unit space, etc. It may be an instruction immediately before reaching the predetermined virtual unit space or an instruction that maintains the content of the instruction when reaching the predetermined virtual unit space (that is, a "pause" instruction).
  • the command can also include a command to generate derived objects resulting from the existence and techniques of the character in another virtual unit space adjacent to the virtual unit space where the character exists. For example, assume that the character has a "fire-breathing" technique as a predetermined technique. In this case, when the character is positioned in a predetermined virtual unit space and has activated the "fire-breathing" technique, the command to generate the derived object is another virtual unit space adjacent to that virtual unit space. is an instruction to generate a derived object that represents "spitting fire" in the .
  • the command may be a command to change into a predetermined character (hereinafter referred to as "evolution") when the character satisfies a predetermined condition.
  • evolution refers to changing to another character after evolution when one character satisfies a predetermined condition.
  • the character interference information storage unit 223 stores action information indicating actions of one character and/or another character when one character interferes with another character. That is, the character interference information storage unit 223 stores action information of actions to be performed by one character and/or another character when one character and another character exist in the same virtual unit space. to store Note that the action information stored in the character interaction information storage unit 223 is the same as the user possessing the one character and the user possessing the other character, regardless of whether the user possessing the one character is the same as the user possessing the other character. It may be action information to be executed when the position of another character in the virtual space 100 with respect to the position in the position satisfies a predetermined positional relationship.
  • the predetermined positional relationship is, for example, a relationship in which a plurality of characters are positioned in the same virtual unit space, a relationship in which the distance between one character and another character in the virtual space 100 is equal to or less than a predetermined distance, and the like. be.
  • the character interference information storage unit 223 stores action information in association with one character ID that identifies one character and another character ID that identifies another character.
  • the character interference information storage unit 223 stores one character ID, another character ID, and a command before (preferably, immediately before) the one character comes to exist in the same virtual unit space as the other character.
  • command information hereinafter referred to as "immediate command information of one character”
  • the action information may be stored in association with command information indicating (hereinafter referred to as "command information immediately before another character").
  • the action information is set, for example, by combining one character with another character, combining character information of one character with character information of another character, and the like.
  • the action information can also be set by a command executed by one character until reaching the same virtual unit space as another character, or a command executed immediately before reaching the same virtual unit space.
  • the character interference information storage unit 223 can also store default action information in association with information characterizing the character (for example, character attributes, size, weight, etc.). That is, the character interference information storage unit 223 can also store action information without being associated with one character ID or another character ID. For example, when there are multiple characters and multiple commands, it may not be possible to set action information for all character combinations and/or command combinations. In this case, the character interference information storage unit 223 stores default action information in association with, for example, similarities and differences that can be grasped by comparing the features of one character and the features of another character. As default motion information, for example, when the size of one character is different from that of the other character, when both characters collide in the same virtual unit space, the smaller character bounces off the other character. Examples include information for setting the action to be skipped.
  • Example of action information based on character type when the types are the same>
  • action information determined based on the type of one character and the type of another character will be described.
  • the motion information for the one character and the other character is the same. information can be set to indicate an action of "colliding" in the virtual unit space of the two characters, and causing both the one character and the other character to retreat to the previously existing virtual unit space. Also, if the command immediately before one character is "jump forward” and the command immediately before another character is "stop” (however, if one character "jumps forward” character reaches the virtual unit space where it is “stopped”), the action information includes the overlapping action of one character and another character in the same virtual unit space, i.e., on top of the other character You can set information that indicates the motion that one character rides.
  • one character's previous command is "move forward", the other character has its back to the one character in the given virtual unit space, and the other character's previous command is "stop". (It is assumed that one character "moves forward” to reach a predetermined virtual unit space where the other character is "stopped”.), the action information is that the other character It is possible to set information indicating an action of pushing one character into another virtual unit space adjacent to a predetermined virtual unit space along the advancing direction.
  • Example of action information based on the type of character when the type is the same and the size is greater than a predetermined size> Note that even if the characters are of the same type, it is possible to set special action information according to the characteristics of the character, unlike the above. For example, when one character type and another character type are the same, the size and/or weight of both characters are equal to or greater than a predetermined value, and the one character and the other character are the same virtual Predetermined action information can be set based on the immediately preceding command of one character and the immediately preceding command of another character, if present in the unit space.
  • the action information is that the sizes of both characters are greater than or equal to a predetermined value (one character cannot jump high), so unlike the above, Instead of one character riding on another character, one character "collides” with another character in the same virtual unit space, and one character stands still in the virtual unit space that existed immediately before. You can set the information to be displayed.
  • Example of action information based on character type when the type is different (Part 1)>
  • Part 1 When the type of one character and the type of another character are different, and when the one character and the other character exist in the same virtual unit space, the characteristics of the one character and the other character
  • the action information can be set based on the characteristics of the characters and the previous command of one character and the previous command of the other character.
  • the weight of one character is set as a feature of one character
  • the weight of another character is set as a feature of another character
  • the weight of one character is smaller than the weight of the other character.
  • the command immediately before one character is "move forward” and the command immediately before another character is also "move forward”
  • the action information for one character and the other character is the same. collision in the virtual unit space (virtual unit space of the collision position), one character retreats to the previous virtual unit space, and the other character stays in the virtual unit space of the collision position. You can set information indicating that
  • a character has the ability to copy the characteristics of another character that exists in a virtual unit space adjacent to the virtual unit space in which the character exists and that is located in front of the character.
  • the action information is Since another character is positioned in front of one character, one character can copy the ability of the other character, move forward, and can set information indicating an action of colliding with the other character.
  • the action information information indicating a startling action for another character may be set at the same time.
  • Example of motion information based on character size For example, a case where the size of one character is different from the size of another character will be described. Assume that the size of one character is smaller than the size of the other character. In this case, as the motion information, a motion when one character reaches a virtual unit space in which another character exists is set. This motion may be, for example, a motion in which one character collides with another character, and the one character bounces back in the opposite direction along the path that the one character has reached to the virtual unit space.
  • the immediately preceding instruction is "move forward"
  • the immediately preceding instruction of the other character is "sleep" in the predetermined virtual unit space.
  • the action information one character can collide with another character, and the action of rebounding in the opposite direction along the path that the one character reached into the virtual unit space can be set, and the other character "sleeps" as it is. can be set to continue.
  • one character is "evolved” by satisfying a predetermined condition before reaching a predetermined virtual unit space, and the command immediately before the one character after evolution is "to move forward"
  • the action information is that one character collides with another character in the same virtual unit space (virtual unit space of the collision position), and the other character "wakes up”.
  • information indicating an action of stopping while both one character and another character are awake in the virtual unit space of the collision position can be set.
  • the immediately preceding command is "fall” (or an object above the predetermined virtual unit space that blocks the character's fall). , any command may cause one character to fall toward a given virtual unit space.), if the other character's immediately preceding command "stays"
  • the motion information can be information indicating a motion in which one character collides with another character, bounces, and lands in a virtual unit space adjacent to the virtual unit space.
  • the action information is that one character collides with another character, You can set information that indicates the action to bounce in the direction opposite to the direction of movement.
  • the command immediately before is to "move forward", and after "move forward", activate "electric shock".
  • the action information is such that when one character collides with another character, one character "sleep". You can set information that indicates the action of activating "electric shock” and jumping up when other characters are surprised by “electric shock”.
  • the spatial interference information storage unit 224 stores action information indicating actions of one character when interference with the virtual unit space of one character occurs. That is, the spatial interference information storage unit 224 stores action information of actions to be performed by one character when the one character exists in a predetermined virtual unit space.
  • the action information also includes information that changes the state of the virtual unit space in which the one character exists due to the interaction of the one character.
  • the spatial interference information storage unit 224 stores motion information in association with a character ID and a virtual unit space ID that identifies a predetermined virtual unit space.
  • the space interference information storage unit 224 indicates the character ID, the virtual unit space ID, and the command before (preferably immediately before) the character in question exists in the virtual unit space identified by the virtual unit space ID.
  • the action information may be stored in association with command information (hereinafter referred to as "command information immediately before the character").
  • the motion information is set, for example, by combining the characteristics of the character and the virtual unit space information.
  • the action information can also be set by a command executed by the character until reaching a predetermined virtual unit space, or a command executed immediately before reaching the predetermined virtual unit space.
  • Example of motion information based on terrain in virtual unit space For example, a case where a character reaches a virtual unit space of a predetermined topography will be described.
  • the virtual unit space has a “river” landform, and the character reaches the virtual unit space having a “river” according to the command set by the command setting unit 14 .
  • the action information is that the virtual unit space in which the character has “river” is “river". Information can be set to indicate that it behaves like a virtual unit space that it does not have. Further, when the command immediately before the character is "move forward” and the attribute of the character is "water type” and the character is capable of swimming in water, the action information is such that the character is "river”.
  • the action information is that the character is " It is also possible to set information indicating the action of fitting into the "river” and information outputting the appearance of water overflowing from the "river".
  • Example of operation information based on weather in virtual unit space For example, a case where a character reaches and/or exists in a virtual unit space with a predetermined weather will be described. As an example, the weather in the virtual unit space is “rainy” and the character reaches the virtual unit space according to the command set by the command setting unit 14 .
  • the action information is: It is possible to set information indicating an action in which the character slips and advances one or more squares with a predetermined probability (for example, randomly) when advancing through the square. Further, when the command immediately before the character and/or the command in the virtual unit space of "rainy weather” is a "skill to change the weather", the action information may be the weather in the virtual unit space where the character is present due to the skill. You can also set information indicating that the
  • Example of action information based on virtual unit space and character attributes For example, a case where a character reaches a virtual unit space of a predetermined topography will be described.
  • the virtual unit space has a terrain with a "wall”, and the character reaches the virtual unit space with the "wall” according to the command set by the command setting unit 14.
  • the action information is such that the character can move through a virtual unit space having a "wall". Instead, it is possible to set information indicating that the motion is to remain in the virtual unit space immediately before reaching the virtual unit space.
  • the motion information indicates that the character moves through a virtual unit space having a "wall”. You can set information indicating that
  • the object information storage unit 225 stores information (object information) on objects that can be placed in the virtual unit space. Specifically, the object information storage unit 225 stores object information and the like in association with an object ID that identifies an object.
  • the object information is information indicating, for example, the attribute of the object, the type of the object, the name of the object, the size of the object, whether the object can be destroyed, and the like.
  • An attribute is information set for each object, and is, for example, a characteristic of an object that is set according to the type, state, property, or the like of the object. Note that a plurality of attributes may be set for one object.
  • the object is an object that can be placed in the virtual unit space, and can include an object that can set or transform the environment such as the terrain of the virtual unit space (hereinafter referred to as "environmental object").
  • Environment objects include objects representing topography (for example, trees, rocks, oceans, waterfalls, rivers, etc.), objects representing structures (for example, blocks, walls, buildings, floors, etc.), and/or Characters for which commands cannot be set (for example, characters sleeping in a predetermined virtual unit space, or characters that do not move even if they are awake) may be included.
  • the environmental objects may include objects with which the character can interfere and objects with which the character cannot interfere.
  • Interferable objects are objects (for example, trees and rocks that can be destroyed) that can be destroyed by actions of the character (for example, predetermined techniques, rushes, etc.).
  • an object that cannot be interfered with is an object that cannot be destroyed by the action of the character (for example, a floor or wall that cannot be destroyed).
  • objects may include derived objects specific to a given character.
  • a derived object is, for example, an object that is generated in response to an action of a predetermined character (for example, a technique of the predetermined character).
  • the object interference information storage unit 226 stores motion information indicating the motion of the character and/or the object when the character interferes with the object. In other words, the object interference information storage unit 226 stores action information relating to the action performed by the character and/or the effect that the object receives when the character and the object exist in the same virtual unit space.
  • the object interference information storage unit 226 stores motion information in association with character IDs and object IDs.
  • the object interference information storage unit 226 also stores a character ID, an object ID, and command information (hereinafter referred to as " The action information may be stored in association with the command information immediately before the character.
  • the action information is set, for example, by a combination of a character and an object, a combination of character information of a character and object information of an object, and the like.
  • the action information can also be set according to the command executed by the character until reaching the same virtual unit space as the object, or the command executed immediately before reaching the same virtual unit space.
  • Example of motion information based on object type> For example, a case where a character reaches a virtual unit space in which a predetermined object is arranged will be described.
  • an object that can be evolved by a given character acquiring the object can be prepared.
  • the placement unit 12 places objects (evolution objects) necessary for evolution of a predetermined character in a predetermined virtual unit space. Then, when a predetermined character reaches the virtual unit space in which the object for evolution is arranged by the command set by the command setting unit 14, no matter what the command immediately before the character is, the action information is as follows. Information can be set that indicates the evolution behavior of the character.
  • the operation sequence information storage unit 227 stores the operation sequence information in association with the operation sequence information ID that identifies the operation sequence information.
  • the action sequence information includes the virtual space 100 used for the action of the character, the placement result by the placement unit 12, one or more commands set for a predetermined character by the command setting unit 14, the order of execution of the commands, and the action to be described later. This is information including character actions controlled by the control unit 18 . That is, the action sequence information refers to the arrangement of characters and/or objects in the virtual space 100, and a series of actions from the start of the action of the character in the virtual space 100 to the end of the action, which can be performed by any system including the simulation system 1. It is information that enables reproduction at any timing in
  • the output unit 20 executes the action of the character in the virtual space 100 at arbitrary timing based on the action sequence information.
  • the action of the character in the virtual space 100 can be reproduced as a moving image.
  • the motion sequence information may be provided to an information terminal, server, or the like outside the simulation system 1 in which the motion sequence information is generated via a communication network, recording medium, or the like.
  • An information terminal, server, or the like to which the action sequence information is provided can cause the character to perform actions in the virtual space 100 using the action sequence information.
  • the operation sequence information created by one simulation system 1 can be supplied to another simulation system 1 .
  • the user information storage unit 228 stores user information, character information, object information, and area information in association with user IDs that identify users.
  • the user information includes the user name, the user's nickname, the user's personal information (date of birth, etc.), the information regarding the goals the user has achieved in the simulation system 1, and/or the information regarding the items possessed by the user.
  • the character information is information related to the character owned by the user (for example, information such as character ID and the number of characters possessed)
  • the object information is information related to the object owned by the user (for example, object ID, owned character, etc.). information such as the number of objects in the
  • the area information is information (for example, information such as an area ID) related to the area associated with the user.
  • the placement unit 12 places characters and/or objects in a virtual unit space 110 that constitutes the virtual space 100 .
  • the placement unit 12 can also place characters and/or objects in the virtual unit space 110 in advance. Further, the placement unit 12 can place a predetermined character and/or a predetermined object in the virtual unit space 110 designated by the user according to the user's instruction received by the input unit 10 .
  • the placement unit 12 can also place characters and/or objects in each of the plurality of virtual unit spaces 110 . That is, the placement unit 12 places one or more characters in each of the one or more virtual unit spaces 110 and/or places one or more objects in each of the one or more virtual unit spaces 110 based on instructions from each user. can be placed in Since the virtual space 100 is configured in a virtual three-dimensional space, the placement unit 12 places characters and/or objects not only in the lower surface 102 of the virtual space 100 but also in the virtual unit space 110 above the lower surface 102. can also
  • the placement unit 12 limits the position of the character placed first in the area based on the area associated with the user. Specifically, when specifying a motion start position, which is a position in an area where one character (first character) of one user (first user) starts motion, the placement unit 12 asks one user (first user) Permission to specify the movement start position of one character in one associated area (first area), and movement of one character in another area not associated with one user Prohibits specifying the start position. The placement unit 12 does the same for other users (second users). In addition, the placement unit 12 permits placement of an object owned by one user in one area associated with one user, and another area (second area) not associated with one user. area). The placement unit 12 does the same for other users.
  • the output unit 20 uses the character ID and/or object ID included in the character information and/or object information stored in the user information storage unit 228 in association with the user ID of one user, and stores the character information.
  • Information on characters stored in the unit 220 and/or objects stored in the object information storage unit 225 (for example, list information on characters and/or objects that can be used by the one user in the simulation system 1) output to the display unit of the user's information terminal.
  • the placement unit 12 receives a character and/or object selection instruction from one user via the input unit 10, and information on the character selected by the one user stored in the character information storage unit 220, And/or acquires information on an object selected by one user stored in the object information storage unit 225 .
  • the output unit 20 outputs the virtual space 100 composed of the virtual unit space 110 to the display unit of the information terminal of one user.
  • the arrangement unit 12 receives a selection instruction of the virtual unit space 110 by one user via the input unit 10 for each character and/or object selected by one user. Then, the placement unit 12 places the character indicated by the obtained character information and/or the object indicated by the object information in the virtual unit space selected by one user.
  • the output unit 20 of one user's information terminal can output an image showing a state in which the placement unit 12 has placed the characters and/or objects in the virtual unit space.
  • the placement unit 12 supplies information about characters and/or objects placed in the virtual space 100 to the motion control unit 18 .
  • the command setting unit 14 sets one or more commands for each character to be executed in the virtual space 100 by the characters possessed by each of the plurality of users. to each character. That is, the command setting unit 14 can set commands and execution orders for each of one or more characters based on the instructions of each user who owns each character. Specifically, the command setting unit 14 receives one user's instruction, that is, one user's one operation (for example, one command setting instruction received via the input unit 10) for one user's one character. In addition, for other characters possessed by other users, it is possible to set the instructions and the execution order based on the instructions of other users.
  • a character associated with a user and to which a command can be set by the user (a) A character that the user permanently owns through a lottery, purchase, or the like, or a character that the user temporarily owns (that is, becomes non-possessed after a certain period of time). (c) A character temporarily rented for use in a game from another player who has a predetermined relationship with the user (for example, the user's friend, a member of the team to which the user belongs, etc.).
  • the command setting unit 14 accepts one user's command through the input unit 10 after one character moves from the action start position of one area to another area based on the command set by one user. It is also possible to set (that is, additionally set or newly set) commands and execution orders for one character in another area based on the . That is, the character of one user is placed first in one area associated with one user, and the command and the execution order of the command can be set at that position. Instructions and execution order of instructions cannot be set. However, after one character intrudes from one area into another area based on the set command, the command may be changed or new command may be given to the character existing in the other area. Execution order can be set.
  • the command setting unit 14 sets commands and execution orders for each of the one character and the character different from the one character. That is, the command setting unit 14 receives the selection of a command by one user and the execution order of the selected command via the input unit 10, and sets the received command and the execution order of the command to the character selected by the one user. match.
  • the command setting unit 14 similarly associates one or more characters possessed by other users with commands and execution orders of the commands according to instructions of other users.
  • the output unit 20 outputs information regarding commands to characters stored in the command information storage unit 222 to each user in a perceptible manner.
  • the command setting unit 14 receives commands and instruction execution order setting instructions from each user who referred to the information on commands via the input unit 10, and each user selects the received commands and the command execution order. correspond to a character.
  • the output unit 20 can perceptibly output the command and the execution order of the command set by the command setting unit 14 to each user's information terminal by means of text, a predetermined figure, or the like.
  • the command setting unit 14 supplies the operation control unit 18 with commands associated with the characters of each of the plurality of users and information indicating the execution order of the commands.
  • the command setting unit 14 can also automatically set commands and their order of execution without receiving instructions from the user regarding the selection of commands and the order of command execution.
  • the instruction setting unit 14 can, for example, randomly set instructions and the execution order of the instructions, or set predetermined instructions and the execution order of the instructions.
  • the command setting unit 14 may set a predetermined command and execution order for a predetermined character as a tutorial.
  • the commands set by the command setting unit 14 are commands stored in the command information storage unit 222 .
  • the commands set by the command setting unit 14 include the above-described first action command, second action command, repeating action command, command to generate a derivative object, command to evolve, and the like.
  • the command setting unit 14 can set the amount of movement from a predetermined virtual unit space included in the first action command in units of the number of virtual unit spaces. In other words, by treating the virtual unit space as a virtual square, it is possible to set a command such as "move forward by two squares" to the character. By treating the virtual unit space as a virtual mass, it becomes easier to set the movement of the character. Also, the execution order of the commands set by the command setting unit 14 can be freely set according to the user's wishes.
  • the command setting unit 14 limits the number of commands that can be set for the character based on the "maximum number of commands that the character can receive in one command" included in the character information stored in the character information storage unit 220. can. In addition, the command setting unit 14 limits the types of commands that can be set for the character based on the "types of commands that the character can receive" included in the character information stored in the character information storage unit 220. good too. For example, if there are a first character and a second character, and the size of the first character is smaller than the size of the second character, the first character is assumed to be better at small turns.
  • the maximum number of commands may be set to be greater than the maximum number of commands for the second character. If the size of the first character is less than the predetermined size and the size of the second character is greater than or equal to the predetermined size, the command type for the first character is "jump" assuming that the first character is agile. , and the command type for the second character may not include "jump".
  • the command setting unit 14 determines that the "skill” is the “skill” of the evolved character. Instead, it may be set so that the "skill" of the evolved character appears.
  • Executiution reception unit 16 The execution accepting unit 16 accepts an instruction to execute the command set by the command setting unit 14 . Specifically, the execution accepting unit 16 accepts a command execution instruction from the user via the input unit 10 . When the user has set commands for a plurality of characters, the execution accepting unit 16 can accept the execution of commands in any of the following patterns, for example.
  • Patent 1 Collectively accept an instruction to execute an instruction for all of a plurality of characters.
  • Patent 2 A plurality of characters are divided into a plurality of groups, and instruction execution instructions are received for each group at different timings or partially at the same timings.
  • Patent 3 A command execution instruction is received for each character selected by the user from a plurality of characters.
  • the execution reception unit 16 supplies the operation control unit 18 with information indicating that an instruction to execute a command for a predetermined character has been received.
  • the motion control unit 18 causes the character placed in the virtual space 100 by the placement unit 12 to move in the virtual space 100 according to the information received from the execution receiving unit 16 and based on the command and execution order set by the command setting unit 14 .
  • the motion control unit 18 can cause each of the plurality of characters to move in the virtual space 100 in real time or for each predetermined turn.
  • the action control unit 18 accepts an instruction from one user and, regardless of instructions from other users, controls one character possessed by one user based on commands and an execution order set for one character.
  • Operate in the virtual space 100 receive instructions from other users, and independently of one user's instructions, make other characters possessed by other users based on commands and execution orders set for other characters Operate within the virtual space 100 . Then, the motion control unit 18 causes each of the plurality of characters to move in real time in the virtual space 100, triggered by the reception of the command execution instruction for each of the plurality of characters. The motion control unit 18 can advance the time in the virtual space 100 in real time.
  • the operation control unit 18 accepts, for each of the plurality of users or each of the characters of the plurality of users, an instruction to execute an instruction and an instruction to stop the instruction set to the character possessed by each of the plurality of users, and The command is executed or stopped at the timing of receiving the stop instruction.
  • the operation control unit 18 controls the output unit 20 of each user's information terminal, and provides the output unit 20 with a "playback button” that accepts a command execution instruction from the user and a “stop button” that accepts a command stop instruction from the user. ” is output. Then, in response to a start instruction received from one user via the "playback button", the action control unit 18 moves the one character into the virtual space 100 based on the command and execution order set for the one character. to operate. In response to a start instruction received from another user via the "playback button", the action control unit 18 causes the other character to be played in the virtual space 100 based on the command and execution order set for the other character. to operate.
  • the action control unit 18 when receiving a start instruction from one user, sets the one character regardless of the presence or absence of a start instruction from another user (that is, regardless of the start instruction from another user). operates in the virtual space 100 . In addition, when receiving a start instruction from another user, the action control unit 18, regardless of whether or not there is a start instruction from one user (that is, regardless of the start instruction from one user), the other character operates in the virtual space 100 .
  • the motion control unit 18 controls the motion of the one character in motion in the virtual space 100 according to the stop instruction received from one user via the "stop button” regardless of whether there is a stop instruction from another user. is stopped, and according to a stop instruction received from another user via a "stop button", the action of another character in motion in the virtual space 100 is stopped regardless of whether or not there is a stop instruction from one user.
  • the command setting unit 14 may receive new command and execution order setting instead of the command and execution order set for the stopped character.
  • each user sets commands and the order of execution of commands for his/her own character, and after having the character start executing commands and before completing execution of all the set commands, a different Regardless of the user's operation, it is possible to stop execution of the command and then change the once set command.
  • the action control unit 18 controls a single operation of the single user (for example, execution of a command received via the input unit 10). ), it is possible to start execution of instructions in accordance with the order of execution of each instruction for each of a plurality of characters.
  • the motion control unit 18 determines that the positional relationship in the virtual space 100 of one character (first character) owned by one user and another character (second character) owned by another user satisfies a predetermined condition.
  • the command setting unit 14 gives priority to the action based on the command set for one character and the command set for another character, and causes at least one of the one character and the other character to perform the predetermined action. That is, a predetermined action different from the command set for one character and the command set for another character is executed.
  • Predetermined conditions include, for example, when the existing position of one character overlaps with the existing position of another character, or when the existing position of one character and the existing position of another character are close to each other (for example, When the virtual unit space in which one character exists and the virtual unit space in which another character exists are adjacent to each other, or when the number of virtual unit spaces between one character and another character is less than a predetermined number, etc.) and other conditions.
  • the motion control unit 18 controls a character different from one character in the virtual space 100, an object placed in a predetermined virtual unit space (an object possessed by one user and/or an object possessed by another user), and / Or when interference occurs between a predetermined virtual unit space and one character whose command execution has started, the command set by the command setting unit 14 and the order of execution of the commands are given priority, and the Have a character perform an action. That is, in this case, the action control section 18 can determine the action to be performed by one character according to a predetermined rule. Then, the motion control unit 18 causes the output unit 20 to output the state of the one character executing the command.
  • the action control unit 18 causes the character for which the command and the execution order of the command are set to move in the virtual space 100, and after the execution of all the commands is completed, the command and the command given by the command setting unit 14 to the character. Setting the execution order may be prohibited for a certain period of time.
  • the operation control unit 18 responds to an instruction to consume a predetermined item (for example, in-game virtual currency, tools obtainable in the game, etc.) from the user having the character, which is received via the input unit 10, The period of time can be shortened or lengthened.
  • the action control unit 18 can cause the character to execute a predetermined action. For example, a character is placed in the air of the virtual space 100 by the placement unit 12, the character is a character that cannot fly or float in the air, and the command set by the command setting unit 14 is "before In the case of a movement command such as "go", the operation control unit 18 determines that the movement command cannot be executed. Then, the motion control unit 18 stops executing the movement command, and causes the character to move according to the laws of physics (in this case, the character falls downward from the character's existing position). Subsequently, when the command set by the command setting unit 14 can be executed (in this case, when the character lands on the floor of the virtual space), the motion control unit 18 controls the command setting unit 14 to set the continue execution of the instruction
  • the motion control unit 18 controls the movement from one virtual unit space to the one adjacent to the one virtual unit space. Move the character to another virtual unit space that Assuming that the virtual unit space is regarded as a "square", the motion control section 18 moves the character for each "square".
  • the action control unit 18 may move the character every predetermined time. In other words, the motion control unit 18 may cause the character to seamlessly move through a plurality of virtual unit spaces at predetermined time intervals (for example, it can be set to move one virtual unit space per second).
  • the motion control unit 18 allows the user to move the character from one virtual unit space to another through the input unit 10 . Even if there is an instruction to move to the virtual unit space (for example, an instruction to move by dragging), the movement instruction will not be accepted, and the character will perform an action according to the set command and the order of execution of the command.
  • the arrangement unit 12 based on the instruction of the one user, It can place its own character or object in a virtual unit space where other characters exist. In this case, the placement unit 12 can place the character or object above or below the other character.
  • the action control unit 18 may be configured to operate based on the command and the order of execution of the command set by the command setting unit 14, or when the character that moves based on the command and the order of execution of the command interferes with another character or object.
  • the movement of the character may be controlled using the movement determined based on the physics calculation. For example, when a character collides with another character or object, physics calculations are performed based on the shape, size, weight, etc. of the character, the shape, size, weight, etc., of the other character, and the speed of collision.
  • the motion of the character or object may be calculated, and the calculated motion may be executed by the character.
  • the action control unit 18 generates action sequence information indicating a series of actions of the character in the virtual space 100 (including actions according to commands set by the command setting unit 14 and actions when interference occurs). , the generated action sequence information is stored in the action sequence information storage unit 227 in association with the action sequence information ID of the action sequence information. Note that the action control unit 18 can also generate action sequence information indicating part of a series of actions in the virtual space 100 of the character as the action sequence information. In other words, the action control unit 18 controls the action sequence including all or part of the character's actions by executing the commands according to the command execution order set by the command setting unit 14, and the character's actions when interference occurs. Can generate information.
  • the motion control unit 18 can control the motion of the character based on the features of the character and the features of the virtual unit space corresponding to the position of the character.
  • the motion control unit 18 stores motion information stored in the spatial interference information storage unit 224 in association with the character ID of the character executing the command and the virtual unit space ID of the virtual unit space in which the character exists. to get Then, the motion control unit 18 refers to the acquired motion information and causes the character to perform the motion indicated by the content of the motion information.
  • the motion control unit 18 stores the character ID of the character executing the command, the virtual unit space ID of the virtual unit space in which the character exists, and the command executed immediately before the character reaches the virtual unit space (the previous command).
  • the motion information stored in the spatial interference information storage unit 224 in association with the command information) may be acquired, and the character may be caused to perform a predetermined motion based on the motion information.
  • the motion control unit 18 moves one character and another character respectively in the virtual space 100, and when the existing position of the one character and the existing position of the other character are in the same virtual unit space, the command It is possible to cause at least one of one character and another character to perform a predetermined action, prioritizing the command and execution order set by the setting unit 14 .
  • the motion control unit 18 controls the combination of the characteristics of one character and the characteristics of another character, the commands executed by the one character before being positioned in the same virtual unit space as the other characters, and the to control the action of at least one of one character and/or another character based on at least one selected from the group consisting of instructions executed before being positioned in the same virtual unit space as the one character can be done.
  • the action control unit 18 sets the character ID of the one character executing the command and the other character ID of the other character.
  • the motion information stored in the character interference information storage unit 223 in association is referred to, and one character and/or another character is caused to perform the motion indicated by the contents of the motion information.
  • the motion control unit 18 stores the character ID of one character executing the command, the other character ID of the other character, and the command executed immediately before reaching the virtual unit space in which the one character exists ( stored in the character interference information storage unit 223 in association with the command information immediately before one character) and/or the command executed by another character immediately before reaching the virtual unit space (command information immediately before another character). It is also possible to acquire action information that has been obtained, and cause one character and/or another character to perform a predetermined action based on the action information.
  • the motion control unit 18 can control the motion of the character based on the characteristics of the character and the characteristics of the object placed at the position where the character exists.
  • the motion control unit 18 associates the character ID of the character executing the command with the object ID of the object placed in the virtual unit space where the character exists, and stores them in the object interference information storage unit 226. Get the operation information that is being used. Then, the motion control unit 18 refers to the acquired motion information and causes the character to perform the motion indicated by the content of the motion information.
  • the action control unit 18 also includes the character ID of the character executing the command, the object ID of the object placed in the virtual unit space where the character exists, and the command executed immediately before the character reaches the virtual unit space. Action information stored in the object interference information storage unit 226 in association with the command (immediately preceding command information) may be obtained, and the character may be caused to perform a predetermined action based on the action information.
  • the motion control unit 18 determines that one character exists in one virtual unit space, another character is adjacent to the one virtual unit space, and another character is associated with the generation of the derived object.
  • the behavior of other characters, if present, can also be controlled based on the characteristics of other characters and the characteristics of derived objects.
  • the action control unit 18 determines that another character exists in another virtual unit space adjacent to one virtual unit space in which one character exists, and the instruction setting unit 14 determines that one character exists in one virtual unit space.
  • a command is set to perform a predetermined action (for example, an action that exerts a predetermined action toward another virtual unit space)
  • another character is caused to perform the predetermined action. That is, the motion control unit 18 acquires motion information stored in the object interference information storage unit 226 in association with the other character ID and the object ID of the derived object, and based on the acquired motion information, moves the other character may be caused to perform a predetermined operation.
  • Example 1 of Action Based on Relationship between Derived Object and Character For example, when one character reaches one virtual unit space, the instruction setting unit 14 issues an instruction to generate a derivative object unique to the one character in another virtual unit space adjacent to this one virtual unit space. Take the case where it is set to one character as an example. In this case, when one character reaches one virtual unit space and another character reaches another virtual unit space, the motion control unit 18 determines the type of the other character and the type of derived object. Depending on the character, it will take precedence over the commands set for other characters and execute a predetermined action.
  • the motion control unit 18 associates the other character ID of the other character with the object ID of the derived object arranged in the virtual unit space in which the other character exists, and stores them in the object interference information storage unit 226.
  • Get the operating information In this action information, for example, a derived object unique to one character is a derived object representing "electrical shock” corresponding to one character's technique "electrical shock", and other characters It is information that includes the content of performing a numbing action by a derived object of . Therefore, the motion control unit 18 causes the other character to perform a paralyzing motion.
  • Example 2 of operation based on the relationship between the derived object and the object> For example, when one character reaches one virtual unit space, the instruction setting unit 14 issues an instruction to generate a derivative object unique to the one character in another virtual unit space adjacent to this one virtual unit space. , is set to one character. In this case, when one character reaches one virtual unit space and a predetermined object exists in another virtual unit space, the motion control unit 18 determines the type of the predetermined object and the derived object. Depending on the type, it exerts a predetermined effect on a predetermined object.
  • the object interference information storage unit 226 can store action information including an effect on a predetermined object in association with one character ID of one character and the object ID of the derived object. Then, the motion control section 18 acquires the motion information stored in the object interference information storage section 226 .
  • the action information for example, a derived object unique to one character is a derived object representing a "flame" corresponding to one character's technique "breathing fire", and a predetermined object is a derived object representing a "flame” ” is information that includes content that can be burned by derived objects. Therefore, the motion control unit 18 causes the predetermined object to burn.
  • the action control unit 18 may execute a predetermined action.
  • the character cannot move outside the virtual space 100 . That is, the outer edge of the virtual space 100 functions as an “invisible wall” or an “invisible floor/ceiling” for the characters in the virtual space 100 . Therefore, the motion control unit 18 causes the character to move in the virtual space 100 according to the command set by the command setting unit 14, and the outer edge of the virtual space 100 and the virtual unit space where indestructible objects are arranged.
  • Predetermined actions include, for example, an action of staying in place, an action of reversing the traveled path, an action of changing the traveling direction, and the like.
  • the determination unit 26 sets the same or different predetermined conditions for each of a plurality of users, and each character of each user operates in the virtual space 100 in accordance with the commands set for each and the execution order of the commands. It is determined whether or not a predetermined condition is satisfied.
  • the determination unit 26 displays the determination result on the output unit 20 of each user's information terminal.
  • the determination unit 26 may cause each user to obtain a predetermined effect when a predetermined condition is satisfied.
  • the predetermined effect is, for example, an effect of giving a predetermined reward to each user, an effect of giving a predetermined experience value or the like to each user's character, and/or associating a predetermined area with a user according to the degree of achievement of a goal. It may be an effect (or an unmatched effect).
  • a predetermined condition is a condition to be achieved within a predetermined area. Examples include, but are not limited to, the following conditions. (1) A condition that one character of one user reaches from one area to a predetermined point in another area (for example, a point where a predetermined virtual unit space is set as a goal). (2) A condition in which one character of one user attacks another character of another user to reduce the other character's HP to zero. (3) A condition in which another user's other character is surrounded by a predetermined object to make it impossible for the other character to move within the virtual space 100 . (4) Conditions for destroying a given object. (5) A condition to prevent other characters of other users from entering one area of one user for a predetermined period of time. (6) One character of one user cooperates with another character of another user to destroy a predetermined object, or a predetermined object that is placed in advance in a predetermined area and whose movement within the area is restricted. The condition that allows the character to move.
  • a goal can be set such that one character of one user cooperates with another character of another user to erase an object placed in a predetermined area in the virtual space 100 .
  • the placement unit 12 places objects in a predetermined area within the virtual space 100 .
  • this object is an "ice” object (hereinafter referred to as an "ice object").
  • the object interference information storage unit 226 stores action information including effects on ice objects in association with two or more predetermined character IDs and two or more object IDs of derived objects.
  • each character corresponding to two or more predetermined character IDs has techniques related to heat such as "flame" and "fire”.
  • the derived object of one character is a derived object representing "flame” corresponding to the technique of one character, "breathing fire", and the derived object of another character is a derived object of another character.
  • It is a derivative object representing "firepowder” corresponding to the skill “Hinoko”, and information including the contents of melting of the ice object by two or more derivative objects of "flame” and "firepowder”.
  • the action information is two or more characters representing predetermined techniques (for example, a "fire-breathing” technique or a "hinoko” technique) of two or more characters corresponding to two or more predetermined character IDs. Ice object melts and disappears when an object derived from overlaps the ice object.
  • two or more predetermined character IDs include the character ID of one character and the character IDs of other characters.
  • the placement unit 12 first places one character in a predetermined virtual unit space in one area according to one user's instruction (this placement position is referred to as “one action start position"). .
  • this placement position is referred to as "one action start position”
  • one character has a skill of "breathing fire”.
  • the instruction setting unit 14 causes one character to move from one motion start position to a virtual unit space adjacent to the virtual unit space in which the ice object exists, and perform a technique on the ice object. (that is, an instruction to generate a derived object unique to one character).
  • the placement unit 12 places another character in a predetermined virtual unit space in another area according to another user's instruction (this placement position is referred to as "another action start position”).
  • Other characters have the "hinoko" technique.
  • the command setting unit 14 causes another character to move from another motion start position to a virtual unit space adjacent to the virtual unit space in which the ice object exists, and perform a technique on the ice object. (that is, the order to spawn a derived object unique to another character).
  • the action control unit 18 causes the one character to act based on the set command and the command execution order in response to the command execution instruction for the one character received by the one user via the execution receiving unit 16 .
  • the motion control unit 18 causes other characters to move in the same way.
  • the motion control section 18 causes the ice object to generate a derivative object of the one character (for example, an object of the "breathing fire” technique).
  • the motion control section 18 causes the ice object to generate a derivative object of the other character (for example, an object of the "hinoko” technique).
  • the action control unit 18 includes effects on ice objects stored in the object interference information storage unit 226 in association with the character ID of one character, the character ID of another character, and the object ID of the derived object. Get operational information. Then, the motion control unit 18 causes the ice object to perform a motion of melting and disappearing.
  • the determination unit 26 determines whether or not the ice object has been erased from the virtual space 100, and if it has been erased, gives each user a predetermined effect (for example, giving each user a predetermined reward).
  • a goal can be set such that one character of one user cooperates with another character of another user to produce a predetermined effect on a predetermined character installed in a predetermined area in the virtual space 100 .
  • the placement unit 12 places a predetermined character (hereinafter referred to as “target character”) in a predetermined area within the virtual space 100 .
  • the target character is a character that "evolves" in the presence of "water”.
  • the object interference information storage unit 226 stores action information including the effect on the virtual unit space adjacent to the character in association with two or more predetermined character IDs and object IDs of two or more derived objects.
  • one of the characters corresponding to two or more predetermined character IDs has techniques related to heat such as "flame” and "fire”, and the other characters have techniques related to "ice”.
  • the derived object of one character is a derived object representing "flame” corresponding to the technique of one character, "breathing fire”, and the derived object of another character is a derived object of another character.
  • It is a derivative object that represents the "ice block” (or snowstorm) corresponding to the technique "Kori”, and information that includes the content that the target character evolves due to the water generated by these "flame” and "ice block” derivative objects. .
  • the action information includes, for example, two or more derivatives representing predetermined techniques of two or more characters corresponding to two or more predetermined character IDs (for example, a "fire-breathing” technique and a "cooling” technique).
  • This is action information for the evolution of the target character when the object overlaps the target character.
  • two or more predetermined character IDs include the character ID of one character and the character IDs of other characters.
  • the placement unit 12 first places one character at one action start position in one area according to one user's instruction.
  • one character has a skill of "breathing fire”.
  • the instruction setting unit 14 causes one character to move from one motion start position to a virtual unit space adjacent to the virtual unit space in which the target character exists, according to one user's instruction, and perform a technique on the target character.
  • the placement unit 12 places another character at another action start position in another area according to another user's instruction.
  • Other characters have the "cool" skill.
  • the command setting unit 14 causes another character to move from another motion start position to a virtual unit space adjacent to the virtual unit space in which the target character exists, according to an instruction from another user, and perform a technique on the target character. Set the command to activate the
  • the action control unit 18 causes the one character to act based on the set command and the execution order of the commands, in response to the command execution instruction for the one character received by the one user via the execution receiving unit 16 .
  • the motion control unit 18 causes other characters to move in the same way.
  • the action control unit 18 causes the target character to generate a derivative object of the one character (for example, an object of the "breathing fire” technique).
  • the action control unit 18 causes the target character to generate a derivative object of the other character (for example, an object of the "Kori" technique).
  • the action control unit 18 includes the effect on the target character stored in the object interference information storage unit 226 in association with the character ID of one character, the character ID of another character, and the object ID of the derived object. Get operational information. Then, the motion control unit 18 causes the target character to perform a motion in which an ice block, which is a derivative object of another character, is melted by the fire of one character to generate water, and the target character evolves.
  • the determination unit 26 determines whether or not the target character has evolved, and if it has evolved, gives each user a predetermined effect.
  • the method of evolving the target character is not limited to the above. For example, using a character that has a technique of "spitting water” and activating the technique on the target character, or placing environmental objects such as “waterfalls” and “rivers” in the virtual unit space around the target character. By doing so, the target character can be evolved, or the target character can be captured by arranging an environmental object such as a "mountain” in the virtual unit space around the target character. That is, in the simulation system 1, each user can enjoy the process of achieving a set goal by making full use of various techniques of various characters and/or objects having various characteristics.
  • ⁇ Setting target example 3 Reaching a predetermined point in another area>
  • a goal can be set for one character of one user to reach a predetermined virtual unit space (hereinafter referred to as "goal point") in another area of another user.
  • the command setting unit 14 sets a command for one character to move from one action start position in one area toward the goal point and the execution order of the commands in accordance with an instruction from one user.
  • the command setting unit 14 may issue commands to place predetermined objects in other areas or sets an instruction that performs a predetermined operation and the execution order of the instruction.
  • the commands set for other characters include, for example, commands determined by another user assuming the course of one character, which are action commands for obstructing the progress of one character in the predicted course of one character. or a command to surround one character with a plurality of other characters.
  • the action control unit 18 causes the one character to act based on the set command and the execution order of the commands, in response to the command execution instruction for the one character received by the one user via the execution receiving unit 16 .
  • the motion control unit 18 causes other characters to move in the same way.
  • the determination unit 26 determines that the one character has achieved the target, and produces a predetermined effect for the one user.
  • the determining unit 26 determines that the one character did not reach the goal point due to being obstructed by another character or object, it determines that the one character did not reach the goal, and instructs the other user to perform a predetermined action. produce an effect.
  • a target can be set such that one character of one user activates a technique against another character of another user to reduce the HP of the other character to zero or to reduce the HP to a predetermined value or less.
  • the command setting unit 14 moves one character from one action start position in one area toward a virtual unit space where other characters exist in response to an instruction from one user, and A command for performing a technique toward another character when reaching a virtual unit space adjacent to the unit space and the execution order of the command are set.
  • the action control unit 18 causes the one character to act based on the set command and the command execution order in response to the command execution instruction for the one character received by the one user via the execution receiving unit 16 .
  • the determination unit 26 determines that the HP of the other character is increased by the technique. It is determined whether or not the HP has become zero, or whether or not the HP has become equal to or less than a predetermined value.
  • the determination unit 26 refers to the character information storage unit 220 and refers to the "HP amount of another character that can be reduced by one character's technique" stored in association with the character ID of one character, Based on the HP of the other character stored in association with the character ID of the character, it is determined whether or not the HP of the other character has become zero due to the technique, or whether or not the HP has become equal to or less than a predetermined value. judge. When the other character's HP becomes zero or becomes equal to or less than a predetermined value, the determination unit 26 determines that the one character has achieved the target, and gives the one user a predetermined effect. On the other hand, if the HP of the other characters does not become zero or does not fall below the predetermined value, the determination unit 26 determines that the one character has not achieved the target, and provides the other users with a predetermined effect. may be generated.
  • FIG. 7 shows an example of an overview of the flow of processing when the processing of the simulation system according to this embodiment is real time.
  • the simulation system 1 includes an information terminal A of user A having an input unit 10 and an output unit 20, an information terminal B of user B having an input unit 10 and an output unit 20, an input unit 10 and an output unit 20.
  • it is necessary to consider the delay time (lag) due to the difference in the line speed of the line used by each user (standby processing, etc.), but the explanation of such processing is simplified here. Therefore, it is omitted without consideration.
  • time progresses from left to right, and "Fx" (x is a positive integer) indicates a frame. That is, in the real-time system, the simulation system 1 handles the time in the virtual space 100 in units of frames (units obtained by dividing one second into a plurality of units), and manages the time in units of frames.
  • the simulation system 1 always executes instructions in the virtual space 100 at regular intervals. That is, the simulation system 1 executes various types of processing in real time, accepts commands for characters and/or objects from each user at any timing, and receives instructions to execute commands from each user at any timing. , to move each character and/or object in real time.
  • the output control unit 21 supplies snapshots showing the state of the virtual space 100 to information terminal A and information terminal B at a constant timing.
  • the output units 20 of information terminal A and information terminal B respectively perform rendering based on the snapshot and output the state of the virtual space 100 .
  • the output control unit 21 generates a snapshot showing the state of the virtual space 100 in the first frame (F1) at a predetermined timing T1, and supplies the snapshot to the information terminals A and B.
  • the output units 20 of information terminal A and information terminal B output the state of the virtual space 100 based on the received snapshots.
  • the output control unit 21 sequentially generates snapshots of the virtual space 100 at predetermined timings and supplies them to the information terminal A and the information terminal B.
  • FIG. In the example of FIG. 7, the output control unit 21 generates a snapshot of the virtual space 100 of the frame Fx at each predetermined timing Tx (where x is a positive integer) and supplies it to the information terminal A and the information terminal B.
  • Tx where x is a positive
  • the instruction setting unit 14 receives an instruction from user A and sets a predetermined instruction for character A and object A (obstacle) possessed by user A (D1).
  • the predetermined instruction is, for example, an instruction to place character A in a predetermined virtual unit space in area A associated with user A and to cause character A to sequentially perform three actions (for example, one action is (executed in one frame), and placing object A in a given virtual unit space of area A.
  • the instruction setting unit 14 receives an instruction from user B and sets a predetermined instruction for character B and object B (obstacle) possessed by user B (D8).
  • the predetermined instruction is, for example, an instruction to place character B in a predetermined virtual unit space in area B associated with user B and to cause character B to sequentially perform three actions (for example, one action is (executed in one frame), and an instruction to place object B in a given virtual unit space of area B.
  • the instruction setting unit 14 receives instructions from user A and user B, and sets these instructions in the first frame F1.
  • the execution accepting unit 16 accepts an instruction to execute the command (D2) from the user A via the input unit 10. Further, the execution receiving unit 16 receives an instruction to execute an instruction (D9) from the user B via the input unit 10.
  • FIG. The execution receiving unit 16 receives an execution instruction from each user at an arbitrary timing. In the example of FIG. 7, the execution receiving unit 16 receives the user A's execution instruction in the third frame F3, and receives the user B's execution instruction in the fourth frame F4. Then, when the execution receiving unit 16 receives an execution instruction from the user A in the third frame F3, the motion control unit 18 moves the character A to the virtual space based on the command and execution order set by the command setting unit 14. 100 to arrange the object A in the virtual unit space specified by the user A.
  • the output control unit 21 outputs snapshots showing the states of the character A and the object A controlled by the motion control unit 18 and the character B and the object B in the virtual space 100 in the fourth frame F4 and the fifth frame F4. , the sixth frame F6, and the seventh frame F7, respectively. Then, the output control unit 21 takes a snapshot of the fourth frame F4 at timing T4, a snapshot of the fifth frame F5 at timing T5, a snapshot of the sixth frame F6 at timing T6, and a snapshot of the sixth frame F6 at timing T7. A snapshot of the seventh frame F7 is supplied to information terminal A and information terminal B.
  • the output units 20 of information terminal A and information terminal B respectively cause character A to sequentially perform the three actions over the fourth frame F4 to the sixth frame F6, and object A to perform the first three actions in a predetermined virtual unit section.
  • 4 frame F4 (D3) the character B sequentially performs three actions from the fifth frame F5 to the seventh frame F7, and the object B moves into a predetermined virtual unit space.
  • the output control unit 21 each time the execution receiving unit 16 receives an instruction to execute an instruction from each user, the output control unit 21 generates a snapshot of the state of the virtual space 100 reflecting the execution result of the instruction from each user, The output units 20 of the terminal A and the information terminal B are caused to output the situation of the virtual space 100 .
  • the execution reception unit 16 receives a command stop instruction (D4) from the user A via the input unit 10
  • the operation control unit 18 stops execution of the command set by the command setting unit 14. That is, in the simulation system 1, the instruction can be stopped at any timing of the user.
  • the output control unit 21 generates a snapshot of the state of the virtual space 100 after the command is stopped (generated at the seventh frame F7 in FIG. 7.
  • the snapshot includes the states of the character B and the object B).
  • the output unit 20 of the information terminal A and the information terminal B is caused to output the situation of the virtual space 100 (output in the eighth frame in FIG. 7).
  • the execution receiving unit 16 receives an instruction to execute an instruction (D6) from the user A in the tenth frame.
  • the output control unit 21 generates a snapshot showing a state in which the motion control unit 18 arranges the object A in a predetermined virtual unit space at the tenth frame F10, and at timing T11 (that is, the eleventh frame F11 ), the snapshot is supplied to information terminal A and information terminal B.
  • the output units 20 of information terminal A and information terminal B output a state (D7) in which object A is installed in a predetermined virtual unit space in area A (11th frame F11).
  • the execution receiving unit 16 receives an instruction to stop execution of an instruction from the user via the input unit 10, if there is an unexecuted command among the commands set by the command setting unit 14, the unexecuted command can be left as it is. Then, when the execution receiving unit 16 receives an instruction to start executing the command again, the command that has not been executed may be resumed. Further, when the execution receiving unit 16 receives an instruction to stop execution of commands from the user and there is an unexecuted command, the command setting unit 14 receives the setting of a new command from the user, and sets the unexecuted command to a new command. You can also overwrite commands.
  • the simulation system 1 when the simulation system 1 operates in real time, the user can arbitrarily determine the execution timing of commands set for characters and objects. Therefore, for example, a plurality of characters and/or a plurality of objects may be set with a plurality of instructions and an order of execution of the instructions, and all instructions may be executed at a single timing (that is, the instructions may be accumulated and all of them may be executed at a single timing). It is also possible to set only one command for one character and have the command executed sequentially each time the command is set.
  • the other user when the goal set for one user is to have one character enter another area of another user, the other user can Set a command to place multiple other characters and multiple other objects near the boundary between and, and execute all the set commands at the timing when one character is expected to approach the boundary. You can enjoy the bargaining of.
  • FIG. 8 shows an example of an overview of the flow of processing when the processing of the simulation system according to this embodiment is turn-based. In FIG. 8, time progresses from left to right.
  • the simulation system 1 can execute processing on a turn basis. That is, the simulation system 1 can execute a turn-based simulation in which a turn (setting phase) for setting instructions and their execution order and a turn (execution phase) for executing the set instructions are combined. In this case, the simulation system 1 repeatedly executes turns consisting of a setting phase and an execution phase. Therefore, in the turn system, the simulation system 1 causes each character and/or each object to move simultaneously in the execution phase based on each user's command set in the setting phase.
  • the turn-based simulation system 1 is executed with multiple turns. That is, a plurality of turns x (where x is a positive integer) are provided, and each turn includes a setup phase and an execution phase.
  • each user can set one or more commands and the execution order of the commands for their own character and/or object.
  • the execution phase is configured with a plurality of frames. Although the execution phase has three frames in the example of FIG. 8, the number of frames is not limited to three and may be one or more.
  • the command setting unit 14 can set a frame in which a character appears in the virtual space 100, a frame in which an object appears in the virtual space 100, and a frame in which a command set for the character and object is executed according to the user's instruction. .
  • the instruction setting unit 14 receives an instruction from user A and sets a predetermined instruction for character A and object A (obstacle) possessed by user A ( D11).
  • the predetermined command is, for example, a command to place character A in a predetermined virtual unit space of area A associated with user A and to cause character A to perform three actions continuously (for example, turn 1 an instruction to execute one action in each of the first frame F1 to the third frame F3 of the execution phase), and an instruction to place the object A in a predetermined virtual unit space of the area A (for example, the 1 frame).
  • the command setting unit 14 receives an instruction from user B and sets a predetermined command for character B and object B (obstacle) possessed by user B (D12).
  • the predetermined instruction is, for example, an instruction to place character B in a predetermined virtual unit space in area B associated with user B and to cause character B to perform two actions consecutively (for example, turn 1 an instruction to perform one action in each of the second frame F2 and the third frame F3 of the execution phase), and an instruction to place the object B in a predetermined virtual unit space in the area B (for example, the 3).
  • the instructions set in the setup phase of turn 1 are executed.
  • character A sequentially performs three actions from the first frame F1
  • character B sequentially performs two actions from the second frame F2
  • object A performs an area in the first frame F1.
  • A is placed in a predetermined virtual unit space of A
  • object B is placed in a predetermined virtual unit space of area B in the third frame F3.
  • This predetermined command is, for example, a command to place an object in a predetermined frame among a plurality of frames constituting the execution phase of turn 2 (for example, place an object in the second frame F2 of the execution phase of turn 2).
  • Instruction to install in a predetermined virtual unit space in area B when the execution phase of turn 2 is executed, the motion control section 18 places an object in a predetermined virtual unit space of area B in the second frame of the execution phase of turn 2 (D14).
  • the output units 20 of the information terminal A of user A and the information terminal B of user B each output the state of the execution phase.
  • the output control unit 21 instructs the information terminal of one user to perform the next execution phase of another character of another user (that is, the execution phase in which the content of the setting phase is executed). You can choose to have it output or not. However, when one character of one user interferes with another character, the output control unit 21 prevents each user from knowing what kind of interference will occur. You don't have to output the movement of other characters in .
  • the instruction to execute the instruction are received from all users.
  • limits may be placed on the number of commands that can be set for each turn and the number of characters and/or objects that can be used. You can also set an upper limit on the number of turns. For example, a target to be achieved may be set for each user and an upper limit may be set for the number of turns until the target is achieved. If the user cannot achieve the target within the upper limit of the number of turns, the simulation system 1 can stop the execution of the simulation.
  • multiple users may be able to set commands at the same time, or multiple users may be able to set commands in a predetermined order. If commands can be set among a plurality of users in a predetermined order in the setting phase of one turn, it is preferable to reverse the order in the setting phase of the next turn. That is, in the setting phase of one turn, user A sets the command first, and user B sets the command next. In the setting phase of the next turn, user B sets the command first, then , user A can set the command.
  • the simulation system 1 can also be executed by a hybrid system of real-time system and turn system for command execution and processing flow. For example, when the simulation system 1 is executing processing in real time, if there is a user who satisfies a predetermined condition, only the user can set commands for the user's character, set the command execution order, and It is possible to set a time period during which the instruction can be executed.
  • the predetermined condition is, for example, consumption of predetermined items, consumption of virtual currency that can be used in the simulation system 1, or the like.
  • FIG. 9 shows an example of the flow of processing in the simulation system according to this embodiment.
  • user an example in which one user (hereinafter simply referred to as "user") executes a simulation in the simulation system together with other users will be described from one user's point of view. Also, it is assumed that the user has set a predetermined condition to be achieved using the user's character.
  • the output unit 20 of the user's information terminal is controlled by the output control unit 21, refers to the character information storage unit 220 and/or the object information storage unit 225, and outputs characters and/or objects perceptible to the user. (For example, it refers to displaying on the display unit of an information terminal. The same shall apply hereinafter.).
  • the input unit 10 receives from the user an instruction to select one or more characters and/or objects to be operated in the virtual space 100 among the output characters and/or objects.
  • the output unit 20 outputs the virtual space 100 and the plurality of virtual unit spaces 110 forming the virtual space 100 so that the user can perceive them.
  • the input unit 10 receives from the user an instruction to select a virtual unit space 110 in which characters and/or objects are to be placed, among the plurality of virtual unit spaces 110 that have been output. In this case, if there are multiple characters and/or multiple objects, the input unit 10 accepts designation of positions in the virtual unit space 110 where they should be placed for each of the multiple characters and/or multiple objects. (Step 10. Hereafter, the step is represented as "S”.).
  • the arrangement unit 12 confirms whether or not the specified position of the virtual unit space 110 (hereinafter referred to as "specified position") exists within the area (own area) associated with the user (S12). . If there is a character and/or object for which the designated position does not exist within the own area (No in S12), the placement unit 12 instructs the user to place the designated position of the character and/or the object within the own area. Redo of position setting is requested (S10).
  • the placement unit 12 selects one or more characters and/or objects received by the input unit 10, and Each of the one or more characters and/or objects is placed in a predetermined virtual unit space 110 according to the designation of the position of the virtual unit space 110 where one or more characters and/or objects are to be placed.
  • the command setting unit 14 outputs various commands stored in the command information storage unit 222 from the output unit 20 so that the user can perceive them.
  • the instruction setting unit 14 assigns one or more instructions to be executed in the virtual space 100 to each of the one or more characters placed in the virtual unit space 110 in accordance with instructions from the user who is referring to the output instructions.
  • the instruction execution order is set (S14).
  • the execution receiving unit 16 receives a command execution instruction from the user via the input unit 10 (Yes in S16)
  • the operation control unit 18 executes the command and the command set for the character by the command setting unit 14. In accordance with the order, the characters start to move (S18).
  • the execution receiving unit 16 waits until it receives the execution instruction (No in S16).
  • the simulation system 1 operates in real time, a user other than the user can freely set and/or execute commands independently of the user's operation.
  • the operation control unit 18 when the operation control unit 18 receives a command execution stop instruction from the user via the input unit 10 (Yes in S20), the command being executed is stopped.
  • the command setting unit 14 receives an instruction to change the command via the input unit 10 (Yes in S22)
  • the command setting unit 14 changes part or all of the command set for the character and/or object (S14).
  • the operation control unit 18 issues a command execution command (that is, a command execution restart command). (No in S24).
  • the action control unit 18 resumes execution of the command set for the character and/or object, and performs the command based on the command.
  • the operation is continued (S26).
  • the operation control unit 18 continues the operation based on the command (S26).
  • the motion control unit 18 causes the character to perform a predetermined action based on the relationship between the character and other characters, objects, and/or a predetermined virtual unit space 110 (S30).
  • the motion control unit 18 causes the character to perform a predetermined motion based on the motion information stored in the character interference information storage unit 223, the spatial interference information storage unit 224, and/or the object interference information storage unit 226.
  • the predetermined operation includes, for example, the various operations described above.
  • the action control unit 18 After causing the character to perform the action based on the interference, the action control unit 18 causes the character to continue the command set by the command setting unit 14 (S32). Note that the action control unit 18 may cancel the command set by the command setting unit 14 after causing the character to perform the action based on the interference, and cause the character to perform a predetermined action. On the other hand, if no interference occurs between the character that moves in the virtual space 100 according to the command and other characters, objects, and/or the predetermined virtual unit space 110 (No in S28), the motion control unit 18 causes the character to continue the command set by the command setting unit 14 (S32). Subsequently, when the execution of the command set by the command setting unit 14 is completed, the motion control unit 18 stops the motion of the character (S34).
  • the determination unit 26 determines whether or not a predetermined condition set by the user is satisfied by the action of the character (S36). When determining that the predetermined condition is satisfied (Yes in S36), the determination unit 26 causes the user to obtain a predetermined effect (S38). After generating a predetermined effect, the simulation system 1 terminates its operation (S40). Moreover, when the determination unit 26 determines that the predetermined condition is not satisfied (No in S36), the simulation system 1 also ends the operation (S40).
  • Each component provided in the simulation system 1 according to the present embodiment shown in FIGS. 1 to 9 causes an arithmetic processing unit such as a central processing unit (CPU) to execute a program (that is, a simulation program) That is, it can be realized by software processing. Moreover, it can also be realized by writing a program in advance in hardware such as an electronic component such as an integrated circuit (IC). Note that software and hardware can also be used together.
  • arithmetic processing unit such as a central processing unit (CPU)
  • a program that is, a simulation program
  • a program that is, a simulation program
  • the simulation program according to this embodiment can be pre-installed in an IC, ROM, or the like, for example.
  • the simulation program shall be recorded in a computer-readable recording medium such as a magnetic recording medium, an optical recording medium, a semiconductor recording medium, etc., in an installable format or an executable format file, and provided as a computer program.
  • the recording medium storing the program may be a non-transitory recording medium such as CD-ROM or DVD.
  • the simulation program can be stored in advance in a computer connected to a communication network such as the Internet, and can be provided by downloading via the communication network.
  • the simulation program works on the CPU or the like to perform the simulation program on the input unit 10, the placement unit 12, the instruction setting unit 14, the execution reception unit 16, the operation control unit 18, Output unit 20, output control unit 21, storage unit 22, editing unit 24, determination unit 26, character information storage unit 220, unit space information storage unit 221, command information storage unit 222, character interference information storage unit 223, spatial interference information It functions as a storage unit 224 , an object information storage unit 225 , an object interference information storage unit 226 , an action sequence information storage unit 227 and a user information storage unit 228 .
  • each of a plurality of users sets commands for actions of the characters and sets the execution order of the commands for each user's own character. You can do it freely.
  • the command set by each user is given priority, and a predetermined Actions can be performed by characters.
  • the characters can be made to perform actions different from the commands according to interactions between the character and other characters. Therefore, according to the simulation system 1, each user can simultaneously observe and enjoy how the character performs actions different from the command set by the user.
  • various combinations such as a combination of one character and another character, a combination of one character and an object, and/or a combination of one character and a virtual unit space allow each user can make characters perform various unexpected actions. Therefore, in the simulation system 1, each user can enjoy simulating the motion of the character by enjoying what motion the character will perform, that is, by trial and error of the above various combinations.
  • the virtual space 100 can be divided into a plurality of areas, and one area can be associated with each of a plurality of users. Then, one user installs a character and/or object that he or she has in an area associated with the user, and sets one or more commands to place the character in another area that is not associated with the user. can be moved. As a result, the simulation system 1 can cause interference with other characters and/or other objects of other users in other areas where one user cannot place his/her own characters and objects. It is possible to enjoy the simulation by assuming changes in behavior of one character that cannot be predicted from commands set for one's own character by one user.
  • simulation system 10 input unit 12 placement unit 14 command setting unit 16 execution reception unit 18 operation control unit 20 output unit 21 output control unit 22 storage unit 24 editing unit 26 determination unit 50, 52, 54, 54a, 54b, 54c, 56 Character 60, 60a Object 100 Virtual space 101, 101a, 101b, 101c Area 102 Bottom surface 110, 110a, 110b Virtual unit space 111, 111a, 111b, 111c, 111d, 111e, 111f, 111g, 111h, 111i, 111j, 111k, 111l, 111m, 111n virtual unit space 220 character information storage unit 221 unit space information storage unit 222 instruction information storage unit 223 character interference information storage unit 224 spatial interference information storage unit 225 object information storage unit 226 object interference information storage unit 227 operation sequence Information storage unit 228 User information storage unit 300 Instruction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

仮想空間内においてキャラクタを動作させる場合に、ユーザがキャラクタの動作の変化を想定して楽しむことができ、複数のユーザによる同時プレイ可能なシミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムを提供する。シミュレーションシステム1は、複数のキャラクタに命令を設定可能であり、複数の命令が設定された場合に命令の実行順序を設定する命令設定部14と、キャラクタに対して設定された命令及び実行順序に基づいてキャラクタを仮想空間100内で動作させる動作制御部18とを備え、命令設定部14が、各キャラクタを有するユーザそれぞれの指示に基づく命令及び実行順序の設定が可能であり、動作制御部18が一のキャラクタ及び他のキャラクタを仮想空間100内で動作させる。

Description

シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
 本発明は、シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムに関する。特に、本発明は、複数のユーザそれぞれが有するキャラクタが仮想空間において動作するシミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムに関する。
 従来、操作手段と演算手段と記憶手段とを少なくとも備え、演算手段が、操作手段からゲームプレイヤが入力する情報、並びに、記憶手段に記憶されているゲームプログラム及びデータに基づいて演算することでゲームを進行させるゲームシステムであって、演算手段が、ゲームプレイヤが自分に割り当てられたキャラクタの行動を指示することにより、シナリオをこなしていく形式のロール・プレイング・ゲームと、ゲームプレイヤが任意に編集することにより、ゲームプレイヤ独自の世界を造り上げていく形式のシミュレーション・ゲームとを並行して進行させ、これら2つのゲームを関連付けるゲームシステムが知られている(例えば、特許文献1参照)。特許文献1に記載のゲームシステムによれば、ゲームプレイヤ独自の世界をロール・プレイング・ゲームの世界に設けることで、数多くのロール・プレイング・ゲームを体験したゲームプレイヤであっても、飽きずにゲームを楽しめることができる。
特開2001-079269号公報
 しかし、特許文献1に記載のゲームシステムにおいては、キャラクタの行動をユーザが設定できるものの、当該キャラクタはユーザの設定どおり忠実に行動し、行動範囲に制限がないことからキャラクタの行動に意外性を持たせることは困難である。そして、特許文献1に記載のゲームシステムにおいては、複数のユーザがそれぞれのキャラクタの行動を設定し、ゲーム内でユーザ同士が協力することや対戦すること等について全く考慮されていない。
 したがって、本発明の目的は、仮想空間内においてキャラクタを動作させる場合に、ユーザがキャラクタの動作の変化を想定して楽しむことができ、複数のユーザによる同時プレイ可能なシミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムを提供することにある。
 本発明は、上記目的を達成するため、複数の仮想単位空間により構成される仮想空間に配置可能であり、複数のユーザそれぞれに対応付けられたキャラクタそれぞれに、1つ以上の命令を設定可能であり、複数の命令が設定された場合に命令の実行順序を設定する命令設定部と、キャラクタに対して設定された命令及び実行順序に基づいて、キャラクタを仮想空間内で動作させる動作制御部とを備え、命令設定部が、一以上のキャラクタそれぞれについて、各キャラクタに対応付けられたユーザそれぞれの指示に基づく命令及び実行順序の設定が可能であり、動作制御部が、第1のユーザの指示を受け付けて第2のユーザの指示とは無関係に第1のユーザに対応付けられた第1のキャラクタを当該の第1キャラクタに対して設定された命令及び実行順序に基づいて仮想空間内で動作させ、第2のユーザの指示を受け付けて第1のユーザの指示とは無関係に第2のユーザに対応付けられた第2のキャラクタを当該第2のキャラクタに対して設定された命令及び実行順序に基づいて仮想空間内で動作させるシミュレーションシステムが提供される。
 本発明に係るシミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムによれば、仮想空間内においてキャラクタを動作させる場合に、ユーザがキャラクタの動作の変化を想定して楽しむことができ、複数のユーザによる同時プレイ可能なシミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムを提供できる。
本実施形態に係るシミュレーションシステムの概要図である。 本実施形態に係るシミュレーションシステムの概要図である。 本実施形態に係るシミュレーションシステムの概要図である。 本実施形態に係るシミュレーションシステムの概要図である。 本実施形態に係るシミュレーションシステムの機能構成ブロック図である。 本実施形態に係る格納ユニットが有する各格納部のデータ構成図である。 本実施形態に係るシミュレーションシステムの処理がリアルタイム制の場合の処理の流れを示す図である。 本実施形態に係るシミュレーションシステムの処理がターン制の場合の処理の流れを示す図である。 本実施形態に係るシミュレーションシステムにおける処理のフロー図である。
[実施の形態]
<シミュレーションシステム1の概要>
 本実施形態に係るシミュレーションシステム1は、一例として、複数のユーザそれぞれの情報端末と、シミュレーションの所定の処理を実行するサーバとを備えて構成できる。情報端末とサーバとは、通信ネットワークを介して双方向通信可能に接続される。また、通信ネットワークは、携帯電話網、及び/又はインターネット等の通信網である。通信ネットワークは、有線LAN及び無線LAN等の通信ネットワークを含むこともできる。更に、シミュレーションシステム1は、サーバクライアント型のシミュレーションシステムであってもよい。以下の説明においては、一例として、シミュレーションシステム1が、複数のユーザそれぞれの情報端末と、シミュレーションの所定の処理を実行するサーバとを備える例を説明する。
 シミュレーションシステム1は、複数のユーザそれぞれが有するキャラクタ及び/又はオブジェクトを仮想空間(フィールド)に配置し、各ユーザが有するキャラクタそれぞれに対し、各ユーザが、仮想空間において実行して欲しい1つ以上のお願いと、お願いの実行順序とを設定する。そして、シミュレーションシステム1は、各ユーザが有するキャラクタそれぞれに対するお願いの実行の指示を契機とし、仮想空間においてキャラクタに実行順序に沿ったお願いを実行させる。すなわち、シミュレーションシステム1は、一のユーザが一のキャラクタを有し、他のユーザが他のキャラクタを有している場合、一のユーザが一のキャラクタにお願い及び実行順序を設定し、他のユーザが他のキャラクタにお願い及び実行順序を設定する。そして、シミュレーションシステム1は、一のユーザが一のキャラクタに対してお願いの実行の指示をした場合、他のユーザの指示とは無関係に(つまり、独立に)一のキャラクタに実行順序に沿ったお願いを仮想空間内で実行させ、他のユーザが他のキャラクタに対してお願いの実行の指示をした場合、一のユーザの指示とは無関係に(つまり、独立に)他のキャラクタに実行順序に沿ったお願いを一のキャラクタが存在する仮想空間と同一の仮想空間内で実行させる。
 この場合においてシミュレーションシステム1は、一のユーザがお願いの実行指示をした場合に一のユーザの情報端末の表示部等に一のキャラクタ及び/又はオブジェクトの動作を出力すると共に、他のユーザがお願いの実行指示をした後、他のキャラクタ及び/又はオブジェクトの動作も当該表示部等に出力する。他のユーザの情報端末においても同様である。
 また、シミュレーションシステム1は、仮想空間を複数のエリアに区切り、各エリアを複数のユーザそれぞれに割り当てる(つまり、対応付ける)。複数のエリアはそれぞれ、各エリアに対応付けられたユーザによる、当該ユーザが有するキャラクタ及び/又はオブジェクトに対する操作が可能な領域(操作可能領域)である。例えば、一のユーザに一のエリアを割り当てた場合、当該一のエリアは他のユーザに割り当てることが禁止される。そして、シミュレーションシステム1においては、各ユーザが自身に割り当てられたエリアに1以上のキャラクタを配置し、各キャラクタにお願い及びその実行順序を設定する。エリアには、所定のオブジェクトを配置することもできる。
 そして、シミュレーションシステム1においては、一のユーザは一のエリア内(自エリア内)にのみ自身が有するキャラクタ及び/又はオブジェクトを配置でき、他のエリア内への配置は禁止される。つまり、シミュレーションシステム1においてキャラクタをエリアに最初に配置する場合、一のユーザに割り当てられた一のエリアには一のユーザが有する一のキャラクタのみ配置可能であり、他のユーザに割り当てられた他のエリアに一のキャラクタを配置することは禁止される。また、シミュレーションシステム1は、一のユーザが有するオブジェクトについても、一のエリアに配置可能にし、他のエリアへの配置を禁止する。ただし、シミュレーションシステム1は、一のエリアに配置された一のキャラクタが一のユーザの命令に基づいて一のエリアから他のエリア内に移動して入った後、当該一のキャラクタに対する一のユーザによる命令の追加や再設定は許可してよい。
 更に、シミュレーションシステム1は、各キャラクタが仮想空間において動作し、同一位置に一のキャラクタ(第1のキャラクタ)と当該一のキャラクタとは異なるキャラクタ(第2のキャラクタ)若しくは所定のオブジェクト等とが存在することになる場合、第1のキャラクタの特徴と第2のキャラクタの特徴若しくは所定のオブジェクト等の特徴との組み合わせ、及び/又は当該位置に存在する前において第1のキャラクタ及び/又は第2のキャラクタが実行したお願い等に基づいて、設定したお願いと共に、若しくは設定したお願いに優先し、第1のキャラクタ及び/又は第2のキャラクタに所定の動作を実行させる。なお、第1のキャラクタを有するユーザと第2のキャラクタを有するユーザ、及び第1のキャラクタを有するユーザとオブジェクトを有するユーザとは同一でも異なっていてもよい。
 更に、シミュレーションシステム1は、仮想空間を複数の仮想単位空間から構成する。そして、各仮想単位空間には固有の特徴を対応付けることができる。シミュレーションシステム1は、キャラクタが仮想空間において動作する場合において、キャラクタの特徴と当該キャラクタが存在している仮想単位空間の特徴との組み合わせ、及び/又は当該位置に存在する前において当該キャラクタが実行したお願い等に基づいて、設定したお願いと共に若しくは設定したお願いに優先し、当該キャラクタに所定の動作を実行させることもできる。
 図1~図4は、本実施形態に係るシミュレーションシステム及び動作の概要の一例を示す。
 具体的に、シミュレーションシステム1は、複数のユーザそれぞれが設定したお願い(以下、「命令」という。)及び命令の実行順序に基づいて、同一の仮想空間内で複数のユーザそれぞれが有するキャラクタに所定の動作を実行させるシステムである。すなわち、シミュレーションシステム1においては、複数のユーザそれぞれが1以上のキャラクタを有している。そして、シミュレーションシステム1は、一のユーザからの指示を受け付けて、当該一のユーザが有する一のキャラクタに対し、命令及び命令の実行順序を設定する。また、シミュレーションシステム1は、他のユーザからの指示を受け付けて、当該他のユーザが有する他のキャラクタに対し、命令及び命令の実行順序を設定する。シミュレーションシステム1は、一のユーザからの命令実行の指示を受け付けたことを契機とし、他のユーザの指示とは無関係に一のキャラクタに実行順序に則った命令を実行させ、他のユーザからの命令実行の指示を受け付けたことを契機とし、一のユーザの指示とは無関係に他のキャラクタに実行順序に則った命令を実行させる。
(仮想空間100について)
 本実施形態において仮想空間は、複数の構成単位(以下、「仮想単位空間」と呼ぶ。)が連結して構成される。一例として、図1(a)に示すように、仮想空間100は、複数の仮想単位空間110の集合体で構成される。なお、図1(a)では仮想単位空間110の境界線が示されているが、仮想空間100を情報端末等の表示部に表示する場合は、境界線は表示しなくてよい。図1(a)では、立方体形状の複数の仮想単位空間110(つまり、仮想的な立体マス)が集合し、立方体形状の仮想空間100が構成される例を示す(一例として、5×5×5の仮想単位空間の集合体により仮想空間100が構成される例を示すが、集合体のサイズはこれに限定されない。例えば、仮想空間は、m×n×oの仮想単位空間の集合体であってよい。ただし、m、n、oはそれぞれ同一の若しくは異なる正の整数である。)。なお、仮想空間100の形状は立方体形状に限られず、複数の仮想単位空間110の集合体であればいかなる形状であってもよい。このように仮想単位空間110で仮想空間100を構成することにより、仮想的な立体マス間でのキャラクタの移動指定(つまり、仮想単位空間110単位での移動指定)や、立体マス中でのキャラクタの所定の動作の指定が可能になるので、キャラクタの移動や動作について自由度が高いにも関わらず、操作が容易なシミュレーションシステム1を提供できる。
 また、仮想単位空間110の形状に特に限定はない。ただし、仮想単位空間110は、仮想空間100の構成の容易性等の確保等の観点から、例えば、立方体形状を有して構成されることが好ましい。また、複数の仮想空間100を連結させてもよい。なお、仮想単位空間110は、直方体形状や球状等、他の形状を有して構成されてもよい。また、仮想単位空間110は、同一若しくは互いに異なる形状の複数の仮想単位空間をつなぎ合わせ、つなぎ合わされた部分(接合部分)を存在しないものとして扱い、つなぎ合わされた複数の仮想単位空間を1つの仮想単位空間として扱ってもよい。本実施形態では、仮想単位空間110が立方体形状であり、仮想空間100も立方体形状である例を説明する。
(エリアについて)
 シミュレーションシステム1においては、仮想空間100は複数のエリアを有して構成される。また、各エリアは複数の仮想単位空間110を含んで構成される。例えば、図1(b)に示すように、仮想空間100は、エリア101、エリア101a、エリア101b、及びエリア101cを有して構成される。なお、図1(b)では説明を簡略化するため仮想空間100の平面図を示す。また、図1(b)の例では、仮想空間100が4つのエリアを有して構成されているが、エリアの数は複数であれば4つに限られない。更に、エリアの形状やサイズも自由に設定できる。
 ここで、シミュレーションシステム1においては、一のエリアは一のユーザに対応付けられる。例えば、エリア101が第1のユーザに対応付けられ、エリア101aが第2のユーザに対応付けられ、エリア101bが第3のユーザに対応付けられ、エリア101cが第4のユーザに対応付けられる。なお、仮想空間100は、ユーザが対応付けられていないエリア(中立エリア)を有していてもよい。すなわち、エリア101が第1のユーザに対応付けられ、エリア101bが第2のユーザに対応付けられる一方で、エリア101a及びエリア101cがいずれのユーザにも対応付けられていなくてもよい。また、複数のユーザからなるチームを設定し、エリアにチームを対応付けてもよい。この場合、一のエリアは、同一チームの複数のユーザに対応付けられる。
(エリアへのキャラクタ及び/又はオブジェクトの配置について)
 シミュレーションシステム1は、複数のユーザそれぞれからの指示に応じ若しくは予め、仮想空間100の所定のエリアに所定のキャラクタを配置する。例えば、エリア101が第1のユーザに対応付けられ、エリア101bが第2のユーザに対応付けられているとする。この場合においてシミュレーションシステム1は、第1のユーザが有するキャラクタ50であって、命令及び命令の実行順序が未だ設定されていないキャラクタ50の仮想空間100への配置を、エリア101内に限定する。一例として、シミュレーションシステム1は、第1のユーザの指示に基づき、図1(b)に示すように、エリア101内の仮想単位空間110aにキャラクタ50を配置する。一方、シミュレーションシステム1は、エリア101を除く他のエリアの仮想単位空間への第1のユーザによるキャラクタ50の配置を禁止する。同様にして、シミュレーションシステム1は、第2のユーザが有するキャラクタ52であって、命令及び命令の実行順序が未だ設定されていないキャラクタ52の仮想空間への配置を、エリア101b内に限定する。そして、シミュレーションシステム1は、第2のユーザの指示に基づき、エリア101b内の仮想単位空間110bにキャラクタ52を配置し、エリア101bを除く他のエリアの仮想単位空間への第2のユーザによるキャラクタ52の配置を禁止する。
 すなわち、シミュレーションシステム1においてユーザは、キャラクタ及び/又はオブジェクトをエリアに最初に配置する場合(以下、キャラクタ及び/又はオブジェクトがエリアに最初に配置される位置、つまり、キャラクタ及び/又はオブジェクトが仮想空間100内で最初に動作を開始する位置を「動作開始位置」と称する。)、自身のエリア内に自身が有するキャラクタ及び/又はオブジェクトを配置できる一方で、他者のエリア内にキャラクタ及び/又はオブジェクトを配置することはできない。つまり、キャラクタ及びオブジェクトの動作開始位置は、当該キャラクタ及び当該オブジェクトを有するユーザに対応付けられているエリア内に限定される。
 なお、複数のユーザからなるチームを設定した場合、当該チームに属する複数のユーザそれぞれが、各自が有するキャラクタ及び/又はオブジェクトをチームに対応付けられたエリアに配置できる。ただし、同一チームであっても、一のユーザが有するキャラクタ及び/又はオブジェクトに対する同一チームの他のユーザによる操作は禁止されてよい。ここで、例えばシミュレーションシステム1は、1以上のユーザを有する複数のチームを設定した場合、各ユーザが有するキャラクタ及びオブジェクトの配置について所定の制限を設けることができる。例えば、ユーザA及びユーザBを含むチーム(味方チーム)と他のユーザを含むチーム(敵チーム)との2つのチームが設定された場合、以下のようにキャラクタ及びオブジェクトの初期配置(つまり、動作開始位置)について条件を設けてもよい。この場合、エリアはユーザA用のエリア(自エリア)、ユーザB用のエリア(味方エリア)、及び敵チームのエリア(敵エリア)を含む。
(i)ユーザAは、ユーザAに対応付けられたキャラクタ及びオブジェクトの動作開始位置を自エリア内に設定できる。
(ii)ユーザAは、ユーザAに対応付けられたキャラクタの動作開始位置を味方エリア内に設定できる一方、オブジェクトの動作開始位置については自エリア内にのみ設定できる。又は、ユーザAは、ユーザAに対応付けられたオブジェクトの動作開始位置を味方エリア内に設定できる一方、キャラクタの動作開始位置については自エリア内にのみ設定できる。
(iii)ユーザAは、ユーザAに対応付けられたキャラクタ及びオブジェクトの動作開始位置を敵エリア内に設定できない。
 以上の(i)~(iii)の条件は、ユーザB及び他のユーザも同様である。
 また、複数のエリアのうち一部のエリアを以下の特性を有するエリアとして設定してもよい。
(a)いずれのユーザも自己のキャラクタ及び/又はオブジェクトを最初に配置可能なエリア。
(b)いずれのユーザも自己のキャラクタ及び/又はオブジェクトを配置できないエリア。
(c)複数のユーザのキャラクタのうち、最先に到達したキャラクタを有するユーザに対応付けるエリア。最先に到達したキャラクタを有するユーザに対応付けられた後は、当該ユーザのキャラクタのみが当該エリアに配置可能になる。
(d)予め定められた時間間隔で、エリアに対応付けられているユーザが変わるエリア。例えば、1分ごとにエリアに対応付けられるユーザが一のユーザから他のユーザに切り換わる。
(e)所定条件を満たした場合に、当該条件を満たしたユーザに対応付けられるエリア。所定の条件は、例えば、所定のアイテムの使用等である。
(f)各ユーザに達成すべき目標が設定されている場合に、各ユーザの目標の達成度合いを参照し、達成度合いが最も低いユーザに対応付けられるエリア。
(命令及び命令の実行順序の設定について)
 そして、シミュレーションシステム1は、第1のユーザがキャラクタ50に対して1以上の命令及び命令の実行順序を設定し、命令実行の指示を第1のユーザから受け付けた場合、命令及び命令の実行順序に基づいて仮想空間100内でキャラクタ50を動作させる。ここで、第1のユーザのキャラクタ50の動作は、第2のユーザが設定した命令及び命令の実行順序、並びに命令実行の指示とは無関係に実行される。シミュレーションシステム1は、キャラクタ52についても同様に、第2のユーザからの指示に基づき、第2のユーザが設定した命令及び命令の実行順序に基づいて動作させる。第2のユーザのキャラクタ52の動作もキャラクタ50と同様に、第1のユーザが設定した命令及び命令の実行順序、並びに命令実行の指示とは無関係に実行される。
 ここで、シミュレーションシステム1は、キャラクタが、当該キャラクタを有するユーザに対応付けられているエリアから当該ユーザに対応付けられていないエリアに命令の実行により移動した場合、当該キャラクタに対する命令及び命令の実行順序の追加、及び/又は変更を可能にできる。例えば、第1のユーザのキャラクタ50が命令の実行によりエリア101からエリア101aに移動した場合、エリア101aは第1のユーザに対応付けられているエリアではない。しかし、シミュレーションシステム1は、第1のユーザの指示に基づいて、エリア101a内のキャラクタ50に対する命令の設定(例えば、既に設定した命令の変更や停止、及び/又は新たな命令の追加)を可能にすることができる。具体的に、シミュレーションシステム1は、キャラクタ及びオブジェクトの動作開始位置を当該キャラクタ及び当該オブジェクトを有するユーザに対応付けられているエリア内に限定する一方、キャラクタ及び/又はオブジェクトに対する命令の設定については当該エリア内に限定しない。すなわち、シミュレーションシステム1は、当該ユーザに対応付けられているキャラクタ及びオブジェクトであれば、仮想空間100内のいずれの位置に当該キャラクタ及び当該オブジェクトが存在している場合であっても、当該キャラクタ及び当該オブジェクトに対する命令及び命令の実行順序の設定を可能にできる。
 また、シミュレーションシステム1は、キャラクタ50とキャラクタ52との仮想空間100内における位置関係が所定の関係を満たした場合(例えば、同一の仮想単位空間に位置することになった場合)、キャラクタ50及びキャラクタ52に設定されている命令に優先し、キャラクタ50及びキャラクタ52の少なくともいずれか一方に所定の動作を実行させる。これにより、キャラクタ50及びキャラクタ52の少なくとも一方が想定外の動作(つまり、設定した命令にはない動作)をすることになり、動作の意外性によるシミュレーションの興趣性を高めることができる。
(ユーザに設定される目標について)
 シミュレーションシステム1は、各ユーザに達成すべき目標を設定してもよい。各ユーザは、自身が有するキャラクタ及び/又はオブジェクトを自身のエリア内に配置し、かつ、キャラクタに命令及び命令の実行順序を設定してキャラクタに命令を実行させることで、設定された目標の達成を目指して楽しむことができる。例えば、目標として、一のユーザの一のキャラクタが他のユーザの他のエリアの所定箇所(ゴール地点)への到達が設定された場合、一のユーザは、一のキャラクタを自エリアに配置し、かつ、一のキャラクタに1以上の命令及び命令の実行順序を設定してゴール地点への一のキャラクタの到達を目指す。一方、他のユーザは、一のキャラクタのゴール地点への経路を予想し、他のエリア内に一のキャラクタの移動を妨害するオブジェクトを設置することや、一のキャラクタのゴール地点への移動を妨害する命令及び命令の実行順序を設定した他のキャラクタを他のエリア内に設置することで一のユーザの目標達成を妨害することができる。
(配置、並びに命令及び命令の実行順序の例)
 図2~図4を用いてキャラクタ及びオブジェクトの配置、並びにキャラクタに対する命令及び命令の実行順序の設定の例を説明する。図2~図4では、第1のユーザと第2のユーザとがシミュレーションシステム1を利用している例であって、エリア101に第1のユーザが対応付けられ、エリア101aに第2のユーザが対応付けられている例を示す。なお、図2において仮想空間100はエリア101とエリア101に隣接するエリア101aとを有して構成され、エリア101は網掛けが施されていない領域であり、エリア101aは網掛けが施された領域である。また、図2では複数のキャラクタ及びオブジェクトを仮想空間100に配置している例を示すが、仮想空間100に配置するキャラクタ及び/又はオブジェクトは1以上であればよい。
 また、図2(b)においては、説明の簡略化のため、各仮想単位空間の下面のみ示す(よって、図2(b)においては、仮想空間100の下面のみが示されている。)。したがって、シミュレーションシステム1は、仮想空間100の下面だけではなく、下面より上方の仮想単位空間(図示しない)にキャラクタやオブジェクトを設置することもできる。
 まず、第1のユーザは、自身が有するキャラクタ及び/又はオブジェクトの中からエリア101に配置するキャラクタを選択する。例えば、シミュレーションシステム1は、第1のユーザの情報端末に第1のユーザが有するキャラクタ及びオブジェクトを表示させ(図2(a)の上段の図参照)、第1のユーザの選択に基づいてキャラクタを選択する。第1のユーザの情報端末には、一例として、第1のユーザが所持するキャラクタ54、キャラクタ56、及びオブジェクト60等が表示される。そして、図2の例では第1のユーザが、キャラクタ54を選択したとする。
 そして、シミュレーションシステム1は、第1のユーザに指示されたエリア101の仮想単位空間111にキャラクタ54を配置する。続いて、シミュレーションシステム1は、第1のユーザの情報端末にキャラクタに設定する各種の命令を表示させる(図2(a)の下段の図参照)。第1のユーザの情報端末には、一例として、「すすむ」ことを指定する命令C1、「まがる」ことを指定する命令C2、「ジャンプ」することを指定する命令C3等が表示される。シミュレーションシステム1は、第1のユーザの指示に基づき、キャラクタ54に1以上の命令及び命令の実行順序を設定する。一方、シミュレーションシステム1は、第2のユーザについても同様に、第2のユーザの指示に基づき、第2のユーザが所持するキャラクタ56を仮想単位空間111iに設置すると共に、キャラクタ56に対する命令及び命令の実行順序を設定する。
 ここで、キャラクタとは、シミュレーションシステム1に登場可能なキャラクタであって仮想空間100に配置可能であり、仮想空間100内における動作についてユーザが命令を設定できるキャラクタである。また、オブジェクトとは、仮想空間100を構成する所定の仮想単位空間110にユーザの指示に応じて設置可能なオブジェクトであって、キャラクタによる干渉が可能な、若しくは不可能な配置物等を表すオブジェクトである。また、仮想単位空間110には、仮想単位空間の地形や天候等の特徴が設定されてもよい。なお、オブジェクトには、仮想空間100内で実質的に動作しないキャラクタや、キャラクタの動作に付随するオブジェクトである派生オブジェクト、及び仮想単位空間110の地形や天候等に付随する環境に特有なオブジェクト(環境オブジェクト)も含まれる。
 更に、干渉とは、一のキャラクタが当該一のキャラクタとは異なる別のキャラクタ及び/又はオブジェクトと同一の若しくは近傍の仮想単位空間に存在する場合、及び/又は一のキャラクタが所定の仮想単位空間若しくは所定の仮想単位空間の近傍の仮想単位空間に存在する場合に、一のキャラクタが別のキャラクタ及び/又はオブジェクトに所定の影響を与えること、及び/又は一のキャラクタが所定の仮想単位空間に所定の影響を与え得ることを意味する。所定の影響には様々な影響が挙げられる。例えば、一のキャラクタを他の仮想単位空間に押し出す影響や同一の仮想単位空間内のオブジェクトを破壊する等の影響、更には仮想単位空間の状況を変化させる影響等、様々な影響を設定できる。
 例えば、図2(b)において、キャラクタ54に第1のユーザが命令を設定し、キャラクタ56に第2のユーザが命令を設定する。一例として、シミュレーションシステム1は、第1のユーザの指示に基づき、キャラクタ54に、仮想単位空間111から仮想単位空間111aを経由して仮想単位空間111bに至り、仮想単位空間111bで方向転換して仮想単位空間111c、仮想単位空間111d、仮想単位空間111e、仮想単位空間111fまで進み、仮想単位空間111fで再び方向転換して仮想単位空間111gを経由して仮想単位空間111hに到達するように、命令C1(「すすむ」命令)、命令C2(「まがる」命令)、及び/又は命令C3(「ジャンプ」命令)等の各種の命令を適宜組み合わせて指定すると共に各命令の実行順序を設定する。図2(b)では、仮想単位空間111から仮想単位空間111aの方向を「前方」とすると、キャラクタ54は前方に2マス進み、仮想単位空間111bで進行方向左に曲がって4マス進み、仮想単位空間111fで進行方向右に曲がって2マス進むことになる。
 同様にしてシミュレーションシステム1は、第2のユーザの指示に基づき、キャラクタ56についても命令及び命令の実行順序を設定する。キャラクタ56の場合は、仮想単位空間111iから仮想単位空間111jを経由して仮想単位空間111kまで進み、仮想単位空間111kで進行方向左に方向転換して仮想単位空間111lに移動し、仮想単位空間111lで更に進行方向右に方向転換して進み、仮想単位空間111hに到達するような命令及び命令の実行順序が設定される。一方、シミュレーションシステム1は、第1のユーザの指示に基づき、オブジェクト60を仮想単位空間111mに配置する。そして、シミュレーションシステムは、第1のユーザからの命令実行の指示を受け取り、キャラクタ54に命令を実行させ、第2のユーザからの命令実行の指示を受け取り、キャラクタ56に命令を実行させる。
 ここで、シミュレーションシステム1は、ユーザが設定した命令及び命令の実行順序をユーザに知覚可能に出力できる。例えば、シミュレーションシステム1は情報端末において実行可能であり、仮想空間100と共に若しくは別に、ユーザが設定した命令及び実行順序を情報端末の表示部に表示させることができる。例えば、図2(c)のようなテキスト等を用いて命令内容とその実行順序が命令300として表示される。図2(c)の例では、第1のユーザのキャラクタ54に設定された命令内容の一部が表示されている。シミュレーションシステム1は、例えば、「すすむ」命令を2回繰り返した後、所定方向に「曲がる」命令を実行し、続いて「すすむ」命令を4回繰り返す内容を含む命令300がキャラクタ54に設定されていることを第1のユーザの情報端末に表示させる。同様にしてシミュレーションシステム1は、第2のユーザの情報端末に第2のユーザがキャラクタ56に設定した命令及び命令の実行順序を表示させる。そして、シミュレーションシステム1は、各ユーザが設定した命令を各ユーザが設定した実行順序で実行することにより、仮想空間100内で各キャラクタを動作させる。
 なお、シミュレーションシステム1においては、キャラクタが存在する仮想単位空間内で実行する動作(例えば、技の発動、その場でジャンプする等の動作)については、シミュレーションシステム1がキャラクタの動作を実行中であってもユーザの指示に応じて動作可能にしてもよい。
(キャラクタ54とキャラクタ54aとの干渉の例)
 例えば、図3(a)に示すように、第1のユーザのキャラクタ54に仮想単位空間111gから仮想単位空間111hに「ジャンプ」する命令(第1の命令)が設定され、第2のユーザのキャラクタ54aに仮想単位空間111lから仮想単位空間111hに「すすむ」命令(第2の命令)が設定されているとする。第1のユーザの指示により第1の命令が実行されるとキャラクタ54は仮想単位空間111gからジャンプして仮想単位空間111hに到達し、第2のユーザの指示により第2の命令が実行されるとキャラクタ54aは仮想単位空間111lから進んで仮想単位空間111hに到達する。そうすると、キャラクタ54とキャラクタ54aとは同一の仮想単位空間111hに存在することになる。この場合、シミュレーションシステム1は、キャラクタ54の特徴とキャラクタ54aの特徴との組み合わせ、及びキャラクタ54が仮想単位空間111hに到達する直前の命令に基づいて、キャラクタ54の仮想単位空間111hにおける動作を制御する。つまり、シミュレーションシステム1は、ユーザの設定によらずに(若しくは優先し)、予め定められた条件に基づいてキャラクタ54の動作を制御する。
 例えば、シミュレーションシステム1は、同一の仮想単位空間に存在する複数のキャラクタが同一種類のキャラクタであり、一のキャラクタが当該仮想単位空間に隣接する仮想単位空間から「ジャンプ」により当該仮想単位空間に到達した場合、仮想単位空間に存在する他のキャラクタの上に一のキャラクタを乗せる動作を実行させることを予め設定しておく。そして、キャラクタ54とキャラクタ54aとは同一種類のキャラクタであり、キャラクタ54は仮想単位空間111hに到達する直前にジャンプする命令を実行したので、シミュレーションシステム1は図3(a)に示すように、キャラクタ54aの上にキャラクタ54が乗るようにキャラクタ54を動作させる。なお、シミュレーションシステム1は、同一の仮想単位空間に存在する複数のキャラクタが同一種類のキャラクタであり、一のキャラクタが当該仮想単位空間に隣接する仮想単位空間から「すすむ」により当該仮想単位空間に到達した場合、仮想単位空間に存在する他のキャラクタに衝突し、一のキャラクタがその場(他のキャラクタが存在する仮想単位空間に隣接する仮想単位空間)に留まる動作、又は一のキャラクタ及び他のキャラクタ双方が互いに逆向きに跳ね飛ばされる動作等を実行させることを予め設定しておくこともできる。
(キャラクタ54bとキャラクタ54cとの干渉の例)
 また、例えば、図3(b)に示すように、第1のユーザのキャラクタ54bに仮想単位空間111gから仮想単位空間111hに「すすむ」命令(第1の命令)が設定され、第2のユーザのキャラクタ54cに仮想単位空間111lから仮想単位空間111hに「すすむ」命令(第2の命令)が設定されているとする。第1のユーザの指示により第1の命令が実行されるとキャラクタ54bは仮想単位空間111gから進んで仮想単位空間111hに到達し、第2のユーザの指示により第2の命令が実行されるとキャラクタ54cは仮想単位空間111lから進んで仮想単位空間111hに到達する。そうすると、キャラクタ54bとキャラクタ54cとは同一の仮想単位空間111hに存在することになる。この場合、シミュレーションシステム1は、キャラクタ54bの特徴とキャラクタ54cの特徴との組み合わせ、及びキャラクタ54bが仮想単位空間111hに到達する直前の命令に基づいて、キャラクタ54bの仮想単位空間111hにおける動作を制御する。ここで、キャラクタ54bの種類とキャラクタ54cの種類とは同一である一方、キャラクタ54bのサイズはキャラクタ54cのサイズより小さいものとする。
 例えば、シミュレーションシステム1は、同一の仮想単位空間に存在する複数のキャラクタについて、各キャラクタの種類が同一で、当該仮想単位空間に到達する一のキャラクタのサイズが、当該仮想単位空間に存在する他のキャラクタのサイズより小さい場合、仮想単位空間に存在する他のキャラクタに衝突し、一のキャラクタが移動してきた元の仮想単位空間より更に後方の仮想単位空間に後退する動作を一のキャラクタに実行させることを予め設定しておく。また、この場合、サイズがより大きいキャラクタ(この場合、他のキャラクタ)は、当該仮想単位空間に存在したままの動作を実行させることを予め設定しておく。
 ここで、図3(b)の例ではキャラクタ54cのサイズはキャラクタ54bのサイズより大きい。そして、キャラクタ54cが仮想単位空間111hに存在している場合、シミュレーションシステム1は、図3(b)に示すように、キャラクタ54cによってキャラクタ54bが弾かれ、移動してきた元の経路を後退して仮想単位空間111fに戻るように動作させる。
(キャラクタ56とオブジェクト60と干渉の例)
 また、図4に示すように、第2のユーザが有するキャラクタ56が、第2のユーザに対応付けられているエリア101aから第1のユーザに対応付けられているエリア101の仮想単位空間111mに向けて移動し、更に、仮想単位空間111nから仮想単位空間111mに向けてジャンプして移動する命令に基づいて、仮想単位空間111mに移動してきたとする。また、仮想単位空間111mには第1のユーザによりオブジェクト60が設置されていたとする。
 この場合、キャラクタ56は、仮想単位空間111nからジャンプして仮想単位空間111mに到達する。そうすると、キャラクタ56とオブジェクト60とは同一の仮想単位空間111mに存在することになる。この場合、シミュレーションシステム1は、キャラクタ56の特徴とオブジェクト60の特徴との組み合わせ、及びキャラクタ56が仮想単位空間111mに到達する直前の命令に基づいて、キャラクタ56の仮想単位空間111mにおける動作を制御する。
 例えば、シミュレーションシステム1は、同一の仮想単位空間に一のキャラクタと所定のオブジェクトとが存在する場合において、所定のオブジェクトがキャラクタからの所定の干渉が可能であることを予め設定しておく。ここでの干渉は、一例として、キャラクタによる所定のオブジェクトの破壊が可能であることを示す。そして、シミュレーションシステム1は、一のキャラクタが当該仮想単位空間に隣接する仮想単位空間から「ジャンプ」により当該仮想単位空間に到達した場合、当該仮想単位空間に存在するオブジェクトを破壊する動作を実行させることを予め設定しておく。そうすると、キャラクタ56は仮想単位空間111mに到達する直前にジャンプする命令を実行したので、シミュレーションシステム1は図4に示すように、キャラクタ56によりオブジェクト60が破壊され、オブジェクト60の破片である複数のオブジェクト60aが仮想単位空間111mの周囲に散らばるように、キャラクタ56及びオブジェクト60を動作させる。
 なお、同一の仮想単位空間に一のキャラクタと所定のオブジェクトとが存在する場合において、所定のオブジェクトがキャラクタからの所定の干渉が不可能であることを予め設定した場合であって、一のキャラクタが当該仮想単位空間に隣接する仮想単位空間から「ジャンプ」若しくは「すすむ」により当該仮想単位空間に到達した場合、仮想単位空間に存在するオブジェクトを破壊せず、オブジェクトにより一のキャラクタが弾かれて元の仮想単位空間に戻る動作を実行させることを予め設定しておくこともできる。また、所定のオブジェクトが存在する仮想単位空間に一のキャラクタが進んできた場合において、所定のオブジェクトがキャラクタからの所定の干渉が不可能であることを予め設定してあり、かつ、一のキャラクタが当該キャラクタの属性として「オブジェクトを通り抜ける」属性を有しているとする。この場合、オブジェクトが存在する仮想単位空間に隣接する仮想単位空間から「すすむ」によりオブジェクトが存在する仮想単位空間に一のキャラクタが到達した場合、仮想単位空間に存在するオブジェクトを破壊せず、一のキャラクタがオブジェクトを透過してオブジェクトに隣接する仮想単位空間に進む動作を実行させることを予め設定しておくこともできる。
(キャラクタ及びオブジェクトのサイズ)
 なお、キャラクタ及びオブジェクトは複数の仮想単位空間110を占めるサイズであってもよい。例えば、2×2×2の8つの仮想単位空間110を占めるサイズのキャラクタ及び/又はオブジェクトや、2×2×1の4つの仮想単位空間110を占めるサイズのキャラクタ及び/又はオブジェクト等、複数の仮想単位空間110を占める様々なサイズのキャラクタ及び/又はオブジェクトを用いることができる。そして、この場合、「干渉」とは、一のキャラクタ及び/又はオブジェクトが占める1以上の仮想単位空間110と他のキャラクタ及び/又はオブジェクトが占める1以上の仮想単位空間110とが一致する場合だけではなく、少なくとも一部が共通する場合に、一のキャラクタが他のキャラクタ及び/又はオブジェクトに所定の影響を与えること、及び/又は一のキャラクタが所定の仮想単位空間に所定の影響を与え得ることを指す。例えば、一のキャラクタが複数の仮想単位空間110を占めており、他のキャラクタが当該複数の仮想単位空間110の全て若しくは一部と重なる場合(つまり、一のキャラクタの存在位置と他のキャラクタの存在位置との少なくとも一部が共通する場合)、「干渉」が発生するとしてよい。また、一のキャラクタ及び/又はオブジェクトが占める1以上の仮想単位空間110と他のキャラクタ及び/又はオブジェクトが占める1以上の仮想単位空間110とが一致する場合、一部が共通する場合とは異なり、特別な干渉として認識し、予め定められた所定の干渉処理を実行してもよい。
 このようにシミュレーションシステム1においては、まず、キャラクタに対する命令の設定、及び当該命令の実行順序の設定を、複数のユーザそれぞれが、各自が有するキャラクタ及び/又はオブジェクトに対して自由にできる。そして、シミュレーションシステム1においては、各ユーザが設定した命令及び命令の実行順序に従って各ユーザのキャラクタそれぞれの動作の実行が開始され、所定の場合に一のキャラクタと他のキャラクタ等との間で干渉が発生する。干渉が発生した場合、シミュレーションシステム1は、一のキャラクタと他のキャラクタ等との関係や一のキャラクタの直前の動作等に基づいて、一のキャラクタが実行する動作を制御できる。なお、干渉は、一のユーザが有する複数のキャラクタ間若しくは一のユーザが有するキャラクタとオブジェクトとの間で発生させても、一のユーザが有するキャラクタ及び/又はオブジェクトと他のユーザが有するキャラクタ及び/又はオブジェクトとの間で発生させることができる。
 なお、仮想空間100は複数の仮想単位空間110から構成され、命令が設定されたキャラクタは、一の仮想単位空間110から他の仮想単位空間110へと仮想単位空間ごとに移動できる。したがって、キャラクタ同士、及び/又はキャラクタとオブジェクト等との間の干渉の発生を仮想単位空間ごとに制御できるので、キャラクタへの移動命令を厳密に制御することなく(つまり、キャラクタ同士やキャラクタとオブジェクトとの接触判定を厳密に設定することなく)、ユーザは、干渉の発生自体について容易に想定できる(ただし、いかなる干渉が発生するかについてはユーザに干渉内容を通知することはないので、実際に干渉が発生するまでユーザは容易には想定できない。)。
 つまり、シミュレーションシステム1においては、複数のユーザそれぞれが設定した命令及び/又は命令の順序が各ユーザの設定どおりに実行されるとは限らず、仮想空間100に配置するキャラクタの特徴、オブジェクトの特徴、及び/又は仮想単位空間110の特徴の組み合わせにより、キャラクタの動作に様々な変化が生じる。したがって、シミュレーションシステム1によれば、各ユーザは、複数のキャラクタを用いる場合、あるキャラクタにどのようなキャラクタを用いると興味深い挙動を観察することができるかや、仮想空間100に配置するオブジェクトによってキャラクタの動作がどのように変化するのか、あるいは他のユーザが用いるキャラクタに自身が有するキャラクタを用いるとどのような意外性のある行動を各キャラクタがするのか等、様々な動作や動作の変化を検討・想定・想像しつつシミュレーションを実行できる。これにより、シミュレーションシステム1においては、複数のユーザそれぞれが、キャラクタやオブジェクト、及び/又は仮想単位空間の様々な組み合わせを試行し、キャラクタ同士の挙動(一のユーザが有するキャラクタ同士、及び/又は一のユーザが有するキャラクタと他のユーザが有するキャラクタ同士の挙動)やキャラクタの仮想空間100内での挙動を観察して楽しむことができる。
 なお、シミュレーションシステム1は、情報端末等で実現できる。情報端末は、ユーザが操作可能な装置である。情報端末は、例えば、移動体通信システムに対応した携帯電話やスマートフォン、タブレット等の携帯端末であってよい。この他に、情報端末は、例えば、据え置き型のPersonal Computer(PC)、ラップトップPC、ノートPC、携帯用ゲーム機、及び/又は家庭用ゲーム機やゲーム専用機等であってもよい。そして、以下において本実施形態に係るシミュレーションシステム1の詳細を説明するが、上記説明及び下記説明における名称や数値等はあくまで例示であり、これらの固有名や数値に本発明が限定されることはないこと、及びこれら固有名や数値は実在の固有名や数値とは必ずしも関係するとは限らないことを付言する。
<シミュレーションシステム1の詳細>
 図5は、本実施形態に係るシミュレーションシステムの機能構成の一例を示す。また、図6は、本実施形態に係る格納ユニットが有する各格納部のデータ構成の一例を示す。
[シミュレーションシステム1の構成の概要]
 本実施形態に係るシミュレーションシステム1は、複数のユーザそれぞれの所定の指示や情報の入力を受け付ける入力部10と、複数のユーザそれぞれのキャラクタ等を同一の仮想空間100に配置する配置部12と、複数のユーザそれぞれのキャラクタに実行させる命令を設定する命令設定部14と、複数のユーザそれぞれから命令の実行を受け付ける実行受付部16と、各キャラクタの動作を制御する動作制御部18と、各キャラクタの動作等を出力する出力部20と、出力部20の出力を制御する出力制御部21と、各種の情報を格納する格納ユニット22と、仮想単位空間やオブジェクト等に変形等を加える編集部24と、各キャラクタの動作により各ユーザに設定された所定の条件が満たされたか否かを判定する判定部26とを備える。
 格納ユニット22は、キャラクタに関する情報を格納するキャラクタ情報格納部220と、仮想単位空間に関する情報を格納する単位空間情報格納部221と、命令に関する情報を格納する命令情報格納部222と、キャラクタに対する干渉に関する情報を格納するキャラクタ干渉情報格納部223と、仮想空間に対する干渉に関する情報を格納する空間干渉情報格納部224と、オブジェクトに関する情報を格納するオブジェクト情報格納部225と、オブジェクトに対する干渉に関する情報を格納するオブジェクト干渉情報格納部226と、キャラクタの一連の動作に関する情報を格納する動作シーケンス情報格納部227と、ユーザに関する情報を格納するユーザ情報格納部228とを有する。
 シミュレーションシステム1は、上記複数の構成要素を物理的に同一の装置や場所に有するだけでなく、上記複数の構成要素の一部を物理的に離れた位置に設置してもよい。例えば、シミュレーションシステム1は、構成要素の機能の一部を外部のサーバに担わせてもよい。また、シミュレーションシステム1は、一以上のサーバとして構成してもよい。この場合、複数の情報端末、並びに一のサーバの構成要素及び他のサーバの構成要素を組み合わせることで、シミュレーションシステム1が構成される。また、本実施形態において、所定の構成要素の集合体を1つの「情報処理装置」として把握することができ、シミュレーションシステム1を複数の情報処理装置の集合体として形成してもよい。1つ又は複数のハードウェアに対して本実施形態に係るシミュレーションシステム1を実現することに要する複数の機能の配分の仕方は、各ハードウェアの処理能力及び/又はシミュレーションシステム1に求められる仕様等に鑑みて適宜決定することができる。更に、格納ユニット22が格納する各種の情報は、入力部10を介して受け付ける各ユーザの指示や情報により更新されてもよく、シミュレーションシステム1の外部に存在する所定のサーバから所定の情報を取得して、随時、更新されてもよい。
[シミュレーションシステム1の構成の詳細]
 以下の説明においては、シミュレーションシステム1により提供されるシミュレーションを、主として複数のユーザがそれぞれの情報端末を用い、サーバを介して実行する場合を例として説明する。具体的に、シミュレーションシステム1は、例えば、複数のユーザそれぞれの情報端末とサーバとを備える。この場合、複数の情報端末はそれぞれ、入力部10と出力部20とを少なくとも有して構成される。そして、サーバは、入力部10と出力部20とを除く他の構成要素を有して構成され、複数の情報端末と通信ネットワークを介して双方向通信可能に接続される。
 また、以下の説明において「一のキャラクタ」及び「他のキャラクタ」を用いて説明するが、一のキャラクタを所持するユーザと他のキャラクタを所持するユーザとは同一であっても異なっていてもよい。すなわち、キャラクタを所持するユーザに関わらず「一のキャラクタ」と異なるキャラクタを「他のキャラクタ」として用いる。更に、「ユーザ」若しくは「一のユーザ」を用いて説明する場合、特に断りがない限り、「一のユーザ」とは異なる「他のユーザ」についても各構成要素は同様に動作する。
(入力部10、出力部20、出力制御部21)
 入力部10は、ユーザからの所定の指示等の入力を受け付ける。入力部10は、例えば、情報端末のタッチパネル、キーボード、マウス、マイク、モーションセンサ等である。入力部10は、シミュレーションシステム1の所定の構成要素に当該指示を供給する。当該指示を受け付けた各構成要素はそれぞれ所定の機能を発揮する。
 出力部20は、シミュレーションシステム1においてキャラクタによる動作の実行前、実行中、及び/又は実行後の各種の処理結果、並びに仮想空間100の様子を出力制御部21に制御されて出力する。すなわち、出力制御部21は、シミュレーションシステム1の所定の構成要素からの指示及び/又は所定の構成要素から受け取る情報に基づいて、出力部20に出力させる出力内容を制御する。そして、出力部20は、出力制御部21に制御され、各種の処理結果や格納ユニット22が格納している情報、仮想空間100の様子等をユーザが知覚可能に出力する。なお、以下の説明において特に断りがない限り、出力部20は出力制御部21に制御され、各種の情報を出力する。
 具体的に出力部20は、各種処理結果や格納している情報等を、所定形式のデータ、静止画像、動画像、音声、テキスト、及び/又は振動等の物理現象等として出力する。例えば、出力部20は、情報端末の表示部、スピーカー、振動部(情報端末内に設けられ、所定の電気信号により振動を発生させる装置)、発光部、又はデータ出力部等である。そして、出力部20は、ユーザの指示に応じ、ユーザが設定した仮想空間100へのキャラクタやオブジェクト等の配置に関する情報、キャラクタやオブジェクトに設定した命令及び命令順序を示す情報、及び/又は干渉により所定の動作を実行したキャラクタの当該動作に関する情報等を所定のデータ形式で外部に出力することもできる。また、出力部20は、外部のサーバから受け取る情報も出力できる。
 また、出力部20は、仮想空間100を構成する複数のエリアについて、一のユーザに対応付けられている一のエリアと、他のユーザに対応付けられている他のエリアとの出力態様を変えて出力してもよい。例えば、一のユーザの情報端末の出力部20は、一のエリアより他のエリアを見えにくい態様で出力できる。つまり、一のユーザの情報端末の出力部20は、一のユーザから見て他のユーザの他のエリアを、一のエリアとは異なる態様で出力してよい。また、出力部20は、一のユーザが有する一のキャラクタと他のユーザが有する他のキャラクタとの出力態様を変えることも変えないこともできる。例えば、一のユーザの情報端末の出力部20は、一のキャラクタについては複数のエリアのいずれのエリアに一のキャラクタが存在する場合であっても、見えやすい態様(明確な態様)で出力でき、他のユーザの他のキャラクタについては一のキャラクタに比べて見えにくい態様(例えば、キャラクタが存在する位置を把握できるものの、いかなる種類のキャラクタであるかが分からない態様)で出力することもできる。
(格納ユニット22)
 格納ユニット22は、シミュレーションシステム1に関連する各種の情報を格納する。格納ユニット22が有する各格納部は、シミュレーションシステム1の他の構成要素からの要求に応じ、所定の情報を所定の構成要素に供給する。
(格納ユニット22:キャラクタ情報格納部220)
 キャラクタ情報格納部220は、シミュレーションに用いられるキャラクタに関する情報を格納する。具体的に、キャラクタ情報格納部220は、キャラクタを識別するキャラクタIDに対応付けて、キャラクタ情報等を格納する。キャラクタ情報はキャラクタの特徴であって、例えば、キャラクタの属性、キャラクタの種類、キャラクタの名称、ヒットポイント(HP)、キャラクタの性別、キャラクタの能力、キャラクタの技、キャラクタの技によって削減できる他のキャラクタのHP量、キャラクタのサイズ、キャラクタの重量(体重)、キャラクタが一度の指示で受けることができる最大の命令数、キャラクタが受けることができる命令の種類、所持している道具の有無、経験値、レベル等を示す情報である。
 なお、属性とは、各キャラクタに設定される情報であり、例えば、キャラクタの種類、状態、性質、若しくは能力等に応じて設定されるキャラクタが有する特徴である。属性としては特に限定されないが、例えば、ノーマル、ほのお、みず、くさ、こおり、でんき、ゴースト等の名称の属性が挙げられる。なお、一のキャラクタには複数の属性が設定されてもよい。また、属性は、キャラクタが覚えている「技」や有しているアイテムに設定される「スキル」等の属性であってもよい。この場合、例えば、キャラクタは、キャラクタ自身の属性と、キャラクタが覚えている「技」の属性(キャラクタ自身の属性と同一でも異なっていてもよい)との双方を有していてもよい。
(格納ユニット22:単位空間情報格納部221)
 単位空間情報格納部221は、仮想単位空間を識別する仮想単位空間IDに対応付けて、仮想空間内における仮想単位空間の位置を示す位置情報、当該仮想単位空間が属するエリアを示すエリア情報、及び仮想単位空間に対応付けられる地形や天候等に関する情報であって、仮想単位空間の特徴を示す情報である仮想単位空間情報を格納する。エリア情報としては、仮想空間100を構成する複数のエリアを識別するエリアID等が挙げられる。仮想単位空間情報としては、地形情報、天候情報、干渉可否情報等が挙げられる。
 地形情報としては、具体的に、草原、海岸、水辺、山岳、岩場、街、墓地等を示す情報が挙げられ、仮想単位空間は、対応付けられている地形情報に基づいて当該地形情報に対応する地形を示す仮想単位空間として出力部20から出力される。例えば、仮想単位空間として、草原、岩場、水辺等の複数種類それぞれの地形に特徴的なオブジェクト(このオブジェクトはユーザが配置することも、シミュレーションシステム1が予め配置することもできるオブジェクトであってよい)等を含む仮想単位空間が予め準備されていてよい。また、天候情報としては、仮想単位空間ごとに設定可能な天候に関する情報であって、例えば、晴天、曇天、雨天、雷雨、雪等を示す情報である。天候情報が対応付けられた仮想単位空間は、対応付けられている天候情報に基づいて当該天候情報に対応する天候を示す仮想単位空間として出力部20から出力される。
 また、干渉可否情報とは、ユーザ及び/又はキャラクタによる仮想単位空間に対する干渉が可能か否かを示す情報である。例えば、干渉可否情報が干渉可能であることを示す情報である場合、編集部24は、干渉可能である仮想単位空間についてはユーザによる所定の指示を入力部10を介して受け付けて、当該指示を仮想単位空間に反映させることができる。例えば、仮想単位空間の地形を変形する干渉が可能である場合、ユーザの指示に応じ、編集部24は、仮想単位空間の地形を変形することができる(一例として、山岳地形を崩す変形や平らな地面に土等を盛って隆起させる変形、沼地等を埋め立てる変形等)。また、干渉可否情報が干渉可能であることを示す情報である場合、干渉可能である仮想単位空間については、キャラクタによる破壊等の干渉も有効にしてよい。一方、干渉可否情報が干渉不可能であることを示す情報である場合、干渉不可能である仮想単位空間についてはユーザ及びキャラクタによる干渉が禁止される。
(格納ユニット22:命令情報格納部222)
 命令情報格納部222は、命令を識別する命令IDに対応付けてキャラクタに実行させる命令内容を示す命令情報を格納する。命令情報格納部222は、複数の命令情報を格納する。
 ここで、命令は、仮想空間内の到達位置の指定なしに仮想空間内でキャラクタを移動させる命令(つまり、移動先の仮想単位空間が仮想空間内のいずれの仮想単位空間であるかを指定せず、キャラクタが位置する仮想単位空間を変える動作命令;以下、「第1動作命令」という。)、及び仮想単位空間のいずれかにおいて所定の動作を実行させる命令(つまり、キャラクタが所定の仮想単位空間に位置し、当該キャラクタが当該所定の仮想単位空間で所定の動作を実行する動作命令:以下、「第2動作命令」という。)の少なくともいずれか一方を含む。また、命令は、第1動作命令、及び/又は第2動作命令を所定回数、繰り返す動作命令を含むこともできる。
 第1動作命令としては、所定の仮想単位空間からの移動(つまり、所定の仮想単位空間に隣接する仮想単位空間にキャラクタの位置を変更する動作)方向や移動量、及び移動方法に関する命令が挙げられ、例えば、前に進む、後ろに戻る、右若しくは左に進む、前にジャンプする、後ろにジャンプする、右若しくは左にジャンプする、飛ぶ、転がる、這う等の命令が挙げられる。また、第2動作命令としては、所定の仮想単位空間から移動せずに所定の動作を実行する命令が挙げられ、キャラクタの向きを所定方向に変える、その場でジャンプする、その場に留まる(待機する)、所定の技(パンチ、キック、電気ショック、その他のキャラクタに特有の技・行動等)を出す、命令を1回休む等の命令が挙げられる。なお、その場に留まる命令としては、キャラクタが座った状態を維持する命令、立った状態を維持する命令、眠った状態を維持する命令、仮想単位空間内を飛行した状態を維持する命令等、当該所定の仮想単位空間に到達する直前の命令若しくは当該所定の仮想単位空間に到達時の命令内容を維持する命令(つまり、「休止」命令)であってよい。
 また、命令は、キャラクタの存在位置である仮想単位空間に隣接する他の仮想単位空間に当該キャラクタの存在及び技等に起因する派生オブジェクトを発生させる命令を含むこともできる。例えば、キャラクタが所定の技として「火を吐く」技を有しているとする。この場合に、派生オブジェクトを発生させる命令としては、当該キャラクタが所定の仮想単位空間に位置し、かつ、「火を吐く」技を発動した場合、当該仮想単位空間に隣接する他の仮想単位空間に「吐かれた火」を表す派生オブジェクトを発生させる命令である。
 更に、命令は、キャラクタが所定の条件を満たした場合に所定のキャラクタに変化する(以下、「進化」という。)命令であってもよい。なお、「進化」とは、一のキャラクタが所定の条件を満たした場合に進化先の他のキャラクタに変わることを指す。
(格納ユニット22:キャラクタ干渉情報格納部223)
 キャラクタ干渉情報格納部223は、一のキャラクタの他のキャラクタに対する干渉が発生した場合における一のキャラクタ及び/又は他のキャラクタの動作を示す動作情報を格納する。すなわち、キャラクタ干渉情報格納部223は、一のキャラクタと他のキャラクタとが同一の仮想単位空間に存在することになった場合に、一のキャラクタ及び/又は他のキャラクタが実行する動作の動作情報を格納する。なお、キャラクタ干渉情報格納部223が格納する動作情報は、一のキャラクタを所持するユーザと他のキャラクタを所持するユーザとが同一であるか否かに関わらず、一のキャラクタの仮想空間100内における位置に対する他のキャラクタの仮想空間100内における位置が所定の位置関係を満たした場合に実行される動作情報であってよい。所定の位置関係とは、例えば、複数のキャラクタが同一の仮想単位空間に位置する関係、一のキャラクタと他のキャラクタとの間の仮想空間100内における距離が所定の距離以下である関係等である。
 具体的に、キャラクタ干渉情報格納部223は、一のキャラクタを識別する一のキャラクタID及び他のキャラクタを識別する他のキャラクタIDに対応付けて動作情報を格納する。また、キャラクタ干渉情報格納部223は、一のキャラクタID及び他のキャラクタIDと、当該一のキャラクタが他のキャラクタと同一の仮想単位空間に存在することになる前(好ましくは直前)の命令を示す命令情報(以下、「一のキャラクタの直前の命令情報」という。)及び/又は当該他のキャラクタが一のキャラクタと同一の仮想単位空間に存在することになる前(好ましくは直前)の命令を示す命令情報(以下、「他のキャラクタの直前の命令情報」という。)とに対応付けて動作情報を格納してもよい。
 動作情報は、例えば、一のキャラクタと他のキャラクタとの組み合わせ、一のキャラクタのキャラクタ情報と他のキャラクタのキャラクタ情報との組み合わせ等によって設定される。また、動作情報は、一のキャラクタが他のキャラクタと同一の仮想単位空間に至るまでに実行した命令、若しくは同一の仮想単位空間に至る直前に実行した命令によって設定することもできる。
 なお、キャラクタ干渉情報格納部223は、キャラクタを特徴づける情報(例えば、キャラクタの属性、サイズ、重量等)に対応付けて、デフォルトの動作情報を格納することもできる。すなわち、キャラクタ干渉情報格納部223は、一のキャラクタIDや他のキャラクタIDに対応付けずに動作情報を格納することもできる。例えば、複数のキャラクタが存在し、複数の命令が存在する場合、キャラクタの組み合わせ及び/又は命令の組み合わせの全てについて動作情報を設定できない場合がある。この場合、キャラクタ干渉情報格納部223は、例えば、一のキャラクタの特徴と他のキャラクタの特徴とを比較することで把握できる同一点や差異点に対応付けて、デフォルトの動作情報を格納する。デフォルトの動作情報としては、例えば、一のキャラクタのサイズと他のキャラクタのサイズとが異なる場合において、両キャラクタが同一の仮想単位空間において衝突した場合、よりサイズの小さいキャラクタが他方のキャラクタによって跳ね飛ばされる動作を設定する情報等が挙げられる。
<キャラクタの種類に基づく動作情報の例:種類が同一の場合>
 例えば、一のキャラクタの種類と他のキャラクタの種類とに基づいて決定される動作情報を説明する。まず、一のキャラクタの種類と他のキャラクタの種類とが同一である場合であって、一のキャラクタと他のキャラクタとが同一の仮想単位空間に存在することになる場合、一のキャラクタの直前の命令及び他のキャラクタの直前の命令に基づいて動作情報を設定できる。
 例えば、一のキャラクタの直前の命令が「前に進む」であり、他のキャラクタの直前の命令も「前に進む」である場合、動作情報としては、一のキャラクタと他のキャラクタとが同一の仮想単位空間において「衝突」し、一のキャラクタ及び他のキャラクタのいずれも、直前に存在していた仮想単位空間に後退する動作を示す情報を設定できる。また、一のキャラクタの直前の命令が「前にジャンプする」であり、他のキャラクタの直前の命令が「停止する」である場合(ただし、一のキャラクタが「前にジャンプする」ことで他のキャラクタが「停止」している仮想単位空間に到達するとする。)、動作情報としては、一のキャラクタと他のキャラクタとが同一の仮想単位空間において重なる動作、すなわち、他のキャラクタの上に一のキャラクタが乗る動作を示す情報を設定できる。
 更に、一のキャラクタの直前の命令が「前に進む」であり、他のキャラクタが所定の仮想単位空間において一のキャラクタに対して背を向けており、他のキャラクタの直前の命令が「停止する」である場合(なお、一のキャラクタが「前に進む」ことで他のキャラクタが「停止」している所定の仮想単位空間に到達するとする。)、動作情報としては、他のキャラクタが一のキャラクタの進行方向に沿って所定の仮想単位空間に隣接する他の仮想単位空間に押し出される動作を示す情報を設定できる。
<キャラクタの種類に基づく動作情報の例:種類が同一で、サイズが所定以上の場合>
 なお、キャラクタの種類が同一である場合であっても、上記とは異なり、キャラクタの特徴に応じて特殊な動作情報を設定することもできる。例えば、一のキャラクタの種類と他のキャラクタの種類とが同一であり、両キャラクタのサイズ及び/又は重量が所定値以上である場合であって、一のキャラクタと他のキャラクタとが同一の仮想単位空間に存在することになる場合、一のキャラクタの直前の命令及び他のキャラクタの直前の命令に基づいて所定の動作情報を設定できる。
 例えば、一のキャラクタの直前の命令が「前にジャンプする」であり、他のキャラクタの直前の命令が「停止する」である場合(ただし、一のキャラクタが「前にジャンプする」ことで他のキャラクタが「停止」している仮想単位空間に到達するとする。)、動作情報としては、両キャラクタのサイズが所定値以上であるので(一のキャラクタは高くはジャンプできず)、上記と異なり他のキャラクタに一のキャラクタが乗るのではなく、一のキャラクタが同一の仮想単位空間において他のキャラクタに「衝突」し、一のキャラクタが、直前に存在していた仮想単位空間において佇む動作を示す情報を設定できる。
<キャラクタの種類に基づく動作情報の例:種類が相違する場合(その1)>
 一のキャラクタの種類と他のキャラクタの種類とが異なるである場合であって、一のキャラクタと他のキャラクタとが同一の仮想単位空間に存在することになる場合、一のキャラクタの特徴及び他のキャラクタの特徴と、一のキャラクタの直前の命令及び他のキャラクタの直前の命令に基づいて動作情報を設定できる。
 例えば、一のキャラクタの特徴として一のキャラクタの重量が設定され、他のキャラクタの特徴として他のキャラクタの重量が設定されており、一のキャラクタの重量が他のキャラクタの重量より小さい場合であって、一のキャラクタの直前の命令が「前に進む」であり、他のキャラクタの直前の命令も「前に進む」である場合、動作情報としては、一のキャラクタと他のキャラクタとが同一の仮想単位空間(衝突位置の仮想単位空間)で衝突し、一のキャラクタが直前に存在していた仮想単位空間に後退する動作をし、他のキャラクタが衝突位置の仮想単位空間に留まる動作をすることを示す情報を設定できる。
<キャラクタの種類に基づく動作情報の例:種類が相違する場合(その2)>
 一のキャラクタの種類と他のキャラクタの種類とが異なるである場合であって、一のキャラクタと他のキャラクタとが同一の仮想単位空間に存在することになる場合、一のキャラクタが有する特殊な特徴に基づいて動作情報を設定できる。
 例えば、一のキャラクタが、自身が存在する仮想単位空間に隣接する仮想単位空間であって、一のキャラクタの正面に位置する仮想単位空間に存在する他のキャラクタの特徴をコピーできる能力を有する特徴を備えている場合を説明する。この場合、一のキャラクタの直前の命令が「前に進む」であり、他のキャラクタの直前の命令が「停止する」若しくはその場で所定の動作を実行する内容である場合、動作情報としては、一のキャラクタの正面に他のキャラクタが位置しているので、一のキャラクタが他のキャラクタの能力をコピーした上で前進し、他のキャラクタに衝突する動作を示す情報を設定できる。この場合、動作情報として、他のキャラクタが驚く動作を示す情報を同時に設定してもよい。
<キャラクタのサイズに基づく動作情報の例>
 例えば、一のキャラクタのサイズと他のキャラクタのサイズとが異なる場合を説明する。ここで、一のキャラクタのサイズが他のキャラクタのサイズより小さいとする。この場合、動作情報としては、他のキャラクタが存在する仮想単位空間に一のキャラクタが到達したときの動作が設定される。この動作は、例えば、一のキャラクタが他のキャラクタに衝突し、当該仮想単位空間へ一のキャラクタが至った経路を逆方向に向かって一のキャラクタが跳ね返る動作であってよい。
<キャラクタの直前の命令に基づく動作情報の例(その1)>
 また、一のキャラクタの種類と他のキャラクタの種類とが異なるである場合であって、一のキャラクタのサイズと他のキャラクタのサイズとが異なり、一のキャラクタが進化可能である場合を説明する。ここで、一のキャラクタのサイズが他のキャラクタのサイズより小さいとする。そして、一のキャラクタと他のキャラクタとが同一の仮想単位空間に存在することになる場合、一のキャラクタの直前の命令及び他のキャラクタの直前の命令に基づいて動作情報を設定できる。
 例えば、進化していない一のキャラクタが所定の仮想単位空間に至る場合の直前の命令が「前に進む」であり、他のキャラクタの直前の命令が所定の仮想単位空間において「眠る」である場合、動作情報としては、一のキャラクタが他のキャラクタに衝突し、当該仮想単位空間へ一のキャラクタが至った経路を逆方向に向かって跳ね返る動作を設定でき、他のキャラクタはそのまま「眠る」を継続する動作を設定できる。
 一方、例えば、一のキャラクタが所定の仮想単位空間に至る前において所定の条件を満たして「進化」しており、進化後の一のキャラクタの直前の命令が「前に進む」であり、他のキャラクタの直前の命令が「眠る」である場合、動作情報としては、一のキャラクタが他のキャラクタと同一の仮想単位空間(衝突位置の仮想単位空間)で衝突し、他のキャラクタが「目覚め」、一のキャラクタと他のキャラクタとが衝突位置の仮想単位空間において共に目覚めている状態で停止する動作を示す情報を設定できる。
<キャラクタの直前の命令に基づく動作情報の例(その2)>
 また、一のキャラクタの種類と他のキャラクタの種類とが異なるである場合であって、一のキャラクタのサイズと他のキャラクタのサイズとが異なり、一のキャラクタのサイズが他のキャラクタのサイズより小さい場合を説明する。更に、他のキャラクタが存在している仮想単位空間の上方の仮想単位空間に一のキャラクタが存在しているとする。
 ここで、一のキャラクタが他のキャラクタが存在する所定の仮想単位空間に至る場合の直前の命令が「落ちる」等であり(若しくは、所定の仮想単位空間の上方にキャラクタの落下を遮るオブジェクト等がない場合、いかなる命令であっても一のキャラクタは所定の仮想単位空間に向けて落下するようにしてもよい。)、他のキャラクタの直前の命令が所定の仮想単位空間において「留まる」である場合、動作情報としては、一のキャラクタが他のキャラクタに衝突し、跳ねつつ当該仮想単位空間に隣接する仮想単位空間に着地する動作を示す情報を設定できる。一方、他のキャラクタが存在する所定の仮想単位空間と同一平面に沿って一のキャラクタが当該所定の仮想単位空間に到達した場合、動作情報としては、一のキャラクタが他のキャラクタに衝突し、移動方向と逆方向に跳ね返される動作を示す情報を設定できる。
 また、一のキャラクタの種類と他のキャラクタの種類とが異なるである場合であって、一のキャラクタが所定の技(例えば、電気ショック)を使用可能である場合を説明する。
 ここで、他のキャラクタが存在する所定の仮想単位空間に一のキャラクタが至る場合の直前の命令が「前に進む」であり、かつ、「前に進む」の後に「電気ショック」を発動する命令が設定されており、他のキャラクタの直前の命令が所定の仮想単位空間において「眠る」である場合、動作情報としては、一のキャラクタが他のキャラクタに衝突した時に、一のキャラクタが「電気ショック」を発動し、他のキャラクタが「電気ショック」に驚いて飛び起きる動作を示す情報を設定できる。
(格納ユニット22:空間干渉情報格納部224)
 空間干渉情報格納部224は、一のキャラクタの仮想単位空間に対する干渉が発生した場合における一のキャラクタの動作を示す動作情報を格納する。すなわち、空間干渉情報格納部224は、一のキャラクタが所定の仮想単位空間に存在することになった場合に、一のキャラクタが実行する動作の動作情報を格納する。なお、動作情報は、一のキャラクタの干渉により、一のキャラクタが存在する仮想単位空間の状態を変化させる情報も含む。
 具体的に、空間干渉情報格納部224は、キャラクタIDと所定の仮想単位空間を識別する仮想単位空間IDとに対応付けて動作情報を格納する。また、空間干渉情報格納部224は、キャラクタID及び仮想単位空間IDと、当該キャラクタが当該仮想単位空間IDで識別される仮想単位空間に存在することになる前(好ましくは直前)の命令を示す命令情報(以下、「キャラクタの直前の命令情報」という。)とに対応付けて動作情報を格納してもよい。
 動作情報は、例えば、キャラクタの特徴等と仮想単位空間情報との組み合わせ等によって設定される。また、動作情報は、キャラクタが所定の仮想単位空間に至るまでに実行した命令、若しくは当該所定の仮想単位空間に至る直前に実行した命令によって設定することもできる。
<仮想単位空間の地形に基づく動作情報の例>
 例えば、キャラクタが所定の地形の仮想単位空間に到達した場合を説明する。一例として、仮想単位空間が「川」の地形を有しており、命令設定部14が設定した命令によってキャラクタが「川」を有する当該仮想単位空間に到達した例を挙げる。
 この場合において、キャラクタの直前の命令が「前に進む」であり、キャラクタの属性が「みずタイプ」である場合、動作情報としては、キャラクタが「川」を有する仮想単位空間を「川」を有さない仮想単位空間と同様に進む動作をすることを示す情報を設定できる。また、キャラクタの直前の命令が「前に進む」であり、キャラクタの属性が「みずタイプ」である場合であって水中で遊泳可能なキャラクタである場合、動作情報としては、キャラクタが「川」を有する仮想単位空間において「川」の中で泳ぎだす動作をすることを示す情報を設定できる。一方、キャラクタの直前の命令が「前に進む」であり、キャラクタの属性が「ほのおタイプ」である場合、動作情報としては、キャラクタが「川」を有する仮想単位空間に進むことができずに後退する動作を示す情報を設定できる。また、キャラクタの直前の命令が「前に進む」であり、キャラクタの属性が「いわタイプ」である場合、動作情報としては、キャラクタが「川」に流されて、「川」を有する仮想単位空間に隣接する他の仮想単位空間に移動する動作を示す情報を設定してもよい。更に、キャラクタの直前の命令が「前に進む」であり、キャラクタの属性が「いわタイプ」であって、当該キャラクタのサイズが所定の大きさ以上である場合、動作情報としては、キャラクタが「川」に嵌まる動作を示す情報を設定すると共に「川」から水が溢れる様子を出力する情報を設定してもよい。
<仮想単位空間の天候に基づく動作情報の例>
 例えば、キャラクタが所定の天候の仮想単位空間に到達した場合、及び/又は存在する場合を説明する。一例として、仮想単位空間の天候が「雨天」であり、命令設定部14が設定した命令によってキャラクタが当該仮想単位空間に到達する例を挙げる。
 この場合において、キャラクタに対する直前の命令、及び/又は「雨天」の仮想単位空間内での命令が「走って1マス進む」である場合、動作情報としては、キャラクタが「雨天」の仮想単位空間を進む場合に所定の確率で(例えば、ランダムに)、キャラクタがスリップして1マス以上余計に進む動作を示す情報を設定できる。また、キャラクタの直前の命令、及び/又は「雨天」の仮想単位空間での命令が「天候を変える技」である場合、動作情報としては、当該技によって当該キャラクタが存在する仮想単位空間の天候を変更することを示す情報を設定することもできる。
<仮想単位空間とキャラクタの属性に基づく動作情報の例>
 例えば、キャラクタが所定の地形の仮想単位空間に到達した場合を説明する。一例として、仮想単位空間が「壁」を有する地形を有しており、命令設定部14が設定した命令によってキャラクタが「壁」を有する当該仮想単位空間に到達した例を挙げる。
 この場合において、キャラクタの直前の命令が「前に進む」であり、キャラクタの属性が「ノーマルタイプ」である場合、動作情報としては、キャラクタが「壁」を有する仮想単位空間を進むことができず、当該仮想単位空間に到達する直前の仮想単位空間に留まる動作をすることを示す情報を設定できる。また、キャラクタの直前の命令が「前に進む」であり、キャラクタの属性が「ゴーストタイプ」である場合、動作情報としては、キャラクタが「壁」を有する仮想単位空間をすり抜けて進む動作をすることを示す情報を設定できる。
(格納ユニット22:オブジェクト情報格納部225)
 オブジェクト情報格納部225は、仮想単位空間に配置可能なオブジェクトに関する情報(オブジェクト情報)を格納する。具体的に、オブジェクト情報格納部225は、オブジェクトを識別するオブジェクトIDに対応付けて、オブジェクト情報等を格納する。オブジェクト情報は、例えば、オブジェクトの属性、オブジェクトの種類、オブジェクトの名称、オブジェクトのサイズ、オブジェクトの破壊可否等を示す情報である。なお、属性とは、各オブジェクトに設定される情報であり、例えば、オブジェクトの種類、状態、若しくは性質等に応じて設定されるオブジェクトが有する特徴である。なお、一のオブジェクトには複数の属性が設定されてもよい。
 また、オブジェクトは、仮想単位空間に配置可能なオブジェクトであって、仮想単位空間の地形等の環境を設定若しくは変形可能なオブジェクト(以下、「環境オブジェクト」という。)を含むことができる。環境オブジェクトには、地形を表すオブジェクト(例えば、木、岩、海、滝、川等)、構造物を表すオブジェクト(例えば、ブロック、壁、建物、床等)、及び/又は命令設定部14による命令の設定が不可能なキャラクタ(例えば、所定の仮想単位空間で睡眠しているか、目覚めていても移動しないキャラクタ等)等が含まれていてよい。そして、環境オブジェクトは、キャラクタによる干渉が可能なオブジェクト及びキャラクタによる干渉が不可能なオブジェクトが含まれていてよい。干渉が可能なオブジェクトは、キャラクタの動作(例えば、所定の技や突進等)により破壊可能なオブジェクト(例えば、破壊可能な木や岩等)である。一方、干渉が不可能なオブジェクトは、キャラクタの動作によっては破壊不可能なオブジェクト(例えば、破壊不可能な床や壁等)である。更に、オブジェクトは、所定のキャラクタに固有の派生オブジェクトを含んでいてもよい。派生オブジェクトは、例えば、所定のキャラクタの動作(一例として、当該所定のキャラクタの技)の発動に応じて発生するオブジェクトである。
(格納ユニット22:オブジェクト干渉情報格納部226)
 オブジェクト干渉情報格納部226は、キャラクタのオブジェクトに対する干渉が発生した場合における当該キャラクタ及び/又は当該オブジェクトの動作を示す動作情報を格納する。すなわち、オブジェクト干渉情報格納部226は、キャラクタとオブジェクトとが同一の仮想単位空間に存在することになった場合に、キャラクタが実行する動作及び/又はオブジェクトが受ける影響に関する動作情報を格納する。
 具体的に、オブジェクト干渉情報格納部226は、キャラクタID及びオブジェクトIDに対応付けて動作情報を格納する。また、オブジェクト干渉情報格納部226は、キャラクタID及びオブジェクトIDと、当該キャラクタが当該オブジェクトと同一の仮想単位空間に存在することになる前(好ましくは直前)の命令を示す命令情報(以下、「キャラクタの直前の命令情報」という。)とに対応付けて動作情報を格納してもよい。
 動作情報は、例えば、キャラクタとオブジェクトとの組み合わせ、キャラクタのキャラクタ情報とオブジェクトのオブジェクト情報との組み合わせ等によって設定される。また、動作情報は、キャラクタがオブジェクトと同一の仮想単位空間に至るまでに実行した命令、若しくは同一の仮想単位空間に至る直前に実行した命令に応じて設定することもできる。
<オブジェクトの種類に基づく動作情報の例>
 例えば、キャラクタが所定のオブジェクトが配置されている仮想単位空間に到達した場合を説明する。
 一例として、仮想単位空間に「岩」を表す環境オブジェクトが配置されており、この環境オブジェクトが干渉可能なオブジェクトであるとする。そして、キャラクタがこの仮想単位空間に到達した場合であって、キャラクタの直前の命令が「技を出す」であり、当該技において「岩」の環境オブジェクトが破壊可能である場合、動作情報としては、キャラクタが「岩」を「技」で破壊する動作をすることを示す情報を設定できる。また、仮想単位空間に「岩」を表す環境オブジェクトが配置されており、この環境オブジェクトが干渉不可能なオブジェクトであるとする。そして、キャラクタがこの仮想単位空間に到達した場合、キャラクタの直前の命令がいかなる命令であっても、動作情報としては、キャラクタが「岩」によって跳ね返され、当該仮想単位空間に到達する直前の仮想単位空間に後退する動作をすることを示す情報を設定できる。
 また、オブジェクトとして、所定のキャラクタが当該オブジェクトを取得することにより進化可能なオブジェクトを用意できる。例えば、配置部12が所定の仮想単位空間に所定のキャラクタの進化に必要なオブジェクト(進化用オブジェクト)を配置する。そして、進化用オブジェクトが配置されている仮想単位空間に命令設定部14が設定した命令によって所定のキャラクタが到達した場合、当該キャラクタの直前の命令がいかなる命令であっても、動作情報としては、当該キャラクタが進化する動作を示す情報を設定できる。
(格納ユニット22:動作シーケンス情報格納部227)
 動作シーケンス情報格納部227は、動作シーケンス情報を識別する動作シーケンス情報IDに対応付けて、動作シーケンス情報を格納する。動作シーケンス情報とは、キャラクタの動作に用いられた仮想空間100、配置部12による配置結果、命令設定部14が所定のキャラクタに設定した1以上の命令及び当該命令の実行順序、並びに後述する動作制御部18によって制御されたキャラクタの動作を含む情報である。すなわち、動作シーケンス情報とは、仮想空間100内へのキャラクタ及び又はオブジェクトの配置、並びに仮想空間100内でのキャラクタの動作開始から動作終了までの一連の動作を、シミュレーションシステム1を含む任意のシステムにおいて任意のタイミングで再現することを可能にする情報である。
 出力部20は、動作シーケンス情報に基づいて、任意のタイミングで仮想空間100内においてキャラクタの動作を実行すること、典型的には、各ユーザの指示に応じ、各ユーザの情報端末の表示部等において仮想空間100内におけるキャラクタの動作を動画として再生することができる。動作シーケンス情報は、例えば、当該動作シーケンス情報が生成されたシミュレーションシステム1外の情報端末やサーバ等に通信網や記録媒体等を介して提供されてもよい。動作シーケンス情報が提供された情報端末やサーバ等は、当該動作シーケンス情報を用いて仮想空間100内においてキャラクタの動作を実行させることができる。これにより、一のシミュレーションシステム1で作成した動作シーケンス情報を、他のシミュレーションシステム1に供給することができる。
(格納ユニット22:ユーザ情報格納部228)
 ユーザ情報格納部228は、ユーザを識別するユーザIDに対応付けてユーザ情報、キャラクタ情報、オブジェクト情報、及びエリア情報を格納する。ユーザ情報は、ユーザ名、ユーザのニックネーム、ユーザの個人に特有の情報(生年月日等)、ユーザがシミュレーションシステム1において達成した目標に関する情報、及び/又はユーザが所持するアイテムに関する情報等である。また、キャラクタ情報は、ユーザが有するキャラクタに関する情報(例えば、キャラクタIDや所持しているキャラクタの数等の情報)であり、オブジェクト情報は、ユーザが有するオブジェクトに関する情報(例えば、オブジェクトIDや所持しているオブジェクトの数等の情報)である。更に、エリア情報は、ユーザに対応付けられているエリアに関する情報(例えば、エリアID等の情報)である。
(配置部12)
 配置部12は、仮想空間100を構成する仮想単位空間110に、キャラクタ及び/又はオブジェクトを配置する。配置部12は、キャラクタ及び/又はオブジェクトを仮想単位空間110に予め配置することもできる。また、配置部12は、入力部10が受け付けたユーザの指示に応じ、所定のキャラクタ及び/又は所定のオブジェクトをユーザが指定した仮想単位空間110に配置することができる。配置部12は、複数の仮想単位空間110それぞれに、キャラクタ及び/又はオブジェクトを配置することもできる。つまり、配置部12は、各ユーザからの指示に基づいて、1以上のキャラクタを1以上の仮想単位空間110それぞれに配置すること、及び/又は1以上のオブジェクトを1以上の仮想単位空間110それぞれに配置することができる。なお、仮想空間100は仮想の3次元で構成されているので、配置部12は、仮想空間100の下面102のみならず、下面102より上方の仮想単位空間110にキャラクタ及び/又はオブジェクトを配置することもできる。
 ここで、配置部12は、エリアに最初に配置されるキャラクタの位置をユーザに対応付けられているエリアに基づいて制限する。具体的に、配置部12は、一のユーザ(第1のユーザ)の一のキャラクタ(第1のキャラクタ)が動作を開始するエリア内の位置である動作開始位置の指定に際し、一のユーザに対応付けられている一のエリア(第1のエリア)内での一のキャラクタの動作開始位置の指定を許可し、一のユーザに対応付けられていない他のエリア内での一のキャラクタの動作開始位置の指定を禁止する。配置部12は、他のユーザ(第2のユーザ)についても同様にする。また、配置部12は、一のユーザに対応付けられている一のエリア内への一のユーザが有するオブジェクトの設置を許可し、一のユーザに対応付けられていない他のエリア(第2のエリア)内へのオブジェクトの設置を禁止する。配置部12は、他のユーザについても同様にする。
 更に、出力部20は、一のユーザのユーザIDに対応付けてユーザ情報格納部228に格納されているキャラクタ情報及び/又はオブジェクト情報に含まれるキャラクタID及び/又はオブジェクトIDを用い、キャラクタ情報格納部220に格納されているキャラクタ及び/又はオブジェクト情報格納部225に格納されているオブジェクトの情報(例えば、当該一のユーザがシミュレーションシステム1において使用可能なキャラクタ及び/又はオブジェクトの一覧情報)を一のユーザの情報端末の表示部に出力する。そして、配置部12は、入力部10を介して一のユーザによるキャラクタ及び/又はオブジェクトの選択指示を受け付けて、キャラクタ情報格納部220に格納されている一のユーザに選択されたキャラクタの情報、及び/又はオブジェクト情報格納部225に格納されている一のユーザに選択されたオブジェクトの情報を取得する。また、出力部20は、一のユーザの情報端末の表示部に仮想単位空間110からなる仮想空間100を出力する。配置部12は、一のユーザによる仮想単位空間110の選択指示を一のユーザが選択したキャラクタ及び/又はオブジェクトごとに入力部10を介して受け付ける。そして、配置部12は、一のユーザが選択指示した仮想単位空間に、取得したキャラクタの情報が示すキャラクタ及び/又はオブジェクトの情報が示すオブジェクトを配置する。一のユーザの情報端末の出力部20は、配置部12がキャラクタ及び/又はオブジェクトを仮想単位空間に配置した状態を示す画像を出力することができる。配置部12は、仮想空間100に配置されたキャラクタ及び/又はオブジェクトに関する情報を動作制御部18に供給する。
(命令設定部14)
 命令設定部14は、複数のユーザそれぞれが有するキャラクタが仮想空間100内で実行する1つ以上の命令を各キャラクタに設定し、複数の命令が設定された場合には、複数の命令の実行順序を各キャラクタに設定する。すなわち、命令設定部14は、一以上のキャラクタそれぞれについて、各キャラクタを有するユーザそれぞれの指示に基づいて命令及び実行順序の設定ができる。具体的に、命令設定部14は、一のユーザが有する一のキャラクタに対し、一のユーザの指示、つまり一のユーザの一の操作(例えば、入力部10を介して受け付ける命令設定の指示)に基づいて命令及び実行順序の設定が可能であると共に、他のユーザが有する他のキャラクタに対し、他のユーザの指示に基づいて記命令及び実行順序の設定が可能である。
 なお、ユーザがキャラクタを「有する」とは、例えば、以下の態様を含む。
(a)ユーザにキャラクタが対応付けられており、ユーザが命令を設定可能なキャラクタ。
(b)抽選や購入等で恒常的にユーザが所有するキャラクタ、又は一時的に所有している(つまり、一定時間経過後は非所持となる)キャラクタ。
(c)ユーザと所定の関係性を有する他のプレイヤ(例えば、ユーザのフレンドやユーザが属するチームのメンバー等)から一時的にゲームで使用する権利をレンタルしたキャラクタ。
 また、命令設定部14は、一のエリアの動作開始位置から他のエリアに一のユーザが設定した命令に基づいて一のキャラクタが移動した後、入力部10を介して受け付ける一のユーザの指示に基づいて、他のエリア内において一のキャラクタに、命令及び実行順序を設定(つまり、追加で設定若しくは新たに設定)することもできる。すなわち、一のユーザのキャラクタは、一のユーザに対応付けられている一のエリアに最初に配置し、その位置で命令及び命令の実行順序を設定できるものの、他のエリアに最初に配置して命令及び命令の実行順序を設定できない。しかし、一のキャラクタが設定された命令に基づいて一のエリアから他のエリア内に侵入した後は、他のエリア内に存在する一のキャラクタに対し、命令の変更や新たな命令及び命令の実行順序を設定することができる。
 更に、命令設定部14は、複数のキャラクタが一のユーザにより選択された場合、一のキャラクタと一のキャラクタとは別のキャラクタとのそれぞれについて命令及び実行順序を設定する。すなわち、命令設定部14は、入力部10を介し、一のユーザによる命令の選択及び選択された命令の実行順序を受け付けて、受け付けた命令及び命令の実行順序を一のユーザが選択したキャラクタに対応付ける。命令設定部14は、他のユーザが有する1以上のキャラクタについても同様に他のユーザの指示に応じ、命令及び命令の実行順序を対応付ける。具体的に、出力部20は、命令情報格納部222に格納されているキャラクタに対する命令に関する情報を各ユーザに知覚可能に出力する。そして、命令設定部14は、入力部10を介し、命令に関する情報を参照した各ユーザによる命令及び命令の実行順序の設定指示を受け付けて、受け付けた命令及び命令の実行順序を各ユーザが選択したキャラクタに対応付ける。また、出力部20は、命令設定部14が設定した命令及び命令の実行順序をテキストや所定の図形等によって各ユーザの情報端末に知覚可能に出力することができる。命令設定部14は、複数のユーザそれぞれのキャラクタに対応付けられた命令及び命令の実行順序を示す情報を動作制御部18に供給する。
 なお、命令設定部14は、ユーザによる命令の選択及び命令の実行順序の指示を受けずに、自動で命令及び命令の実行順序を設定することもできる。この場合、命令設定部14は、例えば、ランダムに命令及び命令の実行順序を設定することも、予め決められた命令及び命令の実行順序を設定することもできる。一例として、命令設定部14は、チュートリアルとして、所定のキャラクタに、予め決められた命令及び実行順序を設定してもよい。
 具体的に、命令設定部14が設定する命令は、命令情報格納部222に格納されている命令である。命令設定部14が設定する命令としては、上述した第1動作命令、第2動作命令、繰り返す動作命令、派生オブジェクトを発生させる命令、及び進化させる命令等が挙げられる。なお、命令設定部14は、第1動作命令に含まれる所定の仮想単位空間からの移動量を、仮想単位空間の数を単位として設定することができる。つまり、仮想単位空間を仮想のマスとして捉えることで、キャラクタに「2マス前に進む」等の命令を設定できる。仮想単位空間を仮想のマスとして扱うことで、キャラクタの移動の設定が容易になる。また、命令設定部14が設定する命令の実行順序はユーザの所望に応じて自由に設定できる。
 更に、キャラクタに設定可能な命令数及び/又は命令の種類はキャラクタによって異なっていてもよい。命令設定部14は、キャラクタ情報格納部220に格納されているキャラクタ情報に含まれる「キャラクタが一度の指示で受けることができる最大の命令数」に基づいて、キャラクタに設定可能な命令数を制限できる。また、命令設定部14は、キャラクタ情報格納部220に格納されているキャラクタ情報に含まれる「キャラクタが受けることができる命令の種類」に基づいて、キャラクタに設定可能な命令の種類を制限してもよい。例えば、第1のキャラクタと第2のキャラクタとが存在し、第1のキャラクタのサイズが第2のキャラクタのサイズより小さい場合、小回りが第1のキャラクタの方が利くとして、第1のキャラクタの最大命令数を第2のキャラクタの最大命令数より多く設定してもよい。また、第1のキャラクタのサイズが所定サイズ未満であり、第2のキャラクタのサイズが所定サイズ以上の場合、第1のキャラクタが身軽であるとして第1のキャラクタ用の命令の種類に「ジャンプ」を含め、第2のキャラクタ用の命令の種類には「ジャンプ」を含めないようにしてもよい。
<キャラクタが仮想空間100内で動作中に進化する場合を含む命令の例>
 ここで、命令設定部14が一のキャラクタに「進化する」命令を設定した場合を例に挙げて説明する。例えば、命令設定部14は、一のキャラクタに「前に進む」、「技を出す」、「前に進む」、「進化する」、「前に進む」、「技を出す」という命令をこの順に設定したと想定する。この場合、命令設定部14は、進化前の「技を出す」命令と、進化後の「技を出す」命令とについて、キャラクタの進化前後によって異ならせてもよい。すなわち、ユーザは単に「技を出す」という命令を設定するだけでよく、「技」の内容については、命令設定部14が設定された命令の内容及び実行順序に基づいて適宜設定してよい。この例では、進化前のキャラクタの技と進化後のキャラクタの技とは異なることを前提にする。そのため、命令設定部14は、進化後のキャラクタに対してユーザが「技を出す」命令を設定した場合、当該「技」が進化後のキャラクタの「技」であると判断し、進化前ではなく、進化後のキャラクタの「技」が出るように設定してもよい。
(実行受付部16)
 実行受付部16は、命令設定部14が設定した命令の実行指示を受け付ける。具体的に、実行受付部16は、入力部10を介してユーザからの命令の実行指示を受け付ける。実行受付部16は、ユーザが複数のキャラクタに命令を設定している場合、例えば、以下の各パターンのいずれかで命令の実行を受け付けることができる。
(パターン1)複数のキャラクタ全てに対する命令の実行指示を一括で受け付ける。
(パターン2)複数のキャラクタを複数のグループに分け、各グループそれぞれに異なるタイミング若しくは一部は同一のタイミングで命令の実行指示を受け付ける。
(パターン3)複数のキャラクタからユーザが選択したキャラクタごとに命令の実行指示を受け付ける。
 実行受付部16は、所定のキャラクタに対する命令の実行指示を受け付けたことを示す情報を動作制御部18に供給する。
(動作制御部18)
 動作制御部18は、実行受付部16から受け付けた情報に応じ、命令設定部14が設定した命令及び実行順序に基づいて、配置部12が仮想空間100に配置したキャラクタを仮想空間100内で動作させる。動作制御部18は、仮想空間100内において複数のキャラクタそれぞれをリアルタイムに若しくは所定のターンごとに動作させることができる。例えば、動作制御部18は、一のユーザの指示を受け付けて他のユーザの指示とは無関係に一のユーザが有する一のキャラクタを一のキャラクタに対して設定された命令及び実行順序に基づいて仮想空間100内で動作させ、他のユーザの指示を受け付けて一のユーザの指示とは無関係に他のユーザが有する他のキャラクタを他のキャラクタに対して設定された命令及び実行順序に基づいて仮想空間100内で動作させる。そして、動作制御部18は、複数のキャラクタそれぞれに対する命令の実行指示の受け付けを契機とし、複数のキャラクタそれぞれを仮想空間100内でリアルタイムに動作させる。動作制御部18は、仮想空間100内の時間をリアルタイムで進行させることができる。
 すなわち、動作制御部18は、複数のユーザそれぞれが有するキャラクタに設定されている命令の実行の指示及び停止の指示を複数のユーザごと若しくは複数のユーザのキャラクタごとに受け付け、命令の実行の指示又は停止の指示を受け付けたタイミングで命令を実行させるか、又は命令を停止させる。
 例えば、動作制御部18は、各ユーザの情報端末の出力部20を制御し、各出力部20にユーザによる命令の実行指示を受け付ける「再生ボタン」とユーザによる命令の停止指示を受け付ける「停止ボタン」とを出力させる。そして、動作制御部18は、一のユーザから「再生ボタン」を介して受け付けた開始指示により、一のキャラクタに対して設定された命令及び実行順序に基づいて、一のキャラクタを仮想空間100内で動作させる。また、動作制御部18は、他のユーザから「再生ボタン」を介して受け付けた開始指示により、他のキャラクタに対して設定された命令及び実行順序に基づいて、他のキャラクタを仮想空間100内で動作させる。すなわち、動作制御部18は、一のユーザからの開始指示を受け付けた場合、他のユーザからの開始指示の有無に関わらず(つまり、他のユーザの開始指示とは無関係に)、一のキャラクタを仮想空間100内で動作させる。また、動作制御部18は、他のユーザからの開始指示を受け付けた場合、一のユーザからの開始指示の有無に関わらず(つまり、一のユーザの開始指示とは無関係に)、他のキャラクタを仮想空間100内で動作させる。
 そして、動作制御部18は、一のユーザから「停止ボタン」を介して受け付けた停止指示により、他のユーザからの停止指示の有無に関わらず仮想空間100内で動作中の一のキャラクタの動作を停止させ、他のユーザから「停止ボタン」を介して受け付けた停止指示により、一のユーザからの停止指示の有無に関わらず仮想空間100内で動作中の他のキャラクタの動作を停止させる。この場合において、命令設定部14は、停止したキャラクタに設定されている命令及び実行順序に代えて、新たな命令及び実行順序の設定を受け付けてもよい。すなわち、各ユーザは、自身のキャラクタに命令及び命令の実行順序を設定し、キャラクタに命令の実行を開始させた後、設定した全ての命令の実行が完了する前であれば、自身とは異なるユーザの操作とは無関係に、命令の実行を停止させた上で一度設定した命令を変更することができる。
 また、動作制御部18は、一のユーザが有する複数のキャラクタそれぞれに命令及び命令の実行順序が設定されている場合、一のユーザの一の操作(例えば、入力部10を介して受け付ける命令実行の指示)に応じ、複数のキャラクタのそれぞれについて、各命令の実行順序に沿った命令の実行を開始させることができる。
 更に、動作制御部18は、一のユーザが有する一のキャラクタ(第1のキャラクタ)に対する他のユーザが有する他のキャラクタ(第2のキャラクタ)の仮想空間100内における位置関係が所定の条件を満たした場合、命令設定部14が一のキャラクタに設定した命令及び他のキャラクタに設定した命令に基づく動作に優先し、一のキャラクタ及び他のキャラクタの少なくとも一方に所定の動作を実行させる。つまり、一のキャラクタに設定した命令及び他のキャラクタに設定した命令とは異なる所定の動作が実行される。所定の条件としては、例えば、一のキャラクタの存在位置と他のキャラクタの存在位置とが重なった場合、一のキャラクタの存在位置と他のキャラクタの存在位置とが近接している場合(例えば、一のキャラクタが存在する仮想単位空間と他のキャラクタが存在する仮想単位空間とが隣接する場合や、一のキャラクタと他のキャラクタとの間の仮想単位空間の数が所定数以下の場合等)等の条件が挙げられる。
 また、動作制御部18は、仮想空間100内で一のキャラクタとは異なるキャラクタ、所定の仮想単位空間に配置されたオブジェクト(一のユーザが有するオブジェクト及び/又は他のユーザが有するオブジェクト)、及び/又は所定の仮想単位空間と、命令の実行が開始された一のキャラクタとの間で干渉が発生した場合、命令設定部14が設定した命令及び命令の実行順序に優先し、干渉に応じた動作を一のキャラクタに実行させる。つまり、この場合、動作制御部18は、予め定められたルールに則って、一のキャラクタが実行する動作を決定できる。そして、動作制御部18は、命令を実行中の一のキャラクタの様子を出力部20に出力させる。
 更に、動作制御部18は、命令及び命令の実行順序が設定されたキャラクタを仮想空間100内で動作させ、全ての命令の実行が完了した後、当該キャラクタに対する命令設定部14による命令及び命令の実行順序の設定を一定期間、禁止させてもよい。この場合において動作制御部18は、入力部10を介して受け付ける当該キャラクタを有するユーザからの所定のアイテム(例えば、ゲーム内仮想通貨やゲーム内で取得可能な道具等)の消費指示に応じ、当該一定期間の長さを短くすること、若しくは長くすることができる。
 なお、動作制御部18は、命令設定部14が設定した命令が、キャラクタとキャラクタが存在している仮想空間との関係により実行できない場合、予め定められた動作をキャラクタに実行させることもできる。例えば、配置部12によりキャラクタが仮想空間100の空中に配置されており、かつ、当該キャラクタは空中を飛ぶことや浮遊することができないキャラクタであり、命令設定部14が設定した命令が「前に進む」等の移動命令である場合、動作制御部18は、当該移動命令を実行できないと判断する。そして、動作制御部18は、当該移動命令の実行を停止し、例えば、物理法則に則って当該キャラクタを動作させる(この場合、キャラクタの存在位置から下方にキャラクタを落下させる。)。続いて、動作制御部18は、命令設定部14が設定した命令の実行が可能になった段階で(この場合、当該キャラクタが仮想空間の床に着地した段階で)、命令設定部14が設定した命令の実行を継続する。
 ここで、動作制御部18は、命令設定部14が設定した命令及び実行順序に基づいて、キャラクタを仮想空間100内で移動させる場合において、一の仮想単位空間から当該一の仮想単位空間に隣接する他の仮想単位空間へとキャラクタを移動させる。仮想単位空間を「マス」として捉えるとすれば、動作制御部18は、「マス」毎にキャラクタを移動させる。なお、動作制御部18は、所定時間ごとにキャラクタを移動させてもよい。つまり、動作制御部18は、キャラクタを所定時間ごとに複数の仮想単位空間をシームレスに移動させてもよい(一例として、1秒間に1つの仮想単位空間を移動させる等を設定できる。)。また、動作制御部18は、命令設定部14が設定した命令の実行後、キャラクタを仮想空間100内で移動させる場合において、入力部10を介してユーザから当該キャラクタの一の仮想単位空間から他の仮想単位空間への移動指示(例えば、ドラッグによる移動指示)があった場合であっても、当該移動指示を受け付けず、設定されている命令及び命令の実行順序に則った動作をキャラクタに実行させる。
 また、一のユーザの一のエリア内に他のユーザの他のキャラクタが動作制御部18により制御されて侵入して存在している場合、配置部12は、一のユーザの指示に基づいて、他のキャラクタが存在している仮想単位空間に自己が有するキャラクタ又はオブジェクトを配置できる。この場合、配置部12は、当該キャラクタ又はオブジェクトを他のキャラクタの上又は下に配置できる。
 なお、動作制御部18は、命令設定部14が設定した命令及び命令の実行順序に基づいて動作するキャラクタと他のキャラクタ又はオブジェクトとが干渉した場合や、命令及び命令の実行順序に基づいて動作するキャラクタと所定の仮想単位空間とが干渉した場合、物理演算に基づいて決定される動作も用いてキャラクタの動作を制御してもよい。例えば、キャラクタと他のキャラクタやオブジェクトとが衝突する場合、キャラクタの形状やサイズ、重量等、他のキャラクタの形状やサイズ、重量等、及び衝突スピード等に基づいて、物理演算により、キャラクタ及び他のキャラクタやオブジェクトの動作を算出し、算出した動作をキャラクタに実行させてもよい。
 更に、動作制御部18は、キャラクタの仮想空間100内での一連の動作(命令設定部14が設定した命令による動作、及び干渉が発生した場合における動作を含む)を示す動作シーケンス情報を生成し、生成した動作シーケンス情報を当該動作シーケンス情報の動作シーケンス情報IDに対応付けて動作シーケンス情報格納部227に格納する。なお、動作制御部18は、動作シーケンス情報として、キャラクタの仮想空間100内での一連の動作の一部を示す動作シーケンス情報を生成することもできる。つまり、動作制御部18は、命令設定部14が設定した命令の実行順序によって命令が実行されることによるキャラクタの動作、及び干渉が発生した場合におけるキャラクタの動作の全て若しくは一部を含む動作シーケンス情報を生成できる。
 具体的に、動作制御部18は、キャラクタの特徴と、キャラクタの存在位置に対応する仮想単位空間の特徴とに基づいて、キャラクタの動作を制御することができる。一例として、動作制御部18は、命令を実行しているキャラクタのキャラクタIDと当該キャラクタが存在する仮想単位空間の仮想単位空間IDに対応付けて空間干渉情報格納部224に格納されている動作情報を取得する。そして、動作制御部18は、取得した動作情報を参照し、当該動作情報の内容が示す動作をキャラクタに実行させる。また、動作制御部18は、命令を実行しているキャラクタのキャラクタIDと当該キャラクタが存在する仮想単位空間の仮想単位空間IDと当該キャラクタが当該仮想単位空間に至る直前に実行した命令(直前の命令情報)とに対応付けて空間干渉情報格納部224に格納されている動作情報を取得し、当該動作情報に基づいてキャラクタに所定の動作を実行させてもよい。
 また、動作制御部18は、一のキャラクタ及び他のキャラクタそれぞれを仮想空間100内で動作させ、一のキャラクタの存在位置と他のキャラクタの存在位置とが同一の仮想単位空間になる場合、命令設定部14が設定した命令及び実行順序に優先し、一のキャラクタ及び他のキャラクタの少なくともいずれか一方に所定の動作を実行させることができる。この場合、動作制御部18は、一のキャラクタの特徴と他のキャラクタの特徴との組み合わせ、一のキャラクタが他のキャラクタと同一の仮想単位空間に位置する前に実行した命令、及び他のキャラクタが一のキャラクタと同一の仮想単位空間に位置する前に実行した命令からなる群から選択される少なくとも1つに基づいて、一のキャラクタ及び他のキャラクタの少なくともいずれか一方の動作を制御することができる。
 例えば、動作制御部18は、一のキャラクタと他のキャラクタとが同一の仮想単位空間に存在する場合、命令を実行している一のキャラクタのキャラクタIDと他のキャラクタの他のキャラクタIDとに対応付けてキャラクタ干渉情報格納部223に格納されている動作情報を参照し、当該動作情報の内容が示す動作を一のキャラクタ及び/又は他のキャラクタに実行させる。また、動作制御部18は、命令を実行している一のキャラクタの一のキャラクタIDと他のキャラクタの他のキャラクタIDと、一のキャラクタが存在する仮想単位空間に至る直前に実行した命令(一のキャラクタの直前の命令情報)及び/又は他のキャラクタが当該仮想単位空間に至る直前に実行した命令(他のキャラクタの直前の命令情報)とに対応付けてキャラクタ干渉情報格納部223に格納されている動作情報を取得し、当該動作情報に基づいて一のキャラクタ及び/又は他のキャラクタに所定の動作を実行させてもよい。
 また、動作制御部18は、キャラクタの特徴と、キャラクタの存在位置に配置されているオブジェクトの特徴とに基づいて、キャラクタの動作を制御することができる。一例として、動作制御部18は、命令を実行しているキャラクタのキャラクタIDと当該キャラクタが存在する仮想単位空間に配置されているオブジェクトのオブジェクトIDとに対応付けてオブジェクト干渉情報格納部226に格納されている動作情報を取得する。そして、動作制御部18は、取得した動作情報を参照し、当該動作情報の内容が示す動作をキャラクタに実行させる。また、動作制御部18は、命令を実行しているキャラクタのキャラクタIDと当該キャラクタが存在する仮想単位空間に配置されているオブジェクトのオブジェクトIDと当該キャラクタが当該仮想単位空間に至る直前に実行した命令(直前の命令情報)とに対応付けてオブジェクト干渉情報格納部226に格納されている動作情報を取得し、当該動作情報に基づいてキャラクタに所定の動作を実行させてもよい。
 なお、動作制御部18は、一の仮想単位空間に一のキャラクタが存在し、当該一の仮想単位空間に隣接し、派生オブジェクトの発生が対応付けられた他の仮想単位空間に他のキャラクタが存在する場合、他のキャラクタの特徴と派生オブジェクトの特徴とに基づいて、他のキャラクタの動作を制御することもできる。例えば、動作制御部18は、一のキャラクタが存在する一の仮想単位空間に隣接する他の仮想単位空間に他のキャラクタが存在し、命令設定部14によって一のキャラクタが一の仮想単位空間において所定の動作(例えば、他の仮想単位空間に向けて所定の作用を及ぼす動作)を実行する命令が設定されている場合、他のキャラクタに所定の動作を実行させる。すなわち、動作制御部18は、他のキャラクタIDと派生オブジェクトのオブジェクトIDとに対応付けてオブジェクト干渉情報格納部226に格納されている動作情報を取得し、取得した動作情報に基づいて他のキャラクタに所定の動作を実行させてもよい。
<派生オブジェクトとキャラクタとの関係に基づく動作の例1>
 例えば、命令設定部14が、一のキャラクタが一の仮想単位空間に到達した場合、この一の仮想単位空間に隣接する他の仮想単位空間に一のキャラクタに固有の派生オブジェクトを発生させる命令を一のキャラクタに設定した場合を例に挙げる。この場合において、一のキャラクタが一の仮想単位空間に到達し、かつ、他のキャラクタが他の仮想単位空間に到達した場合、動作制御部18は、他のキャラクタの種類と派生オブジェクトの種類とに応じ、他のキャラクタに設定されている命令に優先し、所定の動作を実行させる。つまり、動作制御部18は、他のキャラクタの他のキャラクタIDと他のキャラクタが存在する仮想単位空間に配置されている派生オブジェクトのオブジェクトIDとに対応付けてオブジェクト干渉情報格納部226に格納されている動作情報を取得する。この動作情報は、一例として、一のキャラクタに固有の派生オブジェクトが一のキャラクタの技である「電気ショック」に対応する「電撃」を表す派生オブジェクトであり、他のキャラクタが、この「電撃」の派生オブジェクトにより痺れる動作を実行する内容を含む情報である。したがって、動作制御部18は、他のキャラクタに痺れる動作を実行させる。
<派生オブジェクトとオブジェクトとの関係に基づく動作の例2>
 例えば、命令設定部14が、一のキャラクタが一の仮想単位空間に到達した場合、この一の仮想単位空間に隣接する他の仮想単位空間に一のキャラクタに固有の派生オブジェクトを発生させる命令を、一のキャラクタに設定した場合を例に挙げる。この場合において、一のキャラクタが一の仮想単位空間に到達し、かつ、他の仮想単位空間に所定のオブジェクトが存在している場合、動作制御部18は、所定のオブジェクトの種類と派生オブジェクトの種類とに応じ、所定のオブジェクトに所定の影響を与える。
 この場合、オブジェクト干渉情報格納部226は、一のキャラクタの一のキャラクタIDと派生オブジェクトのオブジェクトIDとに対応付けて、所定のオブジェクトに与える影響を含む動作情報を格納することができる。そして、動作制御部18は、オブジェクト干渉情報格納部226に格納されている当該動作情報を取得する。当該動作情報は、一例として、一のキャラクタに固有の派生オブジェクトが一のキャラクタの技である「火を吐く」に対応する「炎」を表す派生オブジェクトであり、所定のオブジェクトが、この「炎」の派生オブジェクトにより燃える内容を含む情報である。したがって、動作制御部18は、所定のオブジェクトが燃える状態を発生させる。
 また、動作制御部18は、キャラクタの存在位置若しくは移動先である仮想単位空間において、命令設定部14が設定した命令の実行ができないと判断した場合、予め定められた動作を実行してもよい。例えば、仮想空間100の外部にキャラクタは移動できない。すなわち、仮想空間100の外縁は、仮想空間100内のキャラクタにとっては「見えない壁」若しくは「見えない床・天井」として機能している。そこで、動作制御部18は、命令設定部14が設定した命令によってキャラクタが仮想空間100内を移動し、仮想空間100の外縁や破壊不可能なオブジェクトが配置されている仮想単位空間等、キャラクタによる干渉が不可能な状況が発生した場合、キャラクタに予め定められた動作を実行させる。予め定められた動作としては、一例として、その場に留まる動作、移動してきた経路を逆に進む動作、進行方向を変化させる動作等が挙げられる。
(判定部26)
 判定部26は、複数のユーザそれぞれに同一又は異なる所定の条件を設定し、各ユーザのキャラクタそれぞれが、それぞれに設定された命令及び命令の実行順序に応じて仮想空間100内で動作した結果、所定の条件が満たされたか否かを判定する。判定部26は、判定結果を各ユーザの情報端末の出力部20に表示する。判定部26は、所定の条件が満たされた場合、各ユーザに所定の効果を発生させてもよい。所定の効果は、例えば、各ユーザに所定の報酬を付与する効果や各ユーザのキャラクタに所定の経験値等を付与する効果、及び/又は目標の達成度合いに応じて所定のエリアをユーザに対応付ける効果(若しくは対応付けない効果)であってよい。
 所定の条件は、所定のエリア内で達成すべき条件である。例えば、以下の条件が挙げられるが、これらの条件に限られない。
(1)一のユーザの一のキャラクタが、一のエリアから他のエリアの所定箇所(例えば、所定の仮想単位空間をゴールに設定した箇所)に到達する条件。
(2)一のユーザの一のキャラクタが、他のユーザの他のキャラクタに攻撃し、他のキャラクタのHPをゼロにする条件。
(3)他のユーザの他のキャラクタの周囲を所定のオブジェクトで囲み、他のキャラクタの仮想空間100内における移動を不可能にする条件。
(4)所定のオブジェクトを破壊する条件。
(5)一のユーザの一のエリア内に、他のユーザの他のキャラクタが侵入することを所定時間防御する条件。
(6)一のユーザの一のキャラクタと他のユーザの他のキャラクタとが協働し、所定のオブジェクトを破壊することや、所定のエリアに予め配置され当該エリア内における移動を制限された所定のキャラクタを移動可能にする条件。
 以下、具体的な例を挙げて説明する。
<設定目標の例1:協力プレイ1>
 一のユーザの一のキャラクタと他のユーザの他のキャラクタとが協力し、仮想空間100内の所定のエリアに設置されているオブジェクトを消去することを目標として設定できる。例えば、配置部12は、仮想空間100内の所定のエリアにオブジェクトを設置する。このオブジェクトは「氷」のオブジェクト(以下、「氷オブジェクト」という)であるとする。そして、オブジェクト干渉情報格納部226が、2以上の所定のキャラクタID及び2以上の派生オブジェクトのオブジェクトIDとに対応付けて氷オブジェクトに与える影響を含む動作情報を格納しているとする。ここで、2以上の所定のキャラクタIDに対応する各キャラクタが「炎」や「火」等の熱に関する技を有しているとする。この場合、当該動作情報は、一のキャラクタの派生オブジェクトが一のキャラクタの技である「火を吐く」に対応する「炎」を表す派生オブジェクトであり、他のキャラクタの派生オブジェクトが他のキャラクタの技である「ひのこ」に対応する「火の粉」を表す派生オブジェクトであり、氷オブジェクトがこれら「炎」及び「火の粉」の2以上の派生オブジェクトにより溶ける内容を含む情報である。すなわち、当該動作情報は、一例として、2以上の所定のキャラクタIDに対応する2以上のキャラクタの所定の技(例えば、「火を吐く」技若しくは「ひのこ」技等)を表す2以上の派生オブジェクトが氷オブジェクトに重なった場合、氷オブジェクトが溶けて消える動作情報である。ここでは、2以上の所定のキャラクタIDに一のキャラクタのキャラクタID及び他のキャラクタのキャラクタIDが含まれているとする。
 この場合、配置部12は、まず、一のユーザの指示に応じ、一のエリアの所定の仮想単位空間に一のキャラクタを配置する(この配置位置を「一の動作開始位置」とする。)。ここで、一のキャラクタは、「火を吐く」技を有している。次に、命令設定部14は、一のユーザの指示に応じ、一のキャラクタに一の動作開始位置から氷オブジェクトが存在する仮想単位空間に隣接する仮想単位空間に移動し、氷オブジェクトに対し技を発動させる命令(つまり、一のキャラクタに固有の派生オブジェクトを発生させる命令)を設定する。同様にして、配置部12は、他のユーザの指示に応じ、他のエリアの所定の仮想単位空間に他のキャラクタを配置する(この配置位置を「他の動作開始位置」とする。)。この他のキャラクタは、「ひのこ」技を有している。次に、命令設定部14は、他のユーザの指示に応じ、他のキャラクタに他の動作開始位置から氷オブジェクトが存在する仮想単位空間に隣接する仮想単位空間に移動し、氷オブジェクトに対し技を発動させる命令(つまり、他のキャラクタに固有の派生オブジェクトを発生させる命令)を設定する。
 そして、動作制御部18は、実行受付部16を介して受け付ける一のユーザによる一のキャラクタに対する命令実行の指示に応じ、設定された命令及び命令の実行順序に基づいて一のキャラクタを動作させる。動作制御部18は、他のキャラクタについても同様に動作させる。一のキャラクタが氷オブジェクトに隣接する仮想単位空間に到達した場合、動作制御部18は、氷オブジェクトに一のキャラクタの派生オブジェクト(例えば、「火を吐く」技のオブジェクト)を発生させる。更に、他のキャラクタが氷オブジェクトに隣接する仮想単位空間に到達した場合、動作制御部18は、氷オブジェクトに他のキャラクタの派生オブジェクト(例えば、「ひのこ」技のオブジェクト)を発生させる。
 すなわち、動作制御部18は、一のキャラクタのキャラクタID及び他のキャラクタのキャラクタID、並びに派生オブジェクトのオブジェクトIDに対応付けてオブジェクト干渉情報格納部226に格納されている氷オブジェクトに与える影響を含む動作情報を取得する。そして、動作制御部18は、氷オブジェクトが溶けて消える動作を氷オブジェクトに実行させる。判定部26は、氷オブジェクトが仮想空間100から消去されたか否かを判断し、消去された場合、各ユーザに所定の効果(例えば、所定の報酬の各ユーザへの付与)を発生させる。
<設定目標の例2:協力プレイ2>
 一のユーザの一のキャラクタと他のユーザの他のキャラクタとが協力し、仮想空間100内の所定のエリアに設置されている所定のキャラクタに所定の効果を発生させることを目標として設定できる。例えば、配置部12は、仮想空間100内の所定のエリアに所定のキャラクタ(以下、「対象キャラクタ」という。)を設置する。対象キャラクタは「水」の存在下で「進化」するキャラクタであるとする。そして、オブジェクト干渉情報格納部226が、2以上の所定のキャラクタID及び2以上の派生オブジェクトのオブジェクトIDとに対応付けてキャラクタに隣接する仮想単位空間に与える影響を含む動作情報を格納しているとする。ここで、2以上の所定のキャラクタIDに対応する各キャラクタのうち一のキャラクタが「炎」や「火」等の熱に関する技を有し、他のキャラクタが「氷」等に関する技を有しているとする。この場合、当該動作情報は、一のキャラクタの派生オブジェクトが一のキャラクタの技である「火を吐く」に対応する「炎」を表す派生オブジェクトであり、他のキャラクタの派生オブジェクトが他のキャラクタの技である「こおり」に対応する「氷塊」(若しくは吹雪)を表す派生オブジェクトであり、対象キャラクタがこれら「炎」及び「氷塊」の派生オブジェクトにより生じる水により進化する内容を含む情報である。すなわち、当該動作情報は、一例として、2以上の所定のキャラクタIDに対応する2以上のキャラクタの所定の技(例えば、「火を吐く」技及び「こおり」技等)を表す2以上の派生オブジェクトが対象キャラクタに重なった場合、対象キャラクタが進化する動作情報である。ここでは、2以上の所定のキャラクタIDに一のキャラクタのキャラクタID及び他のキャラクタのキャラクタIDが含まれているとする。
 この場合、配置部12は、まず、一のユーザの指示に応じ、一のエリアの一の動作開始位置に一のキャラクタを配置する。ここで、一のキャラクタは、「火を吐く」技を有している。次に、命令設定部14は、一のユーザの指示に応じ、一のキャラクタに一の動作開始位置から対象キャラクタが存在する仮想単位空間に隣接する仮想単位空間に移動し、対象キャラクタに対し技を発動させる命令を設定する。同様にして、配置部12は、他のユーザの指示に応じ、他のエリアの他の動作開始位置に他のキャラクタを配置する。この他のキャラクタは、「こおり」技を有している。次に、命令設定部14は、他のユーザの指示に応じ、他のキャラクタに他の動作開始位置から対象キャラクタが存在する仮想単位空間に隣接する仮想単位空間に移動し、対象キャラクタに対し技を発動させる命令を設定する。
 そして、動作制御部18は、実行受付部16を介して受け付ける一のユーザによる一のキャラクタに対する命令実行の指示に応じ、設定された命令及び命令の実行順序に基づいて一のキャラクタを動作させる。動作制御部18は、他のキャラクタについても同様に動作させる。一のキャラクタが対象キャラクタに隣接する仮想単位空間に到達した場合、動作制御部18は、対象キャラクタに一のキャラクタの派生オブジェクト(例えば、「火を吐く」技のオブジェクト)を発生させる。更に、他のキャラクタが対象キャラクタに隣接する仮想単位空間に到達した場合、動作制御部18は、対象キャラクタに他のキャラクタの派生オブジェクト(例えば、「こおり」技のオブジェクト)を発生させる。
 すなわち、動作制御部18は、一のキャラクタのキャラクタID及び他のキャラクタのキャラクタID、並びに派生オブジェクトのオブジェクトIDに対応付けてオブジェクト干渉情報格納部226に格納されている対象キャラクタに与える影響を含む動作情報を取得する。そして、動作制御部18は、他のキャラクタの派生オブジェクトである氷塊が一のキャラクタの炎により溶けて水が生じ、対象キャラクタが進化する動作を対象キャラクタに実行させる。判定部26は、対象キャラクタが進化したか否かを判断し、進化した場合、各ユーザに所定の効果を発生させる。
 なお、対象キャラクタが「水」の存在下で「進化」するキャラクタである場合、当該対象キャラクタを進化させる方法は上記に限られない。例えば、「水を吐き出す」技を有するキャラクタを用い、対象キャラクタに対して当該技を発動させることや、対象キャラクタの周囲の仮想単位空間に「滝」や「川」等の環境オブジェクトを配置することで対象キャラクタを進化させること、あるいは対象キャラクタの周囲の仮想単位空間に「山」等の環境オブジェクトを配置して対象キャラクタを捕獲することもできる。すなわち、シミュレーションシステム1においては、様々なキャラクタの様々な技、及び/又は様々な特徴を有するオブジェクトを駆使し、各ユーザは設定された目標を達成する過程を楽しむことができる。
<設定目標の例3:他のエリアの所定地点への到達>
 一のユーザの一のキャラクタが、他のユーザの他のエリアの所定の仮想単位空間(以下、「ゴール地点」という。)に到達することを目標として設定できる。この場合、命令設定部14は、一のユーザからの指示に応じ、一のキャラクタが一のエリアの一の動作開始位置からゴール地点に向けて進む命令及び命令の実行順序を設定する。一方、命令設定部14は、他のユーザからの指示に応じ、ゴール地点への一のキャラクタの到達を妨害することを目的として、他のエリア内に所定のオブジェクトを配置する命令や他のキャラクタが所定の動作をする命令及び命令の実行順序を設定する。他のキャラクタに設定される命令としては、例えば、他のユーザが一のキャラクタの進路を想定して決定する命令であって、一のキャラクタの予想進路において一のキャラクタの進行を妨害する動作命令や複数の他のキャラクタにより一のキャラクタを取り囲む命令等である。
 そして、動作制御部18は、実行受付部16を介して受け付ける一のユーザによる一のキャラクタに対する命令実行の指示に応じ、設定された命令及び命令の実行順序に基づいて一のキャラクタを動作させる。動作制御部18は、他のキャラクタについても同様に動作させる。一のキャラクタが他のキャラクタやオブジェクトによる妨害をかいくぐり、ゴール地点に到達した場合、判定部26は、一のキャラクタが目標を達成したと判断し、一のユーザに所定の効果を発生させる。一方、判定部26は、一のキャラクタが他のキャラクタやオブジェクトに妨害されてゴール地点に到達しなかったと判断した場合、一のキャラクタが目標を達成しなかったと判断し、他のユーザに所定の効果を発生させる。
<設定目標の例4:他のキャラクタのHPをゼロにする>
 一のユーザの一のキャラクタが他のユーザの他のキャラクタに対して技を発動し、他のキャラクタのHPをゼロにすること又はHPを所定値以下にすることを目標として設定できる。この場合、一例として命令設定部14は、一のユーザからの指示に応じ、一のキャラクタが一のエリアの一の動作開始位置から他のキャラクタが存在する仮想単位空間に向けて進み、この仮想単位空間に隣接する仮想単位空間に到達した場合に他のキャラクタに向けて技を発動する命令及び命令の実行順序を設定する。
 そして、動作制御部18は、実行受付部16を介して受け付ける一のユーザによる一のキャラクタに対する命令実行の指示に応じ、設定された命令及び命令の実行順序に基づいて一のキャラクタを動作させる。一のキャラクタが他のキャラクタが存在する仮想単位空間に隣接する仮想単位空間に到達し、他のキャラクタに対して技を発動させた場合、判定部26は、他のキャラクタのHPが当該技によりゼロになったか否か、又はHPが所定値以下になったか否かを判定する。例えば、判定部26は、キャラクタ情報格納部220を参照し、一のキャラクタのキャラクタIDに対応付けて格納されている「一のキャラクタの技によって削減できる他のキャラクタのHP量」と、他のキャラクタのキャラクタIDに対応付けて格納されている他のキャラクタのHPとに基づいて、他のキャラクタのHPが当該技によりゼロになったか否か、又はHPが所定値以下になったか否かを判定する。判定部26は、他のキャラクタのHPがゼロになった場合又は所定値以下になった場合、一のキャラクタが目標を達成したと判断し、一のユーザに所定の効果を発生させる。一方、判定部26は、他のキャラクタのHPがゼロにならなかった場合又は所定値以下にならなかった場合、一のキャラクタが目標を達成しなかったと判断し、他のユーザに所定の効果を発生させてもよい。
(シミュレーションシステム1のシミュレーションの実行方法)
 シミュレーションシステム1における命令の実行及び処理の流れについて特に限定はないが、例えば、リアルタイム制、ターン制、及びリアルタイム制とターン制とのハイブリッド制のいずれかの方法で実行できる。
<リアルタイム制>
 図7は、本実施形態に係るシミュレーションシステムの処理がリアルタイム制の場合の処理の流れの概要の一例を示す。図7においてシミュレーションシステム1は、入力部10及び出力部20を有するユーザAの情報端末Aと、入力部10及び出力部20を有するユーザBの情報端末Bと、入力部10及び出力部20を除き、少なくとも出力制御部21を含む他の構成要素を備えるサーバとを備え、シミュレーションを実行する。なお、ネットワークを介した処理においては各ユーザが用いる回線の回線速度の違い等による遅延時間(ラグ)を考慮した処理(待機処理等)を要するが、ここでは係る処理の説明は説明の簡略化のため考慮せずに省略する。
 なお、図7においては左から右に向けて時間が進み、「Fx」(xは正の正数)はフレームを示す。すなわち、リアルタイム制においてシミュレーションシステム1は、仮想空間100内の時間をフレーム単位(1秒を複数に分割した単位)で扱い、時間をフレーム単位で管理する。
 まず、リアルタイム制においてシミュレーションシステム1は、仮想空間100で命令の実行を一定周期で常に実行する。すなわち、シミュレーションシステム1は、各種の処理をリアルタイムで実行すると共に、各ユーザからのキャラクタ及び/又はオブジェクトに対する命令を任意のタイミングで受け付け、任意のタイミングで各ユーザから命令の実行指示を受け付けた後、各キャラクタ及び/又はオブジェクトをリアルタイムで動作させる。
 具体的に、出力制御部21は、情報端末A及び情報端末Bに仮想空間100の状態を示すスナップショットを一定のタイミングで供給する。情報端末A及び情報端末Bの出力部20はそれぞれ、当該スナップショットに基づいてレンダリングし、仮想空間100の状態を出力する。例えば、出力制御部21は、所定のタイミングT1において第1のフレーム(F1)における仮想空間100の状態を示すスナップショットを生成し、情報端末A及び情報端末Bに供給する。情報端末A及び情報端末Bの出力部20は、受け取ったスナップショットを基に仮想空間100の状態を出力する。出力制御部21は、予め定められたタイミングで順次、仮想空間100のスナップショットを生成し、情報端末A及び情報端末Bに供給する。図7の例において出力制御部21は、所定のタイミングTx(xは正の正数)ごとにフレームFxの仮想空間100のスナップショットを生成し、情報端末A及び情報端末Bに供給する。
 例えば、第1のフレームF1において命令設定部14が、ユーザAの指示を受け付けてユーザAが有するキャラクタA及びオブジェクトA(障害物)に対し、所定の命令を設定する(D1)。所定の命令は、例えば、ユーザAが対応付けられているエリアAの所定の仮想単位空間にキャラクタAを配置すると共にキャラクタAに対して3つの動作を順次実行させる命令(例えば、1つの動作は1つのフレームで実行される)、及びエリアAの所定の仮想単位空間にオブジェクトAを配置する命令である。同様に第1のフレームF1において、命令設定部14が、ユーザBの指示を受け付けてユーザBが有するキャラクタB及びオブジェクトB(障害物)に対し、所定の命令を設定する(D8)。所定の命令は、例えば、ユーザBが対応付けられているエリアBの所定の仮想単位空間にキャラクタBを配置すると共にキャラクタBに対して3つの動作を順次実行させる命令(例えば、1つの動作は1つのフレームで実行される)、及びエリアBの所定の仮想単位空間にオブジェクトBを配置する命令である。命令設定部14は、ユーザA及びユーザBの指示を受け付けて、これらの命令を第1のフレームF1において設定する。
 続いて、実行受付部16は、入力部10を介してユーザAからの命令の実行指示(D2)を受け付ける。また、実行受付部16は、入力部10を介してユーザBからの命令の実行指示(D9)を受け付ける。実行受付部16は、実行指示を各ユーザの任意のタイミングで受け付ける。図7の例では、実行受付部16は、第3のフレームF3においてユーザAの実行指示を受け付け、第4のフレームF4においてユーザBの実行指示を受け付ける。そして、実行受付部16が第3のフレームF3においてユーザAからの実行指示を受け付けた場合、動作制御部18は、命令設定部14が設定した命令及び実行順序に基づいて、キャラクタAを仮想空間100内で動作させ、オブジェクトAをユーザAが指定した仮想単位空間に配置する。同様に、実行受付部16が第4のフレームF4においてユーザBからの実行指示を受け付けた場合、動作制御部18は、命令設定部14が設定した命令及び実行順状に基づいて、キャラクタBを仮想空間100内で動作させ、オブジェクトBをユーザBが指定した仮想単位空間に配置する。
 そして、出力制御部21は、動作制御部18が制御しているキャラクタA及びオブジェクトA、並びにキャラクタB及びオブジェクトBの仮想空間100内での状態を示すスナップショットを第4のフレームF4、第5のフレームF5、第6のフレームF6、及び第7のフレームF7においてそれぞれ生成する。そして、出力制御部21は、タイミングT4で第4のフレームF4のスナップショットを、タイミングT5で第5のフレームF5のスナップショットを、タイミングT6で第6のフレームF6のスナップショットを、タイミングT7で第7のフレームF7のスナップショットを情報端末A及び情報端末Bに供給する。
 そして、情報端末A及び情報端末Bの出力部20はそれぞれ、第4のフレームF4から第6のフレームF6にわたり、キャラクタAが3つの動作を順次実行し、オブジェクトAが所定の仮想単位区間に第4のフレームF4において配置される状態を出力すると共に(D3)、第5のフレームF5から第7のフレームF7にわたり、キャラクタBが3つの動作を順次実行し、オブジェクトBが所定の仮想単位空間に第5のフレームF5において配置される状態を出力する(D10)。
 すなわち、実行受付部16が各ユーザからの命令の実行指示を受け付けるたびに、出力制御部21は、各ユーザからの命令の実行結果を反映した仮想空間100の状況のスナップショットを生成し、情報端末A及び情報端末Bの出力部20に仮想空間100の状況を出力させる。
 また、実行受付部16が、入力部10を介してユーザAから命令の停止指示(D4)を受け付けた場合、動作制御部18は、命令設定部14が設定した命令の実行を停止させる。つまり、シミュレーションシステム1においては、ユーザの任意のタイミングで命令を停止させることができる。そして、出力制御部21は、命令が停止された後の仮想空間100の状況のスナップショットを生成し(図7では第7のフレームF7で生成。当該スナップショットにはキャラクタB及びオブジェクトBの状態も含まれる。)、情報端末A及び情報端末Bの出力部20に仮想空間100の当該状況を出力させる(図7では第8のフレームで出力させる。)。
 上記と同様にして、例えば図7の第9のフレームF9において、命令設定部14による命令(例えば、所定のオブジェクトAのエリアA内の所定の仮想単位空間へのユーザAの指定に基づく設置命令)の設定(D5)後、実行受付部16が第10のフレームにおいてユーザAからの命令の実行指示(D6)を受け付けたとする。この場合、出力制御部21は、動作制御部18がオブジェクトAを所定の仮想単位空間に配置した状態を示すスナップショットを第10のフレームF10において生成し、タイミングT11(つまり、第11のフレームF11)において、当該スナップショットを情報端末A及び情報端末Bに供給する。情報端末A及び情報端末Bの出力部20は、当該スナップショットに基づき、エリアAの所定の仮想単位空間にオブジェクトAが設置された状態(D7)を出力する(第11のフレームF11)。
 なお、実行受付部16が、入力部10を介してユーザから命令実行の停止指示を受け付けた場合において、命令設定部14が設定した命令のうち未実行の命令が存在する場合、未実行の命令をそのまま残存させることができる。そして、実行受付部16が再度の命令実行の開始指示を受け付けた場合、未実行であった命令を再開してよい。また、実行受付部16が、ユーザから命令実行の停止指示を受け付けた場合において未実行の命令が存在する場合、命令設定部14はユーザから新たな命令の設定を受け付け、未実行の命令に新たな命令を上書きすることもできる。
 このように、シミュレーションシステム1がリアルタイム制で動作する場合、一のユーザが一のキャラクタに対する命令の実行を停止させた場合、命令の実行を再開させるか、新たな命令を設定するか若しくは一度設定した命令を変更した上で変更後の命令の実行を開始させなければ、仮想空間100内において一のキャラクタは停止した状態を維持する。一方、係る状態において他のユーザの他のキャラクタは、他のユーザの命令に応じて自由に動作可能である。また、一のユーザが命令を設定している間であっても、他のユーザは既に設定した命令を実行させることができる。したがって、シミュレーションシステム1においては、一のユーザと他のユーザとの間で、キャラクタにどのような動作をさせるか検討するだけでなく、互いに相手側のキャラクタの動作や動作開始のタイミングを予想しつつ、どのタイミングでいかなるキャラクタにいかなる動作を開始させるかを考えることを要するという戦略性や駆け引き、更には相手のキャラクタの動きに応じて自身のキャラクタの動きを変える瞬発性のあるシミュレーションを楽しむことができる。
 また、シミュレーションシステム1がリアルタイム制で動作する場合、キャラクタ及びオブジェクトに対して設定した命令の実行タイミングは、ユーザが任意に決定できる。したがって、例えば、複数のキャラクタ及び/又は複数のオブジェクトに複数の命令及び命令の実行順序を設定し、一度のタイミングで全ての命令を実行させること(つまり、命令を蓄積し、一度のタイミングで全命令を実行させること)も、一のキャラクタに1つの命令のみを設定し、命令を設定するごとに命令を逐次実行させることもできる。これにより、シミュレーションシステム1においては、例えば、一のユーザに設定された目標が他のユーザの他のエリアに一のキャラクタを侵入させることである場合、他のユーザは他のエリアと一のエリアとの境界付近に複数の他のキャラクタ及び複数の他のオブジェクトを配置する命令を設定しておき、一のキャラクタが当該境界付近に近づいたと予想されるタイミングで、設定した命令を全て実行させる等の駆け引きを楽しむことができる。
<ターン制>
 図8は、本実施形態に係るシミュレーションシステムの処理がターン制の場合の処理の流れの概要の一例を示す。なお、図8においては左から右に向けて時間が進む。
 シミュレーションシステム1は、ターン制で処理を実行できる。すなわち、シミュレーションシステム1は、命令及び命令の実行順序を設定するターン(設定フェーズ)と、設定した命令を実行するターン(実行フェーズ)とを一組にしたターン制でシミュレーションを実行できる。この場合、シミュレーションシステム1は、設定フェーズと実行フェーズとからなるターンを繰り返し実行する。したがって、ターン制においてシミュレーションシステム1は、設定フェーズで設定された各ユーザの命令に基づいて、実行フェーズにおいて各キャラクタ及び/又は各オブジェクトを一斉に動作させる。
 図8に示すように、ターン制においてシミュレーションシステム1は、複数のターンを有して実行される。すなわち、複数のターンx(xは正の正数)が設けられ、各ターンには設定フェーズと実行フェーズとが含まれる。設定フェーズにおいて各ユーザは、自身が有するキャラクタ及び/又はオブジェクトに対して1以上の命令と命令の実行順序を設定可能である。また、実行フェーズは複数のフレームを有して構成される。図8の例で実行フェーズは3つのフレームを有して構成されるが、フレーム数は3つに限られず、1以上であればよい。ここで、命令設定部14は、キャラクタを仮想空間100に出現させるフレーム、オブジェクトを仮想空間100に出現させるフレーム、並びにキャラクタ及びオブジェクトに設定した命令を実行させるフレームをユーザの指示に応じて設定できる。
 図8の例では、まずターン1の設定フェーズにおいて、命令設定部14が、ユーザAの指示を受け付けてユーザAが有するキャラクタA及びオブジェクトA(障害物)に対し、所定の命令を設定する(D11)。所定の命令は、例えば、ユーザAが対応付けられているエリアAの所定の仮想単位空間にキャラクタAを配置すると共にキャラクタAに対して3つの動作を連続的に実行させる命令(例えば、ターン1の実行フェーズの第1のフレームF1~第3のフレームF3のそれぞれで1つの動作を実行する命令)、及びエリアAの所定の仮想単位空間にオブジェクトAを設置する命令(例えば、実行フェーズの第1のフレームで設置する命令)である。また、命令設定部14は、ユーザBの指示を受け付けてユーザBが有するキャラクタB及びオブジェクトB(障害物)に対し、所定の命令を設定する(D12)。所定の命令は、例えば、ユーザBが対応付けられているエリアBの所定の仮想単位空間にキャラクタBを配置すると共にキャラクタBに対して2つの動作を連続的に実行させる命令(例えば、ターン1の実行フェーズの第2のフレームF2及び第3のフレームF3のそれぞれで1つの動作を実行する命令)、及びエリアBの所定の仮想単位空間にオブジェクトBを設置する命令(例えば、実行フェーズの第3のフレームで設置する命令)である。
 次にターン1の実行フェーズにおいて、ターン1の設定フェーズで設定された命令が実行される。図8の例では、キャラクタAが3つの動作を第1のフレームF1から順次実行し、キャラクタBが2つの動作を第2のフレームF2から順次実行し、オブジェクトAが第1のフレームF1においてエリアAの所定の仮想単位空間に設置され、オブジェクトBが第3のフレームF3においてエリアBの所定の仮想単位空間に設置される。
 続いて、ターン2の設定フェーズが実行される。図8の例ではユーザBのみが所定の命令を設定する(D13)。この所定の命令は、例えば、ターン2の実行フェーズを構成する複数のフレームのうち所定のフレームにおいて、オブジェクトを設置する命令である(例えば、ターン2の実行フェーズの第2のフレームF2においてオブジェクトをエリアBの所定の仮想単位空間に設置する命令)。この場合、ターン2の実行フェーズが実行されると、動作制御部18は、ターン2の実行フェーズの第2のフレームにおいて、エリアBの所定の仮想単位空間にオブジェクトを設置する(D14)。ユーザAの情報端末A及びユーザBの情報端末Bの出力部20はそれぞれ、実行フェーズの状態を出力する。
 ここで、出力制御部21は、各ターンの設定フェーズにおいて、一のユーザの情報端末に他のユーザの他のキャラクタの次の実行フェーズ(つまり、当該設定フェーズの内容が実行される実行フェーズ)での動きを出力させることもさせないこともできる。ただし、出力制御部21は、一のユーザの一のキャラクタと他のキャラクタとが干渉する場合は、どのような干渉が発生するかを各ユーザに悟られないようにするため、次の実行フェーズでの他のキャラクタの動きを出力させなくてよい。
 なお、各ターンの設定フェーズから実行フェーズへの切り替えは、所定の時間が経過したことを契機として切り替えても、全ユーザが命令及び命令の実行順序を設定フェーズで設定した後、命令の実行指示を全ユーザから受け付けたことを契機として切り替えてもよい。また、ターンごとに設定できる命令数、使用可能なキャラクタ及び/又はオブジェクトの数に制限を設けてもよい。更に、ターン数に上限を設定することもできる。例えば、各ユーザに達成すべき目標を設定すると共に目標達成までのターン数に上限を設けてもよい。ユーザが当該目標をターン数の上限までに達成できない場合、シミュレーションシステム1は、シミュレーションの実行を止めることができる。
 また、各ターンの設定フェーズにおいて、複数のユーザそれぞれが同時に命令を設定可能にしてもよく、複数のユーザ間で所定の順序に沿って命令を設定可能にしてもよい。一のターンの設定フェーズで複数のユーザ間で所定の順序に沿って命令を設定可能にした場合、次のターンの設定フェーズでは、当該順序を逆にすることが好ましい。すなわち、一のターンの設定フェーズでユーザAが最初に命令を設定し、ユーザBが次に命令を設定した場合、次のターンの設定フェーズでは、ユーザBが先に命令を設定し、その次にユーザAが命令を設定可能にする。
<ハイブリッド制>
 シミュレーションシステム1は、命令の実行及び処理の流れについてリアルタイム制とターン制とのハイブリッド制により実行することもできる。例えば、シミュレーションシステム1は、リアルタイム制で処理を実行している場合において所定の条件を満たしたユーザがいる場合、当該ユーザのみが当該ユーザのキャラクタに対する命令の設定及び命令の実行順序の設定、並びに命令の実行ができる時間帯を設けることができる。所定の条件は、例えば、所定のアイテムの消費やシミュレーションシステム1内で用いることができる仮想通貨の消費等である。
[シミュレーションシステム1の処理の流れ]
 図9は、本実施形態に係るシミュレーションシステムにおける処理の流れの一例を示す。なお、図9においては、一のユーザ(以下では単に「ユーザ」と表記する。)が他のユーザと共にシミュレーションシステムにおいてシミュレーションを実行する例を、一のユーザ視点から説明する。また、ユーザには、ユーザが有するキャラクタを用いて達成されるべき所定の条件が設定されているものとする。
 まず、ユーザの情報端末の出力部20は、出力制御部21に制御され、キャラクタ情報格納部220及び/又はオブジェクト情報格納部225を参照し、キャラクタ及び/又はオブジェクトをユーザに知覚可能に出力する(例えば、情報端末の表示部に表示することを指す。以下同じ。)。そして、入力部10は、出力されたキャラクタ及び/又はオブジェクトのうち、仮想空間100で動作させる1以上のキャラクタ及び/又はオブジェクトの選択指示をユーザから受け付ける。また、出力部20は、仮想空間100及び仮想空間100を構成する複数の仮想単位空間110をユーザに知覚可能に出力する。そして、入力部10は、出力された複数の仮想単位空間110のうち、キャラクタ及び/又はオブジェクトを配置する仮想単位空間110の選択指示をユーザから受け付ける。この場合に、入力部10は、複数のキャラクタ及び/又は複数のオブジェクトが存在する場合、複数のキャラクタ及び/又は複数のオブジェクトごとに、それらを配置すべき仮想単位空間110の位置の指定を受け付ける(ステップ10。以下、ステップを「S」と表す。)。
 配置部12は、指定された仮想単位空間110の位置(以下、「指定位置」という)が、ユーザに対応付けられているエリア(自エリア)内に存在するか否かを確認する(S12)。配置部12は、自エリア内に指定位置が存在しないキャラクタ及び/又はオブジェクトが存在する場合(S12のNo)、当該キャラクタ及び/又は当該オブジェクトの指定位置が自エリア内になるようにユーザに指定位置の設定のやり直しを求める(S10)。一方、配置部12は、各キャラクタ及び/又はオブジェクトについて、自エリア内に指定位置が存在する場合(S12のYes)、入力部10が受け付けた1以上のキャラクタ及び/又はオブジェクトの選択指示、並びに1以上のキャラクタ及び/又はオブジェクトを配置する仮想単位空間110の位置の指定に応じ、1以上のキャラクタ及び/又はオブジェクトのそれぞれを所定の仮想単位空間110に配置する。
 続いて、命令設定部14は、命令情報格納部222に格納されている各種の命令を出力部20からユーザに知覚可能に出力させる。命令設定部14は、出力された命令を参照しているユーザからの指示に応じ、仮想単位空間110に配置された1以上のキャラクタそれぞれに対し、仮想空間100で実行する1つ以上の命令と命令の実行順序とを設定する(S14)。そして、実行受付部16がユーザからの命令の実行指示を入力部10を介して受け付けた場合(S16のYes)、動作制御部18は、命令設定部14がキャラクタに設定した命令及び命令の実行順序に応じ、キャラクタの動作を開始する(S18)。一方、実行受付部16がユーザからの命令の実行指示を入力部10を介して受け付けていない場合、当該実行指示を受け付けるまで待機する(S16のNo)。なお、シミュレーションシステム1がリアルタイム制で動作する場合は、当該ユーザと異なるユーザは、命令の設定、及び/又は命令の実行を当該ユーザの操作とは独立に自由にできる。
 ここで、動作制御部18は、入力部10を介して受け付けるユーザからの命令実行の停止指示を受け付けた場合(S20のYes)、実行中の命令を停止させる。そして、命令設定部14は、入力部10を介して命令の変更指示を受け付けた場合(S22のYes)、キャラクタ及び/又はオブジェクトに設定した命令の一部若しくは全部を変更する(S14)。一方、命令設定部14が入力部10を介して命令の変更をしない旨の指示を受け付けた場合(S22のNo)、動作制御部18は、命令の実行指示(つまり、命令の実行再開指示)があるまでキャラクタ及び/又はオブジェクトに設定された命令の実行を待機する(S24のNo)。そして、動作制御部18は、入力部10を介してユーザから命令の実行指示を受け付けた場合(S24のYes)、キャラクタ及び/又はオブジェクトに設定された命令の実行を再開し、命令に基づいた動作を継続する(S26)。また、動作制御部18は、ユーザからの命令実行の停止指示がない場合も(S20のNo)、命令に基づいた動作を継続する(S26)。
 そして、命令に応じて仮想空間100内で動作するキャラクタと、他のキャラクタ、オブジェクト、及び/又は所定の仮想単位空間110との間で干渉が発生した場合(S28のYes)、動作制御部18は、キャラクタと、他のキャラクタ、オブジェクト、及び/又は所定の仮想単位空間110との間の関係に基づいて、キャラクタに所定の動作を実行させる(S30)。動作制御部18は、キャラクタ干渉情報格納部223、空間干渉情報格納部224、及び/又はオブジェクト干渉情報格納部226に格納されている動作情報に基づいて、キャラクタに所定の動作を実行させる。所定の動作としては、例えば、上記で説明した各種の動作が挙げられる。
 そして、動作制御部18は、干渉に基づく動作をキャラクタに実行させた後、命令設定部14が設定した命令をキャラクタに続行させる(S32)。なお、動作制御部18は、干渉に基づく動作をキャラクタに実行させた後、命令設定部14が設定した命令をキャンセルし、所定の動作をキャラクタに実行させてもよい。一方、命令に応じて仮想空間100内で動作するキャラクタと、他のキャラクタ、オブジェクト、及び/又は所定の仮想単位空間110との間で干渉が発生しない場合(S28のNo)、動作制御部18は、命令設定部14が設定した命令をキャラクタに続行させる(S32)。続いて、動作制御部18は、命令設定部14が設定した命令の実行が完了した場合、キャラクタの動作を停止させる(S34)。
 次に、判定部26は、キャラクタの動作によりユーザに設定された所定の条件が満たされたか否かを判断する(S36)。判定部26は、所定の条件が満たされていると判断した場合(S36のYes)、所定の効果をユーザに発生させる(S38)。そして、所定の効果を発生させた後、シミュレーションシステム1は動作を終了する(S40)。また、判定部26が所定の条件を満たしていないと判断した場合(S36のNo)も、シミュレーションシステム1は動作を終了する(S40)。
[シミュレーションプログラム]
 図1~図9に示した本実施形態に係るシミュレーションシステム1が備える各構成要素は、中央演算処理装置(Central Processing Unit:CPU)等の演算処理装置にプログラム(すなわち、シミュレーションプログラム)を実行させること、つまり、ソフトウェアによる処理により実現できる。また、集積回路(Integrated Circuit:IC)等の電子部品としてのハードウェアにプログラムを予め書き込むことで実現することもできる。なお、ソフトウェアとハードウェアとを併用することもできる。
 本実施形態に係るシミュレーションプログラムは、例えば、ICやROM等に予め組み込むことができる。また、シミュレーションプログラムは、インストール可能な形式、又は実行可能な形式のファイルで、磁気記録媒体、光学記録媒体、半導体記録媒体等のコンピュータで読み取り可能な記録媒体に記録し、コンピュータプログラムとして提供することもできる。プログラムを格納している記録媒体は、CD-ROMやDVD等の非一過性の記録媒体であってよい。更に、シミュレーションプログラムを、インターネット等の通信ネットワークに接続されたコンピュータに予め格納させ、通信ネットワークを介してダウンロードによる提供ができるようにすることもできる。
 本実施形態に係るシミュレーションプログラムは、CPU等に働きかけて、シミュレーションプログラムを、図1~図9にかけて説明した入力部10、配置部12、命令設定部14、実行受付部16、動作制御部18、出力部20、出力制御部21、格納ユニット22、編集部24、判定部26、キャラクタ情報格納部220、単位空間情報格納部221、命令情報格納部222、キャラクタ干渉情報格納部223、空間干渉情報格納部224、オブジェクト情報格納部225、オブジェクト干渉情報格納部226、動作シーケンス情報格納部227、ユーザ情報格納部228として機能させる。
[実施の形態の効果]
 本実施形態に係るシミュレーションシステム1は、仮想空間100内において動作可能なキャラクタに対し、キャラクタの動作についての命令の設定及び命令の実行順序の設定を複数のユーザそれぞれが各ユーザ自身のキャラクタに対して自由にできる。そして、シミュレーションシステム1においては、仮想空間内で当該キャラクタと、他のキャラクタやオブジェクト及び/又は仮想単位空間110との間で干渉が発生した場合、各ユーザが設定した命令に優先し、所定の動作をキャラクタに実行させることができる。これにより、従来は一度設定した命令はそのまま忠実に実行されるところ、シミュレーションシステム1においてはキャラクタと他のキャラクタ等との相互作用に応じ、命令とは異なる動作をキャラクタに実行させることができる。したがって、シミュレーションシステム1によれば、各ユーザは、自身が設定した命令とは異なる動作をキャラクタが実行する様子を同時に観察して楽しむことができる。
 また、シミュレーションシステム1においては、一のキャラクタと他のキャラクタとの組み合わせ、一のキャラクタとオブジェクトとの組み合わせ、及び/又は一のキャラクタと仮想単位空間との組み合わせ等、様々な組み合わせによって、各ユーザには想定外の様々な動作をキャラクタに実行させることができる。したがって、シミュレーションシステム1においては、各ユーザはいかなる動作をキャラクタが実行するのかについて楽しむこと、つまり、上記様々な組み合わせを試行錯誤することで、キャラクタの動作のシミュレーションを楽しむことができる。
 更に、シミュレーションシステム1においては、仮想空間100を複数のエリアに分け、複数のユーザそれぞれに、一のエリアを対応付けることができる。そして、一のユーザは自身に対応付けられたエリア内に自身が有するキャラクタ及び/又はオブジェクトを設置し、かつ、1以上の命令を設定して自身に対応付けられていない他のエリアにキャラクタを移動させることができる。これにより、シミュレーションシステム1は、一のユーザが自己のキャラクタ及びオブジェクトを配置できない他のエリアにおいて、他のユーザの他のキャラクタ及び/又は他のオブジェクトとの間で干渉を発生させることができ、一のユーザが自己のキャラクタに設定した命令からは予想できない一のキャラクタの動作の変化を想定してシミュレーションを楽しむことができる。
 以上、本発明の実施形態を説明したが、上記に記載した実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明した特徴の組み合わせの全てが発明の課題を解決するための手段に必須であるとは限らない点に留意すべきである。更に、上記した実施形態の技術的要素は、単独で適用されてもよいし、プログラム部品とハードウェア部品とのような複数の部分に分割されて適用されるようにすることもできる。
 1 シミュレーションシステム
 10 入力部
 12 配置部
 14 命令設定部
 16 実行受付部
 18 動作制御部
 20 出力部
 21 出力制御部
 22 格納ユニット
 24 編集部
 26 判定部
 50、52、54、54a、54b、54c、56 キャラクタ
 60、60a オブジェクト
 100 仮想空間
 101、101a、101b、101c エリア
 102 下面
 110、110a、110b 仮想単位空間
 111、111a、111b、111c、111d、111e、111f、111g、111h、111i、111j、111k、111l、111m、111n 仮想単位空間
 220 キャラクタ情報格納部
 221 単位空間情報格納部
 222 命令情報格納部
 223 キャラクタ干渉情報格納部
 224 空間干渉情報格納部
 225 オブジェクト情報格納部
 226 オブジェクト干渉情報格納部
 227 動作シーケンス情報格納部
 228 ユーザ情報格納部
 300 命令

Claims (11)

  1.  複数の仮想単位空間により構成される仮想空間に配置可能であり、複数のユーザそれぞれに対応付けられたキャラクタそれぞれに、1つ以上の命令を設定可能であり、複数の命令が設定された場合に前記命令の実行順序を設定する命令設定部と、
     前記キャラクタに対して設定された前記命令及び前記実行順序に基づいて、前記キャラクタを前記仮想空間内で動作させる動作制御部と
    を備え、
     前記命令設定部が、一以上のキャラクタそれぞれについて、各キャラクタに対応付けられたユーザそれぞれの指示に基づく前記命令及び前記実行順序の設定が可能であり、
     前記動作制御部が、第1のユーザの指示を受け付けて第2のユーザの指示とは無関係に前記第1のユーザに対応付けられた第1のキャラクタを当該の第1キャラクタに対して設定された前記命令及び前記実行順序に基づいて前記仮想空間内で動作させ、第2のユーザの指示を受け付けて前記第1のユーザの指示とは無関係に前記第2のユーザに対応付けられた第2のキャラクタを当該第2のキャラクタに対して設定された前記命令及び前記実行順序に基づいて前記仮想空間内で動作させるシミュレーションシステム。
  2.  前記動作制御部が、前記第1のキャラクタに対する前記第2のキャラクタの前記仮想空間内における位置関係が所定の条件を満たした場合、前記命令設定部が前記第1のキャラクタに設定した前記命令及び前記第2のキャラクタに設定した前記命令に基づく動作に優先し、前記第1のキャラクタ及び前記第2のキャラクタの少なくとも一方に所定の動作を実行させる請求項1に記載のシミュレーションシステム。
  3.  前記動作制御部が、ユーザの停止指示に基づいて、前記仮想空間内で動作中の当該ユーザが有するキャラクタの動作を停止させ、
     前記命令設定部が、停止した前記キャラクタに設定されている前記命令及び前記実行順序に代えて、新たな前記命令及び前記実行順序の設定を受け付ける請求項1又は2に記載のシミュレーションシステム。
  4.  前記仮想単位空間にキャラクタを配置する配置部
    を更に備え、
     前記仮想空間が1以上の前記仮想単位空間からなるエリアを複数有して構成され、前記複数のエリアそれぞれが前記複数のユーザそれぞれに対応付けられ、
     前記配置部が、前記キャラクタが動作を開始する前記エリア内の位置である動作開始位置の指定に際し、前記第1のユーザに対応付けられている第1のエリア内での前記第1のキャラクタの前記動作開始位置の指定を許可し、前記第1のユーザに対応付けられていない第2のエリア内での前記第1のキャラクタの前記動作開始位置の指定を禁止する請求項1~3のいずれか1項に記載のシミュレーションシステム。
  5.  前記仮想単位空間にオブジェクトを配置する配置部
    を更に備え、
     前記仮想空間が1以上の前記仮想単位空間からなるエリアを複数有して構成され、前記複数のエリアそれぞれが前記複数のユーザそれぞれに対応付けられ、
     前記配置部が、前記第1のユーザに対応付けられている第1のエリア内への前記第1のユーザが有する前記オブジェクトの設置を許可し、前記第1のユーザに対応付けられていない第2のエリア内への前記オブジェクトの設置を禁止する請求項1~3のいずれか1項に記載のシミュレーションシステム。
  6.  前記命令設定部が、前記第1のエリアの前記動作開始位置から前記第2のエリアに前記命令に基づいて前記第1のキャラクタが移動した後、前記第1のキャラクタに、前記第2のエリア内において前記命令及び前記実行順序を設定可能である請求項4又は5に記載のシミュレーションシステム。
  7.  前記動作制御部が、前記複数のユーザそれぞれが有する前記キャラクタに設定されている前記命令の実行の指示及び停止の指示を前記複数のユーザごとに受け付け、前記実行の指示又は前記停止の指示を受け付けたタイミングで前記命令を実行又は前記命令を停止する請求項1~6のいずれか1項に記載のシミュレーションシステム。
  8.  前記動作制御部が、前記複数のキャラクタそれぞれに対する前記命令の実行指示の受け付けを契機とし、前記複数のキャラクタそれぞれを前記仮想空間内でリアルタイムに動作させる請求項1~7のいずれか1項に記載のシミュレーションシステム。
  9.  複数のユーザそれぞれに対応付けられたキャラクタそれぞれを動作させるシミュレーションシステムのシミュレーション方法であって、
     複数の仮想単位空間により構成される仮想空間に配置可能であり、前記複数のユーザそれぞれに対応付けられたキャラクタそれぞれに、1つ以上の命令を設定可能であり、複数の命令が設定された場合に前記命令の実行順序を設定する命令設定工程と、
     前記キャラクタに対して設定された前記命令及び前記実行順序に基づいて、前記キャラクタを前記仮想空間内で動作させる動作制御工程と
    を備え、
     前記命令設定工程において、一以上のキャラクタそれぞれについて、各キャラクタに対応付けられたユーザそれぞれの指示に基づく前記命令及び前記実行順序の設定が可能であり、
     前記動作制御工程において、第1のユーザの指示を受け付けて第2のユーザの指示とは無関係に前記第1のユーザに対応付けられた第1のキャラクタを当該の第1キャラクタに対して設定された前記命令及び前記実行順序に基づいて前記仮想空間内で動作させ、第2のユーザの指示を受け付けて前記第1のユーザの指示とは無関係に前記第2のユーザに対応付けられた第2のキャラクタを当該第2のキャラクタに対して設定された前記命令及び前記実行順序に基づいて前記仮想空間内で動作させるシミュレーション方法。
  10.  複数のユーザそれぞれに対応付けられたキャラクタそれぞれを動作させるシミュレーションシステム用のシミュレーションプログラムであって、
     コンピュータに、
     複数の仮想単位空間により構成される仮想空間に配置可能であり、複数のユーザそれぞれに対応付けられたキャラクタそれぞれに、1つ以上の命令を設定可能であり、複数の命令が設定された場合に前記命令の実行順序を設定する命令設定機能と、
     前記キャラクタに対して設定された前記命令及び前記実行順序に基づいて、前記キャラクタを前記仮想空間内で動作させる動作制御機能と
    を実現させ、
     前記命令設定機能において、一以上のキャラクタそれぞれについて、各キャラクタに対応付けられたユーザそれぞれの指示に基づく前記命令及び前記実行順序の設定が可能であり、
     前記動作制御機能において、第1のユーザの指示を受け付けて第2のユーザの指示とは無関係に前記第1のユーザに対応付けられた第1のキャラクタを当該の第1キャラクタに対して設定された前記命令及び前記実行順序に基づいて前記仮想空間内で動作させ、第2のユーザの指示を受け付けて前記第1のユーザの指示とは無関係に前記第2のユーザに対応付けられた第2のキャラクタを当該第2のキャラクタに対して設定された前記命令及び前記実行順序に基づいて前記仮想空間内で動作させるシミュレーションプログラム。
  11.  複数の仮想単位空間により構成される仮想空間に配置可能であり、複数のユーザそれぞれに対応付けられたキャラクタそれぞれに、1つ以上の命令を設定可能であり、複数の命令が設定された場合に前記命令の実行順序を設定する命令設定部と、
     前記キャラクタに対して設定された前記命令及び前記実行順序に基づいて、前記キャラクタを前記仮想空間内で動作させる動作制御部と
    を備え、
     前記命令設定部が、一以上のキャラクタそれぞれについて、各キャラクタに対応付けられたユーザそれぞれの指示に基づく前記命令及び前記実行順序の設定が可能であり、
     前記動作制御部が、第1のユーザの指示を受け付けて第2のユーザの指示とは無関係に前記第1のユーザに対応付けられた第1のキャラクタを当該の第1キャラクタに対して設定された前記命令及び前記実行順序に基づいて前記仮想空間内で動作させ、第2のユーザの指示を受け付けて前記第1のユーザの指示とは無関係に前記第2のユーザに対応付けられた第2のキャラクタを当該第2のキャラクタに対して設定された前記命令及び前記実行順序に基づいて前記仮想空間内で動作させるシミュレーションサーバ。
PCT/JP2022/009930 2021-06-07 2022-03-08 シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム WO2022259659A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/530,246 US20240100432A1 (en) 2021-06-07 2023-12-06 Simulation system, simulation method, and simulation program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021095475A JP2022187433A (ja) 2021-06-07 2021-06-07 シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
JP2021-095475 2021-06-07

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/530,246 Continuation US20240100432A1 (en) 2021-06-07 2023-12-06 Simulation system, simulation method, and simulation program

Publications (1)

Publication Number Publication Date
WO2022259659A1 true WO2022259659A1 (ja) 2022-12-15

Family

ID=84425800

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/009930 WO2022259659A1 (ja) 2021-06-07 2022-03-08 シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム

Country Status (3)

Country Link
US (1) US20240100432A1 (ja)
JP (1) JP2022187433A (ja)
WO (1) WO2022259659A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006263230A (ja) * 2005-03-24 2006-10-05 Konami Digital Entertainment:Kk ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2015154828A (ja) * 2014-02-20 2015-08-27 グリー株式会社 コンピュータプログラム、ゲームシステム、及びその制御方法
WO2021199538A1 (ja) * 2020-03-31 2021-10-07 株式会社ポケモン シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006263230A (ja) * 2005-03-24 2006-10-05 Konami Digital Entertainment:Kk ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2015154828A (ja) * 2014-02-20 2015-08-27 グリー株式会社 コンピュータプログラム、ゲームシステム、及びその制御方法
WO2021199538A1 (ja) * 2020-03-31 2021-10-07 株式会社ポケモン シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム

Also Published As

Publication number Publication date
US20240100432A1 (en) 2024-03-28
JP2022187433A (ja) 2022-12-19

Similar Documents

Publication Publication Date Title
JP5157329B2 (ja) ゲーム装置
US10569176B2 (en) Video game gameplay having nuanced character movements and dynamic movement indicators
CN107812383B (zh) 游戏系统、服务器及信息存储介质
US8070573B2 (en) Video game apparatus and video game program
JP2012085736A (ja) プログラム、情報記憶媒体、及びゲーム装置
US20180246562A1 (en) Virtual Built Environment Mixed Reality Platform
CN112121430B (zh) 虚拟场景中的信息展示方法、装置、设备及存储介质
JP2015054190A (ja) ゲームプログラム、ゲーム装置、ゲームシステム、及びゲーム処理方法
KR20170134675A (ko) 포털 디바이스 및 협력하는 비디오 게임 머신
JP6807342B2 (ja) ゲームシステム、サーバ及びプログラム
JP2009011371A (ja) レーシングゲーム装置のプログラム、そのプログラムを格納した記録媒体、及びレーシングゲーム装置
KR20210011383A (ko) 가상 카메라 배치 시스템
JP5758078B2 (ja) ゲームシステム、このゲームシステムを実現するためのプログラム
JP2004073741A (ja) ゲームプログラム
WO2022259659A1 (ja) シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
WO2021199538A1 (ja) シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
JP6154429B2 (ja) ビデオゲーム装置、ゲームの進行方法、サーバ装置及びビデオゲーム処理プログラム
JP2000167239A (ja) ゲーム装置、記録媒体およびキャラクタの行動制御方法
Adams Fundamentals of Action and Arcade Game Design
JP6000921B2 (ja) ビデオゲーム装置、ゲームの進行方法、サーバ装置及びビデオゲーム処理プログラム
JP6815934B2 (ja) ビデオゲーム装置、ゲームの進行方法、サーバ装置及びビデオゲーム処理プログラム
JP2021194465A (ja) ゲームプログラム、ゲーム装置、ゲーム処理方法、およびゲームシステム
JP2022056655A (ja) シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
JP2022011314A (ja) シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
JP2015054189A (ja) ゲームプログラム、ゲーム装置、ゲームシステム、及びゲーム処理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22819849

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE