Replay system, processing method, and replay program

JP7911792B2Active Publication Date: 2026-08-27竹田优太
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024501066
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-02-18
Filing Date
2023-01-30
Publication Date
2026-08-27
Estimated Expiration
2043-01-30

AI Technical Summary

Benefits of technology

【0011】 本発明によれば、様々なゲームにおいて再現プレイを可能とするとともに、再現プレイ中にユーザ自身がゲームをプレイしたり、新たなコンテンツを挿入することができるリプレイシステムを提供することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007911792000001
    Figure 0007911792000001
  • Figure 0007911792000002
    Figure 0007911792000002
  • Figure 0007911792000003
    Figure 0007911792000003
Patent Text Reader

Abstract

[Problem] To provide a versatile replay system which enables reproduction play in various games, and, during the reproduction play, makes it possible for a user himself / herself to play a game or insert new content. [Solution] Provided is a replay system 1 which is connected to at least one or more user terminals through a wired or wireless network and adds a replay function to a posting program transmitted from the outside, wherein the replay system is characterized by comprising: a division unit 2 which divides the posting program into divisible elements for each of which a single processing is executed; an addition unit 3 which adds a record reproduction method for detecting a specific processing executed in the user terminal to the posting program that has passed through the division unit 2; and a recording unit 8 which, when a modification program is executed in the user terminal, records, in association with the indivisible element, an execution result of the specific processing executed in the user terminal and detected through the record reproduction method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a replay system, a processing method, and a replay program for adding a replay function to a submitted program.

Background Art

[0002] In recent years, there has been a demand to watch a replay that reproduces someone else's game play, and not only to watch it, but also for the user to resume playing from a point during the replay, or to insert new content such as voice data or image data into the replay.

[0003] A system that enables the replay of a specific game is described in, for example, Patent Document 1. In the system described in Patent Document 1, the user's operation codes from the start to the end of the game are accumulated and registered as keylog data for each game play unit, and the game play is reproduced. Also, in the client device of Patent Document 2, by recording game situation data indicating the situation of the game (snapshot data indicating the content of the memory image managed by the emulator running the game and the values of the registers), the game play is reproduced, and the user can newly play the game during the replay.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, the system described in Patent Document 1 is a system pre-installed in a specific game and records keylog data that matches the specifications of that specific game. Therefore, it cannot function with games other than the specific game and does not enable reproduction play for various games. Furthermore, Patent Document 2 uses dedicated hardware called a client device to reproduce gameplay, which limits its use to programs that run on devices equipped with this dedicated hardware. The reason for this is that general computer systems employ multithreaded processing using multiple CPUs, but processes executed simultaneously and in parallel to maximize the performance of the hardware are not always in a constant order, even for the same program. Therefore, it was not possible to construct a reproduction system without dedicated hardware.

[0006] This invention has been made in view of the above-mentioned problems, and its main purpose is to provide a replay system that adds the ability to reproduce gameplay in various games and devices, and that allows the user to play the game themselves or insert new content during the reproduction process. [Means for solving the problem]

[0007] The present invention provides a replay system that is connected to at least one user terminal via a wired or wireless network and adds a replay function to a submitted program transmitted from an external source, comprising: a division unit that divides the submitted program into indivisible elements in which a single process is executed; an addition unit that adds a record-replay method for detecting a specific process executed on the user terminal to the submitted program after it has passed through the division unit to create a modified program; and a recording unit that, when the modified program is executed on the user terminal, records the execution result of the specific process detected by the record-replay method and executed on the user terminal, linking it to the indivisible elements.

[0008] With the above configuration, the modified program is divided into indivisible elements, each executing a single process. Therefore, no other processes can interrupt the execution of an indivisible element. Furthermore, in a single-threaded environment, the processing order of the threads composed of the indivisible elements remains unchanged. Thus, when the modified program is executed, the same processing is performed without interruption by other processes or changes in the processing order of the threads constituting the indivisible elements. Here, the recording and reproduction method detects, for example, a specific process performed by the user, and records the result of that specific process in the recording unit, associating it with the indivisible element. As described above, the modified program, divided into indivisible elements, performs the same processing. By recording the result of a specific process associated with this indivisible element, it becomes possible to reproduce the operations of other users, regardless of the hardware or software specifications on which the program is executed, even if the user terminal is changed. This allows a replay function to be added to the posting program.

[0009] The present invention relates to a processing method in which a computer is connected to at least one user terminal via a wired or wireless network and performs a process to add a replay function to a posting program transmitted from an external source, comprising: a first step in which a computer division unit divides the posting program into indivisible elements in which a single process is executed; a second step in which a computer addition unit adds a record-replay method that detects a specific process executed on the user terminal to the posting program that has passed through the division unit to make it a modified program; and a third step in which, when the modified program is executed on the user terminal, the computer recording unit records the execution result of the specific process executed on the user terminal detected by the record-replay method, linking it to the indivisible elements.

[0010] The present invention provides a replay program that connects to at least one user terminal via a wired or wireless network and adds a replay function to a submitted program transmitted from an external source, characterized in that it causes a computer to perform the following steps: a first step in which a splitting unit divides the submitted program into indivisible elements in which a single process is executed; a second step in which an addition unit adds a record-replay method that detects a specific process executed on the user terminal to the submitted program that has passed through the splitting unit, thereby creating a modified program; and a third step in which, when the modified program is executed on the user terminal, a recording unit records the execution result of the specific process executed on the user terminal detected by the record-replay method, linked to the indivisible elements. [Effects of the Invention]

[0011] According to the present invention, it is possible to provide a replay system that enables replaying various games, and allows the user to play the game themselves or insert new content during the replay. [Brief explanation of the drawing]

[0012] [Figure 1] Block diagram of the replay system in this embodiment. [Figure 2] A diagram showing the modified program in this embodiment. [Figure 3] A diagram showing the play data program in this embodiment. [Modes for carrying out the invention]

[0013] The replay system of the present invention will be described in detail below with reference to the figures.

[0014] The replay system 1 of this embodiment provides a replay function to the posting program submitted by the submitter. More specifically, it provides the posting program with a function that allows the replay operation, which reproduces the operations performed on the first user terminal when the posting program is executed on the first user terminal, to also be reproduced on the second user terminal.

[0015] As shown in Figure 1, the replay system 1 of this embodiment is connected to the program submitter's terminal 101 and the user's terminals 201 and 202 via a communication line consisting of a relay device 300 or the like that mediates wired or wireless network communication.

[0016] The submitter terminal 101 is, for example, a smartphone, tablet, PC, etc., equipped with a CPU, memory, communication port, network interface, etc. (not shown), and is used to create programs using source code such as JavaScript® or TypeScript. In this embodiment, it is assumed that the code of the submitter program is written using JavaScript®. In Figure 1, two submitter terminals 101 are shown, but the number of submitter terminals 101 is not particularly limited and may be one or more.

[0017] In this case, if the program code is written in JavaScript (registered trademark), the processing will be executed in a single thread. Therefore, the posting program will also execute without any change in the order of processing between threads from start to finish.

[0018] The user terminals 201 and 202 are, for example, smartphones, tablet terminals, PCs, etc. that include a CPU, a memory, a communication port, a network interface, etc. not shown in the figure. By the way, in these user terminals 201 and 202, an application programming interface (hereinafter referred to as API), which is a convention for calling functions of a program pre-input to the user terminals 201 and 202 themselves and data managed by the user terminals, is disclosed. Therefore, program developers develop programs to be executed on the user terminals 201 and 202 using this API. Also, in FIG. 1, two user terminals 201 and 202 are shown, but the number of user terminals is not particularly limited and may be one or two or more.

[0019] The configuration of the replay system 1 of this embodiment will be described in detail below.

[0020] The replay system 1 of this embodiment is a server composed of a CPU, a memory, an A / D converter, a communication port, a network interface, etc., and by installing a predetermined program in the memory, it functions as the receiving unit 2, the splitting unit 3, the adding unit 4, the storage unit 5, the recording unit 8, the reception unit 6, and the extraction unit 7 shown in FIG. 1.

[0021] The receiving unit 2 receives the posted program transmitted from the poster terminal 101 and transmits it to the splitting unit 3. This posted program is a program developed using the above-described API.

[0022] The splitting unit 3 splits the posted program transmitted from the receiving unit 2 into indivisible elements for which a single process is executed. Here, the indivisible element is a program split into units where no other process is executed while the threads constituting the indivisible element are being executed.

[0023] [[ID=第十九]] For example, when a thread including the following code exists in the posted program, Function f1 (){ doSomething1(); setInterval(function f2(){ doSomething2(); },0); } In this code, function f2 is defined within function f1, and the setInterval function means that another process may be executed between the execution of f1 and the execution of function f2. In other words, another process may be executed before the process defined in the above code is completed. In this case, part 3 rewrites the code as follows to divide the above program into indivisible elements. Function f1 (indivisible elements): doSomething1(); setInterval(f2,0); Function f2 (indivisible elements): doSomething2();

[0024] The modification of the posting program by the division section 3 is not limited to cases where a function is defined inside a function, as in the example above. Examples include cases where the posting program code contains keywords such as yield, sync, and await, when it interacts with communication functions such as fetch and xmlhttprequest, or when control functions or classes such as setTimeout and Promise are used.

[0025] The splitting unit 3 sends the posting program, which has completed the above processing, to the adding unit 4.

[0026] Additional section 4 modifies the posting program, which has gone through section 3, by adding a recording and reproduction method that detects specific processes executed on user terminals 201 and 202. Details of the recording and reproduction method will be described later.

[0027] The storage unit 5 stores the modified programs transmitted from the addition unit 4. At least one modified program is stored in this storage unit 5. Furthermore, the modified programs stored in the storage unit 5 may be linked to the poster ID, posting date and time data, etc.

[0028] The reception unit 6 receives play data and requests transmitted from user terminals 201 and 202, and sends the play data to the recording unit 8 and the requests to the extraction unit 7. It also receives modified programs or play data transmitted from the extraction unit 7 and sends them to user terminals 201 and 202.

[0029] The extraction unit 7 receives requests from user terminals 201 and 202 and extracts the modified program requested by user terminals 201 and 202 from the storage unit 5, or extracts the play data requested by user terminals 201 and 202 from the recording unit 8 and sends it to the reception unit 6. At this time, the extraction unit 7 may extract the modified program or play data using the poster ID and posting date and time data associated with the modified program, or the user ID and play date and time data associated with the play data.

[0030] The recording unit 8 receives and records play data transmitted from the reception unit 6. The play data transmitted from the reception unit 6 is the execution result of a specific process executed on user terminals 201 and 202 detected by the recording and reproduction method when the modified program is executed on user terminals 201 and 202 (hereinafter referred to as "user terminal execution result"), linked to an indivisible element. The recording unit 8 may also record, linked to the user terminal execution result and the indivisible element, for example, the user ID assigned to user terminals 201 and 202, the play date and time when the modified program was executed on the user terminal, the elapsed time since the modified program was executed, communication between user terminals 201 and 202 and other servers (not shown), images, videos, etc. displayed on user terminals 201 and 202. In this embodiment, the recording unit 8 records the user terminal execution result, the indivisible element, the elapsed time, and the user ID linked together.

[0031] However, the recording reproduction method that Addition 4 adds to the posting program will be explained in detail below.

[0032] The recording and reproduction method, in addition to detecting specific processes executed on user terminals 201 and 202 in the posting program after passing through the splitting unit 3, acquires play data recorded in the replay system 1, creates a play data program on user terminals 201 and 202 by adding the play data to the modified program, and reproduces the operations of other users by executing the play data program. User terminals 201 and 202 function in one of three modes: recording mode, replay mode, or normal mode.

[0033] The recording mode is a mode for recording operation processing on user terminals 201 and 202. When functioning as recording mode, the recording and replay method detects a specific process executed on user terminals 201 and 202, executes that process, and sends the execution result (the user terminal's execution result) to the recording unit 8, linked to the indivisible element that was executed immediately before the recording and replay method detected the specific process. Here, a specific process is a process executed by the user while the user terminal is running the modified program, or a process that arises from the execution of the modified program, such as initial loading, user operations, asynchronous processing, communication with other servers, image display, video display, random number generation, data transmission and reception with other threads, etc. specific events These are examples. In addition, the recording and reproduction method may also associate the execution result of the user terminal with the above-mentioned indivisible elements, the time on user terminals 201 and 202, the location where clicks etc. were made, the user ID, etc., and send it to the recording unit 8.

[0034] The replay mode reproduces the play data program played by another user on user terminals 201 and 202. In replay mode, the record reproduction method requests the play data selected on user terminals 201 and 202 from the replay system 1. In the replay system 1, the reception unit 6 receives the request, the extraction unit 7 extracts the requested play data from the recording unit 8 and sends it to the reception unit 6, which then sends it to user terminals 201 and 202. Upon receiving the play data, user terminals 201 and 202 use the record reproduction method to add the play data to the modified program to create a play data program, which is then executed. Here, since the play data program has the execution results performed by other users added to a predetermined indivisible element, when the play data program is executed, the execution results performed by other users are executed on user terminals 201 and 202, and the other users' operations are replayed on user terminals 201 and 202.

[0035] In replay mode, the recording playback method displays a replay end button on the display unit (not shown) of user terminals 201 and 202. When the user presses the replay end button, the recording playback method exits replay mode and functions as the recording mode described above or the normal mode described later, invalidating the play data. This allows the user to start their own operations at any time they desire.

[0036] Normal mode is a mode in which no recording or reproduction is performed when the modified program is executed on user terminals 201 and 202, allowing users to purely play the modified program.

[0037] An embodiment of the replay system 1 of this embodiment, which has the configuration described above, will be explained in detail with reference to the figures. In order to explain the embodiment of the replay system 1 of this embodiment, the following embodiment will use a game as an example, but it is not limited to this example.

[0038] When a game developer develops a game and submits it as a submission program to the replay system 1 of this embodiment, the replay system 1 of this embodiment divides the submission program into indivisible elements using the division unit 3, and adds a recording and playback method to the submission program using the addition unit 4 to create a modified program, which is then stored in the storage unit 5.

[0039] The modified program, as shown in Figure 2 for example, consists of a program composed of indivisible elements 1 to n, which have been rewritten so that the posting program consists only of indivisible elements, and a recording and reproduction method.

[0040] When the first user terminal 201 communicates with the replay system 1 of this embodiment and requests a modified program, the receiving unit 6 receives the request, the extraction unit 7 extracts the modified program, and transmits the modified program to the first user terminal 201 via the receiving unit 6.

[0041] When the first user terminal 201 receives the modified program and executes it, the recording and playback method displays a screen on the display unit (not shown) of the first user terminal 201 for selecting recording mode, replay mode, or normal mode.

[0042] The following describes the case where the first user selects recording mode. Here, since the modification program has been divided into indivisible elements by the division unit 3 in advance, in a modification program executed in a single thread, other processes will not be executed until the processing of a predetermined indivisible element is completed. For this reason, when the modification program is running on the first user terminal 201, for example, if the first user presses button A, the process executed by pressing button A will not be executed until the processing of the indivisible element that was being executed immediately before the first user pressed button A is completed. After the processing of that indivisible element is completed, the process executed by pressing button A will be executed. Similarly, if the first user then double-clicks, the process executed by double-clicking will not be executed until the processing of the indivisible element that was being executed immediately before the first user double-clicked is completed. After the processing of that indivisible element is completed, the process executed by double-clicking will be executed.

[0043] In recording mode, the recording and playback method detects specific actions such as the first user's actions (for example, pressing the A button or double-clicking in the above example), and sends the execution result of the specific action (for example, the result of the action performed by pressing the A button or the result of the action performed by double-clicking, which will be referred to as the "user terminal execution result" below) to the recording unit 8 of the replay system 1, linking it to the indivisible element that was being executed when the specific action was detected. At this time, the information linked to the user terminal execution result may include not only the indivisible element, but also the elapsed time since the modified program was executed, the date and time of play, random numbers, the position of the mouse click, the communication of the user terminal, the user ID, etc.

[0044] Specifically, the recording and reproduction method detects the operation in which the first user presses button A, and temporarily records the elapsed time 1 from the time the modified program is executed until the operation is detected, and the execution result of the process performed by pressing button A (hereinafter referred to as "user terminal execution result 1"), linked to the indivisible element that was being executed immediately before the operation in which button A was pressed (hereinafter referred to as "indivisible element 1"), in a recording area of ​​the user terminal (not shown).

[0045] Furthermore, the system detects when the first user double-clicks, and temporarily records the elapsed time 2 from the time the modified program is executed until the operation is detected, as well as the execution result of the process performed by the double-click operation (hereinafter referred to as "user terminal execution result 2"), in a recording area of ​​the user terminal (not shown) linked to the indivisible element that was being executed immediately before the double-click operation (hereinafter referred to as "indivisible element 2").

[0046] The recording and playback method, upon completion of the modified program on the first user terminal 201, temporarily records the user terminal's execution results and associated indivisible elements in a recording area (not shown) of the first user terminal 201. This data sent to the replay system 1 is called play data. In the example above, the elapsed time 1 and user terminal execution result 1 associated with indivisible element 1, and the elapsed time 2 and user terminal execution result 2 associated with indivisible element 2 are sent as play data 1. At this time, the recording and playback method may include in the play data the date and time the modified program was executed, random numerical values ​​obtained during the execution of the modified program, mouse click positions, communication data, user ID, etc. In this embodiment, the play data includes the date and time the modified program was executed, user ID, random numerical data, and mouse click position data, but it may also include, for example, time data, communication data, data sent and received with other threads, etc.

[0047] In the replay system 1, the recording unit 8 records the play data 1 received via the reception unit 6.

[0048] Next, we will explain what happens when you select replay mode, specifically when a second user recreates the first user's gameplay.

[0049] First, when the second user terminal 202 communicates with the replay system 1 of this embodiment and requests a modified program, the reception unit 6 receives the request, the extraction unit 7 extracts the modified program from the storage unit 5, and transmits the modified program to the second user terminal 202 via the reception unit 6.

[0050] When the second user terminal 202 receives the modified program and executes it, the recording and playback method displays a screen on the display unit of the second user terminal 202 that allows the user to select recording mode, replay mode, or normal mode.

[0051] When the second user selects replay mode and requests play data 1 from the first user, the record reproduction method requests the first user's play data 1 from the replay system 1. In the replay system 1, the reception unit 6 receives the request, and the extraction unit 7 extracts play data 1 from the recording unit 8 that matches, for example, the user ID and the date played, and sends play data 1 to the second user terminal 202 via the reception unit 6.

[0052] On the second user terminal 202, the record-replay method adds play data 1 to the modified program to create a play data program, which is then executed. This play data program consists of a modified program comprising indivisible elements 1 to n and the record-replay method, as shown in Figure 3, for example, and play data 1 (data with elapsed time 1 and user execution result 1 linked to indivisible element 1, data with elapsed time 2 and user execution result 2 linked to indivisible element 2, random numerical data, and mouse click position data). Therefore, when the play data program is executed, immediately after indivisible element 1 is executed on the second user terminal 202, the user terminal execution result 1, i.e., the process executed by pressing the A button, is executed immediately afterward. Similarly, immediately after indivisible element 2 is executed, the user terminal execution result 2, i.e., the process executed by the double-click operation, is executed immediately afterward. As a result, the processing results executed on the first user terminal 201 are executed on the second user terminal 202, allowing the first user's gameplay to be reproduced on the second user terminal 202. Although not shown in Figure 3, play data 1 may also include communication data, date and time data, etc.

[0053] Furthermore, the recording and playback method displays a replay end button on the display unit (not shown) of the second user terminal 202. When the second user presses the replay end button, the recording and playback method exits replay mode and functions as either recording mode or normal mode. It then invalidates all data associated with indivisible elements that have not been executed at the time the replay mode is exited. For example, if the second user exits replay mode after the execution result 1 of the first user terminal 201, that is, the process executed by pressing the A button, has been executed following the processing of indivisible element 1, the recording and playback method exits replay mode and changes to recording mode or normal mode, and invalidates the operation of play data 2, that is, deletes the user's execution result 2 and elapsed time 2 associated with indivisible element 2. As a result, the second user can play without the first user's operations being reproduced. At this time, the recording and playback method may display a selection screen on the second user terminal 202 so that the second user can select either recording mode or normal mode. With the above configuration, the second user's own operations will start at the desired timing when the second user selects the replay end button.

[0054] If the recording and playback method then exits replay mode and switches to recording mode, the recording and playback method retains the play data up to that point (play data executed before exiting replay mode), and then, after the end of replay mode, it links the execution result of a specific process, such as a user operation, that was detected to the indivisible element that was being executed when the specific process was detected, and sends it to the recording unit 8 of the replay system 1.

[0055] Specifically, in the second user terminal 202, after the execution result 1 of the first user terminal 201 (the process executed by pressing the A button) is executed following the processing of indivisible element 1, if the second user exits replay mode, the recording and playback method exits replay mode and changes to recording mode, and temporarily records the elapsed time 1 associated with indivisible element 1 and the user's execution result 1 in a recording area not shown in the second user terminal 202, and then invalidates all subsequent operations on the play data, that is, it deletes the elapsed time 2 associated with indivisible element 2 and the user's execution result 2. Subsequently, if the second user presses the B button while indivisible element 2 is processing, the recording and playback method detects this operation and temporarily records the process executed by pressing the B button (hereinafter referred to as "user terminal execution result 3") in indivisible element 2, along with the elapsed time 3 from the time the modified program is executed until user terminal execution result 3 is executed, in a recording area not shown in the second user terminal 202.

[0056] When the play data program finishes, the recording and reproduction method sends to the replay system 1 the data consisting of the user terminal's execution result and its associated indivisible elements, which was temporarily recorded in a recording area (not shown) of the second user terminal 202. In the example above, the elapsed time 1 and user execution result 1 associated with indivisible element 1, and the elapsed time 3 and user execution result 3 associated with indivisible element 2 are recorded in the recording unit 8 as play data 2. The recording unit 8 records play data 2 separately from play data 1. At this time, as described above, the recording and reproduction method may include in the play data the date and time when the modified program was executed, random numbers obtained during the execution of the modified program, mouse click positions, communication data, user ID, etc.

[0057] With the above configuration, even when replay mode is selected, the user can switch to their own controls midway through and record this as play data. For example, if the first user defeats a monster and then reaches a fork in the road and chooses to go right, but the second user wants to choose the left fork instead, the second user can recreate the first user's play up to the point where they defeat the monster on the second user terminal 202, exit replay mode, and select record mode or normal mode to switch to their own play and then choose the left fork at the subsequent fork.

[0058] In this way, the game can be recreated, and the user can switch to playing the game themselves during the recreation process, thus increasing the user's freedom of control.

[0059] Finally, we will explain what happens when you select normal mode.

[0060] When the first user selects normal mode, the recording and playback method executes the modified program. In this case, the recording and playback method does not perform any specific process detection, and the first user can play the modified program as is.

[0061] In the replay system 1 of this embodiment, configured as described above, when a modified program is executed on user terminals 201 and 202, the modified program is divided by the division unit 3 into indivisible elements, each executing a single process. Therefore, other processes cannot interrupt the execution of threads constituting the indivisible elements. Furthermore, as in this embodiment, when the program code is written in JavaScript (registered trademark), the processing is executed in a single thread. As a result, even in the modified program, the order of processing among the threads constituting the indivisible elements does not change from start to finish. Consequently, the modified program is not interrupted by other processes while threads constituting the indivisible elements are being executed, and the same processing is executed in the processing order of the threads constituting the indivisible elements. In addition, the recording and reproduction method added by the addition unit 4 detects, for example, a specific process performed by user operation, and records the result of that specific process in the recording unit 8, associating it with the indivisible element. As described above, the same processing is performed in the modified program divided into indivisible elements, so by recording the result of a specific process associating it with the indivisible element, it becomes possible to reproduce the operations of other users even if the user terminal is changed, regardless of the hardware or software specifications on which the program is executed. This allows for the addition of a reproduction function to the posting program, and also makes the reproduction function more versatile.

[0062] The present invention is not limited to the configuration described above.

[0063] The replay program described above may be recorded on a recording medium. That is, the recording medium may be connected to at least one user terminal via a wired or wireless network and contain a replay program that adds a replay function to a submission program transmitted from an external source, and the recording medium may contain a replay program that causes a computer to perform the following steps: a first step in which a splitting unit divides the submission program into indivisible elements in which a single process is executed; a second step in which an addition unit adds a record-replay method that detects a specific process executed on the user terminal to the submission program that has passed through the splitting unit, thereby creating a modified program; and a third step in which, when the modified program is executed on the user terminal, the recording unit records the execution result of the specific process executed on the user terminal detected by the record-replay method, linked to the indivisible elements.

[0064] For example, in the embodiment described above, the elapsed time since the modification program was executed was associated with the indivisible elements as play data, but it is not necessary to associate the elapsed time. Also, the elapsed time since the modification program was executed may be in seconds, milliseconds, or frames.

[0065] Furthermore, although the configuration of the present invention has been described based on a single-threaded environment using JavaScript (registered trademark), it may also include an execution environment that controls the processing order between other threads and processes, or an environment that incorporates control over the processing order between threads.

[0066] Furthermore, although the play data was temporarily stored in the user terminal's recording area in the above embodiment, the play data may be permanently stored in the user terminal's recording area. In this case, the play data is transmitted to the replay system while it is stored in the user terminal's recording area.

[0067] This invention can be modified in various ways, as long as it does not contradict its spirit. [Industrial applicability]

[0068] When the modified program is executed, the same processing is performed without changing the processing order during the processing of the threads that make up the indivisible elements. This makes it possible to reproduce gameplay in various games, and allows the user to play the game themselves or insert new content during the reproduced play. [Explanation of Symbols]

[0069] 1. Replay System 2...Divided part 3. Additional section 8. Records Department

Claims

1. A replay system that connects to at least one user terminal via a wired or wireless network and adds a replay function to the source program of a posted program transmitted from an external source, which reproduces the execution result of the posted program in a single-threaded environment, The aforementioned posting program is divided into indivisible elements, each consisting of a unit in which no other processes interrupt while a single process is being executed, An additional unit creates a modified program by adding code for a recording and reproduction method to reproduce the operations performed on the user terminal to the posting program that has gone through the division unit, The system includes a recording unit that records the execution results of the modified program executed on the user terminal, The aforementioned recording and reproduction method is: A recording mode in which, while the user terminal is executing the modified program, a specific event occurring on the user terminal is detected, and the result of processing that event is transmitted to the recording unit as play data linked to the indivisible element that was being executed immediately before detection. A replay system characterized by having a replay mode that, in response to a request from another user terminal, extracts the play data from the recording unit and adds the play data to the modification program.

2. A computer process in which a computer is connected to at least one user terminal via a wired or wireless network and performs a process to add a replay function to the source program of a submission program transmitted from an external source, in a single-threaded environment, which reproduces the execution result of the submission program, The first step is for the computer's partitioning unit to divide the posting program into indivisible elements, each consisting of a unit in which no other processes interrupt while a single process is being executed. The second step is for the computer's additional unit to create a modified program in which the posting program, which has passed through the division unit, has code for a recording and reproduction method for reproducing the operations performed on the user terminal added to it. The computer's recording unit includes a third step of recording the execution result of executing the modified program on the user terminal, The aforementioned recording and reproduction method is: A recording mode in which, while the user terminal is executing the modified program, a specific event occurring on the user terminal is detected, and the result of processing that event is transmitted to the recording unit as play data linked to the indivisible element that was being executed immediately before detection. A processing method characterized by having a replay mode in which, in response to a request from another user terminal, the play data is extracted from the recording unit and the play data is added to the modified program.

3. A replay program that connects to at least one user terminal via a wired or wireless network and adds a replay function to the source program of a submission program transmitted from an external source, which reproduces the execution result of the submission program in a single-threaded environment, On the computer, The division unit performs a first step of dividing the posting program into indivisible elements, each consisting of a unit in which no other processes interrupt while a single process is being executed. The additional part is a second step of creating a modified program in which code for a recording and reproduction method to reproduce operations performed on the user terminal is added to the posting program that has gone through the division part, The recording unit then performs a third step of recording the execution result of executing the modified program on the user terminal. The aforementioned recording and reproduction method is A recording mode in which, while the user terminal is executing the modified program, a specific event occurring on the user terminal is detected, and the result of processing that event is transmitted to the recording unit as play data linked to the indivisible element that was being executed immediately before detection. A replay program characterized by having a replay mode that, in response to a request from another user terminal, extracts the play data from the recording unit and adds the play data to the modification program.

Citation Information

Patent Citations

  • Easily peelable packing body

    JP1978093991A

  • Ceramic spike

    JP1983015073A

  • Server system

    JP2020089716A

  • Mini-games accessed through sharing interface

    JP2020099729A