Sunday, May 9, 2010

2D Self Assembler

2D Self Assembler, this is one of my Master piece, that I developed for my College Final Year Project.

History of Project:
I wanted to develop some game for the project, which I can apply for Imagine Cup 10 too. But, developing games was not allowed. So, after much thought, I thought of porting the BOINC platform to XBOX, if at all possible. But after discussing about that in SETI@Home forums, I lost hope in that too. I always wanted to do project in AI and so while browsing so many topics on AI, I chose this one.

Self-assembly is a term used to describe processes in which a disordered system of pre-existing components forms an organized structure or pattern as a consequence of specific, local interactions among the components themselves, without external direction.
Our Project is to get the disordered initial shape, the final structure and the means of transition from the user, and generate a program for local bodies or agents to make the transition and finally simulating the actual transition. Hope its understandable.

Technical Specifications:
Started the project with C#, Visual Studio 2008. Designed all the UI using WinForms and started developing the necessary modules. But later, out of curiosity, tried WPF and totally shifted all the UI from WinForm to WPF.

Project Demo:
A video is being made and will be hosted on or before 15/5/10.

Final Product:
The final product was in many ways different from the original specification. As far as the Agent Program generation, everything is same. But the simulation part is totally changed. Actually, the simulation have to be done with lots of agents each of them running the generated agent program and forming the required pattern.
But because of time constraints and since I was exhausted, the simulation is done with simple graphical animation transition between the two shapes and the agents were not involved.
In software development life cycle, there is an important phase called Testing. I totally omitted it, and so there are so many bugs and glitches and the application dont run as expected most of the time.
But, what I did was enough to show to our external reviewer and so no problem with that.

A note of Thanks:
Thanks to my team mates, Gobinath and Kalai Selvan for being so supportive and my Project guide, Mr. Gnanavel and thanks A LOT to my mom for being so understandable when I freak out because of not being able to solve some stupid bugs. Kalai Selvan seems not at all interested, but Gobinath was very much interested in our project. But the things is, he is technically very weak, so he cant help me much. But he did much help of explaining me the Origami and its folds and making me understand them. Thanks a lot to Mohan Raj, Sai Prasad for helping me out with some difficulties and thanks to all other whom I forgot to mention here.

Short Video Demo:

Download Executable:

- Saiyasodharan