As usual, it's not learning about technique X, Y, or Z that's particularly useful. It's learning things about how I code.
This is the first time trying to generate a highly generalized system has come back to haunt me. (Remember when I said that making the L-system parametric took too long? That's why. I over-engineered the first system to the wrong specifications.) I need to find the line between writing general code and writing code quickly.
I've learned that my technique of not getting too far ahead of myself needs to be staunched a little bit. It's really hard to work on something if I don't know what I'm doing. So, I need to loosen the reigns a little bit, an let myself try to figure out problems I might eventually have, instead of just thinking about immediate issues. This is why I'm spending more time figuring out how I should generate buildings, instead of writing it--I haven't let myself get that far ahead, when I really should have.
I've learned that it's a bad idea to build things that have to span multiple languages. Those of you who have 'been in the industry, probably just said "DUH" to their computer screens.
The most bitter pill is that I need to learn to talk to people. I hate most collaboration with a passion--but spending a few minutes talking with someone who understands aesthetic mathematics to some degree bounced my theoretical constructs forward significantly. I've tried all-out collaboration before, and it doesn't work. People get more caught up in the social aspects, the allocation of work, the trivialities of how to solve X, Y, or Z, the endless work of making ideas clear... and nothing gets done. In the past, I've believed that a human sounding board can be easily replaced by taking a walk--it frees up mental blocks, and generates ideas. But this doesn't mean that collaboration is useless, or entirely replaceable, and--to my intense irritation--I need to figure out what ratio of collaboration to working alone is most efficient for me.
Time spent working on this fairly small-scale example is expanding my though processes about L-systems significantly. By the end of the quarter, I'm not going to have anything amazingly impressive to show. I'm going to have another tool in my kit, though... one that is very powerful. Once I'm unleashed from deadlines, from the need to have something to show for my efforts, I think I can generate some fairly impressive things with them. So, despite the lack of visible progress, I think invisible progress has made this project a smashing success. I've 'been learning, which was my goal all along.
This is the first time trying to generate a highly generalized system has come back to haunt me. (Remember when I said that making the L-system parametric took too long? That's why. I over-engineered the first system to the wrong specifications.) I need to find the line between writing general code and writing code quickly.
I've learned that my technique of not getting too far ahead of myself needs to be staunched a little bit. It's really hard to work on something if I don't know what I'm doing. So, I need to loosen the reigns a little bit, an let myself try to figure out problems I might eventually have, instead of just thinking about immediate issues. This is why I'm spending more time figuring out how I should generate buildings, instead of writing it--I haven't let myself get that far ahead, when I really should have.
I've learned that it's a bad idea to build things that have to span multiple languages. Those of you who have 'been in the industry, probably just said "DUH" to their computer screens.
The most bitter pill is that I need to learn to talk to people. I hate most collaboration with a passion--but spending a few minutes talking with someone who understands aesthetic mathematics to some degree bounced my theoretical constructs forward significantly. I've tried all-out collaboration before, and it doesn't work. People get more caught up in the social aspects, the allocation of work, the trivialities of how to solve X, Y, or Z, the endless work of making ideas clear... and nothing gets done. In the past, I've believed that a human sounding board can be easily replaced by taking a walk--it frees up mental blocks, and generates ideas. But this doesn't mean that collaboration is useless, or entirely replaceable, and--to my intense irritation--I need to figure out what ratio of collaboration to working alone is most efficient for me.
Time spent working on this fairly small-scale example is expanding my though processes about L-systems significantly. By the end of the quarter, I'm not going to have anything amazingly impressive to show. I'm going to have another tool in my kit, though... one that is very powerful. Once I'm unleashed from deadlines, from the need to have something to show for my efforts, I think I can generate some fairly impressive things with them. So, despite the lack of visible progress, I think invisible progress has made this project a smashing success. I've 'been learning, which was my goal all along.