Sunday, August 4, 2013
Summary
(Warning: For some reason, I sense that my brain is pretty jumbled right now. I wouldn't be surprised if the thoughts come out jumbled as well )
Arrrggg I'm so ready for this simulation engine to be done!! But it keeps giving me grief. When will it end
The more I think about the abstraction engine, the more I realize that it's really a lot like energy conservation, and I'm trying to understand everything in terms of this. To build an abstract model of something, what we really want to do is find some calculable quantity, and then ensure that this quantity is "conserved" in the process of abstracting. In some cases it's stupidly-simple: thrust, mass, construction ability, power output, etc. But I'm having a very hard time understanding weapons. Again, this ties in to the attack event being the most difficult. I think weapons will pose the biggest problem for the engine - determining what to conserve and how to do so is hard when there are so many attributes that affect the behavior of a weapon. I'm starting to look at the problem of OOS simulation less as a problem of getting the logic correct and more as a problem of getting the abstract model of the world correct, which I think is an interesting take on it
At the same time, I'm still trying to understand the manner in which events "use" objects to bring about a change in the world. I've revealed that my intuition here was based on the concept of "power," and I think this is the correct direction. Today I realized that, when you get right down to it, the concept of being able to route power to different subsystems is really the exact same concept as being able to route your forces in a fight, route your construction modules to different tasks, etc. So it seems that this "power" concept is applicable at many different levels of the abstraction hierarchy. Unfortunately, the details of how the power allocators work is hurting me. You see, the "real" power distribution grid (i.e., the one used for giving energy to subsystems) has some time-varying logic attached to it. Ok, that's fine...but then, in order to be totally analogous to the way that "abstract power" is allocated, we need to have time-varying logic attached to abstract objects. This is suddenly seeming to be a big problem - not because it's hard to do, but because it means that the differential rollback system (as discussed in the last post) needs to keep track of ALL time-varying logic!!?? In essence, the entire game needs to be "undoable"
That's not something that I was anticipating, nor something that I would look forward to implementing. Is there a simpler way? Always the right question to ask...we'll see!
Every day this darn event is getting closer to completion, but it really seems like one heck of a long road, doesn't it??!
[ You can visit devtime.ltheory.com for more detailed information on today's work. ]
Post
Sun Aug 04, 2013 10:44 pm
#1
Week of August 4, 2013
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford