I have spent two days fighting a stupid Java problem involving the display of large chunks of text. Whenever it has to display a chunk of text that is larger than the available screen area, it adds a scroll bar (good) and then sets it and the text to display the END of the text, not the beginning. This problem is supposedly solved by a variety of built-in methods (what used to be called “subroutines”) that give the programmer control over how the contents of the window are positioned. In fact, there are three different ways to accomplish this. And not one of them worked.
I tried all sorts of experiments, variations, and combinations. None of them worked. Finally, I threw in the towel and asked for help at a Java help blog. Within one hour, I had my answer. It turns out that Java automatically sets the caret to the END of text when text is put into a text area. It also auto-scrolls to show the caret: to the bottom of the screen. The solution is to disable the autoscrolling of the text area to the caret. How utterly non-obvious!
But I’m back on track now, and considering the next design issue: how should new technologies operate in the simulation? There are a number of issues here:
One big step versus many little steps: The question here is whether we treat technologies as “breakthroughs” (one big step) or a series of small improvements. While most people think in terms of breakthroughs, the fact is that most technological progress is carried out by degrees. The advance of solar photovoltaic technology, for example, has had no big steps, just lots of small improvements in the manufacturing process that reduce their cost. I’m pretty sure that I want to use the incremental approach, which means that almost every technology is already available — but to such a small degree (at so high a price or so small an effect) as to be insignificant. Technological advances during the game steadily ramp up the efficacy of the technology.
How to measure progress? This brings us to the next big question: in what units do I express progress? I can think of three off the top of my head: percentage, tons, or dollars. The percentage approach posits that every technology has some maximum level of efficacy, and continuing research pushes its efficacy towards that maximum. The flaw with this dimension is that it doesn’t address the question, “What does the technology DO?”
We could measure the technology in terms of its effect on some physical parameter: tons of pollution, exajoules of energy, something like that. Let’s use carbon sequestration technology as our example. It simply buries carbon underground. We would measure the efficacy of the technology by how many tons of carbon dioxide get buried each year. Right now that value is about 4.5 million tons, accomplished by four pilot projects. If we do it this way, then the total production of CO2 is diminished by 4.5 million tons. As the technology improves, it takes away more CO2. This all makes sense, but while it is perfectly clear in its final results (more tons of CO2 gone), it is quite mysterious in its growth. WHY would slightly better carbon sequestration technology automatically lead to more CO2 being removed? The answer here is that operators get more bang for their buck; for the same amount of money, they can sequester more CO2. But shouldn’t the relationship between cost and effect be nonlinear? That is, as carbon sequestration technology improves, shouldn’t its adoption show some sort of initially exponential growth that later asymptotically approaches 100% implementation? This gets me into far too many complexities; I think that I shall have to leave this unaddressed.
But there’s another problem with carbon sequestration technologies: they require lots of energy to run. In other words, if you have a 1,000 MW coal plant and you install carbon sequestration technology, you’ll have to divert maybe 300 MW to power the carbon sequestration, so your plant becomes, effectively, a 700-MW plant that releases no CO2. Can I really build effects like that into the simulation? I would have to have a formula that reduces coal energy supply in proportion to the amount of carbon sequestration technology in place. My energy calculation is already hairy enough. I don’t want to make it worse.
Finally, there’s the possibility of measuring the effects of carbon sequestration technology in dollars, because the whole idea of money is to provide a common factor that can measure the value of every endeavor we undertake. So if carbon sequestration technology advanced from, say, $51/exajoule to $45/exajoule, how would that change things? I suppose we could simply add that additional cost to the price of coal, but that assumes that we’re using carbon sequestration technology on all power plants. In reality, only a fraction of power plants will install carbon sequestration technology, and that fraction will grow with the progress of carbon sequestration technology. No, I think dollars/exajoule is the wrong dimension with which to measure the value of carbon sequestration technology.
But is this conclusion applicable generally? Will all technologies work this way? I doubt it. I suppose that I’ll just have to treat each technology individually.