LevelMerge: Collaborative Game Level Editing by Merging Labeled Graphs
Game level editing is the process of constructing a full game level starting from 3D asset libraries, e.g. 3d models, textures, shaders, scripts. In level editing, designers define the look and behavior of the whole level by placing objects, assigning materials and lighting parameters, setting animations and physics properties and customizing the objects AI and behavior by editing scripts. The heterogeneity of the task usually translates to a workflow where a team of people, experts on separate aspects, cooperate to edit the game level, often working on the same objects (e.g.: a programmer working on the AI of a character, while an artist works on its 3D model or its materials). Today this collaboration is established by using version control systems designed for text documents, such as Git, to manage different versions and share them amongst users. The merge algorithms used in these systems though does not perform well in our case since it does not respect the relations between game objects necessary to maintain the semantic of the game level behavior and look. This is a known problem and commercial systems for game level merging exists, e.g. PlasticSCM, but these are only slightly more robust than text-based ones. This causes designers to often merge scenes manually, essentially reapplying others edits in the game level editor.
READ FULL TEXT