Your ad can be shown here!
 
  Help
AI links
  :: main hierarchy ::
• Agent Software
• Artificial Life
• Cellular Automata
• Cognitive Science
• Companies
• Computer Vision
• Data Mining
• Decision Support
• Expert Systems
• Fuzzy Logic
• Game AI
• General Resources
• Genetic Algorithms
• Handwriting Recognition
• Information Retrieval
• Intelligent Agents
• Intelligent Interfaces
• Knowledge Management
• LISP
• Machine Learning
• Mobile Agents
• Nanotechnology
• Natural Language Understanding
• Neural Networks
• Online Books
• Philosophy
• Programming
• Prolog
• Robot Builders
• Robotics
• Speech Recognition
• Virtual Pets
• Web Agents
 
aboutAI.net Weekly Features
    Terrarium
Terrarium
It is modeling tool for use by those studying evolutionary biology or artificial intelligence. It is also a game, and a great way to learn various development techniques for .NET framework.
  Related Resources
• Past issues of weekly features
• Get A(rtificial) Life
• Working Like an Ant
• Mobile Agents and Distributed Systems
 
 Elsewhere on the Web
• GotDotNet
• angryCoder
• The Code Project
 
 

I've been involved in various AI-related development stuff for more than 10 years, starting with simple rule-based systems and working with a wide variety of programming tools. The first, toyish version of Visual Basic was my first contact with Microsoft IDE, and while I cannot say that it was always a pleasant experience, I must admit that the most of my day-to-day programming work is now being done in VB or C#. Java is still close to my heart, but many Pascals, LISPs, Prologs, Smalltalks, etc. are archived for a long time on my backup drives. However, most of the AI-related source-code you can find today is written in C, Java or something similar, primarily for various Unix operating systems. For a long time Microsoft tried to minimize the importance of the open-source movement, and every single component or source sample had a hefty price tag on it. Luckily enough, things have changed, and now you can join various collaborative projects working with VB, VC++ or C#.

While we can argue what is the best development platform for the specific field, I had great overall experience with the new Visual Studio .NET. Portal engine that powers aboutAI.net and many similar sites, with all theirs bells and whistles (collaborative filtering, data mining, text classification, etc.) is built upon solid .NET foundation. Don't worry, this isn't going to be another glorified story about .NET, as we are still keeping both feet on the ground and actively supporting other "non-MS" open AI projects. However, if you want to leverage your VB/C# knowledge in the AI field, there are several excellent collaborative (and competitive) projects you could join.

In an interesting marketing twist, Microsoft teamed with Intel and recently started the New Worlds .NET Web Services Challenge, awarding one Harley-Davidson V-ROD motorcycle, one Dell Dimension 8200 desktop computer, several MSDN Universal subscriptions and MS Xbox video game systems to the most successful developers. The project itself has two basic components: a Windows client (the "PlanetViewer") and a remote Web service ("World"). When the PlanetViewer calls a new World Web service, it retrieves particulars about the landscape for that world, rendering it in 3D. You could enter the contest either by creating and submitting your own worlds, or by improving the code with optimization techniques for the PlanetViewer.

The goal of this challenge was obvious: to improve the public awareness about new Microsoft's .NET strategy and Intel's 3D hardware. It focuses on using Web services, a somewhat new concept even for the experienced programmer. It seems like every publication and Web site has some mention of Web services. In a nutshell, Web services are a new platform for building language and platform-independent interoperable distributed applications. As a VB developer, you may already used component-based distributed apps using COM and DCOM. While this was a widely accepted approach, VB.NET finally allows you go much further by following a set of XML-based standards to achieve greater interoperability via the Web.

While this is an interesting project from the standpoint of distributed computing, there's another one, especially attractive to Artificial Life and Mobile Agent developers. Meet Terrarium, a multiplayer ecosystem game developed using the .NET Framework. Developers can create their own creatures and add them into the game on their own client machine. Teleporters on each client transfer the creatures between clients in the Terrarium peer-to-peer network.

As a creature developer, you can program either herbivores or carnivores. Once a creature is in the Terrarium ecosystem and competing for resources, the central Web site can be used to compare its vital statistics against those of other creatures. The objective of Terrarium is to develop a creature that out-survives the rest.

Terrarium uses Windows Forms and DirectX for a rich UI experience. The .NET Frameworks evidence-based security architecture allows mobile code (for example, someone else's creature) to run in a secure manner on your machine. And XML Web Services provide the community infrastructure for the game, enabling peer discovery, reporting, and auto-update of new versions. This single system allows you to experiment with various graphics aspects, mobile agent techniques and P2P capabilities, but that's not all...

The support for the Artificial Intelligence and Artificial Life techniques is rather impressive. In creating a creature, developers have complete control over everything from genetic traits (eyesight, speed, defensive power, attacking power, etc.) to behavior (the algorithms for locating prey, moving, attacking, etc.) and reproduction (how often a creature will give birth and what genetic information will be passed on to its offspring). Upon completing the development process, the code is compiled into an assembly that can be loaded into the local ecosystem.

In a nutshell, Terrarium provides a showcase for technological advancements built into the .NET Framework, and a quite powerful modeling tool for use by those studying evolutionary biology or artificial intelligence. But as they say first and foremost, it is a game... So have fun while learning the basic aspects of AI-related technologies.

Talk about AI-related topics at Artificial Intelligence Bulletin Board.

Want more timely information and resources related to AI? Subscribe to our FREE newsletter!

Got some specific AI related questions or need consulting services? Contact your webmaster, Denis Susac.

Talk with people who share your interests...

Previous Features

S p o n s o r e d    b y...

Buy the ER1 Robot!