Game development data driving system based on Web3D
By introducing data-driven systems and graph databases in Web3D game development, combined with WebGL 2.0 and GPU acceleration technology, the lack of rendering optimization tools in the existing technology has been solved, and efficient game development and collaborative editing has been achieved.
Patent Information
- Application Number
- CN202411697089.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2044-11-26
AI Technical Summary
The existing Web3D game development technology lacks targeted rendering optimization tools, which leads to developers need to manually write a large amount of underlying rendering code, making it difficult to quickly achieve high-quality visual effects, resulting in extended development cycles and low development efficiency.
Provide a game development data-driven system based on Web3D, including user editing system, project management system, data management system and rendering system. The system synchronizes the changes edited by users in real time to the data management system, and uses the data persistence and consistency guarantee mechanism of the graph database to achieve simultaneous adjustments to the same game scenario by multiple users. The rendering system uses WebGL 2.0 and GPU acceleration technology to perform real-time 3D rendering, and feeds the rendering results to the user editing system.
It realizes collaborative editing of multiple users and fast visual effect feedback, significantly improving the efficiency and development cycle of game development.
Smart Images

Figure CN119473295A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of game development technology, and in particular to a game development data-driven system based on Web3D. Background Art
[0002] Web3D technology is a technology that realizes virtual reality in web pages. In the field of game development, existing Web3D game development mainly relies on general three-dimensional (3D) modeling software and basic Web graphics library (Graphics Library, GL) application programming interface (Application Programming Interface, API), lacking targeted rendering optimization tools. Developers need to manually write a large amount of underlying rendering code, which makes it difficult to quickly achieve high-quality visual effects, resulting in extended development cycles and low development efficiency. Summary of the invention
[0003] The purpose of this application is to provide a Web3D-based game development data-driven system that can improve the efficiency of game development.
[0004] To achieve the above objectives, this application provides the following solutions:
[0005] A Web3D-based game development data-driven system, the Web3D-based game development data-driven system comprising: a user editing system, a project management system, a data management system and a rendering system;
[0006] The user editing system is used to provide a visual editing interface, and the visual editing interface is used for users to create game projects and edit game scenes for the created game projects;
[0007] The project management system is used to synchronize the change operation generated by at least one user creating a game project or editing a game scene through the user editing system to the data management system in real time;
[0008] The data management system is used to modify data according to each modification operation based on the data persistence and consistency guarantee mechanism of the graph database; the data in the data modification includes project data and scenario data;
[0009] The rendering system is used to perform real-time 3D rendering on the scene data in the data modification and feed back the 3D rendering result to the user editing system through the project management system;
[0010] The user editing system is also used to package and publish the 3D rendering results fed back by the rendering system.
[0011] Optionally, the scene data includes global settings and hierarchical data, the hierarchical data is organized in a tree structure, the hierarchical data is used to represent the scene composition in the Web3D environment, and the global settings include rendering configuration parameters for 3D rendering.
[0012] Optionally, the visual editing interface is a visual editing interface based on React.js, and the visual editing interface based on React.js is used to represent the tree structure organization corresponding to the hierarchical data, and each node in the tree structure organization is a React component.
[0013] Optionally, the user editing system further includes a WebGL renderer, and the WebGL renderer is used to feed back the user's game project creation or game scene editing to the 3D view in real time.
[0014] Optionally, the user editing system further includes a conflict detection unit, which is used to perform spatial conflict detection on the user's operations and provide spatial conflict prompts for operations involving spatial conflicts based on a conflict detection algorithm of spatial division; the user's operations include game project creation and game scene editing.
[0015] Optionally, the project management system uses WebSocket to communicate with the user editing system and the data management system, and uses an open source distributed database management system to perform real-time synchronization and version management on the project data of each game project.
[0016] Optionally, the project management system is used to submit the change operations accumulated in the latest set time period in batches to the data management system every set time period.
[0017] Optionally, in terms of performing real-time 3D rendering on the scene data during the data change, the rendering system is specifically used to load WebGL 2.0, and utilize the deferred rendering pipeline and graphics processor acceleration technology of WebGL 2.0 to perform real-time 3D rendering on the scene data during the data change.
[0018] Optionally, the project data includes a project ID, project configuration information and access rights.
[0019] Optionally, the project management system is used to cache the project data and scene data in memory, local storage, and content distribution network.
[0020] According to the specific embodiments provided in this application, this application discloses the following technical effects:
[0021] The present application provides a Web3D-based game development data-driven system, which synchronizes the change operations of at least one user through a user editing system to a data management system in real time through a project management system, and performs data changes based on the data persistence and consistency assurance mechanism of a graph database according to each change operation in the data management system, thereby enabling multiple users to adjust the same game scene at the same time, improving development efficiency. In addition, a rendering system performs real-time 3D rendering of scene data during data changes and feeds back the 3D rendering results to the user editing system through the project management system, thereby achieving rapid visual effect feedback and further improving development efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0023] Figure 1 A schematic diagram of functional modules of a Web3D-based game development data-driven system provided in one embodiment of the present application;
[0024] Figure 2 A schematic diagram of a project management system flow described in Mermaid format provided in an embodiment of the present application;
[0025] Figure 3 A schematic diagram of a rendering system flow described in Mermaid format provided in an embodiment of the present application;
[0026] Figure 4 A schematic diagram of a data management system flow described in Mermaid format provided in an embodiment of the present application;
[0027] Figure 5 A flowchart of optimizing the 3D model loading process by applying the progressive loading technology provided in one embodiment of the present application;
[0028] Figure 6 A schematic diagram of a scene data management method based on a graph database provided in one embodiment of the present application;
[0029] Figure 7 A schematic diagram of a specific application process of WebGL 2.0 and GPU acceleration technology on a Web platform provided in an embodiment of the present application. DETAILED DESCRIPTION
[0030] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0031] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0032] This application provides a data-driven system for game development based on Web3D, such as Figure 1 As shown, the Web3D-based game development data-driven system includes: a user editing system, a project management system, a data management system and a rendering system.
[0033] The user editing system is used to provide a visual editing interface, and the visual editing interface is used for users to create game projects and edit game scenes for the created game projects.
[0034] The project management system is used to synchronize the change operations generated by at least one user creating a game project or editing a game scene through the user editing system to the data management system in real time. The change operations include operations performed by creating a game project and editing a game scene.
[0035] The data management system is used to modify data according to each of the modification operations based on the data persistence and consistency assurance mechanism of the graph database; the data in the data modification includes project data and scenario data.
[0036] The rendering system is used to perform real-time 3D rendering on the scene data in the data change and feed back the 3D rendering result to the user editing system through the project management system.
[0037] The user editing system is also used to package and publish the 3D rendering results fed back by the rendering system.
[0038] The present application synchronizes the change operations of at least one user through the user editing system to the data management system in real time through the project management system. The data management system makes data changes based on the data persistence and consistency assurance mechanism of the graph database according to each change operation, thereby realizing simultaneous adjustment of the same game scene by multiple users and improving development efficiency. In addition, the rendering system performs real-time 3D rendering of the scene data during the data change and feeds back the 3D rendering results to the user editing system through the project management system, realizing fast visual effect feedback and further improving development efficiency.
[0039] The scene data includes global settings and hierarchical data, the hierarchical data is organized in a tree structure, the hierarchical data is used to represent the scene composition in the Web3D environment, and the global settings include rendering configuration parameters for 3D rendering.
[0040] The visual editing interface provided by the user editing system is an intuitive and easy-to-use user interface that enables game developers, i.e. users, to manage game projects, modify global settings, build and edit scenes, preview in real time, run tests, and package and publish. The visual editing interface is a visual editing interface based on React.js.
[0041] In an exemplary embodiment, the functions of the user editing system specifically include:
[0042] 1) Scene hierarchy management: The React.js-based visual editing interface is used to represent the tree structure organization corresponding to the hierarchical data, and each node in the tree structure organization is a React component, thereby achieving efficient scene traversal and update.
[0043] 2) Real-time preview: The user editing system also includes a WebGL renderer, which is used to feed back the user's game project creation or game scene editing to the 3D view in real time. The editor monitors the changes in the scene graph (scene data) to trigger the update of the rendering system.
[0044] The WebGL renderer is responsible for the actual rendering of the 3D scene content generated by the rendering system. The scene content generated by the rendering system will be displayed in the page elements through the WebGL rendering kernel, that is, the WebGL renderer displays the rendering results of the rendering system.
[0045] 3) Intelligent conflict detection: The user editing system also includes a conflict detection unit, which is used to perform spatial conflict detection on the user's operations based on a conflict detection algorithm for spatial division and to provide spatial conflict prompts for operations involving spatial conflicts. Specifically, when the user drags or modifies an object, the system checks and prompts potential spatial conflicts in real time; the user's operations include game project creation and game scene editing.
[0046] 4) Performance analysis tools: The user editing system also includes a performance monitoring component, which is used to collect data such as rendering time, component update frequency, etc. through Chrome DevTools Protocol and React Profiler API, and use D3.js to visualize this data to help developers identify performance bottlenecks.
[0047] The project management system manages multiple game development projects and synchronizes project data and related resources through interaction with the data management system to ensure real-time updates and consistency of the development environment. As the hub connecting the user editing system, rendering system and data management system, the project management system achieves efficient data synchronization and version control.
[0048] The project management system uses WebSocket to communicate with the user editing system and the data management system. The project management system uses WebSocket to achieve real-time two-way communication. When an editing operation occurs, the incremental update data is pushed to the server and the update notification of the server is received at the same time.
[0049] The user editing system, project management system, data management system and rendering system are all connected to the server, which is responsible for data transmission and coordination.
[0050] The relationship between the server and each module is as follows:
[0051] 1) Server and project management system: The project management system is responsible for managing multiple game development projects, ensuring that the data and related resources of these projects are consistent and can be updated in real time. The project management system plays the role of a scheduling and control center in the entire system. It ensures that the editing operations of each user can be correctly synchronized to the system, and all users see the same project status.
[0052] 2) Server and user editing system: The user editing system establishes a WebSocket connection with the server through the project management system. When a user edits a game project or scene in the editing system, the editing operation is transmitted to the server in real time through WebSocket, and the server feeds back the relevant update notification to other user editing systems to ensure that all users see the latest scene and data status. This two-way communication design can transmit editing information in real time and ensure the coordination and consistency among multiple users.
[0053] 3) Server and data management system: The data management system is responsible for the persistence and consistency management of the game project data. After receiving the editing operation from the user editing system, the server pushes the updated data to the data management system, which will perform data changes, persistent storage, and consistency checks based on these operations. Through the connection between the server and the data management system, the data of the editing operation can be saved in the persistence layer, ensuring the persistence and reliability of the data.
[0054] 4) Server update notification: When the server receives an editing operation from a user and updates the corresponding data, it needs to notify other modules (such as other online user editing systems or data management systems) so that these modules can be updated synchronously and maintain consistency. For example, when user A is editing a game scene, the server synchronizes user A's operation to the editing interface of other users B and C, and also writes these updates to the data management system. Its main function is to maintain data synchronization and consistency between multiple modules.
[0055] The project management system uses an open source distributed database management system (Apache Cassandra) to perform real-time synchronization and version management of project data for each game project.
[0056] The project management system is used to submit the change operations accumulated in the latest set time period to the data management system in batches at every set time period.
[0057] The project management system introduces a Redis-based intelligent caching mechanism, uses the Least Recently Used (LRU) algorithm to optimize data access speed, manage local cache, prioritize caching frequently accessed scene data, reduce network requests, and improve collaboration efficiency.
[0058] The project management system implements permission management based on the role-based access control (RBAC) model and uses JSON Web Tokens (JWT) for identity authentication to ensure the security of game projects.
[0059] The project data includes project ID, project configuration information and access rights, as well as user basic information, project list and editing preferences.
[0060] The project management system is used to cache project data and scene data in memory, local storage, and content delivery network (CDN).
[0061] The user's operation is transmitted to the data management system through the user editing system. The project management system is responsible for converting the operation into data changes. It can be deployed to the cloud to achieve real-time collaborative editing by multiple users, such as Figure 6 As shown, the specific implementation includes:
[0062] 1) Design a scene graph data model to map the objects, relationships, and attributes in the 3D scene to a graph data structure. In the graph data structure, nodes represent objects in the scene, and edges represent relationships between objects.
[0063] 2) Choose a graph database suitable for the Web environment, such as Neo4j or OrientDB, and interact with the front end through the RESTful API. The front end here refers to the user editing system, which is the front end of the entire development environment.
[0064] 3) Implement the operations of adding, deleting, modifying and querying scene objects through the user editing system, and use the efficient query capabilities of the graph database to quickly retrieve related objects and relationships.
[0065] 4) Design graph-based spatial index structures, such as R-tree or Quadtree, to optimize spatial query performance in large-scale scenarios.
[0066] 5) Use the traversal algorithm of the graph database to achieve efficient scene graph traversal and update. For example, use depth-first search (DFS) to update the object hierarchy relationship.
[0067] 6) Implement graph-based LOD management, represent objects with different levels of detail as different nodes in the graph, and dynamically switch them based on distance and importance.
[0068] 7) Use the transaction mechanism of the graph database to ensure data consistency when multiple users concurrently edit scene objects.
[0069] 8) Design a caching strategy to cache frequently accessed scene data on the client to reduce network requests and improve response speed.
[0070] In an exemplary embodiment, the project management system serves as a hub connecting the user editing system, rendering system, and data management system, and implements efficient data synchronization and version control. Its implementation process and activities are as follows:
[0071] S1. Project initialization:
[0072] The project administrator creates new game projects and allocates resources and permissions through the user editing system on the server side. The user editing system is the front-end interface for users to interact with the system. After operating through this interface, the relevant data will be transmitted to the server through the project management system.
[0073] The system automatically generates a project ID and initial configuration file.
[0074] Project administrators set up team member roles (such as editor, reviewer) and task areas.
[0075] S2. User access and data synchronization:
[0076] The user logs in to the system through the OAuth 2.0 protocol and obtains a JWT token.
[0077] The system assigns access rights and work areas based on user roles.
[0078] The user client registers a WebSocket connection with the server and subscribes to relevant data updates. The client refers to the access terminal of project members such as editors and reviewers. After the user logs in to the system through the OAuth 2.0 protocol, the client (which can be a browser or other access device) registers a WebSocket connection with the project management system to subscribe to real-time updates of relevant data. The client also accesses and modifies project data through the user editing system.
[0079] The project management system pushes the initial project data to the user client.
[0080] S3. Collaborative editing session:
[0081] The user opens the user editing system and the system starts the real-time collaboration mode.
[0082] Edit operations are synchronized to the server in real time via WebSocket.
[0083] The server handles concurrent edits using an algorithm based on Operational Transformation (OT).
[0084] The processed operations are broadcast to all relevant users to ensure data consistency.
[0085] S4. Version control and conflict resolution:
[0086] Each edit operation is treated as a micro-commit and automatically saved to the Git version control system.
[0087] The system creates checkpoints periodically (e.g., every 5 minutes) or when requested by the user. The purpose of creating checkpoints is to periodically save the current system state during the collaborative editing process of the project so that it can be rolled back to the previous stable state when errors, conflicts, or system anomalies occur. This mechanism is similar to version snapshots, which can help developers quickly restore to a known correct state when encountering problems, thereby improving data reliability and project manageability.
[0088] When conflicts occur, the project management system attempts to merge automatically. This application uses the Operational Transformation (OT) algorithm through the project management system to handle concurrent edits by multiple users. When the modifications of two users do not conflict, the OT algorithm can merge them into a consistent modification. When there are conflicts in the modifications, the system will try to automatically merge them through predefined merge rules, such as higher priority modifications overwriting lower priority modifications. If the system cannot automatically resolve the conflict, it will notify the user to handle it manually.
[0089] Conflicts that cannot be resolved automatically are notified to the relevant users for manual resolution.
[0090] S5. Interact with the rendering system:
[0091] Editing operations trigger rendering system updates in real time.
[0092] The rendering system returns updated results (such as new images or performance data) to the project management system.
[0093] The project management system distributes the rendering results to relevant users.
[0094] S6. Interaction with data management systems:
[0095] The project management system periodically (eg, every 30 seconds) submits the accumulated editing operations in batches to the data management system.
[0096] The data management system performs persistent storage and index updates.
[0097] The project management system obtains the latest scene graph data from the data management system.
[0098] S7. Cache strategy:
[0099] Use Redis to implement distributed cache and store hot data and session information.
[0100] Apply the LRU algorithm to manage cache content.
[0101] Regularly analyze user access patterns and preload data that may be needed.
[0102] S8. Session End and Data Archiving:
[0103] When the user ends an editing session, the system automatically saves the final state.
[0104] Generate session reports containing editing statistics and performance metrics.
[0105] Project data that has not been accessed for a long time is archived to low-cost storage.
[0106] The Mermaid format is a text-based diagram description language. The activity flow chart of the project management system described in the Mermaid format is as follows: Figure 2 shown.
[0107] The rendering system is responsible for converting 3D scene data into high-quality Web3D images. It works closely with the project management system, user editing system, and data management system to achieve efficient real-time rendering.
[0108] In terms of real-time 3D rendering of the scene data in the data change, the rendering system is specifically used to load WebGL 2.0, and use the deferred rendering pipeline and graphics processor (Graphics Processing Unit, GPU) acceleration technology of WebGL 2.0 to perform real-time 3D rendering on the scene data in the data change.
[0109] In an exemplary embodiment, the detailed workflow of the rendering system is as follows:
[0110] S1. Rendering system initialization: When the project management system creates a new project, it initializes the rendering system configuration; loads the WebGL 2.0 context and necessary extensions; and initializes the rendering pipeline and shader program.
[0111] S2. Scene data loading and progressive loading: Receive initial scene graph data from the user editing system; obtain detailed geometry, material and texture data from the data management system; implement a progressive loading mechanism.
[0112] Progressive loading mechanisms include:
[0113] a. Preprocess 3D models on the server side and create multiple LOD versions for each model. 3D models refer to objects in the scene graph.
[0114] b. The client initially loads a low-detail version of the scene.
[0115] c. Build scene graphs and spatial acceleration structures (such as octrees).
[0116] d. Calculate the screen space size and importance of the model based on the camera position and viewing angle. The camera here refers to a virtual camera. In a 3D scene, a camera is a virtual device that is used to define the position and direction of the viewing angle in the scene. In Web3D applications, the camera position and viewing angle are usually determined by the user's interactive behavior. For example, when dragging, scaling, or rotating the scene, the camera will adjust according to the user's operation. The camera position and viewing angle mentioned in this application refer to the position and viewing direction of the virtual camera in the 3D scene. These parameters are used to determine the spatial size and importance of each 3D object on the screen in order to decide which level of detail LOD model to load. The camera position and viewing angle are determined by user interaction and internal system control.
[0117] e. Use a weighted algorithm to determine loading priority.
[0118] f. Load higher-detail versions of the model asynchronously, using Web Workers for background processing.
[0119] g. Implement a cache mechanism to save the loaded model.
[0120] S3. Rendering preparation: parse the rendering configuration information (such as resolution, quality settings) provided by the project management system; set the rendering target (frame buffer object) and viewport; initialize the rendering state (depth test, blending mode, etc.).
[0121] S4. Main rendering loop:
[0122] a. Scene update: Receive scene update events from the project management system. Update scene graph and object transformations. Dynamically adjust LOD strategy and monitor client performance.
[0123] b. Visibility culling: Perform frustum culling. Perform occlusion culling (using hierarchical Z buffering).
[0124] c. Deferred rendering stage 1 (G-Buffer generation): rendering geometry information, normals, and material attributes to multiple rendering targets.
[0125] d. Lighting calculation: Use compute shaders to process global illumination. Apply local lighting (point light, spotlight, etc.).
[0126] e. Post-processing: Perform post-processing effects such as anti-aliasing, depth of field, tone mapping, etc.
[0127] f. Final synthesis: All rendering results are synthesized into the final frame buffer.
[0128] S5. Special rendering tasks:
[0129] a. Particle system update: Use compute shader to update particle state; render updated particle system.
[0130] b. Instanced rendering: Collect instantiable objects (such as vegetation, architectural details); use instanced arrays for batch rendering.
[0131] c. Terrain rendering: Dynamically adjust terrain LOD according to camera distance; use tessellation shader to refine terrain mesh.
[0132] d.LOD management: Use smooth transition technology to switch between different LOD levels; dynamically adjust LOD strategy based on current performance indicators and loading priorities.
[0133] S6. Rendering result processing: Encode the final rendered image into a format suitable for network transmission (such as JPEG or WebP); send the rendering result back to the project management system via WebSocket.
[0134] S7. Performance monitoring and optimization: Collect rendering performance indicators (frame rate, GPU usage, etc.); dynamically adjust rendering quality and LOD strategy based on performance indicators; report performance data to the project management system.
[0135] S8. Rendering session ends: clean up WebGL resources and buffers; save the final rendering state and cached model data to the data management system.
[0136] The flow chart of rendering system activities described in Mermaid format is as follows Figure 3 shown.
[0137] The core responsibility of the rendering system is to convert scene data into real-time images in the Web3D environment. It processes the layer data, realizes the three-dimensional rendering of the scene, and applies lighting, physics and post-processing effects according to the global settings to achieve high-quality visual output, such as Figure 7 As shown, specifically including:
[0138] 1) Use the compute shader function of WebGL 2.0 to implement a GPU-accelerated particle system. Store the particle position and velocity data in a texture and use a compute shader to update the particle state.
[0139] 2) Implement GPU-based picking and collision detection. Use frame buffer objects (FBO) and color encoding techniques to render object IDs to off-screen textures for efficient object selection.
[0140] 3) Use the multiple render targets (MRT) feature of WebGL 2.0 to implement a deferred rendering pipeline. Store geometry information, normals, and material properties in the G-buffer, and then calculate lighting in subsequent steps. G-buffer is a shading technology.
[0141] 4) Use the instanced arrays feature of WebGL 2.0 to achieve efficient instanced rendering. Suitable for rendering a large number of similar objects, such as trees, grass, etc.
[0142] 5) Implement GPU-based terrain generation and dynamic LOD. Use tessellation shaders to dynamically subdivide the terrain mesh and adjust the level of detail based on the camera distance.
[0143] 6) Leverage WebGL 2.0’s transform feedback feature to enable GPU-accelerated physics simulations, such as cloth simulation or fluid dynamics.
[0144] 7) Implement compute shader-based global illumination solutions, such as ray tracing or photon mapping, to improve rendering quality.
[0145] 8) Use WebGL 2.0's ASTC texture compression format to reduce texture memory usage and loading time.
[0146] Among them, the global illumination solution based on compute shaders uses the compute shader function of WebGL 2.0 to hand over complex lighting calculations such as ray tracing and photon mapping to the GPU for processing, achieving efficient parallel computing, thereby achieving high-quality rendering effects in the Web3D environment. This implementation method is very suitable for game development environments that require real-time feedback, making the rendered lighting effects closer to reality. The example process is: Step 1: Generate G-buffer through MRT, which contains geometric information, normals, and material properties. Step 2: The compute shader emits light (or photons) to simulate the reflection and refraction of light in the scene and record the lighting information. Step 3: According to the camera's perspective, the compute shader accumulates the lighting contribution of each pixel to obtain a combination of direct and indirect light. Step 4: Combine the lighting information with the material properties to generate the final lighting color, and perform post-processing (such as anti-aliasing, tone mapping).
[0147] The data management system is responsible for efficiently storing and retrieving large-scale 3D scene data, providing key support for the rendering system and user collaborative editing. It works closely with the project management system, user editing system, and rendering system to achieve persistent storage, consistency maintenance, and efficient access to data. The following is a detailed workflow of the data management system:
[0148] S1. System initialization and project creation: Receive new project creation requests from the project management system, initialize the graph database (such as Neo4j) and spatial index structure, and create project metadata, including project ID, configuration information, and access rights.
[0149] S2. User access and data synchronization: Verify user identity and permissions; prepare relevant scenario data based on user roles and task areas; use WebSocket to establish a real-time data synchronization channel; push initial scenario data to users and support incremental updates.
[0150] S3. Scene data structure management:
[0151] a. Graph data model design: Input: 3D scene objects and relationship data; Processing: Map scene objects to graph nodes and relationships between objects to edges; Output: structured graph data model.
[0152] b. Spatial index construction: Input: spatial location information of scene objects; Processing: building R-tree or Quadtree spatial index; Output: optimized spatial query structure.
[0153] c.LOD data management: Input: 3D model data with multiple levels of detail; Processing: Store models at different LOD levels as related nodes in the graph; Output: Data structure that supports dynamic LOD switching.
[0154] S4. Collaborative editing session management: Track user editing session status; implement real-time operation synchronization mechanism based on graph database; use distributed locks to implement concurrency control and avoid editing conflicts; broadcast user operations to ensure the consistency of all relevant user views.
[0155] S5. Version control and conflict resolution: Implement a graph-based version control system, with each edit operation as a micro-commit; create scene snapshots regularly as checkpoints; use a three-way merge algorithm to detect and resolve conflicts; maintain edit history and support rollback and branch management.
[0156] S6. Rendering system data interaction: Receive data requests from the rendering system, provide optimized scene data, dynamically adjust LOD levels according to rendering requirements, receive and store rendering results for caching and preloading optimization.
[0157] S7. Data persistence and index updates: batch processing of accumulated edit operations; updating of graph database and spatial index structures; triggering cache updates to ensure data consistency.
[0158] S8. Cache strategy implementation: Input: user access pattern and frequency data; Processing: Analyze data access patterns and predict hot data; Output: Optimized cache strategy to support fast data access; Implement multi-level cache: memory cache, local storage cache and CDN cache; Apply LRU algorithm to manage cache content.
[0159] S9. Performance monitoring and optimization: Collect data access and processing performance indicators; dynamically adjust index structure and cache strategy; implement adaptive data preloading mechanism.
[0160] S10. Session end and data archiving: Save the final scene state; generate a session report containing data processing statistics; perform data compression and archiving to optimize storage usage.
[0161] The data management system activity flow chart described in Mermaid format is as follows Figure 4 shown.
[0162] In an exemplary embodiment, the operating steps of a Web3D-based game development data-driven system of the present application are as follows.
[0163] Step 1: Users design and edit game scenes through the user editing system: 1) Use the drag-and-drop interface built with React.js to add 3D objects to the scene; 2) Adjust object properties through the real-time preview function implemented by WebGL; 3) Apply progressive loading technology to optimize the 3D model loading process.
[0164] like Figure 5 As shown in the figure, the application of progressive loading technology and optimization of the 3D model loading process specifically includes: a. Preprocessing 3D models on the server side and creating multiple LOD versions for each model. b. The client initially loads a low-detail version of the scene. c. Calculate the screen space size and importance of the model based on the camera position and viewing angle. d. Use a weight algorithm to determine the loading priority. e. Asynchronously load higher-detail model versions and use Web Workers for background processing. f. Use smooth transition technology to switch between different LOD levels. g. Implement a caching mechanism to save loaded models. h. Monitor client performance and dynamically adjust the LOD strategy.
[0165] Step 2: The user's editing operations are synchronized to the data management system in real time through the project management system: Use WebSocket to achieve real-time communication; Apply incremental synchronization technology to only transmit changed data; Use the efficient query capabilities of the graph database to quickly update the scene structure; Scene data management based on the graph database, such as Figure 6 shown.
[0166] Step 3: After the data management system updates the data, the rendering system immediately responds and presents the latest scene in the Web3D environment: using the new features of WebGL 2.0, such as compute shaders and multiple rendering targets, to optimize rendering performance; applying GPU acceleration technologies, such as instanced rendering and GPU-based collision detection; using the deferred rendering pipeline to improve the rendering efficiency of complex lighting scenes; the specific application of WebGL 2.0 and GPU acceleration technology on the Web platform. Among them, the specific application of WebGL 2.0 and GPU acceleration technology on the Web platform is as follows: Figure 7 shown.
[0167] Step 4: After the user completes the design, the game project is packaged and published to the Web platform through the user editing system: the project integrity and resource dependencies are automatically checked; resources are optimized using the ASTC texture compression format; a deployment package suitable for the Web platform is generated; and a one-click deployment function is provided to automatically upload to the specified Web server.
[0168] The interactive process in this application includes:
[0169] 1. The user logs in to the user editing system and selects or creates a game project: implements a secure login mechanism based on OAuth 2.0; provides a project template function to facilitate the quick creation of new projects.
[0170] 2. The project management system obtains the required project data from the data management system: using incremental synchronization technology to obtain only the latest change data; implementing intelligent preloading to predict the data that the user may need and loading it in advance.
[0171] 3. Users edit scenes in the editing system, and all changes are synchronized to the data management system: real-time collaboration is realized, and multiple users can edit the same scene at the same time; conflict detection and resolution mechanisms are provided to ensure data consistency.
[0172] 4. The rendering system renders the scene in real time based on the updated data and displays it to the user: using frame synchronization technology to ensure the consistency of the scene state when multiple people collaborate. Implement progressive loading and give priority to rendering content within the user's field of view.
[0173] 5. After the user has verified that the game is correct, the package publishing function of the user editing system is used to deploy the game online: multi-platform packaging options are provided, such as Web, mobile Web, iOS / Android APP, WeChat applet, etc. Automated testing process is implemented to ensure the stability of the released version.
[0174] This application implements a complete workflow for Web3D-based game development, significantly improving the efficiency and collaboration of game development. The real-time rendering engine is optimized, especially for the Web platform, by adopting WebGL 2.0 and GPU acceleration technologies, such as GPU-accelerated particle systems, GPU-based picking and collision detection, deferred rendering pipelines, etc., to significantly improve rendering effects and performance. A data persistence and consistency guarantee mechanism based on a graph database is introduced to ensure the accuracy and efficient access of game project data, especially in large-scale 3D scenes. LOD-based progressive loading technology is implemented, which greatly improves the efficiency and user experience of multi-person collaborative development. Adaptive rendering technology is provided to enable games to achieve the best visual effects and performance on devices with different performance.
[0175] The various modules in this application work closely together to form a complete rendering pipeline. The user editing system is responsible for the input and management of scene data, the project management system coordinates the data interaction between the modules, the rendering system performs efficient rendering operations based on these data, and the data management system ensures the consistency and efficient access of data throughout the process.
[0176] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0177] This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, according to the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.
Claims
1. A game development data-driven system based on Web3D, characterized in that: The Web3D-based game development data-driven system includes: a user editing system, a project management system, a data management system and a rendering system; The user editing system is used to provide a visual editing interface, and the visual editing interface is used for users to create game projects and edit game scenes for the created game projects; The project management system is used to synchronize the change operation generated by at least one user creating a game project or editing a game scene through the user editing system to the data management system in real time; The data management system is used to modify data according to each modification operation based on the data persistence and consistency guarantee mechanism of the graph database; the data in the data modification includes project data and scenario data; The rendering system is used to perform real-time 3D rendering on the scene data in the data modification and feed back the 3D rendering result to the user editing system through the project management system; The user editing system is also used to package and publish the 3D rendering results fed back by the rendering system.
2. The Web3D-based game development data-driven system according to claim 1, characterized in that: The scene data includes global settings and hierarchical data, the hierarchical data is organized in a tree structure, the hierarchical data is used to represent the scene composition in the Web3D environment, and the global settings include rendering configuration parameters for 3D rendering.
3. The Web3D-based game development data-driven system according to claim 2, characterized in that: The visual editing interface is a visual editing interface based on React.js, and the visual editing interface based on React.js is used to represent the tree structure organization corresponding to the hierarchical data, and each node in the tree structure organization is a React component.
4. The Web3D-based game development data-driven system according to claim 1, characterized in that: The user editing system also includes a WebGL renderer, which is used to feed back the user's game project creation or game scene editing to the 3D view in real time.
5. The Web3D-based game development data-driven system according to claim 1, characterized in that: The user editing system further includes a conflict detection unit, which is used to perform spatial conflict detection on user operations based on a conflict detection algorithm for spatial division and to provide spatial conflict prompts for operations with spatial conflicts; The user's operations include game project creation and game scene editing.
6. The Web3D-based game development data-driven system according to claim 1, characterized in that: The project management system uses WebSocket to communicate with the user editing system and the data management system, and uses an open source distributed database management system to perform real-time synchronization and version management on the project data of each game project.
7. The Web3D-based game development data-driven system according to claim 1, characterized in that: The project management system is used to submit the change operations accumulated in the latest set time period to the data management system in batches at every set time period.
8. The Web3D-based game development data-driven system according to claim 1, characterized in that: In terms of performing real-time 3D rendering on the scene data during the data change, the rendering system is specifically used to load WebGL 2.0, and utilize the deferred rendering pipeline and graphics processor acceleration technology of WebGL 2.0 to perform real-time 3D rendering on the scene data during the data change.
9. The Web3D-based game development data-driven system according to claim 1, characterized in that: The project data includes a project ID, project configuration information, and access rights.
10. The Web3D-based game development data-driven system according to claim 1, characterized in that: The project management system is used to perform memory caching, local storage caching and content distribution network caching on project data and scene data.
Citation Information
Patent Citations
Fine-grained Web3D online visualization method for large-scale building scene
CN112765513A
Application program construction method and device based on model file and visual interface, equipment and storage medium
CN117806630A
Online collaborative development system and method for Web3D and computer readable storage medium
CN118967990A
Network-based video game editing and modification distribution system
US20200306639A1
Cited By
Game task process editing system, method, equipment and medium
CN120939559A
A game task flow editing system, method, device and medium
CN120939559B
Real-time rendering method and system for complex assembly scene at browser side and medium
CN122454005A