[Ohrrpgce] Subversion-like game updates

James Paige Bob at HamsterRepublic.com
Tue Dec 1 10:01:07 PST 2009


On Tue, Dec 01, 2009 at 09:26:13AM -0800, Jay Tennant wrote:
> I'm getting 6 guys together to work on a game idea a friend has, and it occurred to us that we cannot work together simultaneously on the game file. That is, one person would be building the game file, and everyone else could work on content. Which is ok.
> 
> However, it'd be _very_ nice if we could each have a copy of the game file, and if one updates a section of the game, those updates could be merged with the other game copies. For example, if John edits maptile set 0, and Frank edits maptile set 3, a single file will merge the updates of John's maptile set 0 and Frank's maptile set 3.
> 
> That's the concept. It's not too unlike using subversion to update the ohr wip. Feel free to expand on this. Has this sort of thing already been done? Are there other projects converting the files to other format structures, ie. xml?

Putting an unlumped rpg into subversion works for sharing changes, but 
it is lousy for merging changes. Still, thanks to the partial fix for  
Bug 656 - "Verify all gen() maximums on upgrade" you would be able to 
successfully merge some changes.... but it would still be tricky. A big 
problem is the fact that record counts are stored in the gen lump, so if 
two different people add records to different lumps, then there would be 
a collision in the gen lump. The Bug 656 fix means that game and custom 
will be able to figure out the correct record count, but subversion may 
still have problems merging the conflicting changes :(

As for a diff-and-merge-friendly text format for RPG data, I believe 
that is one of the design goals for nohrio. Nohrio can dump an RPG file 
to yaml, which could be checked into a version control system. That 
would make any lump mergeable, even the gen lump.

> Is the file i/o contained entirely within loading.bas and lumpfile.bas?

Not yet, but that is the plan eventually.

---
James



More information about the Ohrrpgce mailing list