Imperfect Implementations

AI

I just want to iterate that the AI in the Quantum Game Library is mainly experimental and won’t be perfect. I’ve been fascinated with AI since 2004 when I developed Mecha Asylum and tried to implement a genetic algorithm, which failed miserably, in 2005. I don’t think it is a bad thing as long as it works. Has many concepts been developed that were perfect the first time? I doubt it.

The goal isn’t to have a perfect version the first time, but only to have it working. Yes, it will mean rewrites later, but I’ll be happy with that because it would mean that I’ve learned more and gained enough experience and understanding.

I’m also hoping some brighter, more intelligent, and experienced AI developer would come along. “Build it and they will come,” they say, well I’m not quite sure about that. If it does happen then I’ll be happy with the work I’ve done and the skill sets I’ll learn from the (probable) future master.

However, I do have a second goal, which is to open the possibilities of AI to other closed and open sourced PHP game developers on using AI in their games. The QGL components are GPL, so any closed source game would need to develop their own AI library.

I have big plans with the AI components I’ll be developing and I think it will take most of the time. The more I read, the more I learn of ideas that could easily (and sometimes not so easily) be implemented to make the game seem more intelligent. Whether intelligent translates to fun is another issue that would need to be addressed.

Astrum Futura

Autonomous agents (bots) will not be part of the core of Astrum Futura. Reasons being that it would take too much processing and would not be all that great for share-hosted users. This does not mean that the option will not be available, because it will eventually be a plugin. It is that the concept of Astrum Futura is of Human interaction.

It is nice that the concept of plugins and mods almost completely devoid any hurt feelings. Any AI technique would have to be debated as to whether it would be in the core or a mod. I’m guessing that a lot of the AI functionality will be in mods, but that is fine since it will allow for fine tuning.

Which is another part of the imperfect design that I’m constantly trying to ponder. How perfectly can I implement the concept of modifications in the Astrum Futura? Not very. I don’t feel that bad however, since well, after I get it working, I’ll have the prototypes from phpBB, S9Y, WordPress, and countless other implementations to research.

Again, the goal is to implement it, test it and then develop better versions. Will it be as good as WordPress or phpBB? No, of course not, those applications have been in development for years. The idea however is to learn from those applications and try to implement something that doesn’t completely cause the user disgust. The mod system should be quite impressive and I mean to make it so.

Back to AI in Astrum Futura, it is interesting I think. My goal is to try to implement as much as I can in the core (Fuzzy Logic, Finite State Machines, behavioral patterns, Path finding) and allow further development to take place (luckily that there is QGL!). I’m most likely going to have a lot of AI based mods for which developers will be able to install.

Switching the AI topic back to the Library, I should note that some first versions might not make everything possible. What I mean by that is that I’ll be vastly inexperienced in how to implement some of the AI classes in such a way that would be usable in every situation. It is good however to be able to test how well such classes work within Astrum Futura and, in the future, the rest of the Absidon games.

The concept of learning, which I’m loving the idea of more and more, would not be something that could be a mod in some cases. The reasons is that one mod for one type of game wouldn’t be applicable to another game. There will be a mod for Astrum Futura, but it wouldn’t be compatible with a RPG game or any other game that isn’t a clone of Astrum Futura. A new mod would have to be created for that game model to simulate learning. I do want to make it as easy as possible on the front end, but the back end would be where all the work would take place.

To reiterate, don’t expect it to be perfect, but do expect it to work!

Also, thank goodness that I’m not the lone developer because I’ve never would have gotten as far as I have.

Possibly Related Posts:


Comments are closed.