Return to “[Archived] Daily Dev Logs, 2012 - 2015”


Week of June 29, 2014

Sunday, June 29, 2014

Legendary day of work. The end of June is proving to be just as surprisingly crazy as we had all hoped. Once again managed to cram a lot of miscellany into the day (including several widespread improvements to the engine's handling of memory), but my heart lies with one and only one piece of work...


That's right. They're here. As of today, we now have surface-based colonies that are visible from space (on the HUD, at least) and can be landed at directly by approaching :cool: Nice.

We've also got the old planetary graphics working again. Nice.

It's awesome to be able to descend to planets once more. The planetary graphics are behind the times though, compared to the rest of the engine. That's OK, as I can continue to make strides with them when I get free moments here and there. What I really need now is a planetary interaction menu. To be more specific though, I need to bring back a 'contextual' interaction menu - for when you're docked anywhere.

More importantly, however, I need a quick implementation of colony tasks so that I can start fueling a 'seed' economy for the universe, from which the real economy can then take off.


One More Day!

Sorry guys, but I really need to sleep, and there's still a bit more to be done. I'll be taking one extra day for the update this month!

See you tomorrow :) :wave:
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford

Re: Week of June 29, 2014

Monday, June 30, 2014

Sorry for the late dev log folks! Things are a blur here as usual, but are looking to be in good shape. Hoping to begin filming within the next few hours, which puts the update out around evening-ish. I'm biased, but I think it's going to be a good one.. ;)

Always feel I need to reiterate that, during the end of the month, millions of things are going on that don't get said in the logs. Picked a few that interested me today, though:

Colony Types

Today I implemented types that encode the properties of colonies. At universe generation time, a list of standard colony types can be generated or loaded, after which colonies are spawned on planets according to a probability distribution over this list. Farming colonies, mining colonies, military colonies, etc. I haven't actually created the list yet, but that's just content and I'll end up doing it in UDF later.

Colony Tasks

I also implemented a few specialized tasks that pertain only to planetary colonies. These tasks will be the force that drives all activity on colonies. Things like in-place drilling (which is conceptually distinct from mining, mind you), farming (which essentially just spits out stuff with no input requirement, but will later be subject to planetary conditions like droughts), and random chip minting. Note that these tasks will likely not be available for the player to control until the post-release addition of "own your own planet" content :) As it stands, I plan to keep the colony tasks fixed (i.e., a farming colony is always a farming colony).


Pretty sure this experiment won't end up looking good enough to be unveiled in this video (sadly, neither will the warp tunnels). But at least you know I'm working on them ;)

Engine Trail Polish

Wow, I'm embarrassed at how long this took me to get right, but apparently it's a harder problem than I realized. Getting engine trails to work perfectly with frame interpolation was remarkably difficult. I got the math wrong about 10 times before I finally hit it. Wrong math results in trails that don't perfectly align with the thruster exhaust port or trails that do not fade smoothly in / out.

The only reason I mention what may seem like a triviality is because it makes me think about why this particular issue took me so long, when I regularly do things like implement large new systems in the same time that it took me to squash a seemingly-easy math issue. I guess what it tells me is that frame interpolation is hard to get right when the structure of the scene is changing. That's what's happening with trails: every frame a new piece of the trail is being created where the thruster is. This means that, when you interpolate between two frames (which we do to keep the game silky smooth), you're interpolating between two very different worlds: one in which a new piece of the trail exists, and another in which that piece doesn't exist at all. Surprisingly difficult to get everything to work out. Anyway. Just thought it was an interesting conceptual doodad.


Wish me luck ladies and gents :geek:
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford

Re: Week of June 29, 2014

Tuesday, July 1, 2014

Wow...legendary crash! That may be the longest I've slept after a dev update :D Good morning :geek: :wave:

Yesterday was absurd. The amount of progress made before recording that update was just...crazy. Heck, the fact that colony landing came together in two days is pretty crazy as well. I'm hapy with June :) Let's have a look at some of what happened yesterday...
  • Fixed long-standing (and rather sneaky) glitch with pulse lasers spawning in a slightly wrong location when fired from fast-moving ships
  • Implemented basic docked UI for accessing object's facilities
  • Improved contrast of procedural metal textures
  • Improved colony surface visuals
  • Started work on procedural city generation
  • Improved the way that engine trails fade out
  • Improved the way that zone content works: some content is generated at system-load-time and can be seen from afar. This content uses the same generating rules as the dynamic content, so it makes for a primitive distant viewing mechanism. Definitely not perfect, but at least we can see where zones are now and loosely what they're comprised of.
I wish I could remember all of it. I know that's not even close, but I was pretty delirious from lack of sleep so who knows what all actually happened :roll:

Now, about the delay. So far people have been way more understanding than I even expected. I can't tell you how much I appreciate that. It killed me so much to announce that...I kind of just wanted to curl up on the floor with my eyes closed after I hit submit on that update. But...I'm afraid I don't have a choice. I can't finish in a month or two. I can't release the game as it is. And, as much as I wish I could, I can't really conceive of any way to work faster / harder. So...I hate the delay, but I just don't know what the alternative would be. Really, thanks for your patience :)

Alrighty! Another month, another day off! Think I'll go swim in the river today, as it's quite nice and sunny today. Also, my monitor tan is a little unflattering now that we're in the thick of summer :oops:

See you in July! :wave:
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford

Re: Week of June 29, 2014

Wednesday, July 2, 2014

Well, had a refreshing and fun day off! I made it into the park, swam in the river, got a little sun, and kicked back with some beer and TV in the evening. Even had some friends come visit me (What! Human contact!!?? :roll: ). Didn't get to do any gaming, which is a shame because last month's Starbound escapades were a whole lot of fun. But there's always next month.

So July is upon us. I don't know exactly how I'm going to do it, but I need to double my productivity. I need to work faster and smarter than before. Maybe it's time for manager Josh to take a stronger grip on this project and be a little harder on coder Josh. We'll see. But something needs to happen. I just have to figure out what that something is :geek: I'm still trying to find a good solution for online planning utilities, because I would still love to share my master plan with you all. But so far I've tried about 10 different ones and I just can't find anything that feels right :( Perhaps I'll continue the search today...

At any rate, I'm really looking forward to this month. With a script engine, zone tech, and all the other LT tech goodness...there's a lot of potential for a fun time. In tomorrow's dev log I suppose we'll talk about the focus of July. But for now, it's time for planning and thinking :)
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford

Re: Week of June 29, 2014

Thursday, July 3, 2014

I'm excited. It's July. It's going to get intense this month, and I've got a lot of fun stuff on my plate.

In June, I started an interesting paradigm of trying to hit one element of content, polish, and tech every day. Despite not achieving it every day, it was a good driving force and motivator that helped me spread my focus in an effective way. In July, I will do the same. This time, however, I'll focus on content, playability, and polish. The introduction of playability and dropping tech as a focus means that I'm shifting my focus more towards a playable game and looking ahead to the BETA release.

Ideally, by the end of the month, I'd like to see something of a similar 'playability' level as LTP. Of course, it wouldn't just be LTP as the content would be real rather than randomly-generated. This means that, in July, I'll be looking to finish off playability features like market interaction, docking, and re-introducing fleet control. It's a lot to swallow, but the truth is that all the underlying tech is already there, as these things were already roughly implemented for LTP last year. This time they'll just come back bigger and badder than before :cool:

No time to waste, so let's get started. Here we come, July!! :D :geek:

PS ~ I'm rendering the HQ version of update #18 right now and hope to have the torrent up by the end of the day :)
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford

Re: Week of June 29, 2014

Friday, July 4, 2014

Great day, although perhaps not what you would expect! As I mentioned a few days ago, I feel that bringing Manager Josh into the spotlight a bit more in July would be a good idea. So that's what I did today - gave myself (another) full day to work solely on the project management side of LT (not in-game projects mind you, but LT itself :lol: ). Reassessing my progress, the tasks remaining, and the timeline for completion of those tasks.

Managing LT

I tried several new online project management solutions, but at the end of it all still couldn't find one that hit the spot. (Seriously, is a clean, hierarchical todo list with deadlines & sharing options too much to ask for??) So instead I've gone back to my old online mind mapping software and revamped my master planning tree. I've also purchased a premium membership so I can export and share the plan with you all! As soon as I feel that it's ready for the public eye I'll post up a link :) Should be pretty cool to be able to see the guts of LT's management.

It's rather interesting to me how the act of planning brings up some fairly deep conceptual questions related to LT. One of the most common questions I ask, for example, is how to structure the planning hierarchy - by object relations? By 'category' of task? For example, one way to structure a plan is by objects. 'City Generation,' for example, would be nested under 'colonies' which is under 'planets.' But you might also consider that to be a graphics task. It could be considered as being under 'generating algorithms' which might be under 'graphics.' Both of those hierarchies have their own strengths in terms of showing relationships. This is really quite similar to the questions that I often ask about the nodal interface in LT - for the most part, it's structured by object hierarchy (the first example). But there are times when we might want to organize UI nodes differently for a different task. Consider, for example, that 'power allocation' could be considered a property of a given hardpoint. Yet, we all know it makes more sense to have a dedicated power management UI that simply exposes the power allocation controls of all hardpoints on your ship. That structure is more convenient for the task! What exactly am I getting at here? I'm not sure!! :lol: But I feel that it's something deep. Something about how data can expose itself in different structural forms for different purposes. Is there a way to formalize and automate that idea? :geek:

At any rate, I've now got my little (well, not little :roll:) task hierarchy for July all laid out. So Manager Josh has done his job, and it's time for the monkeys to get cranking :D

PS ~ Happy 4th of July!

PPS ~ Sorry that HQ video didn't come through yesterday. I'm making the torrent as soon as I hit submit on this log and will post ASAP :)
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford

Re: Week of June 29, 2014

Saturday, July 5, 2014

Starting to ramp up - I really want to get some momentum built for July. It always feels like I start off too slowly at the beginning of the month and cram too much in at the end. Ideally, this month I'd like to cram too much in at the beginning and then way too much at the end :lol: :ghost:

Playability: HUD Target Information

I'm working on a HUD widget for at-a-glance information about targets. It's been too long coming, but finally I'm getting around to it! I'd love for this widget to include a subtle, holographic 3D view of the target. To do so I will need to introduce a bit more functionality to the node UI, but that'll also be a good thing to have for the ship hardpoint display (which was, of course, previously displayed in holographic 3D...but you know how quickly things change in the LT engine :roll: )

One thing I still wonder about is hardpoints. I've gone through several iterations of hardpoint HUD widgets, and still am not confident that I've landed on the right solution. IMO the player's hardpoint display should be no different from the hardpoint display of selected targets (perhaps just bigger). But how best to display them? In LTP it was a row at the bottom of the screen. In update #14 (I think) it was a small grid to the right. Currently it's an even smaller row at the bottom, with far less information than LTP (because LTP felt too bulky). In Freelancer it's a listbox in the corner. What's the right way?? :shock:

Polish: Imposters & Zone LOD

Ehh...yeah...I guess it's really tech, but we'll call it polish since I need to hit polish this month, and zone tech is already 'working' (just not in a very polished way) ;) Today I started working on the technology that I'll use for rendering zones from a distance. I've settled on using billboarded imposters and pre-generating billboards for the larger zone content. I think this will look really nice, and should also be easy to configure in terms of quality.

The tech for doing it isn't trivial, as I have to get the engine to generate lightweight imposters for arbitrary game entities. The nice thing, though, is that, if this tech works out as well as I think it could, we could see a lot more benefit than just zone LOD from it. We would be able to use this tech for ALL LOD, which could seriously improve framerates while boosting the amount of visible content in the game.

Very very excited about this final piece of zone tech, although, as stated, it won't be trivial. I'm still working on the imposter generation phase right now. I'm particularly looking forward to seeing how planetary ring zones might look with hundreds of thousands of lightweight asteroids... :geek:
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford

Re: Week of June 29, 2014

Summary of the Week of June 29, 2014
  • New implementation of planetary colonies (now visible from space!)
  • Fixed and re-integrated colony landing
  • First attempt at procedural city algorithm for colonies
  • Billions of small improvements and tweaks during the final sprint
  • Started working on imposter tech for zone LOD
  • 18th successful dev update!
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford

Online Now

Users browsing this forum: No registered users and 1 guest