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

Post

Week of September 22, 2013

#1
Sunday, September 22, 2013

Summary

Yesss!!! We're on the downward slope now, I can feel it! AI is picking up and it's picking up fast.

I feel really good about the high-level architecture. The planning algorithm, the structure of the AI's understanding of the world, the concept of delegation and the theory behind collaborative AI...it's all just coming together :D And with the conceptual architecture in place, I can feel myself gaining more and more confidence in implementing the details. The meat. The game.

So yeah, I finally started filling in more of the "details" of the AI interactions today! Things like building an understanding of credits, items, power, construction, trading...etc. Not all finished yet but it's interesting how easy these things seem with the right architecture. All I really have to do now is give the AI some minimal details about the ways in which it can interact with the world, and the secret-sauce planning algorithms will do the rest, transforming these little details into elaborate sequences of intelligent action :D

At the same time, I'm still working to extend the planning algorithm to handle delegation. What it really amounts to is introducing the notion of "parallelism" in planning. An AI that can delegate must understand the concept of parallelism, otherwise it cannot possibly understand the value of delegation. A leader gives tasks to subordinates precisely because the parallel solving of his goals decreases the time it takes to achieve them. It's taking me a bit of work to understand the relationship between the owner of a plan, the person executing it, and the objects affected by the execution. But I think I'm close :)

That's right folks. It's time to get real. No doubt you've been wondering where the gameplay is...but trust me, it's coming. I'm ready to roll on the AI front. The simulation front is largely solved as well, and although I don't feel as comfortable with LOD sim as I do with AI, I'm still confident that the architecture is solid enough to start dropping down into the details.

Also! I only have two days before I need to make the monthly video :shock: I'll be taking a weekend trip to Las Vegas (on my own money, of course :D) for my friend's birthday at the end of the month and need to get the video done before the trip so that it's ready to release when I get back. Crunch time!!! But I have a feeling that we'll all be pleased with September ;)

[ 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 September 22, 2013

#2
Monday, September 23, 2013

Summary

Ok. Sometimes you just have to call it what it is. I was on fire today and I won't apologize for it. :D ;)

What happened today? Too. Much. Coding!!! :shock: :shock:
  • Removal of "credits" as a special-cased notion within the engine, replaced with unified concept of credits and using same code as all other items (now treated just like every item internally, but of course to the player still very much a special notion)
  • Massive upheaval of the "item" code, refactoring of every item type in the game. Cleaner, more beautiful.
  • Great progress on the "HasItem" predicate, no doubt one of the most critical pieces of the AI code. The heuristics inside this predicate will help NPCs reason about acquiring things - anything from credits to new weapons to a better reputation with a faction! Have already started the code that will allow the AI to consider taking missions, buying things from the market, piracy (in the form of plundering another entity), extraction (aka mining), and construction. Still a lot left to do, but once this is finished we should already see an AI that is more than capable of figuring out how to acquire items!
  • Redesign of market mechanics in preparation for the "real economy." The market is based on real seller listings & buy orders, much like EVE. Naturally everything will be controlled by the AI. No infinite sinks of resources, no flooding the market without consequence, no boring fixed-item-and-quantity shops. Everything is real. (Feel free to start a discussion thread on that if you have questions / concerns about the implementation of a "real" economy)
  • Conceptual breakthrough related to unifying credits, items, and faction/personal standings. Everything now uses the same underlying types and code.
  • Redesign of mission rewards to take advantage of unified item interface. Removal of lots of code.
  • As of today, dipped below 100 lines of code average across the project files. That means, on average, a code file that is part of LT is less than 100 lines. The variance is pretty low, too. Simplicity feels so good. Love love love :geek: :geek:
Can't stop now though, let's keep steamrolling this 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 September 22, 2013

#3
Tuesday, September 24, 2013

Summary

Another one of those days where I wish I had written the log before getting to the point of dead tiredness :( It was another tremendous day for AI!!! But I'm positive that I won't be able to convey the appropriate level of excitement at the moment (so many good days in a row can wear a man out you know!)

Today I started to finally see some real reasoning happening! I've got enough of the details filled in at this point that the AI has a basic understanding of a lot of different concepts. Already, I can see that NPCs can think at a pretty deep level! :)

I put an NPC in a barren system and tasked it with acquiring a weapon. An impossible task from the start, but it was just a test of ingenuity. Had there been sell offers somewhere in the system, the NPC would have considered them, but it found none. Had there been missions with the weapon as a reward, the NPC would have considered them, but it found none. Had there been someone else nearby with the weapon, the NPC would have even considered piracy, but such was not the case. So it correctly recognized that construction was really the only viable option. From there it reasoned that it needed to acquire the blueprint for the weapon along with the contents called for by the blueprints. It also recognized the need for construction machinery. Unfortunately, it ran into a dead-end on the first task, since the system didn't contain the blueprint and I haven't implemented logic for any kind of research yet. For acquiring the raw material, the NPC identified some resource-laden asteroids that it could have mined.

In the end the NPC couldn't do anything (because it was literally impossible to solve the task I gave it given the situation)...but it was really, really nice to see all of those thoughts flowing and working correctly! It's aliiiiive!!!! :D

I'm so excited about this stuff. Too cool. The AI is upon us. Just need to keep filling in the details :D

[ 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 September 22, 2013

#4
Wednesday, September 25, 2013

Summary

Another full day of AI, although admittedly slightly slower than the previous two.

Thought a lot about mining and looting today. I don't need to solidify the exact mechanics yet, but in order to at least give the AI some reasonable idea of these things, I do need to figure out the high-level mechanisms. What I'm leaning toward right now is a unified "transportation / extraction" device that works for extracting ore (and whatever else can be mined), but can work equally well for transferring cargo between ships, or for looting a destroyed ship. That seems like a nice unification, but of course just as certain types of weapons behave differently, we could have sub-types of transportation devices that are specialized for specific purposes. "Drills" for mining, etc.

Thanks to today's continued fleshing out of the details in the AI actions and predicates, an NPC constructed the most complex plan that I've seen so far (and was indeed the optimal solution to my toy problem). The plan involved going to a station to purchase a transportation device, equipping that device, navigating to an ore-laden asteroid, extracting it, and returning to the station. Cool, but I really need to start looking at missions and delegation.

Well, I need to leave for the airport in an hour or so and I'm not happy with the AI that I have to show for the video. I mean, obviously we've made immense progress this month, but I really wanted a "visual" demonstration of that. Not sure what I was expecting...maybe a group of pirates attacking a helpless miner, etc...just a demonstration of a cool, unscripted situation that emerged naturally from the AI. I guess I'll be taking the laptop on the plane with me. Not sure how much coding I'll get done in Vegas :roll: but I can at least work on the plane.

For the next three days I'm going to go ahead and post 'null' dev log entries to acquit myself of that responsibility. Come on, it's Vegas :lol: :roll: I think I can comfortably say that I earned my keep this month, and I hope you'll agree when you see the video ;) :)

: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 September 22, 2013

#8
Week Summary

General Sentiment

Another solid week of AI, but this time with a three-day interruption at the end. Nonetheless, it was everything that I wanted it to be in terms of a strong finish to the month! Now that the AI ball is rolling, I feel that it'll be impossible to stop ;)

Major Accomplishments
  • Implemented many details of AI actions including notions of buying/selling, docking/undocking, equip/unequip, and mining
  • Implemented many details of AI predicates, including notions of item ownership and capabilities (such as ability to mine, ability to construct, etc)
  • Overhauled item-related code for more unifications and cleanliness
  • Improved efficiency of planning algorithm
  • Got pretty decent at blackjack in Vegas :roll:
“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 2 guests

cron