Tilted Mill Community
Tilted Mill / Medieval Mayor /Nile Online / Mosby's Confederacy / Hinterland / Children of the Nile / SimCity Societies / Caesar IV


Go Back   Tilted Mill Community > SimCity Societies - Official Forums > General Discussion

Reply
 
Thread Tools Display Modes
  #1  
Old 06-11-2007, 09:42 AM
Romaq's Avatar
Romaq Romaq is offline
Overseer
 
Join Date: Jun 2007
Posts: 576
Default Open Tools Request (CVS/SVN, XML, GPG)

I am currently using SVN http://subversion.tigris.org/ (after trying with CVS http://www.nongnu.org/cvs/) to work with my SimCity 4 region. Initially I began using them as a way to permit my wife and I to ‘share’ a region using two separate computers and two legal copies of SimCity 4. As a side-effect, I find ‘Open Software Development Tools’ such as SVN a convenient means to provide ‘infinite Undo’, ‘project forking’ and ‘multi-user concurrent development’ of a region.

However, there are a few flaws in SC4 that complicate use of CVS, SVN and other Open Source Development (OSD) tools:

1) SimCity 4 does not respect ‘hidden’ directory and file flag settings. I will have a ‘.svn’ directory, for instance, that stores file meta-data. That directory is available as a ‘region’, even though this hidden directory should *not* be perceived by SC4. If I have plugin content that is flagged for deletion but the delete is not yet ‘committed,’ the content will still be visible to the SC4 engine even though it should be ‘hidden’ within the .svn meta-data directory. That behavior is a bug, and I can’t think of any reason a game should not respect the ‘hidden’ flag of directories. Please have SC5 respect ‘hidden’ flagged files.
2) SimCity 4 does not respect ‘readonly’ flags on files that are a part of reserving edits. When SC4 starts, it clears any ‘readonly’ flags set on SC4 cities. Those flags are set by CVS (and may be used by SVN) to control files where edit privileges must be reserved. Granted, the server will maintain the privileges, but it helps to remind a client that a given file is ‘readonly’, and thus an edit must be reserved on that file. Please have SC5 respect ‘readonly’ flags and not change the status, and ‘fail gracefully’ with exception handling when an attempt to write fails due to the flag. Please give me a chance to realize I need to claim my edit before writing on that file takes place. This will be terribly useful when I attempt to have a ‘multi-user SC5 city’ by sharing the data using SVN.
3) Please consider using XML for storing data. Text/ Unicode is nice… VERY nice not only for running DIFFs (what is the difference between these two files?) but also for ONLY passing what those differences are between client and server. I switched to CVS from SVN because SVN will cope with only binary differences in files, whereas CVS has to pass the entire changed binary file over the wire. Neither here nor there, if you use XML for storing enduser data, we endusers can more easily create our OWN tools (or break out Notepad) for our tinkering and puttering. Consider using something like Java ‘*.jar, *.war, *.ear’ files where we can rename your files to *.zip and have open access to all the parts as long as we obey the structure rules you declare. CVS and SVN may then ignore the ‘binary’ versions while keeping track of the ‘XML’ versions of the data they contain. This also makes it much easier for people to set up Open Source Development servers for SC5 content so they can be assured they have the ‘latest and greatest’ version of whatever content they are using.
4) I do not expect or request you to have EVERYTHING open. You can, and should have the means to encrypt crucial data elements within XML. I would also recommend an extension to the encryption of XML you would likely need, and ask you allow PGP (or GPG) signatures to custom content. Even if, for example, SOMY couldn’t encrypt his BATs, he could at least *sign* his BAT. I can verify that the ‘signature’ to the BAT belongs to him, and it agrees with his publicly posted finger print. If SOMY is willing to ‘sign’ his work, and I am able to detect the signature, then ‘cross posting’ of non-English speaking bats are greatly facilitated. I can download a BAT from a given location and be assured that the signature matches someone I expect.
5) Please consider the support of some form of open distribution for custom content, particularly where dependencies are concerned. SC4 allows for dependencies, and the ability to use props and textures someone else has released greatly helps the development of creative lots and single-purpose custom lots people want for City Journals. The problem comes in with ensuring that all the dependency requirements are met, and if they are not, how to meet them. I note that SC4 *does* have GUIDs. If custom packages could include dependency info along the lines of Debian .deb or Redhat .rpm packages, it could greatly facilitate the use of custom content. I don’t even suggest you *require* this info be part of the package, but have the ‘option’ and support of needed info in custom packages. I would like to be able to throw in a DVD I purchased from Simtropolis and have a simple tool pull any dependency I need for something I just downloaded off the ST DVD. I’m sure ST would be VERY happy to have people pay for a DVD and *NOT* load their bandwidth, unless a dependency was upgraded. Current SC4 packages have no sense of ‘version’, ‘identity’, ‘source’ or ‘authentication.’ I sure wish they did. It would save heaping gobs of SC4 custom content pain.
6) Consider publishing APIs that protect and conceal your intellectual property, but allow for the creation of things like SimMars more easily, or plug-ins for World-Machine import/ export, and so-on.
7) Consider storing certain content in open formats such as 16 bpc PNG images for terrain, or allow me to doodle something in .BMP and make a billboard out of it ‘native’, without any tools other than knowing where to insert it within an open format custom content package.
8) Consider using ‘customary standards’ for terrain. SC4 was metric, that’s good. Terrain ‘unit size’ is 16 meters per tile, or ‘unit’. USGS survey data is 10 meters per unit. SC4 ‘cities’ are 1.024 sq. km., 4.096 sq. km and 16.384 sq km for small, medium and large sized cities. If terrain ‘has’ to be set regular intervals such as with squares instead of arbitrary rectangles, please PLEASE use 10m/ unit tile sizes and kilometers as 1000 ‘real meters’ instead of ‘1024 meters.’ http://eros.usgs.gov/products/elevation.html offers links to a variety of info people could use for rendering accurate maps of their own location anywhere in the world. There are 90 meter (3 arc second) per unit postings, 30m (1 arc second) per unit postings and even 10m (1/3 arc second) per unit postings (U.S. areas are free!) available on the ’Net, or available for purchase. 16m per unit data is unique to SC4. Please don’t use 16m/ unit on SC5, use 10m/u instead.

Thank you for considering my requests.

--Romaq
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 03:21 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.