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

Post

Week of November 3, 2013

#1
Sunday, November 3, 2013

I've been thinking a lot about the interface lately :geek: On the latest dev update, a good many of the YT comments mentioned using the data editor UI style for more than just the data editor. Although the thought had crossed my mind before, I didn't really take it too seriously. But slowly, I feel that it's starting to posses my mind (much like the node-based editing idea did). What if the whole interface were "procedural" in the sense that it laid itself out automatically like the data editor? Or in the sense that it automatically built the correct widgets for viewing / editing the given piece of data?

I don't know if it's feasible. But I think it's worth exploring the possibility of a fully-node-based UI. If it were done correctly, it might end up being significantly more intuitive. More importantly, though, it would save a massive amount of work and code - that's for sure. It's like....asymptotically more efficient UI building. Could it be done?? :think: I need to think on it some more. But it's a very seductive thought :geek:

Today, as I continued to move forward with research, I tried to answer the question of how to determine the resource requirements of a given blueprint. Previously my ideas involved somehow integrating a notion of material type into the tech tree. But I'm not really seeing how that could work elegantly with the current system. The alternative that I'm exploring is to simply generate the requirements based on the distribution of resources in the system in which the blueprint is invented. That way, we'll still have the desirable property of "local technologies" being tailored to the local resources without adding any complexity to the tech tree. Interesting :think:

Sunk quite a good many hours into the new website today, and am still really pleased and excited by how it's coming! Looking great, and I've almost got it ready to release ;) I hope to deploy by the end of this week :D

: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 November 3, 2013

#2
Monday, November 4, 2013

Working on natural resource distribution across the universe today wasn't as fruitful as I would have liked. I've got most everything set up now, but I was hoping to get more than that done :think: Truth is, I ended up having to do some substantial code-ripping. There was a bit too much complexity involved in generating systems / regions / the universe. Thankfully, with great coderip comes great reward :D It's never been easier to create vast, sweeping regions of space in a single line of code! Makes me feel a bit...powerful to be able to type... Object_Region( blah .. . ) and get handed an entire region of space with the properties I request :shock: :lol:

Interestingly, I worked almost exclusively in Linux on Mac today! Linux on Mac you say!?? But wasn't it just a fortnight ( :eh: ) ago that you claimed it impossible for Mesa drivers to run LT? Yes indeed, but recall that I've got a version of LT that doesn't create a view into the world! The LT Engine uses lazy-loading for all asset generation, so if nothing's visible, then nothing's generated. Mesa has no trouble with the UI, so I'm able to create widgets and even peer into the world using the minimap (which doesn't need the actual assets) without any trouble! Actually, I think this is pretty neat - I've got an environment in which I'm literally forced to observe the world from above and let go of the 3D representation. It'll make a great mode for when I need to develop big-picture things, watch AI, visualize history generation, etc.

Now. I've got an interesting idea for tomorrow. I want to try hosting an all-day Limit Theory Hackathon, much like those that they used to do all the time back at school. Except this one will involve only one person and one project. But! The point is clear: a whole day of being cooped up in the same room with a laptop, caffeinated beverages, and pulsing electronic music playing through stylish earbuds...coding like mad. Feature after feature, inspiration after inspiration. No distraction, no internet, no...clocks :crazy: Just focus.

"But...isn't that what you do.......every day?" Well. More or less. BUT. You never know what will happen when you give an old dog a new name. It may just...bark a bit louder? Or perhaps turn into a squirrel. Who knows. We must find out :squirrel: Anyway. I'm excited for tomorrow. Gotta get some rest. Prepare myself. Could be a huge day (or not!) :monkey:

PS ~ How do you like that? A dev log written before bed, for the first time in... :oops:

[ 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 November 3, 2013

#3
Tuesday, November 5, 2013

Limit Theory Hackathon #1 ~ Result: SUCCESS!

What an intense day! :D The mental trick worked: by hyping myself up for this "big event," I was able to push the old dev team harder than usual, squeezing more hours and more productivity out of him. All it took was a pot of coffee and a pizza (which was the nighttime reward for a hard day's work).

The three "critical list" items that I finished were: 1) taking the resource distribution work from yesterday and using it to populate the world with interesting spatial distributions of the appropriate asteroid type, 2) creating a minimal 3D object viewing widget to be used for rapid prototyping (so that I only have to load a single object to see my changes), and 3) creating a general type-to-stringtree convertor (so that I can save the changes that I make in the data editor to a text-based file format...this is just UDF in the reverse direction).

Now, I also managed to score some great bonus features that weren't on the critical list:
  • Improved bloom
  • Improved chromatic aberration (dramatically)
  • Improved metal shader (dramatically!!! Looks fantastic!!!)
  • Fixed maximization / docking behavior of windows, they feel a lot more robust now
The metal shader is a killer improvement. I totally changed the math behind it, and this is both simpler and (I believe) more physically-realistic. It works really well with the new gamma-correct style! Best of all, since it's a new technique (not a tweak on the old one), I'm sure there's still plenty more that we can squeeze out of it in time.

Today was really a blast, and I'm still not sure why :) The human mind is a strange thing. I gave up long ago trying to teach myself Vulcan-like discipline. Willing yourself to work harder seems to not work for me. The code flows when it's ready to flow. But if it happens to flow more easily under the guise of some ridiculous special event, then hey, I'm going to go ahead and bet that this is just the first of many spectacular LT Hackathons :geek: Pizza and coffee are a small price to pay for a 2x productivity multiplier :lol:

Now, if you'll excuse me, I have an epic, too-much-caffeine-and-work-induced crash to see to :monkey:

PS ~ In case you're worried that I've fallen into graphics-only work again, fear not, #1 and #3 are actually both related to getting the universe generation / research / construction pieces up and running!

PPS ~ No, I still don't feel like dealing with last week's weekly summary :roll: I think I'm waiting until the new site rolls out :ghost:

[ 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 November 3, 2013

#4
Wednesday, November 6, 2013

You know, I figured, in the wake of the programming madness of yesterday...what's the appropriate way to follow up a successful hackathon? And then the answer hit me. Of course: an admin-a-thon :shock:

Yes, it's not glamorous work, but every once in a while, someone needs to organize the expense reports, file the papers, prepare for taxes...maybe even vacuum the floor. You get the idea :sick: I figured it'd be nice to really get back on top of all of that stuff since I got on top of the code yesterday. Like I said, not glamorous...and sure doesn't make for a great dev log, but someone has to do it :monkey:

And as for tomorrow? Hoping for a normal day :shifty: No a-thons, just a normal day please. I figure, I'll put in another normal day or two before re-lighting the match of a second crazy coding spree :D :geek: One way or another, though, I really need to make good on that promise of AI this month! :thumbup:

[ 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 November 3, 2013

#5
Thursday, November 7, 2013

Ahhh sorry for the late dev log! That old sleep monster…he really does sneak up on you :oops: :shifty:

Today I started working on factoring out the commonalities between the data editor and the tech tree widget, in hopes that I can develop some powerful, common infrastructure for node-based interfaces. I'm not sure how widespread they'll be yet, but I'd like to at least start trying some weird and interesting things with respect to node-based interface design :ugeek: One of the things that excites me about that prospect is it'll allow me to develop a lot of shared power for these interfaces. I even think that I can develop an optimized rendering algorithm for node-based interfaces that will allow them to be drawn much more efficiently than the rest of the interface components. That'd be great!!! :D

Yes, of course I'm still working on research and technology!! Today I made an initial pass at generating material requirements for a blueprint. With that in place, I think, in theory, I have everything I need for…well, building the universe! Erm....time to do that I guess :shock:

Now, I gotta confess. Today I flip-flopped on the gamma-correct rendering. On the one hand, it does look more realistic - there's no doubt about that. On the other hand, it makes the scene look washed-out and desaturated. I feel like this is one of those moments where I have to choose what kind of game Limit Theory is going to be. Realistic, or beautiful and atmospheric. But I've known the answer to that one for a long time. Unless I can figure out a way to make the gamma correct pipeline look better, I'm going to sacrifice the realism for a colorful, beautiful universe.

Oh! And about the new website – I spent more time on it today and it's really really close to being ready. I worked on optimizing the load time so that it feels snappy and responsive. Everything is really shaping up nicely! Can't wait to launch. You'll be reading dev logs in significantly more style ;)

Looking for a big day today!!! :geek:

[ 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 November 3, 2013

#6
Friday, November 8, 2013

There was that productive day I was looking for! :D

I struck a nice balance of AI and graphics work today. With respect to the AI, I refactored and improved the structure of the AI's brain. Previously it was a bit of a blobby mess, with too many things going on in the same place :crazy: Now, it uses the same kind of component-based design that other objects in the engine use to cleanly separate functionality :thumbup: The change was primarily catalyzed by the need for me to introduce a new piece of functionality into the AI's brain: hypothetical item reasoning.

This is a bit of a deep and tricky subject, but if you think about it, there's something really interesting that happens when humans construct plans. That interesting something is the ability to reason about entities, interactions, and events that don't actually exist or don't yet exist. I've spoken fairly extensively about this previously in the form of hypothetical simulation. But now, I need a mechanism for introducing hypothetical items as well. Basically, I need for the AI to be able to dream! :o :ugeek: I need for the AI to be able to say "hey, if I had this weapon I could do some damage," even when the weapon in question has not even been researched, much less constructed. That's an absolutely essential ability, especially for the early history phase, when many things just flat-out won't exist. Although I haven't implemented it yet, I now feel much better about it, since the brain is significantly easier to extend than it was before!

As for graphics, I finally got around to implementing the rest of the dynamic lighting system. I now compute light index information on the GPU, using a depth buffer for better accuracy, which means that lighting just works a whole lot better than before. A simple example is that you can now see very clearly the light coming from a pulse as it passes over the surface of an asteroid! People remarked in the second-to-last update video that they couldn't see this effect. But that technique is now fully-implemented! :thumbup:

Another graphicsy treat was improving explosions. Not much to say there though, other than what I always say: exponential falloff is always the answer :D :geek: Explosions now also emit light, which looks great now that the lighting system is done!

PS ~ I used the iPhone's dictation capabilities to write my dev log today, since this way I can write even as I'm in the process of passing out in bed :D Talk about multi-tasking! :shock: No but seriously, I'm imp rest with the speech to text cape a bill it ease. It's petty all some. :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 November 3, 2013

#7
Saturday, November 9, 2013

EDIT: 11/10/2013
Noooooo!!! I accidentally overwrote this post when I went to write the weekly summary...ended up "editing" instead of "quoting"....I'm trying to see if I can find a cached copy on any of my machines...if you happen to have a copy of this log please let me know!!!

EDIT: 11/10/2013
Well, I can't find a copy :( Looks like this log is forever lost in the shadows of LT development history. I do recall it having mostly to do with letting Graphics Josh out of his cage and making a lot of stuff more shiny :D :monkey:

The LT ghost strikes again!!! :ghost: :ghost: :ghost:


EDIT: 11/11/2013
Success! Thanks to Technius, the log has been found!!! :D Here it is:

Listen. LISTEN TO ME :shock:

I....I know....I know I have a problem :shock: Graphics. Shiny. Ahhh....SHINY :monkey: :monkey: :monkey:

I set out with grand visions of AI. I made a few few steps in that direction.

And then, somehow it happened again. Graphics Josh got out of his cage. WHO LET HIM OUT??? I don't know :x Well. I came home with a thousand new graphics tweaks and better visuals. Great. Better metal, better asteroids, selective gamma correction just for the parts that it improves (atmospheres, metal), better stations...heck, pretty much better everything. Better performance too - totally eliminating overdraw with early-Z fragment discarding. Fantastic Josh. But it's November and we should really be looking into other things, don't you think???.

I'M SORRY. I'm going to get help. I swear :shifty:

Tomorrow: NO GRAPHICS. NONE. I'm locking his cage for the next week :monkey:

:wave:

PS ~ Yes that was a bit dramatic. As you can tell, it was actually a very impressive day, and things have never looked so shiny. I built a *massive* space station today and it was....so epic! I was pleased at how well the engine handled it, especially after I implemented early-Z. Things are looking and running fantastically. Lighting is looking so good after yesterday and today! But I do still need to lock that kid in a cage for a while :P :D
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Week of November 3, 2013

#8
Week Summary

Very productive week, I definitely got this month off to a good start!! :D On the gameplay / AI side I focused on resources - getting them generated and distributed across the universe so that the AI has something with which to build. I'm also really pleased with the new, clean-and-shiny AI brain code..it's going to be a lot easier to improve! On the graphics side I was...literally...everywhere :shock:

If I had to say what it was about this week that I got right, my answer would be definitive and three-pronged: 1) coffee, 2) frozen dinners, and 3) hackathon. I foresee a large quantity of all three in my near future! :ghost:

Now, I've got high hopes for next week, but also a very difficult challenge for myself: no graphics. That's right. Starve the graphics programmer :shock: Wonder if I can do it? :shifty: ;)

Accomplishments
  • Hosted the 1st-ever LT Hackathon, to great success! :roll:
  • Implemented universal / regional / system-level resource distribution and variation
  • Started working on some serious node-based interface tech
  • Gave the AI brain surgery to prepare for additions in the near future
  • Made a lot more progress on the new website, getting close to launch!
  • Finished implementing the dynamic lighting system!
  • Made massive improvements to many of the shaders in the engine (metal, rock, bloom, aberration, explosions.....) ;)
  • Locked Graphics Josh in his cage for the foreseeable future :lol: :monkey:
“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