It’s not my regular posting day, but what the heck: I have an article in Game Developer Magazine this month on the joys of multithreaded programming with Erlang, and how we can use message-based architectures to alleviate problems in multi-threaded environments. Go check it out and get your multi-core programming on.
Hey man, just finished reading your article and just wanted to say thanks! It was a good look into multicore programming and threading ideologies. The funny thing to me was the fact that even though the article was centered around ensuring that the proper data is processed, I couldn’t help but ponder if using the potential for parallel processing without regard for the right data being present to all parties could actually be beneficial in some ways. Say for instance, in real life we seem to run into situations where one person either only knowing old information or not being up to date on the news affects how they proceed with their day. Using this kind of “Do what you think based on what you have” mentality merged into AI might even wind up leading to a more surreal, unpredictable and realistic reaction from the AI than one would expect… Anyways, I’m a little crazy, so I might just be talking out my ass, I really just started this reply to say thanks. I’m interested to see how Dungeons of Dredmor turns out 🙂
I’m glad you enjoyed it and thought it was useful. To be frank, I am still worried that the article itself is a bit nuts. 😀 If you like it, feel free to let the nice folks at Game Developer magazine know via a letter to the editor. I like writing, and they pay well and on time, so I want to make sure that they know that people liked it. 😀
Your suggestion about building an AI that doesn’t require perfection is a good one. For something like Dwarf Fortress, where you have a number of autonomous agents interacting with a fixed world, it is perfectly acceptable in a number of circumstances for the AI to exhibit less-than-perfect, but still good enough, behaviors. For the game following Dredmor, which is still in the planning stages, it looks like this will exactly what we’re doing. In fact, trying to figure out a good way to do this is what led to the research into Erlang and that message-based paradigm in the first place.