Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revisionBoth sides next revision | ||
pelita [2018/09/07 14:44] – [Network games] Rike-Benjamin Schuppner | pelita [2019/08/28 15:08] – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Programming Project ====== | ====== Programming Project ====== | ||
- | [[https:// | + | [[https:// |
- | Pelita is a PacMan™ | + | Pelita is a Pac-Man |
- | Your task is to write a bot implementation. You have to implement the intelligence to navigate your bots successfully through the maze, kill the enemy' | + | Your task as a group is to write a bot implementation. You have to implement the //intelligence// to navigate your bots successfully through the maze, kill the enemy' |
No special previous knowledge about machine learning, artificial intelligence, | No special previous knowledge about machine learning, artificial intelligence, | ||
Line 11: | Line 11: | ||
Install pelita: | Install pelita: | ||
- | | + | |
Clone the group repo (where '' | Clone the group repo (where '' | ||
Line 27: | Line 27: | ||
Write tests for the part of your code which are testable, decide what parts you //can// test, what parts you //should// test, what parts you //must// test, and also what parts //can not// be tested. Use git and GitHub, use branches or pull-requests: | Write tests for the part of your code which are testable, decide what parts you //can// test, what parts you //should// test, what parts you //must// test, and also what parts //can not// be tested. Use git and GitHub, use branches or pull-requests: | ||
- | The idea of the group project is **not** to write the coolest AI-powered bots! Remember that and don't get carried away by the competition | + | The idea of the group project is **not** to write the coolest AI-powered bots! Remember that and don't get carried away by the competition. More about this in the next paragraph. |
- | ==== Working | + | ==== The Competition Factor==== |
+ | Some of you will feel the rush of competition, | ||
+ | Others may be annoyed by it, and may feel it is important to stay focused on good practices and don't care much about the result of the competition. | ||
+ | |||
+ | In part, this is the way humans work, so there is not much you can do about it. | ||
+ | But it may help to frame the experience | ||
+ | |||
+ | Back in the lab you will be also subject to all kinds of pressure. A typical situation is your boss asking for results and not caring about you writing nice, tested and reusable code. You will be often asked to just “deliver”, | ||
+ | |||
+ | Look at the programming project as a paradigmatic example of a real life situation. How do //you// work under pressure? How do //you// handle the trade-off between “just deliver” and “live up to your own standards”? | ||
+ | There is a lot to learn in such a context! | ||
+ | |||
+ | ==== Working in a Team ==== | ||
The group setting adds some additional hurdles to the challenge: you will be confronted with group dynamics which go beyond each member' | The group setting adds some additional hurdles to the challenge: you will be confronted with group dynamics which go beyond each member' | ||
- | Remember that as a group you can define your own rules. You are responsible as a group for keeping a nice and stimulating atmosphere during your long programming sessions. Talk about how to distribute the work and how to distribute responsibility: | + | Remember that as a group you can define your own rules. You are responsible as a group for keeping a nice and stimulating atmosphere during your long programming sessions. Talk about how to distribute the work and how to distribute responsibility: |
The final tournament is intended as a final party, where you can have fun watching **your** " | The final tournament is intended as a final party, where you can have fun watching **your** " | ||
Line 66: | Line 78: | ||
<alert type=" | <alert type=" | ||
- | * The repos are going to be **frozen** on Saturday | + | * The repos are going to be **frozen** on Saturday |
* Be sure there is a file in your repo named '' | * Be sure there is a file in your repo named '' | ||
- | * The file should define the string '' | + | * The file should define the string '' |
</ | </ | ||
Line 76: | Line 88: | ||
* '' | * '' | ||
* '' | * '' | ||
- | * the maze is a random '' | + | * the maze is randomly chosen for each game among the built-in mazes of normal size (32x16) |
- | * the side (blue/red) is randomly assigned | + | * your team' |
- a knockout round (based on the rank from the round-robin): | - a knockout round (based on the rank from the round-robin): | ||
* semifinal 1: the 1st team against the 4th | * semifinal 1: the 1st team against the 4th | ||
Line 87: | Line 99: | ||
==== Network games ==== | ==== Network games ==== | ||
+ | … more info soon … | ||
+ | /* | ||
To play against the more advanced bots in the network, start a network game: | To play against the more advanced bots in the network, start a network game: | ||
Line 99: | Line 112: | ||
(Of course, remember that your bot can also play on the right side, so make sure to test eg. '' | (Of course, remember that your bot can also play on the right side, so make sure to test eg. '' | ||
+ | */ | ||
+ |