1 / 11

ISICL Intuitive Strategic Intelligence Control Language

ISICL is an intuitive and strategic language designed for programmers interested in AI and robotic battle simulation. It compiles into functioning Robocode, adds state machine functionality, and simplifies Java syntax.

Télécharger la présentation

ISICL Intuitive Strategic Intelligence Control Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ISICLIntuitive Strategic Intelligence Control Language COMSW4115 Michele Cozart Matthew Keitz Michael Marcus

  2. Introduction • ISICL • Simulated robotic tank control language • Compiles into functioning Robocode • Designed for programmers interested in AI • Adds state machine functionality • Simplifies java syntax

  3. Background • Robocode • Matthew Nelson of IBM • Robotic battle simulator • Encourages proficiency in Java • It’s FUN!

  4. Why ISICL? • Intuitive way to define a Robocode tank • Abstracts away complicated event handlers • Adds state machine functionality • Platform independent code • Easily extensible • User-defined actions and states • Inheritance

  5. Code Example state START: ahead 20 [ ScannedEnemy -> SHOOT ] state SHOOT: …

  6. Development Environment • antlr • Java 1.4.1 • Robocode • RCS • Unix and Windows • Development and testing platforms • Columbia servers for code/website

  7. Challenges • Team members split across country • Communication issues • Time zones • A team member disappeared • Lost knowledge • Lost development help • Diverse team • Age, gender, goals, purpose, desired outcome

  8. Handling the challenges • Code repository “always” accessible by all • ISICL website used to organize group information • Instant Messager is a MUST. • Meetings take FOREVER • Met twice a week to plan and for status updates, more often towards the end • Everyone willing to pitch in

  9. Testing • Test early, test often • Regression tests are important • Test harnesses are effective • Integration testing is vital but gets slighted due to time constraints

  10. Lessons Learned • Agreement on goal/purpose • Clear tasks and requirements • Concrete schedule with firm deadlines • Expect things to take longer than they should • Spend time on developing interfaces between the components.

  11. Conclusion • ISICL is cool (forgive the pun) • We learned a lot! • Questions? • Please visit our website at: www.columbia.edu/~mlc2106/index.htm

More Related