Page 1 of 1

Week of August 3, 2014

Posted: Mon Aug 04, 2014 7:49 pm
by JoshParnell
Sunday, August 3, 2014

Hmmm. It's strange. I always have such big plans for my day off. Yet, somehow, sleep inevitably ends up consuming rather alarming percentage of it :lol: I slept for far too long today. But it felt so right :)

Other than that, I went out and did a lot of preparation for my big August vacation. It was a productive day and I'm now ready and prepared for my mental break! :D Still, I wish I had been able to cozy up to some gratuitous LTSL work.

Well, the night's not over yet. If I'm lucky I might still be able to squeeze in a few hours of fun compiler work and/or Skyrim and/or Freelancer before sleep takes over!! :geek: One can always hope :)

Really looking forward to the start of August's work tomorrow!! :wave:

Re: Week of August 3, 2014

Posted: Tue Aug 05, 2014 7:53 pm
by JoshParnell
Monday, August 4, 2014

August is here! :D

As usual, I took the first work day of the month to step back, meditate, evaluate my progress, and look toward the master plan to see how things are coming together. With last month's work it's hard not to be excited about what August holds, despite the fact that I'll only get about half the work time that I usually do. In light of that, I've designed my monthly plan around one and only one thing: content. Instead of several focuses, I've decided to just drill into the content in August. LTSL has given me the green light, and now that I feel so comfortable iterating with scripts, there's no excuse anymore to not pack this universe full of stuff - whether that means real interfaces, more ship algorithms, more station algorithms, more planet types, more system generator functionality, more AI...well, hopefully all of the above! :geek:

It's going to be an exciting month :D It may even be the most exciting from my perspective, since the energy barrier for writing content has been reduced so drastically by LTSL.

On the remaining few hours of my day off, I did get a chance to play with some more LTSL fun. It's gratuitous work, which is why I felt that it belonged on my off-day. But I started writing some functions that emit LTSL expressions in C++ code format. I'm hopeful that, someday, this might lead to me being able to integrate really good scripts seamlessly into hard code. Whether that happens before or after 1.0 is not so important since, as I said, it's a bit gratuitous. Still, the idea that I could quickly prototype a piece of functionality in LTSL and then automatically retrieve the ultra-fast C++ version of that code once I'm satisfied with it...well, it's seductive :) I'm certain that it's possible, but it may take some interesting neural bending :geek: It was fun work, but I've got a ways to go before I'll see automatic LTSL->C++ conversion. I look forward to my next day off...

Going to get that post about my vacation up soon so you all know what's going on (but briefly: I'll be gone (as in gone) for two weeks starting on the 12th). Also going to get on top of those weekly updates within the next day :)

PS ~ Oh, yeah, that HQ video :3 Whoops...actually gonna remember it this time... :angel:

Re: Week of August 3, 2014

Posted: Wed Aug 06, 2014 8:38 pm
by JoshParnell
Tuesday, August 5, 2014

If first days set the tone for a month, then I'm surely going to enjoy August :)

This month we're probably going to be seeing a lot of condensed devloggery in the list format, both because the content work is likely to bring many days with lots of small/medium changes, as well as the fact that I would like to economize my limited time this month. So, I present you with the first devlog list of August!
  • Continued to bring system generating algorithm into LTSL - almost done!
  • Worked on the existing station-generating algorithm in LTSL...having entirely too much fun
  • Working on an implementation of persistent script variables - I want to make it easier to write update logic and AI tasks in script, and I'm going to require a better way to handle persistent variables (for now I've just been passing around a 'dictionary' of variables as a temporary work-around)
  • Ported many of the existing icons to LTSL, wrote a few new ones
  • Ported several of the smaller / placeholder model generators to script, including turrets, transfer units, weapons
  • Working on figuring out how to port the universe generator to LTSL :D This one's a bit harder than the system generator, as there's more technical magic that goes on...I'm trying to figure out the best way to handle it in script :)
Yes, I just can't tell you how good that fast iteration feels :lol: :geek:

Re: Week of August 3, 2014

Posted: Thu Aug 07, 2014 8:28 pm
by JoshParnell
Wednesday, August 6, 2014

Honestly, not as productive of a day as I wanted it to be - I had to go out and get some more vacation-related items that I forgot about on my day off. Still, I'm pushing forward with content and LTSL! :)

Dot Notation in LTSL

One slight inconvenience that has bothered me a bit about LTSL is the pattern that member functions are basically written as (memberfn object args). In other words SetPos myShip (Vec3 0 100 0). There's no denying that the 'dot pattern' introduced by object-oriented languages is a nice convenience: myShip.SetPos (Vec3 0 100 0). It just feels nicer. Today I have implemented some automatic semantic conversion code in the LTSL compiler that makes the two equivalent. This means that (expression.subexpresion args) is equivalent to (subexpression expression args). So we can say things like system.AddInterior myShip, rng.Gaussian, etc. It definitely helps with the readability of the ship generator :)

---

As much as I don't want to work on any new tech this month, I have to admit that I am severely bottlenecked at this point by lack of custom data structures and, to a lesser extent, lack of persistent script variables in LTSL. It's what's really holding me up from pushing through the colony logic, which is currently what's holding up the AI work, which is what's holding up...well, you get the picture. A cascade of bottlenecks :o So, with that in mind, I think I'm going to just get in the zone and implement it all right now after I post this log. I'll try to be quick about it so that we can get right back to content :)

:wave:

Re: Week of August 3, 2014

Posted: Fri Aug 08, 2014 8:49 pm
by JoshParnell
Thursday, August 7, 2014

Yikes, yet again a day of less productivity than desired. This time, though, it wasn't my fault!!! :oops: The house I'm staying in sprung a leak, which scored a critical hit on the ceiling, and thus I was treated to the sight of having a moderately-sized chunk of the ceiling literally fall out while I was taking a shower. Fun times :shock: :ghost: Luckily, the plumbers were able to fix the problem. The same can't be said for the poor ceiling, but we'll get that dealt with sooner or later. I'm just glad the leak wasn't over my computer area :ghost: Needless to say, this random event did claim the lives of many innocent would-be coding hours.

Yes, coding can be a dangerous affair :lol: :ghost:

Despite that little bump in the road, I did do what I said I would do yesterday before going to bed: I had a nice code jam on LTSL custom types! A new meta-expression that defines custom types + some new engine code to handle those types + a lovely revision of how code / scripts / functions / types are stored + some new pass-engine-arguments-by-reference code means that I'm actually now in good shape to solve the problems that I had said were holding me up from writing serious game logic! Custom types + persistent data means...more colony work, here I come :D

I'm really hoping that the universe isn't trying to play "let's see how many ways we can stress Josh out before he goes on vacation." I'd like to use my newfound toys for more content work tomorrow... :problem:

Re: Week of August 3, 2014

Posted: Sat Aug 09, 2014 8:59 pm
by JoshParnell
Friday, August 8, 2014

Heh. I guess I got my answer. Go back and read the last paragraph of yesterday's devlog, and you'll understand exactly how ironic this one is. Clearly, the universe is out to get me this month :roll:

As if the ceiling falling in wasn't enough, today I woke up and was treated to the alarming sight of puddles of water seeping out of the baseboards of the house :shock: My hope was, of course, that the leftover water from yesterday's incident was just trying to evacuate and find a new home. After an hour or so of diagnostics, I was dismayed to find that, against all odds, a new leak had indeed manifested itself on the main AC unit of my house. The math Josh in me scoffs at the idea of the first two serious water problems in two years occuring one day after the next, all within a week of me leaving for vacation. The towel-drying, floor-mopping Josh in me grudgingly curses this sad little reality :ghost:

Thankfully, after hours of replacing wet towels and calling plumbers, I queried the higher intellect in me for a solution, and ended up devising what we in the software industry call a duct-tape solution. Except that in this case, there actually was duct tape involved. Duct tape, a carefully-carved Arizona green tea jug, and a large metal pot. Rejoice, for my towels suffer no more! I have reduced this problem to the problem of emptying the pot every few hours. My dryer thanks me. The plumbers will come on Monday and, universe willing, fix the last of my water issues.

Now, if I were a casual devlog reader, I would be getting skeptical at this point. Two major residential, work-hindering problems in two days? Really? Trust me. It hurts me more than it hurts you :lol: Despite this absurdity, I swear that I'm telling nothing but the truth. Now, if it were to happen again tomorrow...then I would really start to doubt the integrity of the logs...but...surely... :shifty: :shifty: (please, write a letter to the universe and ask it to have mercy...)

Despite once again having my work interrupted by flooding, I did find time to finish some work that I started yesterday on converting the LTSL execution engine to use raw C and void*s for script data rather than the convenient C++ 'Any' construct that I had been using. I am slowly easing into an optimized execution engine. This (rather large) optimization doubled the performance of LTSL scripts in general (that number, of course, can be higher depending on the contents of the script). To be honest, I was expecting more than double performance from this optimization, so I'm slightly dismayed. Still, it's one more step towards supporting huge numbers of mods running simultaneously in LT :) No, I honestly didn't work on content. I was just not in the creative zone, what with having my environment sieged by water.

Seriously. August has been an environmental disaster so far. I yield, universe, I yield. Take my wallet and leave me alone :shock: :ghost: :ghost:

PS ~ I really do apologize about the last two days' dev logs. I'm just being honest though :shock: Bad luck strikes us all I guess...for me, well, I suppose I like to get it all out of the way at once???

Re: Week of August 3, 2014

Posted: Sun Aug 10, 2014 8:52 pm
by JoshParnell
Saturday, August 9, 2014

Finally! It would seem that your prayers worked and that I've finally been cut some slack by the universe! No leaks or residential problems today to detract from work, which means I finally got that 'content' day of which I've been dreaming. Boy, was it fun.

I'll admit, content work still bothers me because it's not as 'big' as conceptual work. There are no huge breakthroughs, there's no moment where I get to say "LTSL works!" or "the new AI algorithm works!" Still, there's no denying that it's more fun. Here's a little sampling of the fun stuff that I sunk my teeth into today :) :
  • Worked on generating colony graphics in script :squirrel:
  • Preliminary (working) system generator in LTSL! It doesn't quite have everything that the old one had (namely, we're missing planetary colonies from the LTSL generator due to some technical limitations that I'm going to have to overcome). But it works! I've already enjoyed playing with the system layouts in script :) Also, commenting out most of the script led me to the startling realization that the game starts frighteningly-quickly when no content is added to the system (I guess that should have been obvious?) I'm excited about this, because it means I can test non-content-related quick hard-code changes much faster!
  • Optimized ship hardpoint placement to take significantly less time (the game starts much faster!)
  • Exposed more mesh interfaces to LTSL and had a go at new asteroid-generating algorithms in script. Although I'm already pleased with the asteroids, it's nice to know that it's possible to substantially change their look. I honestly just can't wait to see what kinds of strange universes modders will come up with :)
  • Played about an hour of Freelancer to revive my spacey inspiration (yeah, I know...but sometimes you just gotta go back to the source! What a great game :D )
Fun times with LTSL and content :D

---

Really need to post details about my vacation soon...considering that it starts in two days :lol: Bah...so busy...always so busy...send me your free time please :shock:

Re: Week of August 3, 2014

Posted: Tue Aug 12, 2014 3:50 am
by JoshParnell
Summary of the Week of August 3, 2014
  • Continued work on station generator, this time in script!
  • Implemented dot notation in LTSL
  • Survived not one but two major water leaks in the house :ghost:
  • Finally got the system generator working LTSL!
  • Ported many of the existing content algorithms to script in preparation for rapid iteration :D