Okay, this should win ... SOME kind of an award... or something. - Logan Darklighter -  10-16-2010
 
 
From a response post by Developer Matt Stults "The Television":  
http://boards.cityofheroes.com/showthre ... ost3266124 
Quote:2. Technical questions 
 
a. What 
 kind of database does CoH use? (aka, relational, custom, open source  
like postgres etc, object oriented, flat files, some mix?) Is there a  
dev in charge of the data access layer of the code and if so, who is it? 
 (I am particularly interested because in the early months of CoH, they  
did several data mining tasks that took ... exceedingly long times to  
run, and it made me curious to a degree that still has not much abated)  
When you joined the team and saw how they managed the data, what was  
your reaction? 
 
b. What programming language is used for character management? 
 
  
 
These questions are going to require some technical specificity, so please bear with me. Please also understand that I don't really know why data mining tasks used to take so long, but the following is better than accurate/true, so I'm going with it. 
 
How we used to do it: 
 
Before what we now know as  
Mapservers, CoH used a set of machines called Minkowski Cartographs to  
store data and model characters' interactions with the world. 
 
What is a Minkowski Cartograph? 
 
The Minkowski Cartographs -- or  
MCs -- were built in the early 1970s by a team of Nobel laureates in  
Mathematics and Cartography. The team's goal was to build a functional  
map or "road atlas" of Minkowski Space -- a pseudo-Riemannian manifold  
identified around 1907. Each MC is a room sized device constructed of  
thousands of independently sliding looms and millions of strings running 
 between them. The strings are made of several tightly braided filaments 
 composed of a patent blend of Polyolefin and Kevlar, inter-loom  
segments ranging in length anywhere between 10^-32 mm and 1 mm.  
Approximately half of the strings run between pernambuco-wood looms. The 
 rest are incorporated into a vast conveyor mechanism that drags against 
 the loom strings, causing them to vibrate at specific resonant  
frequencies, effectively "playing" them like millions of the worlds'  
tiniest violins. When played, each string produces a unique four-space  
wave signature which resonates through its particular loom until it is  
converted by transducer into an electronic analog signal. Part of this  
signal is then recorded in a wax disk in much the same way as  
conventional sound is recorded by the displacement of the spiral groove  
in a LP record. The other part was filtered and sent through the network 
 for real time exploration of the model by mathematical cartographers.  
When first created, this was the Network Control Program of the early  
ARPANET. 
 
Outcome of the MC experimentation of the 1970s: 
 
Though the MCs proved fairly  
unsuccessful in providing a functioning map of Minkowski space, the MC  
experiments resulted in two emergent and unpredicted consequences.  
First, they were very clearly the inspiration for String Theory. Second, 
 as part of their efforts to map Minkowski space through the MCs,  
scientists began to uncover and chart what appeared to be various  
sections of a modern city complete with pedestrians and airship implied 
 by the mathematical definition of Minkowski space as portrayed in the  
MC. Due to the use of hyperbolic quaternions in Minkowski space, physics 
 as modeled by the MCs was significantly more flexible than what we  
experience. 
 
MC Use by early CoH: 
 
Intending to capitalize on the  
pre-existing city simulations provided by the MCs, City of Heroes  
purchased and reused the now renamed "Mapservers" to provide the  
persistent world of Paragon City. This created a number of problems.  
First: game engineers and even game administrators on the project  
required doctorates in math or physics as well as extensive textile  
industry experience just to maintain the Mapservers, let alone add new  
features. Second: due to the wear of continuous vibration in four-space, 
 critical strings often broke or became "snagged" resulting in bugs and  
"Lost Connection to Mapserver" messages that were almost impossible to  
track down. Third: as you note, data collection was extremely time  
consuming as the entire mapservers had to be shut down and the wax  
recording disks carefully removed from each loom on every mapserver. 
 
What happened to the MC devices? 
 
Due to the above and many other  
problems, the CoH team eventually realized that the Minkowski  
Cartographs were un-maintainable. Sadly, once dropped by the game, these 
 great loomed-machines were inexplicably destroyed by a group of  
self-proclaimed neo-luddites. The same group of history-deniers has  
virtually erased all record of the machines by continuously deleting  
Wikipedia articles written about them. 
 
What we use now: 
 
Now our mapservers are written in C  
and use everything from SQL databases to various in-house flat file  
systems to represent our data. Characters are pretty much created and  
maintained by SQL queries, but the specifics of the queries are  
generated by C. 
 
Please let me know if the above raises any more questions. 
 
 
 
 |