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

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

Info

Publication number
WO2021199538A1
WO2021199538A1 PCT/JP2020/048747 JP2020048747W WO2021199538A1 WO 2021199538 A1 WO2021199538 A1 WO 2021199538A1 JP 2020048747 W JP2020048747 W JP 2020048747W WO 2021199538 A1 WO2021199538 A1 WO 2021199538A1
Authority
WO
WIPO (PCT)
Prior art keywords
character
instruction
virtual
space
unit
Prior art date
Application number
PCT/JP2020/048747
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 株式会社ポケモン
Priority to JP2021519671A priority Critical patent/JPWO2021199538A1/ja
Publication of WO2021199538A1 publication Critical patent/WO2021199538A1/ja
Priority to US17/954,363 priority patent/US20230021105A1/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/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games

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 a character operates in a virtual space.
  • a game is provided by at least including an operation means, a calculation means, and a storage means, and the calculation means performs a calculation based on information input by a game player from the operation means and a game program and data stored in the storage means.
  • a role-playing game in which the game player manages the scenario by instructing the action of the character assigned to the game player, and the game player arbitrarily edits the game system.
  • a game system in which a simulation game in a format that creates a world unique to a game player is advanced in parallel, and these two games are associated with each other (see, for example, Patent Document 1).
  • Patent Document 1 According to the game system described in Patent Document 1, by providing a world unique to game players in the world of role-playing games, even game players who have experienced many role-playing games will not get tired of it. You can enjoy the game.
  • an object of the present invention is to provide a simulation system, a simulation method, and a simulation program that allow the user to imagine and enjoy changes in the movement of the character when the character is operated in the virtual space.
  • the present invention can set one or more commands to a character that can be arranged in a virtual space composed of a plurality of virtual unit spaces, and commands when a plurality of commands are set.
  • the instruction setting unit is provided with an instruction setting unit for setting the execution order of the character and an operation control unit for operating the character in the virtual space based on the instruction and the execution order set for the character.
  • Instructions and execution orders can be set for each of the other characters, and the operation control unit operates one character and each of the other characters in the virtual space, and the existence position of one character and the existence of the other character.
  • a simulation system is provided in which at least one of one character and the other character executes a predetermined operation in preference to the operation based on the instruction set by the instruction setting unit. ..
  • the simulation system when the character is operated in the virtual space, the simulation system, the simulation method, and the simulation program according to the present invention, when the character is operated in the virtual space, the simulation system, the simulation method, and the simulation program that the user can enjoy assuming the change in the movement of the character.
  • a simulation program can be provided.
  • the simulation system 1 arranges a character in a virtual space (field), and sets one or more requests for the character to be executed in the virtual space and an execution order of the requests. Then, the simulation system 1 causes the character to execute the request in the virtual space in the execution order. Further, the simulation system 1 can arrange a plurality of characters in the virtual space, and set a request and an execution order for each character.
  • the characteristics of one character and the characteristics of the other character A request set or a request set based on a combination with a feature or a feature such as a predetermined object, and / or a request executed by one character and / or another character before being present at the position. Priority is given to having one character and / or another character perform a predetermined action.
  • the simulation system 1 configures the virtual space from a plurality of virtual unit spaces. Then, each virtual unit space can be associated with a unique feature.
  • the simulation system 1 executes the combination of the character's characteristics and the characteristics of the virtual unit space in which the character exists and / or before the character exists at the position. Based on the request, etc., it is also possible to cause the character to perform a predetermined action together with the set request or prioritizing the set request.
  • FIG. 1 shows an example of an outline of the simulation system according to the present embodiment.
  • the simulation system 1 is a system that causes a character to execute a predetermined operation in a virtual space based on a request (hereinafter referred to as "instruction") set by a user and an execution order of the instruction.
  • the virtual space is configured by connecting a plurality of structural units (hereinafter, referred to as "virtual unit space").
  • the virtual space 100 is composed of an aggregate of a plurality of virtual unit spaces 110.
  • FIG. 1A shows an example in which a plurality of cubic-shaped virtual unit spaces 110 (that is, virtual three-dimensional masses) are assembled to form a cube-shaped virtual space 100 (as an example, 5 ⁇ 5 ⁇ .
  • the virtual space 100 is composed of an aggregate of 5 virtual unit spaces, but the size of the aggregate is not limited to this.
  • the virtual space is an aggregate of m ⁇ n ⁇ o virtual unit spaces.
  • m, n, and o are the same or different positive integers, respectively.
  • the shape of the virtual space 100 is not limited to the cubic shape, and may be any shape as long as it is an aggregate of a plurality of virtual unit spaces 110.
  • the shape of the virtual unit space 110 is not particularly limited.
  • the virtual unit space 110 is preferably configured to have a cubic shape, for example, from the viewpoint of ensuring the ease of configuration of the virtual space 100 and the like.
  • a plurality of virtual spaces 100 may be connected.
  • the virtual unit space 110 may have other shapes such as a rectangular parallelepiped shape and a spherical shape.
  • the virtual unit space 110 connects a plurality of virtual unit spaces having the same or different shapes, treats the connected portion (joint portion) as if it does not exist, and treats the connected plurality of virtual unit spaces as one virtual. It may be treated as a unit space.
  • an example will be described in which the virtual unit space 110 has a cubic shape and the virtual space 100 also has a cubic shape.
  • the simulation system 1 arranges a predetermined character in the virtual space 100 in response to an instruction from the user or in advance.
  • a character 50 is in the virtual unit space 110a
  • a character 52 is in the virtual unit space 110b
  • a character 54 is in the virtual unit space 110c
  • an object 60 is in the virtual unit space 110d.
  • the character 56 is arranged in the unit space 110e
  • the character 58 is arranged in the virtual unit space 110f.
  • the character 50, the character 52, and the character 54 are characters of the same type
  • the character 56 is a character whose size is smaller than that of the character 58.
  • the object 60 is an object that can be destroyed by the interference of characters.
  • FIG. 1B shows an example in which a plurality of characters and objects are arranged in the virtual space 100, but the number of characters arranged in the virtual space 100 may be one or more.
  • FIG. 1 (b) only the lower surface of each virtual unit space is shown for simplification of the description (therefore, in FIG. 1 (b), only the lower surface 102 of the virtual space 100 is shown). .. Therefore, the simulation system 1 can install characters and objects not only in the lower surface 102 of the virtual space 100 but also in the virtual unit space (not shown) above the lower surface 102. Further, in FIG. 1B, the direction from the virtual unit space 110a to the virtual unit space 110b is set as "forward".
  • the character is a character that can appear in the simulation system 1, can be arranged in the virtual space 100, and a user can set an instruction for an operation in the virtual space 100.
  • the object is an object that can be installed in a predetermined virtual unit space 110 constituting the virtual space 100 according to a user's instruction, and represents an arrangement or the like that can or cannot be interfered with by a character. Is.
  • features such as topography and weather of the virtual unit space may be set in the virtual unit space 110.
  • the objects include a character that does not substantially move in the virtual space 100, a derivative object that is an object associated with the movement of the character, and an environment-specific object associated with the terrain, weather, etc. of the virtual unit space 110 ( Environment object) is also included.
  • interference means that one character exists in the same or nearby virtual unit space as another character and / or object, and / or one character is in a predetermined virtual unit space or a predetermined virtual unit space.
  • One character can have a given effect on other characters and / or objects, and / or one character can have a given influence on a given virtual unit space when present in a nearby virtual unit space.
  • the user sets an instruction for each of the character 50, the character 54, and the character 56.
  • the character 50 and the character 54 are set with an instruction indicating "to move forward" (first instruction) and an instruction indicating "jump forward” (second instruction), and the first instruction is set.
  • the execution order in which the second instruction is executed is set after the instruction of.
  • the character 56 is also set with the first instruction and the second instruction, and further, the instruction 300b that repeats the first instruction 300a twice, and then the second instruction.
  • Instruction 300d that executes the instruction 300c of 2 and repeats these three times as one set (that is, the instruction that executes the second instruction after repeating the first instruction twice is set as one set and repeats this three times. ) Is set. On the other hand, no command is set for the character 52 and the character 58 (or a command to "stay" in place is set). The object 60 is only arranged in the virtual unit space 110d.
  • the simulation system 1 can perceptibly output the instructions set by the user and the execution order of the instructions to the user.
  • the simulation system 1 can be executed in the information terminal, and the instruction and the 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 command contents and their execution order are displayed as command 300 using text and figures as shown in the figure below in FIG. 1 (b) (in the example in the figure below in FIG. 1 (b), the command set in the character 56 is displayed. The contents are displayed.).
  • the simulation system 1 operates the character in the virtual space 100 by executing the instructions set by the user in the execution order set by the user.
  • the operation (movement operation) of moving from one virtual unit space of the character to another virtual unit space may be changed according to the user's instruction.
  • the instruction to stop is prohibited.
  • the simulation system 1 is executing the action of the character for the action to be executed in the virtual unit space in which the character exists (for example, the action of invoking a technique, the action of jumping on the spot, etc.).
  • it may be made operable according to the instruction of the user.
  • the character 50 executes a second instruction after the first instruction. That is, the character 50 advances from the virtual unit space 110a (execution of the first instruction), then jumps forward (executes the second instruction) and reaches the virtual unit space 110b.
  • the simulation system 1 controls the operation of the character 50 in the virtual unit space 110b based on the combination of the characteristics of the character 50 and the characteristics of the character 52 and the instruction immediately before the character 50 reaches the virtual unit space 110b. do. That is, the simulation system 1 controls the operation of the character 50 based on predetermined conditions, regardless of the user's settings (or priority).
  • a plurality of characters existing in the same virtual unit space are characters of the same type, and one character moves from the virtual unit space adjacent to the virtual unit space to the virtual unit space by "jumping".
  • it is set in advance to execute the operation of placing one character on top of other characters existing in the virtual unit space.
  • the simulation system 1 is shown in FIG.
  • the character 50 is operated so that the character 50 rides on the character 52.
  • a plurality of characters existing in the same virtual unit space are characters of the same type, and one character "moves forward" from the virtual unit space adjacent to the virtual unit space to perform the virtual unit. When it reaches the space, it collides with another character existing in the virtual unit space, and one character stays in place (the virtual unit space adjacent to the virtual unit space where the other character exists), or one character. It is also possible to set in advance that both the other characters and the other characters are to be bounced in opposite directions.
  • the character 54 executes the second instruction after the first instruction. That is, the character 54 advances from the virtual unit space 110c (execution of the first instruction), then jumps forward (executes the second instruction) and reaches the virtual unit space 110d.
  • the simulation system 1 controls the operation of the character 54 in the virtual unit space 110d based on the combination of the characteristics of the character 54 and the characteristics of the object 60 and the instruction immediately before the character 54 reaches the virtual unit space 110d. do.
  • the simulation system 1 when one character and a predetermined object exist in the same virtual unit space, it is set in advance that the predetermined object can interfere with the predetermined object from the character.
  • the interference here indicates, as an example, that a character can destroy a predetermined object.
  • the simulation system 1 performs an operation of destroying an object existing in the virtual unit space when one character reaches the virtual unit space by "jumping forward" from the virtual unit space adjacent to the virtual unit space. It is set in advance to execute. Then, since the character 54 executes the second instruction (the instruction to jump forward) immediately before reaching the virtual unit space 110d, the simulation system 1 causes the object 60 by the character 54 as shown in FIG. 1 (c).
  • the character 54 is operated so that a plurality of objects 60a, which are destroyed and fragments of the object 60, are scattered around the virtual unit space 110d.
  • a predetermined object cannot interfere with a predetermined object from the character, and one character.
  • the character reaches the virtual unit space by "jumping forward” or “forwarding" 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 formed by the object. It is also possible to set in advance that the operation of being flipped and returning to the original virtual unit space is executed.
  • the character 56 executes the second instruction after executing the first instruction twice. That is, the character 56 advances two squares forward from the virtual unit space 110e (execution of the first instruction twice), then jumps (executes the second instruction) and reaches the virtual unit space 110f.
  • the simulation system 1 controls the operation of the character 56 in the virtual unit space 110f based on the combination of the characteristics of the character 56 and the characteristics of the character 58 and the instruction immediately before the character 56 reaches the virtual unit space 110f. do.
  • a plurality of characters existing in the same virtual unit space are different types of characters, and the size of one character reaching the virtual unit space already exists in the virtual unit space.
  • one character reaches the virtual unit space by "jumping" from the virtual unit space adjacent to the virtual unit space, it collides with another character existing in the virtual unit space. Then, it is set in advance that the one character executes the operation of retreating to the virtual unit space further behind the original virtual unit space to which the one character has moved. Further, in this case, it is set in advance that the character having a larger size (in this case, another character) executes the operation as it exists in the virtual unit space.
  • the simulation system 1 executes the second command (jump command) immediately before the character 56 reaches the virtual unit space 110f, so that the character 56 is bulleted by the character 58 as shown in FIG. 1 (c). Then, it is operated so as to retreat the original route that has moved and return to the virtual unit space 110 g. After that, in the simulation system 1, since the instruction set in the character 56 is a content in which the first operation twice and the second operation once are repeated three times as one set, the next set of the character 56 is set. The first operation is executed.
  • the character 56 is located in the same virtual unit space as the character 58 in the virtual unit space 110f in the second first instruction.
  • a plurality of characters existing in the same virtual unit space are different types of characters, and the size of one character reaching the virtual unit space is already in the virtual unit space. If it is smaller than the size of another existing character and one character reaches the virtual unit space by "forwarding" from the virtual unit space adjacent to the virtual unit space, it exists in the virtual unit space. It is set in advance to execute an operation of colliding with another character and staying in the virtual unit space adjacent to the virtual unit space in which one character has moved and in which the other character exists. Further, in this case, it is set in advance that the character having a larger size (in this case, another character) executes the operation as it exists in the virtual unit space. Therefore, in this case, the character 56 executes an operation of staying in the virtual unit space 110h.
  • the characters and objects may be of a size that occupies a plurality of virtual unit spaces 110.
  • Characters and / or objects of various sizes that occupy the virtual unit space 110 can be used.
  • "interference" is defined only when 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.
  • one character may have a given effect on other characters and / or objects, and / or one character may have a given influence on a given virtual unit space, if at least in part in common. Point to that. For example, when one character occupies a plurality of virtual unit spaces 110 and another character overlaps all or a part of the plurality of virtual unit spaces 110 (that is, the existence position of one character and another character). "Interference" may occur if at least a part of the existing position is common). Further, when 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, it is different from the case where some of them are common. , It may be recognized as a special interference and a predetermined interference process may be executed.
  • the user can freely set the instruction for the character and the execution order of the instruction. Then, in the simulation system 1, the execution of the character's operation is started according to the instruction set by the user and the execution order of the instruction, and interference occurs between the character and another character in a predetermined case. When interference occurs, the simulation system 1 can control the action performed by the character based on the relationship between the character and another character, the action immediately before the character, and the like.
  • the virtual space 100 is composed of a plurality of virtual unit spaces 110, and a character for which an instruction is set can move from one virtual unit space 110 to another virtual unit space 110 for each virtual unit space. Therefore, since the occurrence of interference between characters and / or between characters and objects can be controlled for each virtual unit space, the movement command to the characters is not strictly controlled (that is, between characters or between characters and objects). The user can easily assume the occurrence of the interference itself (however, since the user is not notified of the content of the interference as to what kind of interference will occur), the user can actually assume the occurrence of the interference itself (without strictly setting the contact judgment with the user). The user cannot easily assume until interference occurs.)
  • the instructions and / or the order of the instructions set by the user are not always executed according to the settings of the user, and the characteristics of the characters, the characteristics of the objects, and / or the characteristics of the characters arranged in the virtual space 100 are not always executed.
  • various changes occur in the movement of the character. Therefore, according to the simulation system 1, when a plurality of characters are used, the user can observe interesting behavior by using what kind of character for a certain character, and the object of the character is arranged in the virtual space 100. You can execute simulations while examining, assuming, and imagining various movements and changes in movements, such as how the movements change.
  • the user can try various combinations of characters, objects, and / or virtual unit spaces, and enjoy observing the behaviors of the characters and the behaviors of the characters in the virtual space 100. can.
  • the simulation system 1 can be realized by an information terminal such as a mobile phone, a smartphone, a notebook computer, a tablet PC, a PC, a portable game machine, and / or a home game machine.
  • an information terminal such as a mobile phone, a smartphone, a notebook computer, a tablet PC, a PC, a portable game machine, and / or a home game machine.
  • the details of the simulation system 1 according to the present embodiment will be described below, but the names and numerical values in the above description and the following description are merely examples, and the present invention is limited to these proper names and numerical values. It should be added that there is no such thing, and that these proper names and numerical values are not always related to the actual proper names and numerical values.
  • FIG. 2 shows an example of the functional configuration of the simulation system according to the present embodiment.
  • FIG. 3 shows an example of the data configuration of each storage unit included in the storage unit according to the present embodiment.
  • the simulation system 1 has an input unit 10 that receives input of predetermined instructions and information, an arrangement unit 12 that arranges a character or the like in a virtual space 100, and an instruction setting unit 14 that sets an instruction to be executed by the character.
  • An execution reception unit 16 that accepts the execution of instructions, an operation control unit 18 that controls the operation of the character, an output unit 20 that outputs the operation of the character, a storage unit 22 that stores various information, and a virtual unit. It includes an editorial unit 24 that modifies a space, an object, or the like, an experience value assigning unit 26 that assigns an experience value to a character, and a hint presenting unit 28 that presents a hint of an instruction to a user.
  • the storage unit 22 interferes with the character, the character information storage unit 220 that stores information about the character, the unit space information storage unit 221 that stores information about the virtual unit space, the instruction information storage unit 222 that stores information about instructions, and the character.
  • Character interference information storage unit 223 that stores information about the virtual space
  • space interference information storage unit 224 that stores information about interference with the virtual space
  • object information storage unit 225 that stores information about the object
  • information about interference with the object It has an object interference information storage unit 226 and an operation sequence information storage unit 227 that stores information related to a series of character operations.
  • the simulation system 1 may not only have the plurality of components physically in the same device or location, but may also install some of the plurality of components at physically separated positions.
  • the simulation system 1 may have an external server take part in 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 the information terminal, the components of one server, and the components of another server. Further, in the present embodiment, an aggregate of predetermined components can be grasped as one "information processing device", and the simulation system 1 may be formed as an aggregate of a plurality of information processing devices.
  • the method of allocating the plurality of functions required to realize the simulation system 1 according to the present embodiment to one or a plurality of hardware is the processing capacity of each hardware and / or the specifications required for the simulation system 1. It can be decided as appropriate in view of the above. Further, various information stored in the storage unit 22 may be updated by a user's instruction or information received via the input unit 10, and a predetermined information is acquired from a predetermined server existing outside the simulation system 1. It may be updated at any time.
  • 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, a keyboard, a mouse, a microphone, a motion sensor, or the like of an information terminal.
  • the input unit 10 supplies the instruction to a predetermined component of the simulation system 1. Each component that receives the instruction performs a predetermined function.
  • the output unit 20 outputs various processing results before, during, and / or after execution of the operation by the character in the simulation system 1, and the state of the virtual space 100.
  • the output unit 20 perceptibly outputs various processing results, information stored in the storage unit 22, the state of the virtual space 100, and the like.
  • the output unit 20 outputs various processing results, stored information, and the like as data in a predetermined format, still images, moving images, sounds, texts, and / or physical phenomena such as vibration.
  • the output unit 20 is a display unit, a speaker, a vibration unit (a device provided in the information terminal that generates vibration by a predetermined electric signal), a light emitting unit, a data output unit, or the like.
  • the output unit 20 responds to the user's instruction by information regarding the arrangement of the character or object in the virtual space 100 set by the user, information indicating the instruction and instruction order set in the character or object, and / or interference. It is also possible to output information or the like related to the operation of the character performing the predetermined operation to the outside in a predetermined data format.
  • the output unit 20 can also output information received from an external server.
  • the storage unit 22 stores various information related to the simulation system 1. Each storage unit included in the storage unit 22 supplies predetermined information to a predetermined component in response to a request from another component of the simulation system 1.
  • the character information storage unit 220 stores information about the character used in the simulation. Specifically, the character information storage unit 220 stores character information and the like in association with a character ID that identifies a character. Character information is a characteristic of a character, for example, character attributes, character type, character name, character gender, character ability, character skill, character size, character weight (weight), experience value, and so on. Information indicating the level and the like.
  • the attribute is information set for each character, and is a feature of the character set according to the type, state, property, ability, etc. of the character, for example.
  • the attributes are not particularly limited, and examples thereof include attributes with names such as normal, fire, water, grass, ice, electric, and ghost.
  • a plurality of attributes may be set for one character.
  • the attribute may be an attribute such as a "skill” that the character remembers or a "skill” that is set for the item that the character has. In this case, for example, the character may have both the attributes of the character itself and the attributes of the "skill" that the character remembers (which may be the same as or different from the attributes of the character itself).
  • the unit space information storage unit 221 relates to the virtual unit space ID that identifies the virtual unit space, and relates to the position information indicating the position of the virtual unit space in the virtual space, and the terrain, weather, etc. associated with the virtual unit space. It stores virtual unit space information, which is information indicating the characteristics of the virtual unit space. Examples of the virtual unit space information include geodata information, weather information, interference possibility information, and the like.
  • topographical information examples include information indicating grasslands, coasts, watersides, mountains, rocky areas, towns, graveyards, etc.
  • the virtual unit space corresponds to the topographical information based on the associated topographical information. It is output from the output unit 20 as a virtual unit space indicating the terrain to be processed.
  • a virtual unit space an object characteristic of each of a plurality of types of terrain such as grasslands, rocks, and watersides (this object may be an object that can be arranged by the user or can be arranged in advance by the simulation system 1). ) Etc. may be prepared in advance.
  • the weather information is information on the weather that can be set for each virtual unit space, and is, for example, information indicating fine weather, cloudy weather, rainy weather, thunderstorm, snow, and the like.
  • the virtual unit space to which the weather information is associated 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 possibility information is information indicating whether or not the user and / or the character can interfere with the virtual unit space.
  • the editorial unit 24 receives a predetermined instruction by the user for the virtual unit space that can interfere, and issues the instruction via the input unit 10. It can be reflected in the virtual unit space.
  • the editorial unit 24 can deform the terrain of the virtual unit space according to the user's instruction (for example, deformation or flatness that destroys the mountainous terrain). Deformation that raises the ground with soil, etc., deformation that fills swamps, etc.).
  • the interference possibility information is information indicating that interference is possible
  • interference such as destruction by a character may be enabled for the virtual unit space where interference is possible.
  • the interference possibility information is information indicating that interference is impossible, interference by the user and the character is prohibited in the virtual unit space where interference is impossible.
  • the instruction information storage unit 222 stores instruction information indicating the instruction content to be executed by the character in association with the instruction ID that identifies the instruction.
  • 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 (that is, specify which virtual unit space in the virtual space the destination virtual unit space is.
  • An operation instruction that changes the virtual unit space in which the character is located hereinafter referred to as a "first operation instruction”
  • an instruction that executes a predetermined operation in any of the virtual unit space that is, the character is a predetermined virtual unit.
  • It includes at least one of an operation instruction (hereinafter, referred to as "second operation instruction”), which is located in a space and in which the character executes a predetermined operation in the predetermined virtual unit space.
  • the instruction may include an operation instruction that repeats the first operation instruction and / or the second operation instruction a predetermined number of times.
  • the first operation command includes commands related to the direction of movement from the predetermined virtual unit space (that is, the operation of changing the position of the character to the virtual unit space adjacent to the predetermined virtual unit space), the amount of movement, and the movement method. For example, there are commands such as forward, backward, right or left, jump forward, jump backward, jump right or left, fly, roll, crawl, and the like.
  • the second operation command there is an instruction to execute a predetermined operation without moving from a predetermined virtual unit space, and the direction of the character is changed to a predetermined direction, jumps on the spot, and stays on the spot ( (Standby), perform a predetermined technique (punch, kick, electric shock, other technique / action peculiar to a character, etc.), take a rest once, and so on.
  • a predetermined technique punch, kick, electric shock, other technique / action peculiar to a character, etc.
  • the command to stay in place the command to keep the character sitting, the command to keep standing, the command to keep flying in the virtual unit space, etc. reach the predetermined virtual unit space. It may be an instruction immediately before the operation or an instruction for maintaining the content of the instruction when the predetermined virtual unit space is reached (that is, a "pause" instruction).
  • the instruction may include an instruction to generate a derived object due to the existence of the character, a technique, etc. in another virtual unit space adjacent to the virtual unit space where the character exists. For example, suppose a character has a "fire-breathing" technique as a predetermined technique. In this case, as an instruction to generate a derived object, when the character is located in a predetermined virtual unit space and the "fire spit" technique is activated, another virtual unit space adjacent to the virtual unit space is activated. Is an instruction to generate a derived object that represents "fire spit out”.
  • the command may be a command that changes to a predetermined character when the character satisfies a predetermined condition (hereinafter, referred to as "evolution").
  • evolution means that when one character satisfies a predetermined condition, it changes to another character of the evolution destination.
  • the character interference information storage unit 223 stores operation information indicating the operation of one character and / or another character when interference with another character of one character occurs. That is, the character interference information storage unit 223 provides operation information of an operation executed by one character and / or another character when one character and another character exist in the same virtual unit space. To store.
  • the character interference information storage unit 223 stores operation information in association with one character ID that identifies one character and another character ID that identifies another character. Further, the character interference information storage unit 223 issues a command before (preferably immediately before) one character ID and another character ID and the one character exists in the same virtual unit space as the other character.
  • the instruction information to be shown hereinafter referred to as "instruction information immediately before one character”
  • the operation information may be stored in association with the instruction information indicating (hereinafter, referred to as "instruction information immediately before another character").
  • the operation information is set by, for example, a combination of one character and another character, a combination of character information of one character and character information of another character, and the like. Further, the operation information can be set by an instruction executed by one character until reaching the same virtual unit space as another character, or by an instruction executed immediately before reaching the same virtual unit space.
  • the character interference information storage unit 223 can also store default operation information in association with information that characterizes the character (for example, character attributes, size, weight, etc.). That is, the character interference information storage unit 223 can also store operation information without being associated with one character ID or another character ID. For example, when a plurality of characters exist and a plurality of instructions exist, it may not be possible to set operation information for all combinations of characters and / or combinations of instructions. In this case, the character interference information storage unit 223 stores default operation information in association with the same points or differences that can be grasped by comparing the characteristics of one character with the characteristics of another character, for example. The default operation information is, for example, when the size of one character is different from the size of another character, and when both characters collide in the same virtual unit space, the smaller character bounces by the other character. Information that sets the operation to be skipped can be mentioned.
  • Example of operation information based on character type When the types are the same>, operation information determined based on one character type and another character type will be described. First, when one character type and another character type are the same, and one character and another character exist in the same virtual unit space, immediately before one character. Operation information can be set based on the command of and the command immediately before another character.
  • the operation information is the same for one character and another character. It is possible to set information indicating an action of "colliding" in the virtual unit space of the character and retreating to the virtual unit space that existed immediately before both one character and the other character. Also, when the command immediately before one character is "jump forward” and the command immediately before another character is "stop” (however, when one character "jumps forward", the other (Suppose that the character reaches the virtual unit space where it is "stopped”), the operation information is that one character and another character overlap in the same virtual unit space, that is, on another character. Information indicating the movement of one character can be set.
  • the command immediately before one character is "forward", the other character is turning his back on one character in a predetermined virtual unit space, and the command immediately before the other character is "stopping".
  • the operation information includes another character.
  • Information indicating an operation of being pushed out to another virtual unit space adjacent to a predetermined virtual unit space along the traveling direction of one character can be set.
  • ⁇ Example of operation information based on character type When the type is the same and the size is larger than the specified size> Even when the types of characters are the same, unlike the above, special operation information can be set according to the characteristics of the characters. For example, when one character type and another character type are the same, and the size and / or weight of both characters is equal to or more than a predetermined value, one character and another character are the same virtual. When it exists in the unit space, predetermined operation information can be set based on the command immediately before one character and the command immediately before another character.
  • the operation information is different from the above because the size of both characters is larger than the predetermined value (one character cannot jump high). Instead of one character riding on another character, one character "collides” with another character in the same virtual unit space, and one character stands in the virtual unit space that existed immediately before. You can set the information to be shown.
  • Example of operation information based on character type When the types are different (1)> When one character type and another character type are different, and one character and another character exist in the same virtual unit space, the characteristics of one character and others.
  • the operation information can be set based on the characteristics of the character, the command immediately before one character, and the command immediately before another character.
  • the weight of one character when 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, and the weight of one character is smaller than the weight of another character.
  • the command immediately before one character is "forward" and the command immediately before another character is also "forward"
  • the operation information is the same for one character and another character. Collides in the virtual unit space of the collision position (the virtual unit space of the collision position), one character retreats to the virtual unit space that existed immediately before, and the other character stays in the virtual unit space of the collision position. You can set information that indicates that you want to do it.
  • one character is a virtual unit space adjacent to the virtual unit space in which it exists and has the ability to copy the characteristics of another character existing in the virtual unit space located in front of the one character.
  • the operation information is as operation information.
  • the operation information information indicating an operation that other characters are surprised at may be set at the same time.
  • Example of operation information based on character size> For example, a case where the size of one character and the size of another character are different will be described. Here, it is assumed that the size of one character is smaller than the size of another character.
  • the operation information the operation when one character reaches the virtual unit space in which another character exists is set. This operation may be, for example, an operation in which one character collides with another character and one character bounces in the opposite direction along the path reached by the one character in the virtual unit space.
  • the immediately preceding command is "forward"
  • the immediately preceding command of another character is "sleeping" in the predetermined virtual unit space.
  • the operation information it is possible to set an operation in which one character collides with another character and bounces off the path reached by the one character to the virtual unit space in the opposite direction, and the other character "sleeps" as it is. You can set the operation to continue.
  • one character "evolves” by satisfying a predetermined condition before reaching a predetermined virtual unit space, and the command immediately before the one character after evolution is "advance", and the other.
  • the command immediately before the character is "sleep”
  • Information indicating an operation in which one character and another character stop in a state of being awake together in the virtual unit space at the collision position can be set.
  • the command immediately before is "fall” or the like (or an object or the like that blocks the character from falling above the predetermined virtual unit space). In the absence of, one character may fall towards a given virtual unit space for any command), and the command immediately preceding the other character "stays" in the given virtual unit space.
  • the operation information information indicating an operation in which one character collides with another character and lands on a virtual unit space adjacent to the virtual unit space while bouncing can be set.
  • the operation information is that the one character collides with the other character. Information indicating the motion of being bounced in the direction opposite to the moving direction can be set.
  • the immediately preceding command is "forward"
  • "electric shock” is activated after "forward”.
  • the operation information is that when one character collides with another character, one character “sleeps”. It is possible to activate "electric shock” and set information indicating an action in which another character is surprised by the "electric shock” and jumps up.
  • the space interference information storage unit 224 stores operation information indicating the operation of one character when interference with the virtual unit space of one character occurs. That is, the space interference information storage unit 224 stores operation information of the operation executed by one character when one character is to exist in a predetermined virtual unit space. The operation information also includes information that changes the state of the virtual unit space in which one character exists due to the interference of one character.
  • the space interference information storage unit 224 stores operation information in association with a character ID and a virtual unit space ID that identifies a predetermined virtual unit space. Further, the space interference information storage unit 224 indicates a character ID, a virtual unit space ID, and an instruction before (preferably immediately before) the character exists in the virtual unit space identified by the virtual unit space ID.
  • the operation information may be stored in association with the instruction information (hereinafter, referred to as "instruction information immediately before the character").
  • the operation information is set by, for example, a combination of character characteristics and virtual unit space information. Further, the operation information can be set by an instruction executed by the character until reaching the predetermined virtual unit space, or an instruction executed immediately before reaching the predetermined virtual unit space.
  • Example of operation information based on the terrain of the virtual unit space For example, the case where the character reaches the virtual unit space of a predetermined terrain will be described. As an example, the virtual unit space has the terrain of a "river", and the character reaches the virtual unit space having the "river” by the command set by the command setting unit 14.
  • the operation information is "river” in the virtual unit space in which the character has “river". Information can be set to indicate that the operation proceeds in the same way as the virtual unit space that does not exist.
  • the operation information is that the character is "river”. Information can be set to indicate that the person starts swimming in the "river” in the virtual unit space having.
  • the command immediately before the character is "forward” and the attribute of the character is "fire type"
  • the character can proceed to the virtual unit space having the "river" as the operation information.
  • the operation information is a virtual unit in which the character is swept by the "river” and has the “river”. Information indicating the operation of moving to another virtual unit space adjacent to the space may be set. Further, when the command immediately before the character is "forward”, the attribute of the character is "Iwa type", and the size of the character is equal to or larger than a predetermined size, the character is "forward” as the operation information. Information indicating the operation of fitting into the "river” may be set, and information indicating the overflow of water from the "river” may be set.
  • Example of operation information based on the weather in the virtual unit space For example, the case where the character reaches the virtual unit space of the predetermined weather and / or the case where the character exists will be described.
  • the weather in the virtual unit space is "rainy", and the character reaches the virtual unit space by the command set by the command setting unit 14.
  • the operation information is the virtual unit space of the character "rainy weather”. With a predetermined probability (for example, at random), it is possible to set information indicating an action in which the character slips and advances one or more squares.
  • the operation information includes the weather in the virtual unit space in which the character exists due to the technique. You can also set information to indicate that you want to change.
  • Example of operation information based on virtual unit space and character attributes For example, the case where the character reaches the virtual unit space of a predetermined terrain will be described.
  • the virtual unit space has a terrain having a "wall”, and the character reaches the virtual unit space having a "wall” by a command set by the command setting unit 14.
  • the character when the command immediately before the character is "forward" and the attribute of the character is "normal type", the character can advance in the virtual unit space having the "wall” as the operation information. Instead, information indicating that the operation stays in the virtual unit space immediately before reaching the virtual unit space can be set. In addition, when the command immediately before the character is "forward” and the attribute of the character is "ghost type”, the operation information is that the character moves through the virtual unit space having the "wall”. Information indicating that can be set.
  • the object information storage unit 225 stores information (object information) about objects that can be arranged in the virtual unit space. Specifically, the object information storage unit 225 stores the object information and the like in association with the object ID that identifies the object.
  • the object information is, for example, information indicating an object attribute, an object type, an object name, an object size, whether or not the object can be destroyed, and the like.
  • the attribute is information set for each object, and is a feature of the object set according to the type, state, property, or the like of the object. In addition, 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 "environment object").
  • Environment objects include objects that represent terrain (for example, trees, rocks, rivers, etc.), objects that represent structures (for example, walls, buildings, floors, etc.), and / or commands cannot be set by the command setting unit 14.
  • Characters for example, characters that are sleeping in a predetermined virtual unit space or do not move even if they are awake
  • the environment object may include an object that can interfere with the character and an object that cannot interfere with the character.
  • Objects that can interfere are objects that can be destroyed by the movement of the character (for example, a predetermined technique or a rush) (for example, a destructible tree or rock).
  • an object that cannot interfere is an object that cannot be destroyed by the movement of the character (for example, an indestructible floor or wall).
  • the objects may include derived objects that are specific to a given character.
  • the derived object is, for example, an object that is generated in response to the activation of an action of a predetermined character (for example, a technique of the predetermined character).
  • the object interference information storage unit 226 stores operation information indicating the operation of the character and / or the object when interference with the object of the character occurs. That is, the object interference information storage unit 226 stores operation information regarding the operation executed by the character and / or the influence on the object when the character and the object are to exist in the same virtual unit space.
  • the object interference information storage unit 226 stores operation information in association with the character ID and the object ID. Further, the object interference information storage unit 226 indicates a character ID and an object ID, and instruction information indicating an instruction before (preferably immediately before) the character exists in the same virtual unit space as the object (hereinafter, "" The operation information may be stored in association with the instruction information immediately before the character.
  • the operation information is set by, for example, a combination of a character and an object, a combination of a character information of a character and an object information of an object, and the like. Further, the operation information can be set according to the instruction executed by the character until reaching the same virtual unit space as the object, or the instruction executed immediately before reaching the same virtual unit space.
  • Example of operation information based on object type> For example, the case where the character reaches the virtual unit space in which a predetermined object is arranged will be described.
  • an environment object representing "rock” is placed in the virtual unit space, and this environment object is an object that can interfere.
  • the command immediately before the character is "to perform a technique", and the environment object of "rock” can be destroyed in the technique
  • the operation information is as operation information.
  • Information can be set to indicate that the character acts to destroy the "rock” with the "skill”.
  • an environment object representing "rock” is arranged in the virtual unit space, and this environment object is an object that cannot interfere.
  • the motion information is that the character is bounced off by the "rock” and the virtual immediately before reaching the virtual unit space.
  • Information can be set to indicate that the operation is to retreat to the unit space.
  • an object that can be evolved by a predetermined character acquiring the object can be prepared.
  • the arrangement unit 12 arranges an object (evolution object) necessary for the evolution of a predetermined character in a predetermined virtual unit space. Then, when a predetermined character arrives at the virtual unit space in which the evolution object is arranged by the instruction set by the instruction setting unit 14, no matter what instruction is the instruction immediately before the character, the operation information is as follows. Information indicating the evolution of the character can be set.
  • 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 operation sequence information includes the virtual space 100 used for the character operation, the arrangement result by the arrangement unit 12, one or more instructions set by the instruction setting unit 14 for the predetermined character, the execution order of the instructions, and the operation described later. This is information including the operation of the character controlled by the control unit 18. That is, the operation sequence information is an arbitrary system including the simulation system 1 for arranging characters and / or objects in the virtual space 100, and a series of operations from the start to the end of the operation of the character in the virtual space 100. It is information that can be reproduced at an arbitrary timing in.
  • the output unit 20 executes a character operation in the virtual space 100 at an arbitrary timing based on the operation sequence information, and typically, in response to a user's instruction, the virtual space 100 is displayed in the display unit of the information terminal or the like.
  • the movement of the character in the inside can be reproduced as a moving image.
  • the operation sequence information may be provided, for example, to an information terminal, a server, or the like outside the simulation system 1 in which the operation sequence information is generated via a communication network, a recording medium, or the like.
  • An information terminal, a server, or the like to which the operation sequence information is provided can execute the operation of the character in the virtual space 100 by using the operation sequence information.
  • the operation sequence information created by one user in the simulation system 1 can be supplied to the simulation system 1 of another user.
  • the arrangement unit 12 arranges characters and / or objects in the virtual unit space 110 that constitutes the virtual space 100.
  • the placement unit 12 may also pre-place characters and / or objects in the virtual unit space 110.
  • the arrangement unit 12 can arrange a predetermined character and / or a predetermined object in the virtual unit space 110 designated by the user according to the instruction of the user received by the input unit 10.
  • the arrangement unit 12 can also arrange characters and / or objects in each of the plurality of virtual unit spaces 110. That is, the arrangement unit 12 can arrange one or more characters in each of one or more virtual unit spaces 110, and / or can arrange one or more objects in each of one or more virtual unit spaces 110. Since the virtual space 100 is configured in three virtual dimensions, the arrangement unit 12 arranges 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. You can also do it.
  • the output unit 20 displays information on the character stored in the character information storage unit 220 and / or the object information stored in the object information storage unit 225 on the display unit of the information terminal (for example, the user is a simulation system). (List information of characters and / or objects that can be used in 1) is output. Then, the arrangement unit 12 receives a character and / or object selection instruction by the user via the input unit 10, and the information and / or object of the character selected by the user stored in the character information storage unit 220. The information of the object selected by the user stored in the information storage unit 225 is acquired. Further, the output unit 20 outputs the virtual space 100 composed of the virtual unit space 110 to the display unit of the information terminal.
  • the arrangement unit 12 receives a user's selection instruction of the virtual unit space 110 for each character and / or object selected by the user via the input unit 10. Then, the arrangement unit 12 arranges the character indicated by the acquired character information and / or the object indicated by the object information in the virtual unit space selected and instructed by the user.
  • the output unit 20 can output an image showing a state in which the arrangement unit 12 arranges the character and / or the object in the virtual unit space.
  • the arrangement unit 12 supplies the operation control unit 18 with information about the characters and / or objects arranged in the virtual space 100.
  • the instruction setting unit 14 sets one or more instructions to be executed by the character in the virtual space 100, and when a plurality of instructions are set, sets the execution order of the plurality of instructions to the character.
  • the command setting unit 14 sets a command and an execution order for each of one character and another character. That is, the instruction setting unit 14 receives the instruction selection by the user and the execution order of the selected instruction via the input unit 10, and associates the accepted instruction and the execution order of the instruction with the character selected by the user.
  • the output unit 20 perceptibly outputs information about the instruction for the character stored in the instruction information storage unit 222 to the user.
  • the instruction setting unit 14 receives the instruction for setting the instruction and the execution order of the instruction by the user who has referred to the information about the instruction via the input unit 10, and sets the received instruction and the execution order of the instruction to the character selected by the user.
  • the output unit 20 can output the instructions set by the instruction setting unit 14 and the execution order of the instructions in a perceptible manner by the user using text, a predetermined figure, or the like.
  • the instruction setting unit 14 supplies the operation control unit 18 with information indicating the instructions associated with the character and the execution order of the instructions.
  • the instruction setting unit 14 can automatically set the instructions and the execution order of the instructions without receiving the instruction of the instruction selection and the instruction execution order by the user.
  • the instruction setting unit 14 can, for example, randomly set the instruction and the execution order of the instruction, or set a predetermined instruction and the execution order of the instruction.
  • the instruction setting unit 14 may set a predetermined instruction and execution order for a predetermined character as a tutorial.
  • the instruction set by the instruction setting unit 14 is an instruction stored in the instruction information storage unit 222.
  • Examples of the instruction set by the instruction setting unit 14 include the above-mentioned first operation instruction, second operation instruction, repeating operation instruction, instruction for generating a derived object, instruction for evolving, and the like.
  • the instruction setting unit 14 can set the amount of movement from the predetermined virtual unit space included in the first operation instruction in units of the number of virtual unit spaces. That is, by catching the virtual unit space as a virtual square, it is possible to set a command such as "go forward by 2 squares" to the character. By treating the virtual unit space as a virtual cell, it becomes easy to set the movement of the character. Further, the execution order of the instructions set by the instruction setting unit 14 can be freely set according to the user's desire.
  • command setting unit 14 sets an “evolve” command for one character
  • the command setting unit 14 issues commands to one character to "forward", “perform a technique”, “forward”, “evolve”, “forward”, and “perform a technique”. It is assumed that they are set in order.
  • the command setting unit 14 may make the pre-evolution "skill” command and the post-evolution "skill” command different before and after the evolution of the character.
  • the user may simply set the instruction to "execute the technique", and the content of the “technique” may be appropriately set based on the content of the instruction set by the instruction setting unit 14 and the execution order.
  • the command setting unit 14 determines that the "skill” is the “skill” of the evolved character, and before the evolution, Instead, it may be set so that the "skill" of the evolved character appears.
  • the execution reception unit 16 receives an execution instruction of an instruction set by the instruction setting unit 14. Specifically, the execution reception unit 16 receives an execution instruction of a command from the user via the input unit 10. When the user sets instructions for a plurality of characters, the execution reception unit 16 can accept execution of the instructions in any of the following patterns, for example.
  • Patent 1 Receiving instruction execution instructions for all of a plurality of characters at once.
  • Patent 2 A plurality of characters are divided into a plurality of groups, and each group receives an instruction execution instruction at a different timing or at a part of the same timing.
  • Patent 3 An instruction 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 the execution instruction of the command for the predetermined character has been received.
  • the operation control unit 18 operates the characters arranged in the virtual space 100 by the arrangement unit 12 in the virtual space 100 based on the instructions and the execution order set by the instruction setting unit 14 according to the information received from the execution reception unit 16. Let me. Further, when the instruction and the execution order of the instruction are set for each of one character and the other character, the operation control unit 18 gives an instruction of one operation of the user (for example, an instruction of instruction execution to be received via the input unit 10). ), The execution of the instructions according to the execution order of each instruction is started for each of one character and the other character.
  • the motion control unit 18 is between another character in the virtual space 100, an object arranged in the predetermined virtual unit space, and / or the predetermined virtual unit space, and the character from which the execution of the instruction is started.
  • the instruction set by the instruction setting unit 14 and the execution order of the instructions are prioritized, and the character is made to execute the operation according to the interference. That is, in this case, the motion control unit 18 can determine the motion to be executed by the character according to a predetermined rule. Then, the motion control unit 18 causes the output unit 20 to output the state of the character executing the command.
  • the motion control unit 18 can also cause the character to execute a predetermined motion when the command set by the command setting unit 14 cannot be executed due to the relationship between the character and the virtual space in which the character exists.
  • the character is arranged in the air of the virtual space 100 by the arrangement unit 12, and the character is a character that cannot fly or float in the air, and the instruction set by the instruction setting unit 14 is "before".
  • the operation control unit 18 determines that the movement command cannot be executed. Then, the motion control unit 18 stops the execution of the movement command and, for example, operates the character in accordance with the laws of physics (in this case, the character is dropped downward from the position where the character exists).
  • the operation control unit 18 is set by the instruction setting unit 14 when the instruction set by the instruction setting unit 14 can be executed (in this case, when the character lands on the floor of the virtual space). Continues the execution of the issued instruction.
  • the operation control unit 18 is adjacent to the one virtual unit space from one virtual unit space when the character is moved in the virtual space 100 based on the instruction and the execution order set by the instruction setting unit 14. Move the character to another virtual unit space. Assuming that the virtual unit space is regarded as a "mass", the motion control unit 18 moves the character for each "mass".
  • the motion control unit 18 may move the character at predetermined time intervals. That is, the motion control unit 18 may seamlessly move the character in a plurality of virtual unit spaces at predetermined time intervals (for example, it may be set to move one virtual unit space per second).
  • the operation control unit 18 operates when a character that operates based on the instructions set by the instruction setting unit 14 and the execution order of the instructions interferes with another character or object, or based on the instructions and the execution order of the instructions.
  • the movement of the character may be controlled by using the movement determined based on the physical calculation. For example, when a character collides with another character or object, the character and others are calculated by physics based on the shape, size, weight, etc. of the character, the shape, size, weight, etc. of the other character, and the collision speed.
  • the behavior of the character or object may be calculated, and the calculated behavior may be executed by the character.
  • the motion control unit 18 generates motion sequence information indicating a series of motions in the character's virtual space 100 (including the motion by the command set by the command setting unit 14 and the motion when interference occurs).
  • the generated operation sequence information is stored in the operation sequence information storage unit 227 in association with the operation sequence information ID of the operation sequence information.
  • the motion control unit 18 can also generate motion sequence information indicating a part of a series of motions in the character's virtual space 100 as motion sequence information. That is, the operation control unit 18 includes all or part of the character's operation due to the execution of the instructions in the instruction execution order set by the instruction setting unit 14 and the character's operation when interference occurs. Information can be generated.
  • the motion control unit 18 can control the motion of the character based on the characteristics of the character and the characteristics of the virtual unit space corresponding to the existence position of the character.
  • the operation control unit 18 associates the character ID of the character executing the instruction with the virtual unit space ID of the virtual unit space in which the character exists, and the operation information stored in the space interference information storage unit 224. To get. Then, the motion control unit 18 refers to the acquired motion information and causes the character to execute the motion indicated by the content of the motion information. Further, the operation control unit 18 includes the character ID of the character executing the instruction, the virtual unit space ID of the virtual unit space in which the character exists, and the instruction executed immediately before the character reaches the virtual unit space (immediately before).
  • the operation information stored in the spatial interference information storage unit 224 may be acquired in association with the instruction information), and the character may be made to perform a predetermined operation based on the operation information.
  • the motion control unit 18 operates each of one character and another character in the virtual space 100, and when the existence position of one character and the existence position of another character become the same virtual unit space, an instruction is given. Prioritizing the instructions and the execution order set by the setting unit 14, at least one of one character and the other character can execute a predetermined operation. In this case, the motion control unit 18 combines the characteristics of one character with the characteristics of another character, an instruction executed before one character is located in the same virtual unit space as the other character, and another character. Controlling the behavior of at least one of a character and another based on at least one selected from a group of instructions executed before is located in the same virtual unit space as a character. Can be done.
  • the motion control unit 18 sets the character ID of the one character executing the instruction and the other character ID of the other character.
  • the operation information stored in the character interference information storage unit 223 is referred to in association with each other, and one character and / or another character is made to execute the operation indicated by the content of the operation information.
  • the motion control unit 18 executes an instruction (one character ID of one character executing an instruction, another character ID of another character, and an instruction executed immediately before reaching the virtual unit space in which one character exists ().
  • Stored in the character interference information storage unit 223 in association with the command (command information immediately before one character) and / or the command executed immediately before the other character reaches the virtual unit space (command information immediately before the other character). It is possible to acquire the motion information that has been performed and have one character and / or another character perform a predetermined motion based on the motion 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 arranged at the position where the character exists.
  • the motion control unit 18 stores in the object interference information storage unit 226 in association with the character ID of the character executing the instruction and the object ID of the object arranged in the virtual unit space in which the character exists. Get the operation information that has been done. Then, the motion control unit 18 refers to the acquired motion information and causes the character to execute the motion indicated by the content of the motion information. Further, the operation control unit 18 executes the character ID of the character executing the instruction, the object ID of the object arranged in the virtual unit space in which the character exists, and the character immediately before reaching the virtual unit space.
  • the operation information stored in the object interference information storage unit 226 may be acquired in association with the instruction (immediately preceding instruction information), and the character may be made to execute a predetermined operation based on the operation information.
  • one character exists in one virtual unit space is adjacent to the one virtual unit space, and another character is placed in another virtual unit space associated with the generation of a derived object. If present, the behavior of other characters can also be controlled based on the characteristics of other characters and the characteristics of derived objects.
  • the motion control unit 18 has another character in another virtual unit space adjacent to one virtual unit space in which one character exists, and the instruction setting unit 14 allows one character to exist in one virtual unit space.
  • an instruction to execute a predetermined action for example, an action that exerts a predetermined action toward another virtual unit space
  • the other character is made to perform the predetermined action. That is, the motion control unit 18 acquires the motion information stored in the object interference information storage section 226 in association with the other character ID and the object ID of the derived object, and the other character is based on the acquired motion information. May perform a predetermined operation.
  • Example 1 of operation based on the relationship between a derived object and a character For example, when the instruction setting unit 14 reaches one virtual unit space, an instruction to generate a derivative object peculiar to one character in another virtual unit space adjacent to this one virtual unit space is given to one character. Take the case of setting as an example. In this case, when one character reaches one virtual unit space and another character reaches another virtual unit space, the operation control unit 18 determines the type of the other character and the type of the derived object. In response to the above, priority is given to the instructions set for other characters, and a predetermined operation is executed.
  • the motion control unit 18 is stored in the object interference information storage unit 226 in association with the other character IDs of the other characters and the object IDs of the derived objects arranged in the virtual unit space where the other characters exist. Get the operating information.
  • this motion information is a derivative object in which a derivative object unique to one character represents an "electric shock” corresponding to the technique of one character, "electric shock", and another character is this "electric shock".
  • Example 2 of operation based on the relationship between derived objects and objects 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 one character in another virtual unit space adjacent to this one virtual unit space. , The case where it is set to one character is taken as an example. In this case, when one character reaches one virtual unit space and a predetermined object exists in another virtual unit space, the operation control unit 18 determines the type of the predetermined object and the derived object. It has a certain effect on a certain object depending on the type.
  • the object interference information storage unit 226 can store the operation information including the influence on a predetermined object in association with the one character ID of one character and the object ID of the derived object. Then, the operation control unit 18 acquires the operation information stored in the object interference information storage unit 226.
  • the motion information is a derived object in which a derived object unique to one character represents a "flame" corresponding to the technique of one character, "spitting fire", and a predetermined object is this "flame”. It is information including the contents burned by the derived object of ". Therefore, the motion control unit 18 generates a state in which a predetermined object burns.
  • the operation control unit 18 may execute a predetermined operation. ..
  • 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 character in the virtual space 100. Therefore, in the motion control unit 18, the character moves in the virtual space 100 according to the command set by the command setting unit 14, and the character determines the outer edge of the virtual space 100, the virtual unit space in which the indestructible object is arranged, and the like.
  • the predetermined motion include an motion of staying in place, an motion of traveling in the opposite direction on a moving path, an motion of changing the traveling direction, and the like.
  • the experience value giving unit 26 gives an experience value to the character.
  • the experience value is a value acquired by the character, and the level is a numerical value determined according to the cumulative total of the given experience values, and is a numerical value representing the rank of the character.
  • the level of the character can be raised stepwise.
  • the experience value giving unit 26 calculates an experience value based on, for example, the number of command executions of the character executed by the motion control unit 18 and / or the number of times the character interferes with another character or the like, and gives the character an experience value. Can be granted.
  • the motion control unit 18 may evolve the character when the character reaches a predetermined level and / or when an experience value equal to or higher than the predetermined value is acquired. Further, the motion control unit 18 may change the content of the technique that can be used by the character and / or the effect of the technique according to the level of the character. For example, it is assumed that a derived object generated when the character activates a predetermined technique is associated with one virtual unit space. In this case, the operation control unit 18 may change the virtual unit space in which the derived object is generated from the one virtual unit space to another virtual unit space, or change the virtual unit space to a plurality of virtual unit spaces including the one virtual unit space. You may spawn this derived object (that is, you may spawn a derived object in each of the multiple virtual unit spaces).
  • the hint presenting unit 28 presents to the user an instruction and / or an execution order of the instruction that the user has not previously selected.
  • the hint presenting unit 28 causes the output unit 20 to perceptibly output the instructions and / or the execution order of the instructions that the user has not selected so far.
  • the hint presenting unit 28 sets a predetermined flag for the instruction set by the instruction setting unit 14 among the instructions stored in the instruction information storage unit 222. Then, the hint presenting unit 28 presents an instruction to which the flag has not been set to the user.
  • the timing at which the hint presenting unit 28 presents to the user may be any timing (including the timing according to the instruction by the user).
  • FIG. 4 shows an example of the processing flow in the simulation system according to the present embodiment.
  • the output unit 20 refers to the character information storage unit 220 and / or the object information storage unit 225, and outputs the character and / or the object to the user in a perceptible manner (for example, displaying the character and / or the object on the display unit of the information terminal). Refers to. The same applies below.)
  • the input unit 10 receives from the user a selection instruction of one or more characters and / or objects to be operated in the virtual space 100 among the output characters and / or objects. Further, the output unit 20 perceptibly outputs the virtual space 100 and the plurality of virtual unit spaces 110 constituting the virtual space 100 to the user.
  • the input unit 10 receives from the user a selection instruction of the virtual unit space 110 in which the character and / or the object is arranged among the plurality of output virtual unit spaces 110.
  • the input unit 10 accepts the designation of the position of the virtual unit space 110 in which the plurality of characters and / or the plurality of objects should be arranged for each of the plurality of characters and / or the plurality of objects. ..
  • the arrangement unit 12 responds to the selection instruction of one or more characters and / or objects received by the input unit 10 and the designation of the position of the virtual unit space 110 in which the one or more characters and / or objects are arranged.
  • Each of the characters and / or objects of the above is arranged in a predetermined virtual unit space 110 (step 10.
  • S the step is referred to as “S”.
  • the instruction setting unit 14 causes the user to perceptibly output various instructions stored in the instruction information storage unit 222 from the output unit 20.
  • the instruction setting unit 14 responds to an instruction from a user who refers to the output instruction, and receives one or more instructions to be executed in the virtual space 100 for each of the one or more characters arranged in the virtual unit space 110.
  • the instruction execution order is set (S12).
  • the execution reception unit 16 receives the execution instruction of the instruction from the user via the input unit 10 (Yes in S14)
  • the operation control unit 18 executes the instruction and the instruction set in the character by the instruction setting unit 14.
  • the movement of the character is started according to the order (S16).
  • the execution reception unit 16 does not receive the execution instruction of the instruction from the user via the input unit 10, it waits until the execution instruction is received (No in S14).
  • the operation control unit 18 causes the character to perform a predetermined action based on the relationship between the character and another character, object, and / or a predetermined virtual unit space 110 (S20).
  • the operation control unit 18 causes the character to perform a predetermined operation based on the operation 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. Examples of the predetermined operation include various operations described above.
  • the motion control unit 18 causes the character to execute the operation based on the interference, and then causes the character to continue the command set by the command setting unit 14 (S22).
  • the operation control unit 18 may cause the character to execute an operation based on interference, then cancel the instruction set by the instruction setting unit 14, and cause the character to execute a predetermined operation.
  • the operation control unit 18 causes the character to continue the instruction set by the instruction setting unit 14 (S22).
  • the motion control unit 18 configures a series of actions executed by the character in the virtual space 100 as motion sequence information, and stores the motion sequence information storage section 227 (S24).
  • Each component included in the simulation system 1 according to the present embodiment shown in FIGS. 1 to 4 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 processing by software. It can also be realized by writing a program in advance in hardware as an electronic component such as an integrated circuit (IC). It is also possible to use software and hardware together.
  • 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 processing by software. It can also be realized by writing a program in advance in hardware as an electronic component such as an integrated circuit (IC). It is also possible to use software and hardware together.
  • the simulation program according to this embodiment can be incorporated in advance into, for example, an IC or ROM.
  • the simulation program is a file in an installable format or an executable format, which is recorded on a computer-readable recording medium such as a magnetic recording medium, an optical recording medium, or a semiconductor recording medium, and provided as a computer program. You can also.
  • the recording medium in which the program is stored may be a non-transient recording medium such as a CD-ROM or a DVD.
  • the simulation program can be stored in advance in a computer connected to a communication network such as the Internet so that the simulation program can be provided by download via the communication network.
  • the simulation program works on the CPU or the like to transfer the simulation program to the input unit 10, the arrangement unit 12, the instruction setting unit 14, the execution reception unit 16, the operation control unit 18, which are described in FIGS. 1 to 4.
  • the user can freely set instructions for the operation of the character and the execution order of the instructions for the character that can operate in the virtual space 100. Then, in the simulation system 1, when an interference occurs between the character and another character or object and / or the virtual unit space 110 in the virtual space, the instruction set by the user is prioritized and a predetermined operation is performed. Can be executed by the character. As a result, in the conventional case, the instruction once set is faithfully executed as it is, but in the simulation system 1, the character can execute an operation different from the instruction according to the interaction between the character and another character or the like. Therefore, according to the simulation system 1, the user can enjoy observing how the character executes an operation different from the instruction 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 can be used by the user. Can cause the character to perform various unexpected actions. Therefore, in the simulation system 1, the user can enjoy simulating the movement of the character by enjoying what kind of movement the character executes, that is, by trial and error of the various combinations described above.
  • the simulation system 1 after the user sets the instruction and the execution order of the instruction and the instruction to execute the instruction is given, the user only has to observe the operation of the character, and the character during the execution of the instruction. It is not necessary to be involved in the movement of the virtual space 100. Therefore, in the simulation system 1, the operability of the character (proficiency in the operation of the character by the user) is unnecessary, and the movement of the character can be observed and enjoyed.
  • the simulation system 1 causes, for example, a character to execute a command in a predetermined story format, or causes one character and / or another character to execute a command in a format in which one character and another character play against each other. Or, it can be executed in various forms such as instructing a predetermined character to execute an operation of hunting down and capturing a specific character to a predetermined place in the virtual space 100.

Abstract

仮想空間内においてキャラクタを動作させる場合に、ユーザがキャラクタの動作の変化を想定して楽しむことができるシミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムを提供する。シミュレーションシステム1は、複数の仮想単位空間110により構成される仮想空間100に配置可能なキャラクタに、1つ以上の命令を設定可能であり、複数の命令が設定された場合に命令の実行順序を設定する命令設定部14と、キャラクタに対して設定された命令及び実行順序に基づいて、キャラクタを仮想空間100内で動作させる動作制御部18とを備え、命令設定部14が、一のキャラクタと他のキャラクタとのそれぞれについて命令及び実行順序を設定可能であり、動作制御部18が、一のキャラクタ及び他のキャラクタそれぞれを仮想空間100内で動作させ、一のキャラクタの存在位置と他のキャラクタの存在位置との少なくとも一部が共通する場合、命令設定部14が設定した命令に基づく動作に優先し、一のキャラクタ及び他のキャラクタの少なくともいずれか一方に所定の動作を実行させる。

Description

シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
 本発明は、シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムに関する。特に、本発明は、仮想空間においてキャラクタが動作するシミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムに関する。
 従来、操作手段と演算手段と記憶手段とを少なくとも備え、演算手段が、操作手段からゲームプレイヤが入力する情報、並びに、記憶手段に記憶されているゲームプログラム及びデータに基づいて演算することでゲームを進行させるゲームシステムであって、演算手段が、ゲームプレイヤが自分に割り当てられたキャラクタの行動を指示することにより、シナリオをこなしていく形式のロール・プレイング・ゲームと、ゲームプレイヤが任意に編集することにより、ゲームプレイヤ独自の世界を造り上げていく形式のシミュレーション・ゲームとを並行して進行させ、これら2つのゲームを関連付けるゲームシステムが知られている(例えば、特許文献1参照)。特許文献1に記載のゲームシステムによれば、ゲームプレイヤ独自の世界をロール・プレイング・ゲームの世界に設けることで、数多くのロール・プレイング・ゲームを体験したゲームプレイヤであっても、飽きずにゲームを楽しめることができる。
特開2001-079269号公報
 しかし、特許文献1に記載のゲームシステムにおいては、キャラクタの行動をユーザが設定できるものの、当該キャラクタはユーザの設定どおり忠実に行動し、行動範囲に制限がないことからキャラクタの行動に意外性を持たせることは困難である。また、特許文献1に記載のゲームシステムにおいては、キャラクタと他のキャラクタやオブジェクト等との間でいかなる相互作用が発生するかについてユーザは想定する余地がない。
 したがって、本発明の目的は、仮想空間内においてキャラクタを動作させる場合に、ユーザがキャラクタの動作の変化を想定して楽しむことができるシミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムを提供することにある。
 本発明は、上記目的を達成するため、複数の仮想単位空間により構成される仮想空間に配置可能なキャラクタに、1つ以上の命令を設定可能であり、複数の命令が設定された場合に命令の実行順序を設定する命令設定部と、キャラクタに対して設定された命令及び実行順序に基づいて、キャラクタを仮想空間内で動作させる動作制御部とを備え、命令設定部が、一のキャラクタと他のキャラクタとのそれぞれについて命令及び実行順序を設定可能であり、動作制御部が、一のキャラクタ及び他のキャラクタそれぞれを仮想空間内で動作させ、一のキャラクタの存在位置と他のキャラクタの存在位置との少なくとも一部が共通する場合、命令設定部が設定した命令に基づく動作に優先し、一のキャラクタ及び他のキャラクタの少なくともいずれか一方に所定の動作を実行させるシミュレーションシステムが提供される。
 本発明に係るシミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムによれば、仮想空間内においてキャラクタを動作させる場合に、ユーザがキャラクタの動作の変化を想定して楽しむことができるシミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムを提供できる。
本実施形態に係るシミュレーションシステムの概要図である。 本実施形態に係るシミュレーションシステムの機能構成ブロック図である。 本実施形態に係る格納ユニットが有する各格納部のデータ構成図である。 本実施形態に係るシミュレーションシステムにおける処理のフロー図である。
[実施の形態]
<シミュレーションシステム1の概要>
 本実施形態に係るシミュレーションシステム1は、仮想空間(フィールド)にキャラクタを配置し、当該キャラクタに仮想空間において実行して欲しい1つ以上のお願いと、お願いの実行順序とを設定する。そして、シミュレーションシステム1は、仮想空間において実行順序に沿ってキャラクタにお願いを実行させる。また、シミュレーションシステム1は、仮想空間に複数のキャラクタを配置し、各キャラクタそれぞれにお願い及びその実行順序を設定することができる。そして、シミュレーションシステム1は、各キャラクタが仮想空間において動作し、同一位置に一のキャラクタと他のキャラクタ若しくは所定のオブジェクト等とが存在することになる場合、一のキャラクタの特徴と他のキャラクタの特徴若しくは所定のオブジェクト等の特徴との組み合わせ、及び/又は当該位置に存在する前において一のキャラクタ及び/又は他のキャラクタが実行したお願い等に基づいて、設定したお願いと共に、若しくは設定したお願いに優先し、一のキャラクタ及び/又は他のキャラクタに所定の動作を実行させる。
 更に、シミュレーションシステム1は、仮想空間を複数の仮想単位空間から構成する。そして、各仮想単位空間には固有の特徴を対応付けることができる。シミュレーションシステム1は、キャラクタが仮想空間において動作する場合において、キャラクタの特徴と当該キャラクタが存在している仮想単位空間の特徴との組み合わせ、及び/又は当該位置に存在する前において当該キャラクタが実行したお願い等に基づいて、設定したお願いと共に若しくは設定したお願いに優先し、当該キャラクタに所定の動作を実行させることもできる。
 図1は、本実施形態に係るシミュレーションシステムの概要の一例を示す。
 具体的に、シミュレーションシステム1は、ユーザが設定したお願い(以下、「命令」という。)及び命令の実行順序に基づいて、仮想空間内でキャラクタに所定の動作を実行させるシステムである。そして、本実施形態において仮想空間は、複数の構成単位(以下、「仮想単位空間」と呼ぶ。)が連結して構成される。一例として、図1(a)に示すように、仮想空間100は、複数の仮想単位空間110の集合体で構成される。図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に所定のキャラクタを配置する。一例として、図1(b)に示すように、仮想単位空間110aにキャラクタ50が、仮想単位空間110bにキャラクタ52が、仮想単位空間110cにキャラクタ54が、仮想単位空間110dにオブジェクト60が、仮想単位空間110eにキャラクタ56が、仮想単位空間110fにキャラクタ58が配置される。ここで、キャラクタ50、キャラクタ52、及びキャラクタ54は同一種類のキャラクタであり、キャラクタ56はキャラクタ58よりもサイズが小さいキャラクタである。また、オブジェクト60は、キャラクタの干渉により破壊可能なオブジェクトである。図1(b)では複数のキャラクタ及びオブジェクトを仮想空間100に配置している例を示すが、仮想空間100に配置するキャラクタは1以上であればよい。
 なお、図1(b)においては、説明の簡略化のため、各仮想単位空間の下面のみ示す(よって、図1(b)においては、仮想空間100の下面102のみが示されている。)。したがって、シミュレーションシステム1は、仮想空間100の下面102だけではなく、下面102より上方の仮想単位空間(図示しない)にキャラクタやオブジェクトを設置することもできる。また、図1(b)においては、仮想単位空間110aから仮想単位空間110bに向かう方向を「前方」として設定する。
 ここで、キャラクタとは、シミュレーションシステム1に登場可能なキャラクタであって仮想空間100に配置可能であり、仮想空間100内における動作についてユーザが命令を設定できるキャラクタである。また、オブジェクトとは、仮想空間100を構成する所定の仮想単位空間110にユーザの指示に応じて設置可能なオブジェクトであって、キャラクタによる干渉が可能な、若しくは不可能な配置物等を表すオブジェクトである。また、仮想単位空間110には、仮想単位空間の地形や天候等の特徴が設定されてもよい。なお、オブジェクトには、仮想空間100内で実質的に動作しないキャラクタや、キャラクタの動作に付随するオブジェクトである派生オブジェクト、及び仮想単位空間110の地形や天候等に付随する環境に特有なオブジェクト(環境オブジェクト)も含まれる。
 更に、干渉とは、一のキャラクタが他のキャラクタ及び/又はオブジェクトと同一の若しくは近傍の仮想単位空間に存在する場合、及び/又は一のキャラクタが所定の仮想単位空間若しくは所定の仮想単位空間の近傍の仮想単位空間に存在する場合に、一のキャラクタが他のキャラクタ及び/又はオブジェクトに所定の影響を与えること、及び/又は一のキャラクタが所定の仮想単位空間に所定の影響を与え得ることを意味する。所定の影響には様々な影響が挙げられる。例えば、一のキャラクタを他の仮想単位空間に押し出す影響や同一の仮想単位空間内のオブジェクトを破壊する等の影響、更には仮想単位空間の状況を変化させる影響等、様々な影響を設定できる。
 例えば、図1(b)において、キャラクタ50、キャラクタ54、及びキャラクタ56のそれぞれにユーザは命令を設定する。一例として、キャラクタ50及びキャラクタ54に、「前に進む」ことを示す命令(第1の命令)と、「前にジャンプする」ことを示す命令(第2の命令)とが設定され、第1の命令の後に第2の命令が実行される実行順序が設定される。また、図1(b)の下図に示すように、キャラクタ56にも第1の命令と第2の命令とが設定され、更に、第1の命令300aを2回繰り返す命令300bと、その後に第2の命令300cを実行し、これらを1セットとして3回繰り返す命令300d(つまり、第1の命令を2回繰り返した後に第2の命令を実行することを1セットとし、これを3回繰り返す命令)が設定される。一方、キャラクタ52、及びキャラクタ58については命令を設定しない(若しくは、その場に「留まる」命令を設定する。)。なお、オブジェクト60は仮想単位空間110dに配置されるだけである。
 ここで、シミュレーションシステム1は、ユーザが設定した命令及び命令の実行順序をユーザに知覚可能に出力できる。例えば、シミュレーションシステム1は情報端末において実行可能であり、仮想空間100と共に若しくは別に、ユーザが設定した命令及び実行順序を情報端末の表示部に表示させることができる。例えば、図1(b)の下図のようなテキスト及び図形を用いて命令内容とその実行順序が命令300として表示される(図1(b)の下図の例では、キャラクタ56に設定された命令内容が表示されている。)。そして、シミュレーションシステム1は、ユーザが設定した命令をユーザが設定した実行順序で実行することにより、仮想空間100内でキャラクタを動作させる。
 なお、シミュレーションシステム1においては、命令及び命令の実行順序をキャラクタに設定した後、当該キャラクタの一の仮想単位空間から他の仮想単位空間に移る動作(移動動作)について、ユーザの指示による変更や停止の指示は原則として禁止される。ただし、シミュレーションシステム1は、キャラクタが存在する仮想単位空間内で実行する動作(例えば、技の発動、その場でジャンプする等の動作)については、シミュレーションシステム1がキャラクタの動作を実行中であってもユーザの指示に応じて動作可能にしてもよい。
(キャラクタ50とキャラクタ52との例)
 例えば、図1(b)及び図1(c)に示すように、キャラクタ50は第1の命令後に第2の命令を実行する。つまり、キャラクタ50は、仮想単位空間110aから前に進み(第1の命令の実行)、次に前にジャンプして(第2の命令の実行)仮想単位空間110bに到達する。ここで、第2の命令を実行した場合、キャラクタ50とキャラクタ52とは同一の仮想単位空間110bに存在することになる。この場合、シミュレーションシステム1は、キャラクタ50の特徴とキャラクタ52の特徴との組み合わせ、及びキャラクタ50が仮想単位空間110bに到達する直前の命令に基づいて、キャラクタ50の仮想単位空間110bにおける動作を制御する。つまり、シミュレーションシステム1は、ユーザの設定によらずに(若しくは優先し)、予め定められた条件に基づいてキャラクタ50の動作を制御する。
 例えば、シミュレーションシステム1は、同一の仮想単位空間に存在する複数のキャラクタが同一種類のキャラクタであり、一のキャラクタが当該仮想単位空間に隣接する仮想単位空間から「ジャンプ」により当該仮想単位空間に到達した場合、仮想単位空間に存在する他のキャラクタの上に一のキャラクタを乗せる動作を実行させることを予め設定しておく。そして、キャラクタ50とキャラクタ52とは同一種類のキャラクタであり、キャラクタ50は仮想単位空間110bに到達する直前に第2の命令(前にジャンプする命令)を実行したので、シミュレーションシステム1は図1(c)に示すように、キャラクタ52の上にキャラクタ50が乗るようにキャラクタ50を動作させる。なお、シミュレーションシステム1は、同一の仮想単位空間に存在する複数のキャラクタが同一種類のキャラクタであり、一のキャラクタが当該仮想単位空間に隣接する仮想単位空間から「前に進む」により当該仮想単位空間に到達した場合、仮想単位空間に存在する他のキャラクタに衝突し、一のキャラクタがその場(他のキャラクタが存在する仮想単位空間に隣接する仮想単位空間)に留まる動作、又は一のキャラクタ及び他のキャラクタ双方が互いに逆向きに跳ね飛ばされる動作等を実行させることを予め設定しておくこともできる。
(キャラクタ54とオブジェクト60との例)
 また、例えば、図1(b)及び図1(c)に示すように、キャラクタ54は第1の命令後に第2の命令を実行する。つまり、キャラクタ54は、仮想単位空間110cから前に進み(第1の命令の実行)、次に前にジャンプして(第2の命令の実行)仮想単位空間110dに到達する。ここで、第2の命令を実行した場合、キャラクタ54とオブジェクト60とは同一の仮想単位空間110dに存在することになる。この場合、シミュレーションシステム1は、キャラクタ54の特徴とオブジェクト60の特徴との組み合わせ、及びキャラクタ54が仮想単位空間110dに到達する直前の命令に基づいて、キャラクタ54の仮想単位空間110dにおける動作を制御する。
 例えば、シミュレーションシステム1は、同一の仮想単位空間に一のキャラクタと所定のオブジェクトとが存在する場合において、所定のオブジェクトがキャラクタからの所定の干渉が可能であることを予め設定しておく。ここでの干渉は、一例として、キャラクタによる所定のオブジェクトの破壊が可能であることを示す。そして、シミュレーションシステム1は、一のキャラクタが当該仮想単位空間に隣接する仮想単位空間から「前にジャンプ」により当該仮想単位空間に到達した場合、当該仮想単位空間に存在するオブジェクトを破壊する動作を実行させることを予め設定しておく。そうすると、キャラクタ54は仮想単位空間110dに到達する直前に第2の命令(前にジャンプする命令)を実行したので、シミュレーションシステム1は図1(c)に示すように、キャラクタ54によりオブジェクト60が破壊され、オブジェクト60の破片である複数のオブジェクト60aが仮想単位空間110dの周囲に散らばるように、キャラクタ54を動作させる。なお、同一の仮想単位空間に一のキャラクタと所定のオブジェクトとが存在する場合において、所定のオブジェクトがキャラクタからの所定の干渉が不可能であることを予め設定した場合であって、一のキャラクタが当該仮想単位空間に隣接する仮想単位空間から「前にジャンプ」若しくは「前に進む」により当該仮想単位空間に到達した場合、仮想単位空間に存在するオブジェクトを破壊せず、オブジェクトにより一のキャラクタが弾かれて元の仮想単位空間に戻る動作を実行させることを予め設定しておくこともできる。
(キャラクタ56とキャラクタ58との例)
 更に、例えば、図1(b)及び図1(c)に示すように、キャラクタ56は2回の第1の命令実行後に第2の命令を実行する。つまり、キャラクタ56は、仮想単位空間110eから前に2マス進み(第1の命令の2回の実行)、次にジャンプして(第2の命令の実行)仮想単位空間110fに到達する。ここで、第2の命令を実行した場合、キャラクタ56とキャラクタ58とが同一の仮想単位空間110fに存在することになる。この場合、シミュレーションシステム1は、キャラクタ56の特徴とキャラクタ58の特徴との組み合わせ、及びキャラクタ56が仮想単位空間110fに到達する直前の命令に基づいて、キャラクタ56の仮想単位空間110fにおける動作を制御する。
 例えば、シミュレーションシステム1は、同一の仮想単位空間に存在する複数のキャラクタが互いに異なる種類のキャラクタであり、当該仮想単位空間に到達する一のキャラクタのサイズが、当該仮想単位空間に既に存在する他のキャラクタのサイズより小さい場合であって、一のキャラクタが当該仮想単位空間に隣接する仮想単位空間から「ジャンプ」により当該仮想単位空間に到達した場合、仮想単位空間に存在する他のキャラクタに衝突し、一のキャラクタが移動してきた元の仮想単位空間より更に後方の仮想単位空間に後退する動作を一のキャラクタに実行させることを予め設定しておく。また、この場合、サイズがより大きいキャラクタ(この場合、他のキャラクタ)は、当該仮想単位空間に存在したままの動作を実行させることを予め設定しておく。
 そして、キャラクタ56とキャラクタ58とは互いに異なる種類のキャラクタであり、キャラクタ58のサイズがキャラクタ56のサイズより大きい。そこで、シミュレーションシステム1は、キャラクタ56が仮想単位空間110fに到達する直前に第2の命令(ジャンプする命令)を実行したので、図1(c)に示すように、キャラクタ58によってキャラクタ56が弾かれ、移動してきた元の経路を後退して仮想単位空間110gに戻るように動作させる。その後、シミュレーションシステム1は、キャラクタ56に設定した命令が、2回の第1の動作と1回の第2の動作を1セットにして3回繰り返す内容であるので、キャラクタ56に次のセットの第1の動作を実行させる。
 この場合、キャラクタ56は、2回目の第1の命令において仮想単位空間110fにおいてキャラクタ58と同一の仮想単位空間に位置することになる。ここで、例えば、シミュレーションシステム1は、同一の仮想単位空間に存在する複数のキャラクタが互いに異なる種類のキャラクタであり、当該仮想単位空間に到達する一のキャラクタのサイズが、当該仮想単位空間に既に存在する他のキャラクタのサイズより小さい場合であって、一のキャラクタが当該仮想単位空間に隣接する仮想単位空間から「前に進む」により当該仮想単位空間に到達した場合、当該仮想単位空間に存在する他のキャラクタに衝突し、一のキャラクタが移動してきた仮想単位空間であって他のキャラクタが存在する仮想単位空間に隣接する仮想単位空間に留まる動作を実行させることを予め設定しておく。また、この場合、サイズがより大きいキャラクタ(この場合、他のキャラクタ)は、当該仮想単位空間に存在したままの動作を実行させることを予め設定しておく。したがって、この場合、キャラクタ56は、仮想単位空間110hに留まる動作を実行する。
 なお、キャラクタ及びオブジェクトは複数の仮想単位空間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は、携帯電話やスマートフォン、ノートパソコン、タブレット型PC、PC、携帯用ゲーム機、及び/又は家庭用ゲーム機等の情報端末等で実現できる。そして、以下において本実施形態に係るシミュレーションシステム1の詳細を説明するが、上記説明及び下記説明における名称や数値等はあくまで例示であり、これらの固有名や数値に本発明が限定されることはないこと、及びこれら固有名や数値は実在の固有名や数値とは必ずしも関係するとは限らないことを付言する。
<シミュレーションシステム1の詳細>
 図2は、本実施形態に係るシミュレーションシステムの機能構成の一例を示す。また、図3は、本実施形態に係る格納ユニットが有する各格納部のデータ構成の一例を示す。
[シミュレーションシステム1の構成の概要]
 本実施形態に係るシミュレーションシステム1は、所定の指示や情報の入力を受け付ける入力部10と、キャラクタ等を仮想空間100に配置する配置部12と、キャラクタに実行させる命令を設定する命令設定部14と、命令の実行を受け付ける実行受付部16と、キャラクタの動作を制御する動作制御部18と、キャラクタの動作等を出力する出力部20と、各種の情報を格納する格納ユニット22と、仮想単位空間やオブジェクト等に変形等を加える編集部24と、キャラクタに経験値を付与する経験値付与部26と、ユーザに命令のヒントを提示するヒント提示部28とを備える。
 格納ユニット22は、キャラクタに関する情報を格納するキャラクタ情報格納部220と、仮想単位空間に関する情報を格納する単位空間情報格納部221と、命令に関する情報を格納する命令情報格納部222と、キャラクタに対する干渉に関する情報を格納するキャラクタ干渉情報格納部223と、仮想空間に対する干渉に関する情報を格納する空間干渉情報格納部224と、オブジェクトに関する情報を格納するオブジェクト情報格納部225と、オブジェクトに対する干渉に関する情報を格納するオブジェクト干渉情報格納部226と、キャラクタの一連の動作に関する情報を格納する動作シーケンス情報格納部227とを有する。
 シミュレーションシステム1は、上記複数の構成要素を物理的に同一の装置や場所に有するだけでなく、上記複数の構成要素の一部を物理的に離れた位置に設置してもよい。例えば、シミュレーションシステム1は、構成要素の機能の一部を外部のサーバに担わせてもよい。また、シミュレーションシステム1は、一以上のサーバとして構成してもよい。この場合、情報端末、並びに一のサーバの構成要素及び他のサーバの構成要素を組み合わせることで、シミュレーションシステム1が構成される。また、本実施形態において、所定の構成要素の集合体を1つの「情報処理装置」として把握することができ、シミュレーションシステム1を複数の情報処理装置の集合体として形成してもよい。1つ又は複数のハードウェアに対して本実施形態に係るシミュレーションシステム1を実現することに要する複数の機能の配分の仕方は、各ハードウェアの処理能力及び/又はシミュレーションシステム1に求められる仕様等に鑑みて適宜決定することができる。更に、格納ユニット22が格納する各種の情報は、入力部10を介して受け付けるユーザの指示や情報により更新されてもよく、シミュレーションシステム1の外部に存在する所定のサーバから所定の情報を取得して、随時、更新されてもよい。
[シミュレーションシステム1の構成の詳細]
 以下の説明においては、シミュレーションシステム1により提供されるシミュレーションを、主としてユーザが情報端末を用いて実行する場合を例として説明する。
(入力部10、出力部20)
 入力部10は、ユーザからの所定の指示等の入力を受け付ける。入力部10は、例えば、情報端末のタッチパネル、キーボード、マウス、マイク、モーションセンサ等である。入力部10は、シミュレーションシステム1の所定の構成要素に当該指示を供給する。当該指示を受け付けた各構成要素はそれぞれ所定の機能を発揮する。
 出力部20は、シミュレーションシステム1においてキャラクタによる動作の実行前、実行中、及び/又は実行後の各種の処理結果、並びに仮想空間100の様子を出力する。出力部20は、各種の処理結果や格納ユニット22が格納している情報、仮想空間100の様子等をユーザが知覚可能に出力する。具体的に出力部20は、各種処理結果や格納している情報等を、所定形式のデータ、静止画像、動画像、音声、テキスト、及び/又は振動等の物理現象等として出力する。例えば、出力部20は、情報端末の表示部、スピーカー、振動部(情報端末内に設けられ、所定の電気信号により振動を発生させる装置)、発光部、又はデータ出力部等である。そして、出力部20は、ユーザの指示に応じ、ユーザが設定した仮想空間100へのキャラクタやオブジェクト等の配置に関する情報、キャラクタやオブジェクトに設定した命令及び命令順序を示す情報、及び/又は干渉により所定の動作を実行したキャラクタの当該動作に関する情報等を所定のデータ形式で外部に出力することもできる。また、出力部20は、外部のサーバから受け取る情報も出力できる。
(格納ユニット22)
 格納ユニット22は、シミュレーションシステム1に関連する各種の情報を格納する。格納ユニット22が有する各格納部は、シミュレーションシステム1の他の構成要素からの要求に応じ、所定の情報を所定の構成要素に供給する。
(格納ユニット22:キャラクタ情報格納部220)
 キャラクタ情報格納部220は、シミュレーションに用いられるキャラクタに関する情報を格納する。具体的に、キャラクタ情報格納部220は、キャラクタを識別するキャラクタIDに対応付けて、キャラクタ情報等を格納する。キャラクタ情報はキャラクタの特徴であって、例えば、キャラクタの属性、キャラクタの種類、キャラクタの名称、キャラクタの性別、キャラクタの能力、キャラクタの技、キャラクタのサイズ、キャラクタの重量(体重)、経験値、レベル等を示す情報である。
 なお、属性とは、各キャラクタに設定される情報であり、例えば、キャラクタの種類、状態、性質、若しくは能力等に応じて設定されるキャラクタが有する特徴である。属性としては特に限定されないが、例えば、ノーマル、ほのお、みず、くさ、こおり、でんき、ゴースト等の名称の属性が挙げられる。なお、一のキャラクタには複数の属性が設定されてもよい。また、属性は、キャラクタが覚えている「技」や有しているアイテムに設定される「スキル」等の属性であってもよい。この場合、例えば、キャラクタは、キャラクタ自身の属性と、キャラクタが覚えている「技」の属性(キャラクタ自身の属性と同一でも異なっていてもよい)との双方を有していてもよい。
(格納ユニット22:単位空間情報格納部221)
 単位空間情報格納部221は、仮想単位空間を識別する仮想単位空間IDに対応付けて、仮想空間内における仮想単位空間の位置を示す位置情報、及び仮想単位空間に対応付けられる地形や天候等に関する情報であって、仮想単位空間の特徴を示す情報である仮想単位空間情報を格納する。仮想単位空間情報としては、地形情報、天候情報、干渉可否情報等が挙げられる。
 地形情報としては、具体的に、草原、海岸、水辺、山岳、岩場、街、墓地等を示す情報が挙げられ、仮想単位空間は、対応付けられている地形情報に基づいて当該地形情報に対応する地形を示す仮想単位空間として出力部20から出力される。例えば、仮想単位空間として、草原、岩場、水辺等の複数種類それぞれの地形に特徴的なオブジェクト(このオブジェクトはユーザが配置することも、シミュレーションシステム1が予め配置することもできるオブジェクトであってよい)等を含む仮想単位空間が予め準備されていてよい。また、天候情報としては、仮想単位空間ごとに設定可能な天候に関する情報であって、例えば、晴天、曇天、雨天、雷雨、雪等を示す情報である。天候情報が対応付けられた仮想単位空間は、対応付けられている天候情報に基づいて当該天候情報に対応する天候を示す仮想単位空間として出力部20から出力される。
 また、干渉可否情報とは、ユーザ及び/又はキャラクタによる仮想単位空間に対する干渉が可能か否かを示す情報である。例えば、干渉可否情報が干渉可能であることを示す情報である場合、編集部24は、干渉可能である仮想単位空間についてはユーザによる所定の指示を入力部10を介して受け付けて、当該指示を仮想単位空間に反映させることができる。例えば、仮想単位空間の地形を変形する干渉が可能である場合、ユーザの指示に応じ、編集部24は、仮想単位空間の地形を変形することができる(一例として、山岳地形を崩す変形や平らな地面に土等をもって隆起させる変形、沼地等を埋め立てる変形等)。また、干渉可否情報が干渉可能であることを示す情報である場合、干渉可能である仮想単位空間については、キャラクタによる破壊等の干渉も有効にしてよい。一方、干渉可否情報が干渉不可能であることを示す情報である場合、干渉不可能である仮想単位空間についてはユーザ及びキャラクタによる干渉が禁止される。
(格納ユニット22:命令情報格納部222)
 命令情報格納部222は、命令を識別する命令IDに対応付けてキャラクタに実行させる命令内容を示す命令情報を格納する。命令情報格納部222は、複数の命令情報を格納する。
 ここで、命令は、仮想空間内の到達位置の指定なしに仮想空間内でキャラクタを移動させる命令(つまり、移動先の仮想単位空間が仮想空間内のいずれの仮想単位空間であるかを指定せず、キャラクタが位置する仮想単位空間を変える動作命令;以下、「第1動作命令」という。)、及び仮想単位空間のいずれかにおいて所定の動作を実行させる命令(つまり、キャラクタが所定の仮想単位空間に位置し、当該キャラクタが当該所定の仮想単位空間で所定の動作を実行する動作命令:以下、「第2動作命令」という。)の少なくともいずれか一方を含む。また、命令は、第1動作命令、及び/又は第2動作命令を所定回数、繰り返す動作命令を含むこともできる。
 第1動作命令としては、所定の仮想単位空間からの移動(つまり、所定の仮想単位空間に隣接する仮想単位空間にキャラクタの位置を変更する動作)方向や移動量、及び移動方法に関する命令が挙げられ、例えば、前に進む、後ろに戻る、右若しくは左に進む、前にジャンプする、後ろにジャンプする、右若しくは左にジャンプする、飛ぶ、転がる、這う等の命令が挙げられる。また、第2動作命令としては、所定の仮想単位空間から移動せずに所定の動作を実行する命令が挙げられ、キャラクタの向きを所定方向に変える、その場でジャンプする、その場に留まる(待機する)、所定の技(パンチ、キック、電気ショック、その他のキャラクタに特有の技・行動等)を出す、命令を1回休む等の命令が挙げられる。なお、その場に留まる命令としては、キャラクタが座った状態を維持する命令、立った状態を維持する命令、仮想単位空間内を飛行した状態を維持する命令等、当該所定の仮想単位空間に到達する直前の命令若しくは当該所定の仮想単位空間に到達時の命令内容を維持する命令(つまり、「休止」命令)であってよい。
 また、命令は、キャラクタの存在位置である仮想単位空間に隣接する他の仮想単位空間に当該キャラクタの存在及び技等に起因する派生オブジェクトを発生させる命令を含むこともできる。例えば、キャラクタが所定の技として「火を吐く」技を有しているとする。この場合に、派生オブジェクトを発生させる命令としては、当該キャラクタが所定の仮想単位空間に位置し、かつ、「火を吐く」技を発動した場合、当該仮想単位空間に隣接する他の仮想単位空間に「吐かれた火」を表す派生オブジェクトを発生させる命令である。
 更に、命令は、キャラクタが所定の条件を満たした場合に所定のキャラクタに変化する(以下、「進化」という。)命令であってもよい。なお、「進化」とは、一のキャラクタが所定の条件を満たした場合に進化先の他のキャラクタに変わることを指す。
(格納ユニット22:キャラクタ干渉情報格納部223)
 キャラクタ干渉情報格納部223は、一のキャラクタの他のキャラクタに対する干渉が発生した場合における一のキャラクタ及び/又は他のキャラクタの動作を示す動作情報を格納する。すなわち、キャラクタ干渉情報格納部223は、一のキャラクタと他のキャラクタとが同一の仮想単位空間に存在することになった場合に、一のキャラクタ及び/又は他のキャラクタが実行する動作の動作情報を格納する。
 具体的に、キャラクタ干渉情報格納部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に供給することができる。
(配置部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にキャラクタ及び/又はオブジェクトを配置することもできる。
 具体的に、出力部20は、情報端末の表示部に、キャラクタ情報格納部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を介し、ユーザによる命令の選択及び選択された命令の実行順序を受け付けて、受け付けた命令及び命令の実行順序をユーザが選択したキャラクタに対応付ける。具体的に、出力部20は、命令情報格納部222に格納されているキャラクタに対する命令に関する情報をユーザに知覚可能に出力する。そして、命令設定部14は、入力部10を介し、命令に関する情報を参照したユーザによる命令及び命令の実行順序の設定指示を受け付けて、受け付けた命令及び命令の実行順序をユーザが選択したキャラクタに対応付ける。また、出力部20は、命令設定部14が設定した命令及び命令の実行順序をテキストや所定の図形等によってユーザが知覚可能に出力することができる。命令設定部14は、キャラクタに対応付けられた命令及び命令の実行順序を示す情報を動作制御部18に供給する。
 なお、命令設定部14は、ユーザによる命令の選択及び命令の実行順序の指示を受けずに、自動で命令及び命令の実行順序を設定することもできる。この場合、命令設定部14は、例えば、ランダムに命令及び命令の実行順序を設定することも、予め決められた命令及び命令の実行順序を設定することもできる。一例として、命令設定部14は、チュートリアルとして、所定のキャラクタに、予め決められた命令及び実行順序を設定してもよい。
 具体的に、命令設定部14が設定する命令は、命令情報格納部222に格納されている命令である。命令設定部14が設定する命令としては、上述した第1動作命令、第2動作命令、繰り返す動作命令、派生オブジェクトを発生させる命令、及び進化させる命令等が挙げられる。なお、命令設定部14は、第1動作命令に含まれる所定の仮想単位空間からの移動量を、仮想単位空間の数を単位として設定することができる。つまり、仮想単位空間を仮想のマスとして捉えることで、キャラクタに「2マス前に進む」等の命令を設定できる。仮想単位空間を仮想のマスとして扱うことで、キャラクタの移動の設定が容易になる。また、命令設定部14が設定する命令の実行順序はユーザの所望に応じて自由に設定できる。
<キャラクタが仮想空間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は、一のキャラクタ及び他のキャラクタのそれぞれに命令及び命令の実行順序が設定されている場合、ユーザの一の操作(例えば、入力部10を介して受け付ける命令実行の指示)に応じ、一のキャラクタ及び他のキャラクタのそれぞれについて、各命令の実行順序に沿った命令の実行を開始させる。更に、動作制御部18は、仮想空間100内で他のキャラクタ、所定の仮想単位空間に配置されたオブジェクト、及び/又は所定の仮想単位空間と、命令の実行が開始されたキャラクタとの間で干渉が発生した場合、命令設定部14が設定した命令及び命令の実行順序に優先し、干渉に応じた動作をキャラクタに実行させる。つまり、この場合、動作制御部18は、予め定められたルールに則って、キャラクタが実行する動作を決定できる。そして、動作制御部18は、命令を実行中のキャラクタの様子を出力部20に出力させる。
 なお、動作制御部18は、命令設定部14が設定した命令が、キャラクタとキャラクタが存在している仮想空間との関係により実行できない場合、予め定められた動作をキャラクタに実行させることもできる。例えば、配置部12によりキャラクタが仮想空間100の空中に配置されており、かつ、当該キャラクタは空中を飛ぶことや浮遊することができないキャラクタであり、命令設定部14が設定した命令が「前に進む」等の移動命令である場合、動作制御部18は、当該移動命令を実行できないと判断する。そして、動作制御部18は、当該移動命令の実行を停止し、例えば、物理法則に則って当該キャラクタを動作させる(この場合、キャラクタの存在位置から下方にキャラクタを落下させる。)。続いて、動作制御部18は、命令設定部14が設定した命令の実行が可能になった段階で(この場合、当該キャラクタが仮想空間の床に着地した段階で)、命令設定部14が設定した命令の実行を継続する。
 ここで、動作制御部18は、命令設定部14が設定した命令及び実行順序に基づいて、キャラクタを仮想空間100内で移動させる場合において、一の仮想単位空間から当該一の仮想単位空間に隣接する他の仮想単位空間へとキャラクタを移動させる。仮想単位空間を「マス」として捉えるとすれば、動作制御部18は、「マス」毎にキャラクタを移動させる。なお、動作制御部18は、所定時間ごとにキャラクタを移動させてもよい。つまり、動作制御部18は、キャラクタを所定時間ごとに複数の仮想単位空間をシームレスに移動させてもよい(一例として、1秒間に1つの仮想単位空間を移動させる等を設定できる。)。
 なお、動作制御部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は、キャラクタに経験値を付与する。経験値は、キャラクタが獲得した値であり、レベルは、付与される経験値の累計に応じて決定される数値であり、キャラクタのランクを表す数値である。なお、キャラクタが獲得した経験値が所定の条件を達成した場合(例えば、予め定められた閾値を超えた場合。)、キャラクタのレベルを段階的に上げることができる。経験値付与部26は、例えば、動作制御部18がキャラクタに実行させたキャラクタの命令実行数、及び/又はキャラクタが他のキャラクタ等と干渉した回数等に基づいて経験値を算出し、キャラクタに付与できる。なお、動作制御部18は、キャラクタが所定レベルに達した場合、及び/又は所定値以上の経験値を獲得した場合、当該キャラクタを進化させてよい。また、動作制御部18は、キャラクタのレベルに応じ、当該キャラクタが使用可能な技の内容、及び/又は技の効力を変化させてもよい。例えば、当該キャラクタが所定の技を発動した場合に発生する派生オブジェクトが一の仮想単位空間に対応付けられているとする。この場合、動作制御部18は、この派生オブジェクトが発生する仮想単位空間を当該一の仮想単位空間から他の仮想単位空間に代えることや、当該一の仮想単位空間を含む複数の仮想単位空間にこの派生オブジェクトを発生させてもよい(つまり、複数の仮想単位空間のそれぞれに派生オブジェクトを発生させてもよい。)。
(ヒント提示部28)
 ヒント提示部28は、ユーザがこれまで選択していない命令及び/又は命令の実行順序をユーザに提示する。ヒント提示部28は、ユーザがこれまで選択していない命令及び/又は命令の実行順序を出力部20にユーザに知覚可能に出力させる。具体的に、ヒント提示部28は、命令情報格納部222に格納されている命令のうち、命令設定部14が設定した命令に対して所定のフラグを設定する。そして、ヒント提示部28は、未だフラグが設定されていない命令をユーザに提示する。ヒント提示部28がユーザに提示するタイミングは任意のタイミング(ユーザによる指示に応じたタイミングを含む。)であってよい。
[シミュレーションシステム1の処理の流れ]
 図4は、本実施形態に係るシミュレーションシステムにおける処理の流れの一例を示す。
 まず、出力部20は、キャラクタ情報格納部220及び/又はオブジェクト情報格納部225を参照し、キャラクタ及び/又はオブジェクトをユーザに知覚可能に出力する(例えば、情報端末の表示部に表示することを指す。以下同じ。)。そして、入力部10は、出力されたキャラクタ及び/又はオブジェクトのうち、仮想空間100で動作させる1以上のキャラクタ及び/又はオブジェクトの選択指示をユーザから受け付ける。また、出力部20は、仮想空間100及び仮想空間100を構成する複数の仮想単位空間110をユーザに知覚可能に出力する。そして、入力部10は、出力された複数の仮想単位空間110のうち、キャラクタ及び/又はオブジェクトを配置する仮想単位空間110の選択指示をユーザから受け付ける。この場合に、入力部10は、複数のキャラクタ及び/又は複数のオブジェクトが存在する場合、複数のキャラクタ及び/又は複数のオブジェクト毎に、それらを配置すべき仮想単位空間110の位置の指定を受け付ける。そして、配置部12は、入力部10が受け付けた1以上のキャラクタ及び/又はオブジェクトの選択指示、並びに1以上のキャラクタ及び/又はオブジェクトを配置する仮想単位空間110の位置の指定に応じ、1以上のキャラクタ及び/又はオブジェクトのそれぞれを所定の仮想単位空間110に配置する(ステップ10。以下、ステップを「S」と表す。)。
 続いて、命令設定部14は、命令情報格納部222に格納されている各種の命令を出力部20からユーザに知覚可能に出力させる。命令設定部14は、出力された命令を参照しているユーザからの指示に応じ、仮想単位空間110に配置された1以上のキャラクタそれぞれに対し、仮想空間100で実行する1つ以上の命令と命令の実行順序とを設定する(S12)。そして、実行受付部16がユーザからの命令の実行指示を入力部10を介して受け付けた場合(S14のYes)、動作制御部18は、命令設定部14がキャラクタに設定した命令及び命令の実行順序に応じ、キャラクタの動作を開始する(S16)。一方、実行受付部16がユーザからの命令の実行指示を入力部10を介して受け付けていない場合、当該実行指示を受け付けるまで待機する(S14のNo)。
 そして、命令に応じて仮想空間100内で動作するキャラクタと、他のキャラクタ、オブジェクト、及び/又は所定の仮想単位空間110との間で干渉が発生した場合(S18のYes)、動作制御部18は、キャラクタと、他のキャラクタ、オブジェクト、及び/又は所定の仮想単位空間110との間の関係に基づいて、キャラクタに所定の動作を実行させる(S20)。動作制御部18は、キャラクタ干渉情報格納部223、空間干渉情報格納部224、及び/又はオブジェクト干渉情報格納部226に格納されている動作情報に基づいて、キャラクタに所定の動作を実行させる。所定の動作としては、例えば、上記で説明した各種の動作が挙げられる。
 そして、動作制御部18は、干渉に基づく動作をキャラクタに実行させた後、命令設定部14が設定した命令をキャラクタに続行させる(S22)。なお、動作制御部18は、干渉に基づく動作をキャラクタに実行させた後、命令設定部14が設定した命令をキャンセルし、所定の動作をキャラクタに実行させてもよい。一方、命令に応じて仮想空間100内で動作するキャラクタと、他のキャラクタ、オブジェクト、及び/又は所定の仮想単位空間110との間で干渉が発生しない場合(S18のNo)、動作制御部18は、命令設定部14が設定した命令をキャラクタに続行させる(S22)。そして、動作制御部18は、仮想空間100内でキャラクタが実行した一連の動作を、動作シーケンス情報として構成し、動作シーケンス情報格納部227に格納する(S24)。
[シミュレーションプログラム]
 図1~図4に示した本実施形態に係るシミュレーションシステム1が備える各構成要素は、中央演算処理装置(Central Processing Unit:CPU)等の演算処理装置にプログラム(すなわち、シミュレーションプログラム)を実行させること、つまり、ソフトウェアによる処理により実現できる。また、集積回路(Integrated Circuit:IC)等の電子部品としてのハードウェアにプログラムを予め書き込むことで実現することもできる。なお、ソフトウェアとハードウェアとを併用することもできる。
 本実施形態に係るシミュレーションプログラムは、例えば、ICやROM等に予め組み込むことができる。また、シミュレーションプログラムは、インストール可能な形式、又は実行可能な形式のファイルで、磁気記録媒体、光学記録媒体、半導体記録媒体等のコンピュータで読み取り可能な記録媒体に記録し、コンピュータプログラムとして提供することもできる。プログラムを格納している記録媒体は、CD-ROMやDVD等の非一過性の記録媒体であってよい。更に、シミュレーションプログラムを、インターネット等の通信ネットワークに接続されたコンピュータに予め格納させ、通信ネットワークを介してダウンロードによる提供ができるようにすることもできる。
 本実施形態に係るシミュレーションプログラムは、CPU等に働きかけて、シミュレーションプログラムを、図1~図4にかけて説明した入力部10、配置部12、命令設定部14、実行受付部16、動作制御部18、出力部20、格納ユニット22、編集部24、経験値付与部26、ヒント提示部28、キャラクタ情報格納部220、単位空間情報格納部221、命令情報格納部222、キャラクタ干渉情報格納部223、空間干渉情報格納部224、オブジェクト情報格納部225、オブジェクト干渉情報格納部226、動作シーケンス情報格納部227として機能させる。
[実施の形態の効果]
 本実施形態に係るシミュレーションシステム1は、仮想空間100内において動作可能なキャラクタに対し、キャラクタの動作についての命令の設定及び命令の実行順序の設定をユーザが自由にできる。そして、シミュレーションシステム1においては、仮想空間内で当該キャラクタと、他のキャラクタやオブジェクト及び/又は仮想単位空間110との間で干渉が発生した場合、ユーザが設定した命令に優先し、所定の動作をキャラクタに実行させることができる。これにより、従来は一度設定した命令はそのまま忠実に実行されるところ、シミュレーションシステム1においてはキャラクタと他のキャラクタ等との相互作用に応じ、命令とは異なる動作をキャラクタに実行させることができる。したがって、シミュレーションシステム1によれば、ユーザは、自身が設定した命令とは異なる動作をキャラクタが実行する様子を観察して楽しむことができる。
 また、シミュレーションシステム1においては、一のキャラクタと他のキャラクタとの組み合わせ、一のキャラクタとオブジェクトとの組み合わせ、及び/又は一のキャラクタと仮想単位空間との組み合わせ等、様々な組み合わせによって、ユーザには想定外の様々な動作をキャラクタに実行させることができる。したがって、シミュレーションシステム1においては、ユーザはいかなる動作をキャラクタが実行するのかについて楽しむこと、つまり、上記様々な組み合わせを試行錯誤することで、キャラクタの動作のシミュレーションを楽しむことができる。
 更に、シミュレーションシステム1においては、ユーザが命令及び命令の実行順序を設定して、命令の実行指示がなされた後は、ユーザはキャラクタの動作を観察するだけでよく、命令の実行中は、キャラクタの仮想空間100内における移動に関与する必要がない。したがって、シミュレーションシステム1においては、キャラクタの操作性(ユーザによるキャラクタの操作に対する熟練度)は不要であり、キャラクタの動作を観察して楽しむことができる。
 なお、シミュレーションシステム1は、例えば、所定のストーリー形式でキャラクタに命令を実行させること、一のキャラクタと他のキャラクタとを対戦させる形式で一のキャラクタ及び/又は他のキャラクタに命令を実行させること、又は特定のキャラクタを仮想空間100内の所定の場所に追い詰めて捕獲する動作を所定のキャラクタに命令して実行させること等、様々な形式で実行できる。
 以上、本発明の実施形態を説明したが、上記に記載した実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明した特徴の組み合わせの全てが発明の課題を解決するための手段に必須であるとは限らない点に留意すべきである。更に、上記した実施形態の技術的要素は、単独で適用されてもよいし、プログラム部品とハードウェア部品とのような複数の部分に分割されて適用されるようにすることもできる。
 1 シミュレーションシステム
 10 入力部
 12 配置部
 14 命令設定部
 16 実行受付部
 18 動作制御部
 20 出力部
 22 格納ユニット
 24 編集部
 26 経験値付与部
 28 ヒント提示部
 50、52、54、56、58 キャラクタ
 60、60a オブジェクト
 100 仮想空間
 102 下面
 110、110a、110b、110c、110d、110e、110f、110g、110h 仮想単位空間
 220 キャラクタ情報格納部
 221 単位空間情報格納部
 222 命令情報格納部
 223 キャラクタ干渉情報格納部
 224 空間干渉情報格納部
 225 オブジェクト情報格納部
 226 オブジェクト干渉情報格納部
 227 動作シーケンス情報格納部
 300、300a、300b、300c、300d 命令

Claims (10)

  1.  複数の仮想単位空間により構成される仮想空間に配置可能なキャラクタに、1つ以上の命令を設定可能であり、複数の命令が設定された場合に前記命令の実行順序を設定する命令設定部と、
     前記キャラクタに対して設定された前記命令及び前記実行順序に基づいて、前記キャラクタを前記仮想空間内で動作させる動作制御部と
    を備え、
     前記命令設定部が、一のキャラクタと他のキャラクタとのそれぞれについて前記命令及び前記実行順序を設定可能であり、
     前記動作制御部が、前記一のキャラクタ及び前記他のキャラクタそれぞれを前記仮想空間内で動作させ、前記一のキャラクタの存在位置と前記他のキャラクタの存在位置との少なくとも一部が共通する場合、前記命令設定部が設定した前記命令に基づく動作に優先し、前記一のキャラクタ及び前記他のキャラクタの少なくともいずれか一方に所定の動作を実行させるシミュレーションシステム。
  2.  前記命令が、到達位置の指定なしに前記キャラクタを移動させる命令、及び前記仮想単位空間のいずれかにおいて所定の動作を実行させる命令を含む請求項1に記載のシミュレーションシステム。
  3.  前記動作制御部が、前記キャラクタの特徴と、前記キャラクタの存在位置に対応する前記仮想単位空間の特徴とに基づいて、前記キャラクタの動作を制御する請求項1又は2に記載のシミュレーションシステム。
  4.  前記動作制御部は、ユーザの一の操作に応じて、前記一のキャラクタと前記他のキャラクタに対してそれぞれ設定された前記命令及び前記実行順序に基づいた前記仮想空間内での動作を開始する請求項1~3のいずれか1項に記載のシミュレーションシステム。
  5.  前記動作制御部が、前記一のキャラクタの特徴と前記他のキャラクタの特徴との組み合わせ、前記一のキャラクタの前記同一の前記仮想単位空間に位置する前における前記命令、及び前記他のキャラクタの前記同一の前記仮想単位空間に位置する前における前記命令からなる群から選択される少なくとも1つに基づいて、前記一のキャラクタ及び前記他のキャラクタの少なくともいずれか一方の動作を制御する請求項4に記載のシミュレーションシステム。
  6.  前記命令が、前記キャラクタの存在位置である前記仮想単位空間に隣接する他の仮想単位空間に前記キャラクタの存在に起因する派生オブジェクトを発生させる命令を含み、
     前記動作制御部が、前記仮想単位空間に前記キャラクタが存在し、前記派生オブジェクトが発生する前記他の仮想単位空間に他のキャラクタが存在する場合、前記他のキャラクタの特徴と前記派生オブジェクトの特徴とに基づいて、前記他のキャラクタの動作を制御する請求項1~5のいずれか1項に記載のシミュレーションシステム。
  7.  前記動作制御部が、前記キャラクタの存在位置若しくは移動先である前記仮想単位空間において、前記命令設定部が設定した前記命令の実行ができないと判断した場合、予め定められた動作を実行する請求項1~6のいずれか1項に記載のシミュレーションシステム。
  8.  キャラクタを動作させるシミュレーションシステムのシミュレーション方法であって、
     複数の仮想単位空間により構成される仮想空間に配置可能なキャラクタに、1つ以上の命令を設定可能であり、複数の命令が設定された場合に前記命令の実行順序を設定する命令設定工程と、
     前記キャラクタに対して設定された前記命令及び前記実行順序に基づいて、前記キャラクタを前記仮想空間内で動作させる動作制御工程と
    を備え、
     前記命令設定工程において、一のキャラクタと他のキャラクタとのそれぞれについて前記命令及び前記実行順序を設定可能であり、
     前記動作制御工程において、前記一のキャラクタ及び前記他のキャラクタそれぞれを前記仮想空間内で動作させ、前記一のキャラクタの存在位置と前記他のキャラクタの存在位置との少なくとも一部が共通する場合、前記命令設定工程において設定された前記命令に基づく動作に優先し、前記一のキャラクタ及び前記他のキャラクタの少なくともいずれか一方に所定の動作を実行させるシミュレーション方法。
  9.  キャラクタを動作させるシミュレーションシステム用のシミュレーションプログラムであって、
     コンピュータに、
     複数の仮想単位空間により構成される仮想空間に配置可能なキャラクタに、1つ以上の命令を設定可能であり、複数の命令が設定された場合に前記命令の実行順序を設定する命令設定機能と、
     前記キャラクタに対して設定された前記命令及び前記実行順序に基づいて、前記キャラクタを前記仮想空間内で動作させる動作制御機能と
    を実現させ、
     前記命令設定機能において、一のキャラクタと他のキャラクタとのそれぞれについて前記命令及び前記実行順序を設定可能であり、
     前記動作制御機能において、前記一のキャラクタ及び前記他のキャラクタそれぞれを前記仮想空間内で動作させ、前記一のキャラクタの存在位置と前記他のキャラクタの存在位置との少なくとも一部が共通する場合、前記命令設定機能において設定された前記命令に基づく動作に優先し、前記一のキャラクタ及び前記他のキャラクタの少なくともいずれか一方に所定の動作を実行させるミュレーションプログラム。
  10.  複数の仮想単位空間により構成される仮想空間に配置可能なキャラクタに、1つ以上の命令を設定可能であり、複数の命令が設定された場合に前記命令の実行順序を設定する命令設定部と、
     前記キャラクタに対して設定された前記命令及び前記実行順序に基づいて、前記キャラクタを前記仮想空間内で動作させる動作制御部と
    を備え、
     前記命令設定部が、一のキャラクタと他のキャラクタとのそれぞれについて前記命令及び前記実行順序を設定可能であり、
     前記動作制御部が、前記一のキャラクタ及び前記他のキャラクタそれぞれを前記仮想空間内で動作させ、前記一のキャラクタの存在位置と前記他のキャラクタの存在位置との少なくとも一部が共通する場合、前記命令設定部が設定した前記命令に基づく動作に優先し、前記一のキャラクタ及び前記他のキャラクタの少なくともいずれか一方に所定の動作を実行させるシミュレーションサーバ。
PCT/JP2020/048747 2020-03-31 2020-12-25 シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム WO2021199538A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021519671A JPWO2021199538A1 (ja) 2020-03-31 2020-12-25
US17/954,363 US20230021105A1 (en) 2020-03-31 2022-09-28 Simulation system, simulation method, and simulation program for character operation in a virtual space

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-062039 2020-03-31
JP2020062039 2020-03-31

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/954,363 Continuation US20230021105A1 (en) 2020-03-31 2022-09-28 Simulation system, simulation method, and simulation program for character operation in a virtual space

Publications (1)

Publication Number Publication Date
WO2021199538A1 true WO2021199538A1 (ja) 2021-10-07

Family

ID=77928429

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/048747 WO2021199538A1 (ja) 2020-03-31 2020-12-25 シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム

Country Status (3)

Country Link
US (1) US20230021105A1 (ja)
JP (1) JPWO2021199538A1 (ja)
WO (1) WO2021199538A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022259659A1 (ja) * 2021-06-07 2022-12-15 株式会社ポケモン シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005152318A (ja) * 2003-11-26 2005-06-16 Namco Ltd プログラム、情報記憶媒体、ゲーム装置及びサーバ装置
JP2006263230A (ja) * 2005-03-24 2006-10-05 Konami Digital Entertainment:Kk ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2008132331A (ja) * 2006-11-27 2008-06-12 Mistwalker Holdings Inc キャラクターの特定の性質をチームメンバーと共有するゲームのシステムおよび方法
JP2008304967A (ja) * 2007-06-05 2008-12-18 Konami Digital Entertainment:Kk 画像表示制御装置、ゲーム装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005152318A (ja) * 2003-11-26 2005-06-16 Namco Ltd プログラム、情報記憶媒体、ゲーム装置及びサーバ装置
JP2006263230A (ja) * 2005-03-24 2006-10-05 Konami Digital Entertainment:Kk ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2008132331A (ja) * 2006-11-27 2008-06-12 Mistwalker Holdings Inc キャラクターの特定の性質をチームメンバーと共有するゲームのシステムおよび方法
JP2008304967A (ja) * 2007-06-05 2008-12-18 Konami Digital Entertainment:Kk 画像表示制御装置、ゲーム装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022259659A1 (ja) * 2021-06-07 2022-12-15 株式会社ポケモン シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム

Also Published As

Publication number Publication date
US20230021105A1 (en) 2023-01-19
JPWO2021199538A1 (ja) 2021-10-07

Similar Documents

Publication Publication Date Title
Ebner et al. Towards a video game description language
US10569176B2 (en) Video game gameplay having nuanced character movements and dynamic movement indicators
US6570569B1 (en) Image processing device and image processing method
CN112121430B (zh) 虚拟场景中的信息展示方法、装置、设备及存储介质
JP2012085736A (ja) プログラム、情報記憶媒体、及びゲーム装置
Andrews et al. Hapticast: a physically-based 3D game with haptic feedback
JP4121564B2 (ja) 多人数の触覚仮想環境
JP2007296108A (ja) ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
JP5869512B2 (ja) サーバシステムおよびプログラム
WO2021199538A1 (ja) シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
Aversa Unity Artificial Intelligence Programming: Add powerful, believable, and fun AI entities in your game with the power of Unity
WO2022105471A1 (zh) 虚拟场景中的位置获取方法、装置、设备、介质及程序产品
JP2020044134A (ja) ゲームプログラム、方法、および情報処理装置
JP2022056655A (ja) シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
JP2022011314A (ja) シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
JP2024506920A (ja) 仮想対象の制御方法、装置、機器、及びプログラム
JP6985552B1 (ja) 表示制御方法およびプログラム
US20240100432A1 (en) Simulation system, simulation method, and simulation program
JP6796424B2 (ja) プログラム及びコンピュータシステム
CN114146414A (zh) 虚拟技能的控制方法、装置、设备、存储介质及程序产品
JP6379077B2 (ja) ゲームプログラムおよびゲーム装置
JP7055231B1 (ja) 表示制御方法およびプログラム
Gardiner GameMaker Cookbook
WO2022030100A1 (ja) コンピュータシステム、ゲームシステム、進行制御方法及び記憶媒体
CN112245925B (zh) 虚拟场景中区域级别的调整方法、装置及计算机设备

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021519671

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 20929616

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20929616

Country of ref document: EP

Kind code of ref document: A1