Drunkard's Walk Forums

Full Version: Okay, this should win ... SOME kind of an award... or something.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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.