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

Post

Week of August 25, 2013

#1
Sunday, August 25, 2013

Summary

Not going to lie, today was more or less a no-work sick day. I slept for the greater part of the day, which was much needed given how I was feeling :cry:

For what remained of the evening, I continued with my attempts to tighten up the type usage of the engine. Believe it or not, this whole process is (loosely) related to the conversion to double-precision...which is, of course, a valuable endeavor! :D

I also factored some of the math-related code into a cleaner format to eliminate a bit of code here and there (as well as tighten up type usage of the math). Nothing very interesting, unfortunately.

As of tonight I'm feeling significantly better and hoping that I'll be "back at the office" tomorrow ;) Thanks for your patience!! :monkey:

[ You can visit devtime.ltheory.com for more detailed information on today's work. ]
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Week of August 25, 2013

#2
Monday, August 26, 2013

Summary

Back on track! After that brief little period of getting kicked in the butt by a cold, I'm at least feeling better enough to put in the hours again :D

I'll start with the most exciting development first: I successfully compiled for the first time with -Wconversion (meaning the engine is squeaky clean and type-safe)!! Oh, sorry, I got my papers mixed up - actually that was the least exciting bit...my mistake :oops:

I rigged the old in-engine profiler back up (somehow that thing always seems to disappear while I'm not looking :think: ) and used the (surprisingly-accurate) results to identify areas that were killing performance on my Mac. Indeed, disabling bloom and god rays shot my framerate up to what felt like 60 (had I been proactive enough to actually enable those fancy FPS graph widgets I made last week, I might actually know for sure :roll:) That's definitely inspiring: it's nice to know that the bottleneck is quite concentrated and can be removed easily by turning off a few graphics settings. With those features off, the Mac version (again, running on a lowly Intel HD4000) runs quite smoothly and still looks great.

Speaking of profiling, I finally managed to track down and uproot a memory error that's been causing crashes-on-exit for a while now and was, incidentally, linked to the profiler...whoops :oops:

In slightly-more-interesting news, I think I've finally come up with a formulation of the abstract sim architecture that I'm happy with! This time, I'm being more conservative with how the abstraction works and defining "error boundaries" that cannot be crossed. In this way, my idea is that the engine will only selectively perform abstraction on entities that are "ripe for the picking," so to speak. We'll see if this architecture lasts more than a day and, if it does, well...that may be a first :shock:

Steady acceleration into this final week...that's the plan! :cool:

[ You can visit devtime.ltheory.com for more detailed information on today's work. ]
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Week of August 25, 2013

#3
Tuesday, August 27, 2013

Summary

Another grab-bag day, but a fun one nonetheless.

If I had a focus today, I guess I'd have to say it was stations. I spent a while implementing the math for radially-symmetric objects (intending to use it for radial stations). I've now got a general-purpose function that can take any scalar field and use it to produce a radially-symmetric field. The math for it was trickier than I initially expected, but it was worth getting it right: the effect looks fantastic. The interesting thing is that it takes an "angle" factor, which controls the angular size of the piece that is repeated. In the limit as the angle factor goes to zero, the field essentially becomes a "solid of revolution" - a perfectly-rounded shape. Anyway, I've used this to make some quick-and-dirty stations (still very ugly).

I'm also trying to finalize the architecture for stations and how they're going to work logistically. After thinking long and hard about it today, I'm pretty confident about a few things: first, stations will be extensible, meaning you can order new modules and attach them to your existing station. Modules will contribute more hardpoints, more storage space, more docking ports, etc., depending of course on the type of module. Second, modules will not be individually-destructible. This was really the key question, and I've decided that the (arguable) benefits just aren't worth the extra code and gameplay complexity. The problem with modularly-destructible stations is that you introduce this very strange type of object to the game - an object which is subject to being splintered into shards at any moment. On the one hand, you want to treat your station like a single entity: see all the cargo, access all the hardpoints, etc. On the other hand, when a module is destroyed, which part of the cargo is lost? :crazy:

Now, just because stations aren't modularly-destructible doesn't mean that we've taken away all strategic gameplay! Hardpoints, as always, are fully destructible. So the weapons can be taken out. More importantly, things like power generators, sensors, and construction modules are all hardpoints as well! Up until now, they've been "invisible" hardpoints (hence, not destructible). But we can certainly change that. And I think we should, at least for stations. Having, for example, the power generators or sensor array exposed would certainly increase the strategic gameplay around station sieges. Bring down their power grid. Blind them to incoming forces. Maybe just cripple their production by hitting the construction modules. IMO, that's where all of the interesting gameplay is. If we take all of the hardpoint functionality and make it destructible, having actual modules be destroyed seems superfluous. Feel free to correct me if I'm wrong about that ;)

And, finally, I managed to get the last insight that I need to finish the BIH tree building algorithm today, so I started doing so and, with luck, will have it done tonight. I'm interested to see how it works :)

[ You can visit devtime.ltheory.com for more detailed information on today's work. ]
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Week of August 25, 2013

#4
Wednesday, August 28, 2013

Summary

Absolutely killer day...I was on top of my game and won't apologize for it ;)

The early morning saw an implementation of camera-space wrapping for particles. I've needed something like this for a long time. Part of the great "illusion" of flying through space is provided by little bits of dust/debris/alien organisms/whatever that fly by while you're moving. LT implements this effect, but has previously done so in a seriously sub-optimal way: by streaming particles around the camera, but not forcing them to remain in proximity of the camera. This has a few consequences: when you're going fast, the particles can't keep up and you end up not being able to tell that you're going fast. When you look behind you, if you're perceptive, you may notice a lingering trail of particles, which is ugly and breaks the immersion. Today I implemented camera-space wrapping, so that certain particle types can be instructed to always remain within a certain distance of the camera (if they fall outside of this distance, they'll simply wrap back around to the other side). The result is a lovely boost in the immersion of flying around, because particles can now keep up no matter how fast you're flying! :D And no more particle trails behind you ;)

Next, I turned my attention to the asteroid streaming system. I re-implemented density variation, this time with the goal of stopping asteroids from appearing too close to planets or warp lanes. After a bit of math, the effect was achieved! Everyone should be happy to know that warp lanes are now much safer since asteroids can't spawn in the middle ;)

In the late afternoon, I decided that I was tired of the sometimes-blurry font rendering of old. So I rewrote the system that handles UI labels (which, in turn, render text to the screen) to load correctly-sized glyphs for different label scales. The result is much higher clarity on all visible text. I also found a new font which I like even better than the old one. In addition, the new font is in a more modern file format which allows it to render crisp text at larger sizes than the old one. Text in LT has never looked so crisp! :D

Finally, I'd be lying if I said I didn't work for a few hours on tweaking various aspects of the interface graphics, including panels, icons, and shadows. Made great progress on all of the above! Between the text clarity and the improved panel/icon/shadow graphics, the UI really has never looked so great :thumbup:

Hoping for another big day tomorrow to finish off the month ;)

[ You can visit devtime.ltheory.com for more detailed information on today's work. ]
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Week of August 25, 2013

#5
Thursday, August 29, 2013

Summary

Need to be brief today and get back to preparing for the video ;)

I spent the greater part of the morning researching various properties of real-world objects in an attempt to ground LT in a bit more physical accuracy. My primary focus was balancing material density, mass, and thrust values. I'm pleased to say that the numbers behind LT now actually make some amount of sense :D Learned a lot in this process, but the most surprising was the mass of the International Space Station. It clocks in at ~400 tons, which is amazing when you consider that a space shuttle is ~2000. Hmm, not really the hulking thing that we sci-fi fans like to think of as a station, is it!?? :think:

Naturally, there was a lot of obligatory "fix this broken thing before the update video"ing today ;) Many things fixed, many things still broken. But a lovely-looking game all the same :D

[ Crazy conceptual idea about abstract simulation removed for your reading enjoyment. You can tell your sanity: you're welcome. :shock: :lol: :oops: ]

Ok...it's that day...hope my body is ready for it :shock: Wish me luck! :wave:

[ You can visit devtime.ltheory.com for more detailed information on today's work. ]
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Week of August 25, 2013

#6
Friday, August 30, 2013

Summary

Loadsss of stuff done, don't remember any of it, musttttt recordddd videooooo ;) :clap: :clap: :clap: :clap:

Sorry for the lame dev log!! But really, I HAVE to break the trend of each update taking longer to make than the last. MUST. NOT. CONTINUE. :shock:

It's a good sign though, because it's only 2.5 am here and I'm almost ready to record. And I made absolutely sure that the Windows build wasn't broken, well in advance this time. Good Josh. :monkey:

[ You can visit devtime.ltheory.com for more detailed information on today's work. ]
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Week of August 25, 2013

#7
Saturday, August 31, 2013

Summary

Really pleased with the whole dev update process today! First of all, as I mentioned last night, I did a real nice job of keeping the LT build in good shape this month so that we didn't have any major breakages like last month. Next, I made sure that I was wrapping the coding up by midnight so that I could begin making the video at a decent hour.

Sure enough, I was finished filming at 5 am this time!!! Sure beats...uhh..what was it, like 12 pm or something last month?? And with filming done at 5 am, I still had plenty of energy to deliver a non-zombie-like narration :D So there you have it, in August I officially broke the morbid streak of each month's update stretching longer into the night/morning than the previous :clap:

The reception was nice and warm and people generally seem to like the progress. I am, of course, very pleased about that - I like the progress too ;) And then there's the fact that Francois' preview track went over really well. It makes me verrrry happy that we're all on the same page about LT's music ;) Atmospheric and spacey...yes!! :thumbup:

As for my day off today....not entirely sure what to do with it, but I have a few ideas ;) Of course there's Morrowind and Freelancer...but...I've been thinking, maybe it's time to give Skyrim a serious shot?? Like...actually sit down and play for 6+ hours or so. We'll see :)

[ You can visit devtime.ltheory.com for more detailed information on today's work. ]
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Week of August 25, 2013

#8
Week Summary

General Sentiment

A really nice finish to the month! Very happy with all of the practical work done this week. The wrapped particles, asteroid density and improved interface/font are all wonderful...but honestly, I think my favorite improvement is one that I didn't even mention in the dev logs, nor point out in the update video. I changed the way the 3rd person camera tracks moving objects by adding a velocity compensation term (so that the camera doesn't lag too far behind when the object reaches a high speed). Amazingly, it changes the feel of the game so much...and I like it a lot more! Flying feels a lot more "tight" and visceral now that the camera compensates for ship velocity. But you still get that nice 'lazy' effect of a spring-based camera, because there's no angular compensation. The result is something that is both "tight" yet "natural / smooth" at the same time. Feels really great :D

Anyway, I'm happy with how August went. But I'm even more excited for September, because I'm on the cusp of achieving some serious AI results...and I reallyyyyy hope to show some implementation of all this theoretical stuff in the next video! Fingers crossed! :squirrel:

Major Accomplishments
  • Implemented camera-space particle wrapping
  • Implemented math for radially-symmetric objects
  • Implemented proper density variation of asteroid fields near lanes and planets
  • Improved various pieces of the interface graphics
  • Improved behavior of camera with respect to tracking moving objects - 3rd person control feels much better now!
  • Greatly improved clarity of font rendering and chose a better font!
  • Released 8th successful development 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 4 guests

cron