Hi,
I took M's advice and found some tutorials. I created to projects on one PC...added text boxes and connect/send buttons. I got it to work. Even added text to speak control and one line of code so we could send 'spoken' messages to each application. Geeky for sure. ;-)
I kept getting some inpredicatable errors, especially if I 'reconnected' during a session...stuff like that. I couldn't find any solid examples with bulletproof errorhandling for two Apps on same PC. I'll look for that when I have some free time.
I will keep this interface method between 2 Apps in mind as I grind away at the new AIP version.
Regarding AIP 0.4v, I am rewriting most of the code because I have since come up with better ways of dealing with things. I am allowing for 15x15 grid, with larger cells and fonts. I have global variables that allow for 2 types of checkerboard patterns, random patterns where teacher selects cells to be out of play (crossword puzzle looking pattern) and a few other whistles. Now this all works...pretty cool looking.
At www.clg-net.com/ai/aipsl.htm I am composing a scripting language specification for use with v0.4. It is a work in progress but represents the new language...increasing AIP keywords from about 20 to 80...big jump but necessary for AIP to learn chess.
On paper, it is a simple matter to write AIP to play TTT or chess...that is, it plays legally. However, I must spend time coming up with a novel scheme for AIP to take chess lessons and convert them into some principles to guide later play. I have constructed some Excel sheets with checkerboards and 64 bit table to play with '1's and '0's. Perhaps I can get this. Thought getting AIP to learn to play legal chess is my core objective...the rest comes later.
Now, regarding a program that can modify itself...wait for v0.5. ;-) Yeah right!
Actually, the Engine must include hundreds of functions that are hardcoded that deal with numbers, strings, 2D, 3D, etc. From this the program must allow the user to define new keywords, their variable types and functions that they can connect to...or allow for the writing of macros by the program itself...based upon core language set. The Engine would be .EXE/.DLL but the added modification of program would be perhaps ASCII file formatted.
Maybe we can construct a simple program experiment where we define some AI, a goal, some key functions, program self-macro creation ability and see what happens? An example would be to write a program that can add and subtract. Give it ability to write macros...give it comprehension of summing. See if it can learn on its own to create a multiplication macro function on its own...and then use this to discover division, averages, etc.
I think that would be a decent experimental concept. What do you think?
Regards,
ChuckB
