12-03-2015, 07:37 AM
Yes, that's a purposely provocative subject line. The real question is: how important is it to see little people and vehicles moving around in your cities?
Right now, we draw buildings, trees, water, etc., but we don't actually draw the people. You know they're there because they're constantly Squawking about things (and in version 0.21, their squawks will be even more connected to what's in your colony). But you don't see them.
There is a rationale for this: the time scale is such that one simulated day takes about 30 seconds of real time. That's a speedup of 2,880. So a person walking at 3.5 mph (about 1.5 m/sec) would be moving 10,000 mph, or 4,500 meters per second. Or, about 75 meters per frame if you're running at 60 frames/second.
So if we're realistic about the time scale, you'd never be able to see them. It's all just happening too dang fast.
But the real reason we haven't done it yet is that it's hard. Unlike some other city simulation games, which have a pretty restricted camera angle, in High Frontier the angle between the camera and the ground can be extreme, due to the curvature of the habitat. This makes it quite hard to use common graphics tricks, like 2D images of people seen from various angles, to maintain performance. And if we try to use real 3D models for hundreds of little people, it's likely to drag the frame rate way down. There are probably tricks we can do, but it's going to take a fair amount of time to make it work well.
The original SimCity didn't draw people either, or even individual cars really; they just drew an animated texture of cars moving, in proportion to the calculated traffic density on each road segment.
We are going to add vehicle-bearing roads as an option in High Frontier, but you probably won't use them much, because cars really don't make a lot of sense in a space colony. But we could do something similar for pedestrian/bicycle/etc. traffic, perhaps drawing colorful motion-blurred people whizzing by.
Or, we could bite the bullet and attempt to draw individual people going about their business, ignoring the discrepancy in the timescale (because hey, it is a game after all).
What do you all think? We really want to hear your opinion!
Right now, we draw buildings, trees, water, etc., but we don't actually draw the people. You know they're there because they're constantly Squawking about things (and in version 0.21, their squawks will be even more connected to what's in your colony). But you don't see them.
There is a rationale for this: the time scale is such that one simulated day takes about 30 seconds of real time. That's a speedup of 2,880. So a person walking at 3.5 mph (about 1.5 m/sec) would be moving 10,000 mph, or 4,500 meters per second. Or, about 75 meters per frame if you're running at 60 frames/second.
So if we're realistic about the time scale, you'd never be able to see them. It's all just happening too dang fast.
But the real reason we haven't done it yet is that it's hard. Unlike some other city simulation games, which have a pretty restricted camera angle, in High Frontier the angle between the camera and the ground can be extreme, due to the curvature of the habitat. This makes it quite hard to use common graphics tricks, like 2D images of people seen from various angles, to maintain performance. And if we try to use real 3D models for hundreds of little people, it's likely to drag the frame rate way down. There are probably tricks we can do, but it's going to take a fair amount of time to make it work well.
The original SimCity didn't draw people either, or even individual cars really; they just drew an animated texture of cars moving, in proportion to the calculated traffic density on each road segment.
We are going to add vehicle-bearing roads as an option in High Frontier, but you probably won't use them much, because cars really don't make a lot of sense in a space colony. But we could do something similar for pedestrian/bicycle/etc. traffic, perhaps drawing colorful motion-blurred people whizzing by.
Or, we could bite the bullet and attempt to draw individual people going about their business, ignoring the discrepancy in the timescale (because hey, it is a game after all).
What do you all think? We really want to hear your opinion!
Joe Strout
Lead Developer, High Frontier