Guide to The Imagine Cup; Project Hoshimi (AI) Competition

As many of you will know the Imagine Cup is the worlds largest technology competition for students. Microsoft runs the competition on an annual basis and internationally around 130k students compete from 100 countries. The competition has nine categories each a competition in their own right. The categories are:

Each competition has several rounds leading to a grand final which this year will be hosted in Paris with top prizes as high as $15k.

The competition has been open since late August so now everyone in the UK is back at university it's a great time to get a team together and compete. The first rounds for all the competitions are designed to be easy to compete in so take a look at the above links and get involved.

To get you started I have written a couple of guides to entering round one of the Games Development and Project Hoshimi competitions. The guide to getting started with XNA can be found here and the Project Hoshimi guide below...

Guide to Project Hoshimi

Project Hoshimi is a programming battle where participants program strategy for bots to follow. The strategy is then played out in a real-time 3D environment. There are various scenarios and characters for which scenarios will have to be programmed and an SDK is provided.

For round one of the competition the focus is on getting started and strategy, little programming will be required and strategy will be programmed through a graphical user interface. There will be a set of criteria that must be completed by the bots and everyone who meets these criteria and uploads their strategy file will proceed to round two of the competition. In the SDK you will complete round one in ‘Discovery Mode’

Round two sees competitors get more involved with the programming of the bots with an updated SDK and objectives. In round two you will not get to see the map before your bots enter it so yopu will have to program strategy that adapts. You will also have a competitor’s team trying to complete the objectives at the same time as you adding an extra level of complexity. In the SDK you will complete round one in ‘Intermediate Mode’

All qualifiers are distributed into pools by country and then an elimination format is used to determine the top 3 teams per country. Those top 3 teams per country are then all put together in one pool. An elimination format is used to determine the top 6 teams to move on to the final round. The final round will be held in Paris at the worldwide finals. The top six teams from round two will battle it out in a twenty four hour competition!

Getting Started

Project Hoshimi requires the installation of a special SDK which will allow you to devise strategy for your nanobots and see the strategy played out live in a 3D environment.

Fig.1:

image

  • Once you have selected the username and clicked start you will be presented with the main menu where you can select a game mode (Discovery/Intermediate/Expert). You are now ready to start the missions.
  • It is best to start with ‘Discovery Mode’. To begin the first lesson select the first entry in the left hand pane. A lesson viewer with instructions will open to the right of the screen and you can click the ‘Load this Lesson’ button to get started (See Fig.2).

Fig.2:

image

  • You can switch back the list of lessons by selecting the ‘Lessons’ button.
  • Once you have followed the steps set out in the lesson viewer you can test your strategy in the 3D environment by clicking the ‘Test Strategy’ button.

Tutorial

This tutorial is based on Project Hoshimi 2007 and uses the 2007 SDK. The 2008 SDK will be different but the principles discussed here will carry through and prepare you for round one of the 2008 invitational.

To enter round one of the Project Hoshimi invitational you will need to use Discovery Mode in the Project Hoshimi SDK to complete a set of objectives using a team of nanobots. The below guide will walk you through choosing an injection point, creating nanobots and giving them behaviours and should equip you with the skills necessary to success in round one.

  • First of all open Project Hoshimi and sign in with your username.
  • On the main menu select ‘Discovery Mode’
  • Select a lesson from the left hand pain and click ‘Load Lesson’
  • The first thing you have to do is choose an injection point. Depending on the objectives of the mission you will want to be injected into different areas. As a rule of thumb you will want to be injected in the most central location to all the objective points.
  • To select an injection point simply click on your chosen location on the map. A blue dot will indicate your chosen injection point (See Fig.3), to move it just click somewhere else on the map.

Fig.3:

image

  • Next we must tell our bot to move round the objective points, normally there is a number of moves navigation objectives must be completed in to succeed in the mission.
  • Select the ‘Actions’ tab at the top of the screen and select the AI bot from the left hand pane (See Fig.4)

Fig.4:

image

  • Now click the ‘MoveTo’ button and click the first objective point on the map. You will see the co-ordinates of the objective point are populated in the ‘X’ and ‘Y’ location fields. Click the OK button to save the action.
  • You will now see a line drawn from your injection point to the first objective point indicating the path your bot will take. You can repeat the above steps to get your bot to navigate to all the objective points.

Fig.5:

image

  • Next we will create more bots so that we can complete navigation objectives faster. There are several different types of bots you can choose to build each with particular uses. For the time being we will create a squad of explorer bots. Select the ‘Squads’ tab.
  • Now click on the Explorer logo and complete the name field in the ‘Squad Details’ pane. You can create squads with differing numbers of bots depending on what you want them to do. You can also check the box ‘Attack Enemy’, if selected this will have the squad attack enemy bots after they have completed their assigned actions. Click the OK button top save the squad (See Fig.6).

Fig.6:

image

  • It is now possible to assign actions to the squad in the ‘Actions’ tab.
  • Some missions will require the collection and transfer of ‘AZN’ for these objectives you will need to use either ‘Collector’ or ‘Container’ squads and ‘Collect From’ and ‘Transfer To’ actions.
  • So far only simple strategy would be required to complete missions however there are more considerations to be made when planning strategy for your bots. You will notice that the map shows areas marked with different colours. These colours mark different tissue densities which your bots will navigate through at slower speeds therefore using more turns to complete objectives. You will also notice streams of moving current on the maps these streams are flows that your bots will move fast through with the flow or slow through against it. Streams can often be used to move your bots between objectives faster but equally they can often get in the way when they are flowing in the opposite direction you want your bots to travel in. The final major consideration is enemies. Enemies can be static or mobile and will kill your bots if they come within range. Some bot types such as ‘Protector’ are able to defend themselves against enemies while other types such as ‘Container’ are not.
  • The above guide will get you started in Project Hoshimi, once you have explored the above concepts it would be recommended to complete the lessons offered within the project Hoshimi SDK.

Resources

Technorati Tags: Imagine Cup, Project Hoshimi, Students, Microsoft

Comments

  • Anonymous
    October 24, 2007
    Ed Dunhill's Blog has a very valuable entry: Guide to The Imagine Cup; Project Hoshimi (AI) Competition