Wednesday, April 2, 2008
Saturday, March 22, 2008
Dreaming in Functor
I've been having these crazy dreams involving strings of red balls with a lambda stamped on them.
I dreamt about myself dreaming this dream and the balls were spinning over my head and then they were pushed and popped back off of my brain stack.
Could Functor be the secret to machine cognition???!!!!
Ha, Ha, Ha.
I dreamt about myself dreaming this dream and the balls were spinning over my head and then they were pushed and popped back off of my brain stack.
Could Functor be the secret to machine cognition???!!!!
Ha, Ha, Ha.
Monday, March 17, 2008
Oops I Did It Again
I made a total donkey of myself on the forum and on here.
There's just no way to open source what I have right now. You can read more about it here.
Not only that but then all this symbolic stuff I wrote depends on it. Seems better to just keep it under wraps for awhile.
I keep toying with doing a Jason implementation in C++. I already have enough code and experience with unification to pull it off. Well, a prototype at least. But I'm not seeing any real interest in it.
Therefore, I am just going to forget about EVERYTHING and work on this stupid toy language.
There's just no way to open source what I have right now. You can read more about it here.
Not only that but then all this symbolic stuff I wrote depends on it. Seems better to just keep it under wraps for awhile.
I keep toying with doing a Jason implementation in C++. I already have enough code and experience with unification to pull it off. Well, a prototype at least. But I'm not seeing any real interest in it.
Therefore, I am just going to forget about EVERYTHING and work on this stupid toy language.
Sunday, March 16, 2008
Behavior Synthesis
The idea was generating Behavior Trees on the fly for video games.
I said I was going to write something about this, but from the looks of it you would need some serious AI to pull it off. Maybe not.
I still have some weird inklings going on though. Hmmmmmmm.....
I said I was going to write something about this, but from the looks of it you would need some serious AI to pull it off. Maybe not.
I still have some weird inklings going on though. Hmmmmmmm.....
AI Sandbox
I've spent an inordinate amount of time on an AI Sandbox / Game Framework over the past 3 or 4 years.I'd like to keep the emphasis on the AI to keep from going off on a million different tangents, but who knows? Maybe it could evolve into a more general game framework.
It's written in C++
For more information visit Botworx!
Saturday, March 15, 2008
4 (100 FD RT) repeat
Since this language is essentially like PostScript there is no sense reinventing the wheel, unless the wheel is broken. I'm going to use the names of PS operators, and the order of the respective operands whenever it makes sense.
I decided that I want to keep the core Functor package and it's subpackages as small as possible. If it's not really necessary to the core then it belongs outside of the core.
Here is my src directory thus far:
functor #Core
functory #IDE to be
functor_turtle #Functor Turtle Package
functor_demo #Various Functor Demonstrations
I was thinking of using a driver model but that may not be necessary.
The Engine
functor_turtle.pygame.TurtleEngine extends our base Engine class.
The engine will create a custom Dictionary that extends the base Dictionary class.
The Dictionary
functor_turtle.pygame.Dictionary
This Dictionary will create and add the operators to itself that are specific to PyGame.
The Operators
These are the commands we need to implement that are specific to PyGame.
The Turtle
functor_turtle.pygame.Turtle
Do we even need to have a separate Turtle class? I'm starting to think that the Engine is the Turtle!!!
I'm tempted to edit this article, but I'll leave it as is and go over the details again in the next installment.
I decided that I want to keep the core Functor package and it's subpackages as small as possible. If it's not really necessary to the core then it belongs outside of the core.
Here is my src directory thus far:
functor #Core
functory #IDE to be
functor_turtle #Functor Turtle Package
functor_demo #Various Functor Demonstrations
I was thinking of using a driver model but that may not be necessary.
The Engine
functor_turtle.pygame.TurtleEngine extends our base Engine class.
The engine will create a custom Dictionary that extends the base Dictionary class.
The Dictionary
functor_turtle.pygame.Dictionary
This Dictionary will create and add the operators to itself that are specific to PyGame.
The Operators
These are the commands we need to implement that are specific to PyGame.
The Turtle
functor_turtle.pygame.Turtle
Do we even need to have a separate Turtle class? I'm starting to think that the Engine is the Turtle!!!
I'm tempted to edit this article, but I'll leave it as is and go over the details again in the next installment.
Friday, March 14, 2008
Functor.Turtle

I needed an illustration for this article but became frustrated trying to draw my own turtle. Fortunately for me, Open Clip Art Library saved my butt.
Imagine my pleasant surprise when FireFox automatically rendered the SVG I downloaded. "Oh yeah, I thought. It can do that."
Purpose
After writing the last article I surfed the net doing research to try to get a clear idea about how to proceed. I needed to set an intermediate goal to progress further on this language. I also need to start learning PyGame so I can compete in PyWeek, otherwise the fellas at AiGameDev.com will think I am a total poser. :)
Chain forward to discover possibilities. Chain backward to figure out how to get there. Interesting. I wonder if a Cognitive Architecture can do that?
Drive
I feel that it is time to put the turtles in action!
The best way to do this is to follow the driver model. What we do is define a Turtle class that is effectively a black box to Functor.
Then we derive classes from it such as PyGameTurtle, PyOpenGLTurtle, SVGTurtle etc.
The base Turtle class only needs to implement primitive methods and little state.
This way I don't have to worry about writing or borrowing a Quaternion class among other things.
To get started all we need to implement is roll, pitch, yaw, penup, pendown, forward and reverse! Did I miss anything?
Okay, time to learn PyGame. Rock and Roll!!!
Subscribe to:
Posts (Atom)