Sunday, December 8, 2013
Another day of massive slackery
Just like yesterday, I let my graphics self go to town during the first half of the day. Today's fun improvements: moving / dynamic dust (continuing the work from a few days ago on the new dust effect, but now with motion), and that classic scifi effect of tiny space particles that stretch along the direction of motion. The former looks great and adds a subtle feeling of life even when sitting still in a nebula, as you can see dust clouds subtly changing form over time. The latter is a surprisingly-impactful visual cue that conveys the feeling of motion. If you watch carefully you can see little bits of space dust streaking by when moving at high speeds. Though subtle, the feeling definitely helps lend a sense of scale to the scene, as well as a sense of significance to motion. Love it With the dust and space particles in good shape, I'm left with only one lingering graphics task inspired by X Rebirth: more lights.
And AI? Oh. AI. That thing. I killed it today. As I write this dev log, I'm watching my 16 miners strip a system of ore on the other screen. 16 NPCs, full reasoning, 4x time acceleration, 100 FPS. Before optimization. So far they've collectively exchanged 41,000 units of Rochabite at the station It's been running for 30 minutes or so and no issues. Yayyy!!! And still very intelligent selection of nearby rocks. Awesome
I basically ripped out the entire creativity mechanism today. The previously-mentioned "neural" PDF sampling was a good idea...in theory. Like every good piece of theory, it crashed and burned in practice. The sampling mechanism was causing NPCs to become too locked-in to ideas. Even at low retention rates, the neurons would quickly escalate to having a few elements being 100x more prominent than the rest. I ended up pushing the decay rate so high to achieve "out-of-the-box" thinking that it effectively defeated the point of sampling from a PDF in the first place. Good-bye neurons. Hello extremely-simple ring-buffer. Trivial to code, everything is constant-time and contiguous in memory. Works way better than all my other "fancy" ideas...how typical Simplicity is taunting me again
Thanks to today's and yesterday's improvements, the AI has literally never been so fast and accurate. I was able to perform a 128-person test today for the first time. 128 people planning out their lives and executing intelligent actions in one system! Now that's what LT's all about! I've got a ways to go before I can hit 60FPS with that population, but most of the slowdown is the fault of the game engine and entity logic, not the AI! Awesome
Getting more confident in the AI every day
Ah, and also a fair bit of work on grid and list layouts for the nodal interface today. But who has time to discuss such mundane things when one has graphics and AI to talk about
PS ~ Apologies for strange dev log hours...I'm nocturnal again at the moment
Post
Mon Dec 09, 2013 7:27 am
#1
Week of December 8, 2013
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford