Tuesday, August 26, 2014
What a two weeks! I knew it would be good, but I couldn't have realized just how much this was what the doctor ordered. It was fantastic. For two weeks, I let the tension of two years of continuous pressure and expectation wash away from my neural circuitry. Every day I felt more and more stress being exhumed and exhaled from deep within me. It was glorious.
Many times during those two weeks I felt the compulsive urge to do something productive. I felt a sudden pang of guilt for not making some massive conceptual breakthrough, for not sitting down and banging out a piece of code that would change LT forever, for not hopping on the forums and posting some grand anthology of gameplay gems or technical wizardry. But each time, I stifled the thought. I reminded myself that this was the entire point: to get away from that constant feeling of "I need to make something happen now
." To get away from the constant cycle of "I need to make today's devlog impressive" / "I need to make this month's update impressive" / "I need to make LT impressive." After two years, that pressure and expectation had become so deeply ingrained in my thought processes that I felt it hard to leave behind. But I did so, and I think it's done wonders for my mental state. I didn't touch LT for two weeks. No theory, no code. A complete detox. And now that I'm back, I feel better than ever about approaching work again. I've let go of the pressure and expectation, and can once again look at LT as I did in the beginning: as my love, my baby, my dream. I can once more let my passion take me over and guide my hand in the code, rather than let the pressure of delivery force my hand into making sub-optimal management decisions. It was honestly a very, very good move to get away for two weeks.
As for the actual vacation, I'll just tell you that I enjoyed it more than any vacation I've ever taken before. Eating, sleeping, seeing new places, and spending time with fantastic new people. I still won't divulge where I went, but I'll say that it's 12 hours timezone difference from here. So that should narrow it down a bit
At least you can determine on which continent I was...
Now listen, to be completely honest, I did
do a bit of work on the flight over. I was bored and it was a long flight
I resumed my LTSL->C++ conversion work, because it's fun and exciting to me right now. I made huge progress and have already got some almost-functional C++ modules coming out of LT scripts. As I mentioned before, I don't think that's going to play a big role in LT 1.0. But for my future work, I anticipate that it will be a game changer. I don't ever want to write a full application in C++ again. Once I've got a solid pipeline for conversion from my own custom language to C++, I won't ever have to. That day is rapidly approaching
Not surprisingly, the 26th consisted of a good deal of unpacking and jet lag-induced sleep. Nonetheless, I was still able to steal plenty of hours for work. Upon returning, one of the first things I did was launch the game. I knew it would be a neat experience - having not seen LT for two weeks - but I didn't realize how hard it would hit me. Just flying around a system was a near-euphoric experience (at least for 30 minutes or so). There can be no doubt that I have lost nearly all objective perspective on the game - seeing it all day everyday. But taking a 2-week break and then seeing it for the first time...I was overcome with happiness and pride. It's such a beautiful game. I love it. I love the universe. I love the way my ship handles. I love the sleek interface. I love the scale and the grandeur. I love the knowledge that everything is generated by the computer. I love my game! I really never would have imagined that it could come so far. It makes me so excited now...so excited to know what it can become. With more hours, with the help of rapid iteration in LTSL, with some more deep conceptual thinking...it can become everything and anything. Freelancer, EVE, Homeworld...scripts could make it any of those (but procedural!)
Needless to say, the sadness of vacation ending has been quickly washed away by the excitement of the rest of the year of LT development. I'm refreshed, I'm inspired, and I'm completely hyped for what my game will become.
As for today's work, I looked carefully at the things that are blocking me from that massive content sprint of which I keep speaking. Realistically, I still face some blockages. There is only one thing to do: tear them down as quickly as possible, while simultaneously attempting to sprint in all directions. Remove every stray pebble from the road before we race down it at 300mph. I started looking at writing the entire HUD in script so that I can iterate quickly and finally hammer down those HUD widgets that have been bugging us all for eternity. When the pebbles are gone, the LTSL will look twice as elegant as the C++ version. But that's not even the point: the point is the fast iteration. Anyway, here's what happened today:
- Exposed ALL UI nodes to LTSL
- Implemented direct field access in LTSL
- Implemented object component access in LTSL
- Implemented automatic type printing support in LTSL (easy debugging!)
- Exposed universe creation to LTSL
The last one is a bit interesting. I would like to move towards a world in which the main LT executable is simply a script invocation. From the script, I would then create the interface, display the main menu, etc. Again, rapid iteration + scripting flexibility. Modders could essentially change the entire game. The LT executable would be little more than an execution environment for the game's script.
The road ahead is no longer frightening or daunting. It's exciting. It beckons me ever closer to the finish line. True, I wish I could turn back time. I wish I had another two years, simply because every month brings so much more raw power and potential to the game. But I don't. That's OK - we all know that LT 1.0 won't be the end. It's time to look toward the finish line, accept what will and won't be there, and cross it.
Many long days of code ahead. Pack some snacks
PS ~ Hope you all didn't suffer too much without your devlog fix