Programming things to program things for.

Posted:
May 4th, 2013, 10:30 am
by sirknightingfail
In AP Java Computer Science, we have to study this thing called gridworld. It is basically an interface(not a .java interface), where one has an actor within a grid that has it's act method that is applied to it every turn. It is a very useful thing for learning how to integrate things within other things, and is quite fun to use.
Quite recently, me and my teacher in my AP java class are adding more onto a project that built off of gridworld that he started last year with some of his students that was called battlebugs. It has a basic set of moves a battlebugs can use and is a very nice tool to play with. It is a very nice way to make a bit of a small game/competition between students.
Anyways, back to what I was going to ask you guys. Have you ever tried to make or used a similar type of thing whilst programming, and what was your experience with it?
Re: Programming things to program things for.

Posted:
May 6th, 2013, 6:55 pm
by darthbrowser
I once attempted to design a missile guidance system utilizing a set-up similar to Java's gridworld. The idea was that, by mapping and recreating an area where missiles would likely be used beforehand (the gird), it would possible for a automated active guidance system (i.e, an automated system capable of extremely precise and imput-dependent piloting of the missile, performing at or above what would be expected if a human was piloting the missile manually) to be created with some precision, the missile being the actor.
The concept was that current automated guidance systems fail because computers still lack the ability to process large amounts of new information - such as the new coordinates of a moving target in a changing enviroment - fast and accurately enough to perform on par with humans in that respect. So, my idea was that by mapping the enviroment into the guidance system beforehand, human-level performance would be achieved because the computer would only have to record and process data directly related to the moving target - with the enviroment already scripted in, the system would not have to record and update it to fly the missile correctly.
Essentially, I wanted to create an automated piloting system that would be able to replace human operators in operations such as drone control.
To test that idea, I basically set up what you've done, except with various additions to the grid. The missiles, the actors, were given pre-programmed commands on chasing a moving object within the grid (the program, when performed, spawned them on the outskirts of the grid, with the object starting at the middle). However, I gave some of the missiles special move directives which accounted for the virtual obstacles in the grid - so that they would be able to predict and avoid an encounter with an obstacle before such a scenario was immediate.
Despite how simple the program was, I recieved quite favorable results - the actors programmed to deal with the specific enviromental obstacles were consistently better able to make contact with the moving object sooner then the standard actors.
However, I haven't been able to follow up on that result. I'm guessing I would need the support of a defense contracter which deals in missiles, like Lockheed Martin, to progress the project, and I haven't looked into that.
I know its not quite exactly what you were talking about, but since no one else replied, I thought I would share my experience.