I would like to build a new AI Engine
Moderators: hoijui, Moderators
wha, lua itnerpreter, is standalone, and luabind sits ontop binding thigns to it, namely the itnerface fnordia built.
Luabind doesnt change the lua code, it adds to it by using lua API calls to simplify the process of binding, but the method it uses deals with lengthy compile times. Change the itnerface and recompile spring and it takes longer to recompile.
But that doesnt eliminate all previous scripts, once a script is written it need only be changed if the calls to the itnerface arent valid any longer, such as an itnerface function changing its name or paramters it takes. Only then will ti need be recompiled.
Luabind doesnt change the lua code, it adds to it by using lua API calls to simplify the process of binding, but the method it uses deals with lengthy compile times. Change the itnerface and recompile spring and it takes longer to recompile.
But that doesnt eliminate all previous scripts, once a script is written it need only be changed if the calls to the itnerface arent valid any longer, such as an itnerface function changing its name or paramters it takes. Only then will ti need be recompiled.
I started reading this thread when it was already at the third page, and I couldn't read everything, so sorry if I don't seem aware of everything that was said.
dj_oldfield, I'd just like to say that you seem to be tackling an area where there's a lot of room for improvement: individual (or group) unit behavior. This is great, because a lot of people seem to be working on global AI, but nobody on unit-level AI.
So, go for it. Anything that will make the units' behavior more intelligent and realistic would be very welcome.
Also I was wondering if you were interested in working with the pathfinding. I did a big research on that a while ago, and I found what I believe would be a good base for a new pathfinding engine that would both consume less CPU and look more intelligent. Knowing that someone is interested to work on it would give me a big incentive to post this material - I've been putting it off forever. So let me know if you're interested. Or anybody else, for that matter.
dj_oldfield, I'd just like to say that you seem to be tackling an area where there's a lot of room for improvement: individual (or group) unit behavior. This is great, because a lot of people seem to be working on global AI, but nobody on unit-level AI.
So, go for it. Anything that will make the units' behavior more intelligent and realistic would be very welcome.
Also I was wondering if you were interested in working with the pathfinding. I did a big research on that a while ago, and I found what I believe would be a good base for a new pathfinding engine that would both consume less CPU and look more intelligent. Knowing that someone is interested to work on it would give me a big incentive to post this material - I've been putting it off forever. So let me know if you're interested. Or anybody else, for that matter.
-
- Posts: 71
- Joined: 24 Oct 2005, 07:10
funny that you should mention it!
In all irony... Pathfinding was my origional incentive for building the new AI ... because I get irritated at the way the units like to stand around when they shouldnt... go the wrong way all the time... and continuisly step on each-other's feet. I can only imagine how bad this gets from a computer AI perspective!... because a human player could go bonkers!
It is also an area which I suspect will involve a lot of trial and error. I wanted to use that very subject however to test the integrety of my own scripting engine... so perhaps a mixture of the two...
I am game! Moreover... I really would prefer to work with another developer on this stuff! Count me in!
It is also an area which I suspect will involve a lot of trial and error. I wanted to use that very subject however to test the integrety of my own scripting engine... so perhaps a mixture of the two...
I am game! Moreover... I really would prefer to work with another developer on this stuff! Count me in!
What kind of script language are you looking for dj_oldfield? The thing is that I have made a script compiler that I still want to release as a library someday. It only needs a clean interface and some extra testing. But it could save us a lot of time.
Here's an example of what kind of script it can run, it's a small script that would display a bunch of pixels rotating on the screen, using an interface to the Allegro game library.
Script example
It would save us a lot of time if we would use this. It's made with a bison parser and compiles scripts on runtime to x86 machine code (not optimized though, so it's still slower than precompiled languages such as C), so the speed issues involved with other script languages don't really apply. It has various build in types: bool,float,int,double, Object, very much like UnrealScript, with classes and inheritance. It needs proper string handling though. Another plus is that it can directly call and be called by C++ code.
I realise that I'm kindof taking a lot of tasks here, but I can't ignore the fact that it's a working script language and would save us a lot of time. I could also drop the simple rule system and make a rule system based on this script.
So tell me what you think about it....
Here's an example of what kind of script it can run, it's a small script that would display a bunch of pixels rotating on the screen, using an interface to the Allegro game library.
Script example
It would save us a lot of time if we would use this. It's made with a bison parser and compiles scripts on runtime to x86 machine code (not optimized though, so it's still slower than precompiled languages such as C), so the speed issues involved with other script languages don't really apply. It has various build in types: bool,float,int,double, Object, very much like UnrealScript, with classes and inheritance. It needs proper string handling though. Another plus is that it can directly call and be called by C++ code.
I realise that I'm kindof taking a lot of tasks here, but I can't ignore the fact that it's a working script language and would save us a lot of time. I could also drop the simple rule system and make a rule system based on this script.
So tell me what you think about it....
Last edited by jcnossen on 27 Oct 2005, 23:33, edited 2 times in total.
-
- Posts: 71
- Joined: 24 Oct 2005, 07:10
Sounds like it is time to move to IM?
Can we discuss this over yahoo or msn sometime?
I think that (given that you already have a parser)... you and I can actually make this work. I like the concept... there are some keywords I would like to eliminate... but overall it really does not matter.
I can create the archatecture integration... and perhaps you can produce the pre-parser. We could provide a compiled format... and I should think... keep the files as text... and produce a cache file from them.
I would like to give you a more complete picture of what i am thinking... but I figure that perhaps it would be best if the back and forth of things were a bit more "Real Time".
I think that (given that you already have a parser)... you and I can actually make this work. I like the concept... there are some keywords I would like to eliminate... but overall it really does not matter.
I can create the archatecture integration... and perhaps you can produce the pre-parser. We could provide a compiled format... and I should think... keep the files as text... and produce a cache file from them.
I would like to give you a more complete picture of what i am thinking... but I figure that perhaps it would be best if the back and forth of things were a bit more "Real Time".
Re: funny that you should mention it!
Well to tell the truth I am not really a developer - for the moment. However I have some basis in programming. What I have to contribute, though, is the idea on how to make the new pathfinding engine, based on some great research papers I collected on the Internet. They contain the mathematical formulas to use, as well as a bit of pseudocode. But they are useless if there are no real developers to put it into code!dj_oldfield wrote:I am game! Moreover... I really would prefer to work with another developer on this stuff! Count me in!
Let me collect that, and in one or two weeks I'll post everything in a new thread, then you'll see if you like the project.
-
- Posts: 71
- Joined: 24 Oct 2005, 07:10
... I do wish to contribue
While I do wish to be as valuable as I can in making Spring... Spring to life... my experience is entirely within the data-modaling portion of programming. There are many things that I can do... but I am certain that there are programmers with more experience where you need it.
I will do (of course) all that Spring asks of me though :).
I will do (of course) all that Spring asks of me though :).
-
- Posts: 71
- Joined: 24 Oct 2005, 07:10
...
I have a deadline for Tuesday on another project that I am finishing up. After Tuesday I will have some time to go over the source code, UMLs, and any other relavent data, and post my observations with respect to what must be done to complete the software.
To be honest... if Zaphod's parser is as good as it sounds, then once I get the dispatchable interfaces for the game built then I think that we will see this project take on a life of it's own.
In the meantime... I definately suggest that we figure out why the buildings have such a tendancy to get barried under the terrain (Graphically speaking of course). Buildings are being displayed partially subterainean. Perhaps it would help to add a bit of excess on their foundations to compensate?
To be honest... if Zaphod's parser is as good as it sounds, then once I get the dispatchable interfaces for the game built then I think that we will see this project take on a life of it's own.
In the meantime... I definately suggest that we figure out why the buildings have such a tendancy to get barried under the terrain (Graphically speaking of course). Buildings are being displayed partially subterainean. Perhaps it would help to add a bit of excess on their foundations to compensate?