User Tools

Site Tools


public:problem_solving_challenge_2015:main

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
public:problem_solving_challenge_2015:main [2015/10/28 17:04] – created davidthuepublic:problem_solving_challenge_2015:main [2024/04/29 13:33] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ======Game AI Problem Solving Challenge, Fall 2015 ====== ======Game AI Problem Solving Challenge, Fall 2015 ======
  
 +**Design & Code: [[http://ru.is/davidthue|David Thue]]** ([[http://cadia.ru.is|CADIA]] & SCS @ RU)
 + 
 =====Introduction===== =====Introduction=====
 Artificial Intelligence (AI) is an important part of many computer games, where it's often used to create dynamic challenges for players to overcome. In this problem solving task, your objective is to create an AI controller for a space ship in a simple 2D game. Survive for as long as you can by dodging incoming hazards, and earn a high score in Challenge Mode by shooting asteroids along the way. Welcome to Code Ship. Artificial Intelligence (AI) is an important part of many computer games, where it's often used to create dynamic challenges for players to overcome. In this problem solving task, your objective is to create an AI controller for a space ship in a simple 2D game. Survive for as long as you can by dodging incoming hazards, and earn a high score in Challenge Mode by shooting asteroids along the way. Welcome to Code Ship.
  
-{{ :public:problem_solving_challenge_2015:codeship_intro.png?800 |}} +{{ :public:problem_solving_challenge_2015:codeship_intro.png?nolink&600 |}}
 =====Getting Oriented===== =====Getting Oriented=====
  
Line 96: Line 97:
 Loops are almost identical to C & C++; the only difference is that you don't need to declare your variables in 'for' loops. Some examples: Loops are almost identical to C & C++; the only difference is that you don't need to declare your variables in 'for' loops. Some examples:
  
-    // print out the grid along row 0: +    // print out the grid (the upper left corner is 0, 0) 
-    for(i = 0; 5i++)+    // for each row j, step along the columns with and add the grid cell [i, j] to our output string 
 +    output = "";     
 +    for(j = 0; 7j++)
     {     {
-        print(grid[i, 0]);+        for(i = 0; i < 5; i++) 
 +        { 
 +            output = output + grid[i, j]; 
 +        } 
 +        output = output + "\n"; // add a line break in between rows
     }     }
 +    print(output);
  
  
Line 130: Line 138:
 If, on the other hand, you would rather **avoid** this sort of thing, please try to avoid writing infinite loops in your code. If you happen to write one anyway, just refresh the page to start over. (//You'll still have a copy of your code in an external editor, right?//) If, on the other hand, you would rather **avoid** this sort of thing, please try to avoid writing infinite loops in your code. If you happen to write one anyway, just refresh the page to start over. (//You'll still have a copy of your code in an external editor, right?//)
  
-====Links to videos about Deep Learning applied to video games (Atari-playing bots).====+=====Out in the Real World===== 
 + 
 +The challenge of controlling an agent in a real-world environment (like a space ship in an asteroid field) is generally **really** hard, and computer games can provide a nicely simplified training ground for trying out new algorithms. Researchers at Google's DeepMind have been applying an AI technique called "Deep Learningto this sort of problem, and the results are pretty impressive: the algorithm can "learn" to play Atari 2600 games from only the pixels on the screen and the current value of the score. Here's a video that shows Deep Learning in action, trying to learn Atari Breakout: 
 + 
 +[[https://www.youtube.com/watch?v=V1eYniJ0Rnk|Google DeepMind's Deep Q-learning playing Atari Breakout]] 
 + 
 +...and here's an article about it in the journal Nature:  
 + 
 +[[http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html|Human-level control through deep reinforcement learning]] 
 + 
 +**Good luck!**
/var/www/cadia.ru.is/wiki/data/attic/public/problem_solving_challenge_2015/main.1446051860.txt.gz · Last modified: 2024/04/29 13:32 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki