diff --git a/README.md b/README.md
index afe77b5d196648ceea60330424120638cd468425..a26734a596a38e30948de3e8f47c51554dc0548e 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,33 @@
-# Flocking Simulator
+# **Flocking Simulator**
 
-## Description
+## **Contacts**
+
+* Étudiant  : [Antoine NOLLET](mailto:antoine.nollet.etu@univ-lille.fr)
+* Encadrant : [Jean-Christophe ROUTIER](mailto:jean-christophe.routier@univ-lille.fr)
+* Responsable : [Cédric DUMOULIN](mailto:cedric.dumoulin@univ-lille.fr)
+
+## **Résumé**
+
+Il s'agit ici du dépôt [Gitlab](https://gitlab.univ-lille.fr/) du Projet Individuel d'[Antoine NOLLET](mailto:antoine.nollet.etu@univ-lille.fr) encadré par [Jean-Christophe ROUTIER](mailto:jean-christophe.routier@univ-lille.fr).
+
+Le Projet Individuel est effectué dans le cadre de l'Unité d'Enseignement Projet Individuel (UE PJI) du [Master 1 Sciences et Technologies mention Informatique](https://portail.fil.univ-lille1.fr/portail/index.php?dipl=MInfo&label=Pr%C3%A9sentation) (M1 INFO) de l'Université de Lille. Le responsable de cette UE PJI est [Cédric DUMOULIN](mailto:cedric.dumoulin@univ-lille.fr).
+
+L'étudiant [Antoine NOLLET](mailto:antoine.nollet.etu@univ-lille.fr) est ainsi inscrit au [M1 INFO parcours Réalité Virtuelle et Augmentée](https://portail.fil.univ-lille1.fr/portail/index.php?dipl=MInfo&sem=RVA&ue=ACCUEIL&label=Pr%C3%A9sentation) durant l'année 2021-2022.
+
+L'objectif du projet est d'accompagner un mémoire qui étudie le modèle de flocking des BOIDS initialement défini par [C. Reynolds](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.480.9232&rep=rep1&type=pdf). Après avoir reproduit ce modèle à travers une simulation 2D et 3D, il s'agira de vérifier l'extension de ce modèle présenté dans un [article scientifique](http://diposit.ub.edu/dspace/bitstream/2445/34511/1/577311.pdf) en vérifiant expérimentalement les résultats qui sont présentés.
+
+## **Contenu**
+
+* [**./src**](./src/) : dossier contenant le code du projet
+* [**./comptes-rendus**](./comptes-rendus/) : dossier contenant les comptes-rendus du projet
+* [**README.md**](README.md) : le document que vous lisez
+
+## **Journal de Bord**
+
+Vous pouvez consulter le journal de bord en cliquant [ici](./comptes-rendus/journal-de-bord/menu.md).
+
+## **Documentation Technique**
+
+Vous pouvez consulter la documentation technique du projet en cliquant [ici](./comptes-rendus/documentation-technique/doc.md).
 
 
diff --git a/comptes-rendus/documentation-technique/doc.md b/comptes-rendus/documentation-technique/doc.md
new file mode 100755
index 0000000000000000000000000000000000000000..39ce662ad3e460a1b74fad18092be77b0f3fd1c2
--- /dev/null
+++ b/comptes-rendus/documentation-technique/doc.md
@@ -0,0 +1,3 @@
+# Documentation Technique : Flocking Simulator
+
+[**↩️ Retour à l'accueil**](../../README.md)
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/final/lundi.md b/comptes-rendus/journal-de-bord/final/lundi.md
new file mode 100755
index 0000000000000000000000000000000000000000..25ad51ff7b051e66e92bcd89b7ffabe0c4fc864a
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/final/lundi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 21
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 13/06/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/final/mardi.md b/comptes-rendus/journal-de-bord/final/mardi.md
new file mode 100755
index 0000000000000000000000000000000000000000..05cd4af8fa7f9aec9ef174427cefc38d2598b5da
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/final/mardi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 22 - Jour Final
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 14/06/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/final/menu.md b/comptes-rendus/journal-de-bord/final/menu.md
new file mode 100755
index 0000000000000000000000000000000000000000..51c59181c290c0abb3b6bc10c1fe67390c70d380
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/final/menu.md
@@ -0,0 +1,11 @@
+# Journal de Bord - Semaine Fin
+
+[↩️ Retour au Journal de Bord](../menu.md)
+
+La fin du Projet a eu lieu du 13/06/2022 au 14/06/2022.
+
+Vous pouvez ici accéder aux comptes rendus de chaque jour.
+
+* [Lundi 13 Juin 2022](lundi.md)
+* [Mardi 14 Juin 2022](mardi.md)
+
diff --git a/comptes-rendus/journal-de-bord/menu.md b/comptes-rendus/journal-de-bord/menu.md
new file mode 100755
index 0000000000000000000000000000000000000000..9dcfad4b01624e1fdd348119370940ad754e4289
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/menu.md
@@ -0,0 +1,13 @@
+# Journal de Bord
+
+[↩️ Retour à l'accueil](../../README.md)
+
+Le PJI a eu lieu du 16/05/2022 au 14/06/2022.
+
+Vous pouvez ici accéder aux comptes rendus de chaque semaine.
+
+* [Semaine 1](./semaine1/menu.md) : du 16/05/2022 au 20/05/2022
+* [Semaine 2](./semaine2/menu.md) : du 23/05/2022 au 27/05/2022
+* [Semaine 3](./semaine3/menu.md) : du 30/05/2022 au 03/06/2022
+* [Semaine 4](./semaine4/menu.md) : du 06/06/2022 au 10/06/2022
+* [Fin du Projet](./final/menu.md) : du 13/06/2022 au 14/06/2022
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine1/jeudi.md b/comptes-rendus/journal-de-bord/semaine1/jeudi.md
new file mode 100755
index 0000000000000000000000000000000000000000..732997bb94ddf21d65c6b5b25eff9bed86355f34
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine1/jeudi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 4
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 19/05/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine1/lundi.md b/comptes-rendus/journal-de-bord/semaine1/lundi.md
new file mode 100755
index 0000000000000000000000000000000000000000..3427f570b3ae47bf715647968a9f85a1bd09ad5e
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine1/lundi.md
@@ -0,0 +1,23 @@
+# Journal de Bord - Jour 1
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 16/05/2022.
+
+## De 8h30 à 10h
+
+* Relecture de l'[article scientifique](../../../media/paper.pdf) qu'on voudra tester
+
+## de 10h à 12h
+
+* Écriture résumé de l'[article scientifique](../../../media/paper.pdf)
+* Organisation de la structure du dépôt Git du projet (création des .md)
+
+## de 14h à 16h
+
+* Lecture des particularités du langage c# pour faire de l'orienté objet
+* Écriture du code (voir la v0 de la scène)
+
+## de 16h à 18h
+
+* Écriture du code
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine1/mardi.md b/comptes-rendus/journal-de-bord/semaine1/mardi.md
new file mode 100755
index 0000000000000000000000000000000000000000..5614fe18c2b670d9b8e2d813a3fbb5a620168285
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine1/mardi.md
@@ -0,0 +1,17 @@
+# Journal de Bord - Jour 2
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 17/05/2022.
+
+## De 8h30 à 10h
+
+* Écriture du code, compréhension des particularités unity-c#
+
+## de 10h à 12h
+
+* Écriture du code, compréhension des particularités unity-c#
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine1/menu.md b/comptes-rendus/journal-de-bord/semaine1/menu.md
new file mode 100755
index 0000000000000000000000000000000000000000..3f57f1894a4d871940f3ba3e9f8f557b651c1030
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine1/menu.md
@@ -0,0 +1,14 @@
+# Journal de Bord - Semaine 1
+
+[↩️ Retour au Journal de Bord](../menu.md)
+
+La Semaine 1 a eu lieu du 16/05/2022 au 20/05/2022
+
+Vous pouvez ici accéder aux comptes rendus de chaque jour.
+
+* [Lundi 16 Mai 2022](lundi.md)
+* [Mardi 17 Mai 2022](mardi.md)
+* [Mercredi 18 Mai 2022](mercredi.md)
+* [Jeudi 19 Mai 2022](jeudi.md)
+* [Vendredi 20 Mai 2022](vendredi.md)
+
diff --git a/comptes-rendus/journal-de-bord/semaine1/mercredi.md b/comptes-rendus/journal-de-bord/semaine1/mercredi.md
new file mode 100755
index 0000000000000000000000000000000000000000..d753f1af20d01f311f3df14bbb26554ddcf3c31f
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine1/mercredi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 3
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 18/05/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine1/vendredi.md b/comptes-rendus/journal-de-bord/semaine1/vendredi.md
new file mode 100755
index 0000000000000000000000000000000000000000..b5dde3638021f6f4173577e009530b4c8777b01b
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine1/vendredi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 5
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 20/05/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine2/jeudi.md b/comptes-rendus/journal-de-bord/semaine2/jeudi.md
new file mode 100755
index 0000000000000000000000000000000000000000..e6a965df249871d12fdb1326d660aa5ac66638e9
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine2/jeudi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 9
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 26/05/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine2/lundi.md b/comptes-rendus/journal-de-bord/semaine2/lundi.md
new file mode 100755
index 0000000000000000000000000000000000000000..569cde4528ff429d81feb1447e44efc54220cedb
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine2/lundi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 6
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 23/05/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine2/mardi.md b/comptes-rendus/journal-de-bord/semaine2/mardi.md
new file mode 100755
index 0000000000000000000000000000000000000000..2251e5e6124c7f07afa884417dab1347467decc5
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine2/mardi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 7
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 24/05/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine2/menu.md b/comptes-rendus/journal-de-bord/semaine2/menu.md
new file mode 100755
index 0000000000000000000000000000000000000000..374bd85e25b5410963bef6bfde0d853e6d264ec4
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine2/menu.md
@@ -0,0 +1,14 @@
+# Journal de Bord - Semaine 2
+
+[↩️ Retour au Journal de Bord](../menu.md)
+
+La Semaine 2 a eu lieu du 23/05/2022 au 27/05/2022
+
+Vous pouvez ici accéder aux comptes rendus de chaque jour.
+
+* [Lundi 23 Mai 2022](lundi.md)
+* [Mardi 24 Mai 2022](mardi.md)
+* [Mercredi 25 Mai 2022](mercredi.md)
+* [Jeudi 26 Mai 2022](jeudi.md)
+* [Vendredi 27 Mai 2022](vendredi.md)
+
diff --git a/comptes-rendus/journal-de-bord/semaine2/mercredi.md b/comptes-rendus/journal-de-bord/semaine2/mercredi.md
new file mode 100755
index 0000000000000000000000000000000000000000..39ad556ce3908167df27909207c6a48dbc055e51
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine2/mercredi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 8
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 25/05/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine2/vendredi.md b/comptes-rendus/journal-de-bord/semaine2/vendredi.md
new file mode 100755
index 0000000000000000000000000000000000000000..64b0be8145ce7b15b6d460ca4246994bc5255fe7
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine2/vendredi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 10
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 27/05/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine3/jeudi.md b/comptes-rendus/journal-de-bord/semaine3/jeudi.md
new file mode 100755
index 0000000000000000000000000000000000000000..af087466a4c04070b1d232fd753cc49063be7b24
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine3/jeudi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 14
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 02/06/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine3/lundi.md b/comptes-rendus/journal-de-bord/semaine3/lundi.md
new file mode 100755
index 0000000000000000000000000000000000000000..9f059a608fdf58446c01e942e53e7d507d45c760
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine3/lundi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 11
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 30/05/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine3/mardi.md b/comptes-rendus/journal-de-bord/semaine3/mardi.md
new file mode 100755
index 0000000000000000000000000000000000000000..eec52e93c5c4e4a53b0aa70fdd623814afa92e5b
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine3/mardi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 12
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 31/05/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine3/menu.md b/comptes-rendus/journal-de-bord/semaine3/menu.md
new file mode 100755
index 0000000000000000000000000000000000000000..78cc071d9ecb18905b53b3b08dc55b3fe26e13ee
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine3/menu.md
@@ -0,0 +1,14 @@
+# Journal de Bord - Semaine 3
+
+[↩️ Retour au Journal de Bord](../menu.md)
+
+La Semaine 3 a eu lieu du 30/05/2022 au 03/06/2022
+
+Vous pouvez ici accéder aux comptes rendus de chaque jour.
+
+* [Lundi 30 Mai 2022](lundi.md)
+* [Mardi 31 Mai 2022](mardi.md)
+* [Mercredi 01 Juin 2022](mercredi.md)
+* [Jeudi 02 Juin 2022](jeudi.md)
+* [Vendredi 03 Juin 2022](vendredi.md)
+
diff --git a/comptes-rendus/journal-de-bord/semaine3/mercredi.md b/comptes-rendus/journal-de-bord/semaine3/mercredi.md
new file mode 100755
index 0000000000000000000000000000000000000000..c40abd58995cdd21eca5d16e5ec8a3fc211ac1e8
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine3/mercredi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 13
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 01/06/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine3/vendredi.md b/comptes-rendus/journal-de-bord/semaine3/vendredi.md
new file mode 100755
index 0000000000000000000000000000000000000000..cb8d9d13f5ee8d83bb403154b8c4e02ee713f87e
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine3/vendredi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 15
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 03/06/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine4/jeudi.md b/comptes-rendus/journal-de-bord/semaine4/jeudi.md
new file mode 100755
index 0000000000000000000000000000000000000000..fcdc29ee15d0bcf005d774f1f0695d701a4fedfe
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine4/jeudi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 19
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 09/05/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine4/lundi.md b/comptes-rendus/journal-de-bord/semaine4/lundi.md
new file mode 100755
index 0000000000000000000000000000000000000000..29384113d9729970e40491dd2d44be9ad89c77c9
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine4/lundi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 16
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 06/06/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine4/mardi.md b/comptes-rendus/journal-de-bord/semaine4/mardi.md
new file mode 100755
index 0000000000000000000000000000000000000000..c968c6744506f00110c8b06857c13d9cd9963642
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine4/mardi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 17
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 07/06/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine4/menu.md b/comptes-rendus/journal-de-bord/semaine4/menu.md
new file mode 100755
index 0000000000000000000000000000000000000000..bb66494b7bd02f925ed52394ed60adaa88f727f7
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine4/menu.md
@@ -0,0 +1,14 @@
+# Journal de Bord - Semaine 4
+
+[↩️ Retour au Journal de Bord](../menu.md)
+
+La Semaine 1 a eu lieu du 06/06/2022 au 10/06/2022
+
+Vous pouvez ici accéder aux comptes rendus de chaque jour.
+
+* [Lundi 06 Juin 2022](lundi.md)
+* [Mardi 07 Juin 2022](mardi.md)
+* [Mercredi 08 Juin 2022](mercredi.md)
+* [Jeudi 09 Juin 2022](jeudi.md)
+* [Vendredi 10 Juin 2022](vendredi.md)
+
diff --git a/comptes-rendus/journal-de-bord/semaine4/mercredi.md b/comptes-rendus/journal-de-bord/semaine4/mercredi.md
new file mode 100755
index 0000000000000000000000000000000000000000..4050f5539f39726feebe714f1e2f09ec66d66ea6
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine4/mercredi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 18
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 08/06/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/comptes-rendus/journal-de-bord/semaine4/vendredi.md b/comptes-rendus/journal-de-bord/semaine4/vendredi.md
new file mode 100755
index 0000000000000000000000000000000000000000..db00197deb3a21674766d19c8f437621b0ce1923
--- /dev/null
+++ b/comptes-rendus/journal-de-bord/semaine4/vendredi.md
@@ -0,0 +1,13 @@
+# Journal de Bord - Jour 20
+
+[↩️ Retour au Journal de Bord de la Semaine](./menu.md)
+
+Voici ici le descriptif du travail effectué lors de la journée du 10/06/2022.
+
+## De 8h30 à 10h
+
+## de 10h à 12h
+
+## de 14h à 16h
+
+## de 16h à 18h
\ No newline at end of file
diff --git a/media/lecture-article.txt b/media/lecture-article.txt
new file mode 100755
index 0000000000000000000000000000000000000000..e4532190fb255524b3cdffd5a6bf8f667bd9bf14
--- /dev/null
+++ b/media/lecture-article.txt
@@ -0,0 +1,137 @@
+Citation :
+
+2010 Leadership in Flocking
+[Vicenç Quera, Francesc S. Beltran, Ruth Dolado ]
+
+Lien :
+
+http://diposit.ub.edu/dspace/bitstream/2445/34511/1/577311.pdf
+
+Mots clés :
+
+	- Flocking Behaviour
+	- Hierarchical Leadership
+	- Agent-Based Simulation
+	- Social Dynamics
+
+Structure :
+
+	1. Abstract
+		Étude de l'émergence de meneur comme résultat d'interactions inter-agents
+		Il est supposé que les meneurs seraient une conséquence d'interactions entre agents basées sur des règles dyadic.
+		Utilisation du comportement de nuée, exemple de comportement de groupe, dont les propriétés observés peuvent expliquer quelques unes
+		des dynamiques et organisations humaines
+		Generation de nué, on récolte les indices des agents pour interpreter le mouvement du groupe et interpréter s'il y a un leader actuel
+		Plusieurs tests, afin de tester le model, et voir comment la définition de l'agent et les conditions du monde
+		influent sur les fluctuations des indices.
+		Identification des agents, propriété monde, paramètre de modèle, qui rende stable la nuée et qui
+		rende possible l'analyse des propriétés d'environnements qui prédictent la probabilité d'emergence de meneur.
+	2. Introduction
+		- Sociologie, sciences po, management, psycologie
+		- le but est d'étudier l'émergence de leader comme conséquence d'interactions entre agents, qui
+		ont les mêmes propriétés (aucun est prédominant)
+		Seuls les interactions entre agents mènent à la nuée et au meneur
+		- Explication du comportement de nuée, Reynold cité
+		- Nuée est comportement de group auto-organisé, provoqué par règles simple entre agent
+			Parallèle avec certains comportements de groupes humains (basées sur observation et analyse, non sur anticipation et croyance)
+		- implementation de nuée, différent de Reynold, résulte de dyadic interactions rules. 
+			2 types indices, nuée globale et nuée menée
+			Tests du comportement du modèle, des propriétés agents et environnement + model param qui favorise floacking
+			Description de l'emergence de meneur et tentative de lien avec les prop d'environnement et la situation du meneur (position)
+			Description probabilité de l'agent de devenir meneur
+	3. Modelling Flock Emergence 
+		- mouvement de coordonnées, Utilisation de P-Flock 2.0 (C et Delphi) et dyadic rule
+		a. World and Agents
+			world : 2D discret, cases capacité 1 agent
+			agent : a des coordonnées de position et un vecteur direction
+			l'agent a un champ de perception centré par sa direction. 
+			ses mouvements sont contraints par son voisinages 
+			(Moor et Von Neumann à plusieurs diametre possibles)
+		b. Ideal Distances and Dissatisfaction
+			définission de la distance idéal entre les agents qui peut changer selon le contexte,
+			l'agent voudra se déplacer avec son voisinage
+			l'agent pourra quantifier son mécontentement dans une situation selon un voisinage donnée, 
+				il voudra faire le mouvement qui minimisera son mécontentement futur
+			Les agents qui n'ont pas de cases spécifique pour réduire leur mécontentement, bougeront aléatoirement après que ceux
+				qui avaient l'occasion de faire baisser leur mécontentement aient bougé
+		c. Flock Synthesis Rules
+			Distance idéale varie selon les interactions entre agents, interactions basées sur des règles, les régles de synthèse de nuée 
+			les règles : 
+				- se déplacement intialement de manière aléatoire
+				- quand un agent croise un autre et que leurs distances est inférieur ou égale à une certaine valeur, 
+					alors il détermine une distance idéale qui les rapproche de manière aléatoire
+				- 2 manières de déterminer le futur déplacement :
+					- douce : s'adapter au déplacement de l'autre, il se déplacera selon son voisinage pour minimiser son mécontentement 
+						et considéra le déplacement qui le rapprochera de la distance idéal avec l'autre, en considérant qu'il ne bougera pas
+						L'agent s'eloignera donc ou s'approchera, selon la distance réelle et la distance idéal determinée.
+						Si après mouvement on a un mécontentement supérieure à celui prévu, on parle de sous-adaptage. S'il est inférieur à celui prévu, sur-adaptage. Si égale, parfaitement adapté
+						2 cas : a. approcher et sousadapté, b. éloigner et suradapté
+							a. augmenter la distance idéal est pénalité
+							b. augmenter la distance idéal est récompense
+
+						En gros, si overadapted le mouvement est cool et on continue, sinon pas cool on continue pas
+					- brut : si trop de stagnation ou trop d'isolation
+			Des paramètres
+			les agents intéragissent avec d'autre si dans le champ de perception, l'autre agent n'interagit pas forcément si ne voit pas le premier agent
+			si l'agent considère plusieurs agents, alors il déterminera la distance idéale de manière indépendante pour chaque agent
+			Démo sur le site, on peut pause, play, slow down... On enregistre les positions, les directions, les distances idéales etles indices de nuée et de menage
+	4. Quantifying Floacking
+		- indice nué : analyse des positions dans le temps
+		- nué grande si headings en communs et distances assez proches, sinon petite
+		- on observe le tout et determine l'indice globale de nué selon les nuées observés
+	5. An Index of Hierarchical Flock Leadership 
+		- lorsqu'il y a nué, on observe souvent un leader. Leader qui donne sa direction aux autres 
+		(il ne voit pas les autres mais les autres le voit et le suit)
+		- matrice sociale : un graph où les agents sont des noeuds et avec arêtes orientés selon les autres agents perçues
+		- leader vu et suivi par certains qui eux sont suivi par certains qui eux ... Le leader n'a pas forcément le plus haut degré
+		Avoir un degré nul ne suffit pas pour être leader, il faut être suivi...
+		- rang de prestige : notre prestige augmente si on est suivi par d'autre plus ou moins prestige
+		- si boucle, utiliser des substitue de valeurs
+		- le poids est le dyadic indice de nuée, ainsi l'indice de menage correspond au degré de mouvement coordonné de la nué. Si nué compact avec même heading,
+		l'indice de menage sera haut. Quand désordonné, pas beaucoup de nué, alors pas beaucoup de menage.
+		- différence avec effective leadership (effective explique le mouvement, le Hierarchical est une observation extérieur)
+		Avoir un meneur n'explique pas le mouvement, c'est les règles des agents qui le définisse
+		a. An Example
+			- 8 agents positionnés, on voit leur direction et qui ils perçoivent
+			- analyse des indices de nué (matrice avec des 1 si même direction entre 2 agents)
+			- on constate le leader
+	6. Method
+		- Les tests. 2 series de simulations :
+			- identifier conditions environnements (taille), conditions agent (champ de vision) et 
+				paramètre des interactions qui font émerger le mouvement de nué.
+			- analyse des leaders et essaie de déterminer la probabilité selon position initiale de devenir leader
+		a. Flock Emergence
+			- diverses tailles de mondes, 20 agents, perception entre 3pi/2 et 60 et utilisation 
+			du voisinage de Moore de diametre 3. Dispersé équitablement dans l'espace et même direction,
+			Simulation fait 20000 itérations. On répéte 4 fois la simulation selon la taille
+			- Résultats : grand monde, pas de nué. trop petit monde, trop d'interactions, nué pas stable.
+			Une taille relativement petite (150x120) est vu comme optimal pour 20 agents.
+			- On change la perception, on garde le reste, on fait tourner tout pareil qu'avant, (60, 6π/4) and (80, 5π/4) sont les meilleurs perceptions.
+			En relançant les simulations avec ces perceptions et le reste des critères sauf qu'on affecte aléatoirement les positions et les directions, la nuée est stable
+			- Simulations pour obtenir les paramètres des interactions
+			- Avec les résultats obtenue, on effectue 100 simulations qui tourne 20000 étapes avec affectation aléatoire des positions et directions, 72% de chance d'obtenir la nuée.
+			- lorsque nué stable, pas de patron général de comportement de la nuée stable
+		b. Flock Leadership
+			- le leader sera celui avec l'indice le plus grand, même s'il y a plusieurs nuées. 
+			Un seul leader stable à la fois.
+			- deux ensembles de simulations, les stables (72%) et pas stables (28%)
+			On observe les affectations de meneur et lorsque la nué est stable, le leader l'est aussi. Sinon, le leader change beaucoup de fois
+		c. Centrality and Leadership
+			- hypothèse de la centralité qui cause le meneur
+			- centralité : à partir d'un agent, somme des vecteurs menants aux autres, si somme nulle, agent centré
+			- après tests avec 292 leaders observés, la position n'influe pas le leader
+	7. Discussion and Conclusions
+		- Le modèle crée une nuée comme celui de Reynold sans utiliser le même principe. Ici, adaptation aux agents rencontrés, pénalité et récompense, 
+		minimisation du mécontentement produisent le mouvement de nuée. Les règles des agents ne le prévoient pas, c'est une conséquence de celles ci.
+		- Lorsque le mouvement de nué est produit, on constate des leaders stables. Les règles des agents ne le prévoient pas non plus, c'est également un phénomène emergeant.
+		- Indices de nuée et de meneur avec utilisation de graphes sociaux.
+		- Beaucoup de variations de paramètres possibles, l'objectif était de trouver lesquels favorisaient l'émergence de nué. 3 conclusions :
+			- monde grand, quand nuée, la nuée est stable
+			- les nuées les plus compactes et stables sont apparus lorsque grande vision et petit objectif, 
+			- avec les paramètres optimaux trouvé, 72% de chance d'avoir une nuée
+		- lorsque nuée stable, le leader le sera aussi. la position de l'agent leader n'a pas d'incidence apparente dans le fait de devenir leader.
+		- Possibilité de suite en 3D, possibilité de suite dans l'analyse d'émergeance de leaders
+
+Commentaires :
+
+Intéressant comme phénomène !
\ No newline at end of file
diff --git a/media/paper.pdf b/media/paper.pdf
new file mode 100755
index 0000000000000000000000000000000000000000..896c3a8b22120c95ef4e14d8c722e5b001de2a9e
Binary files /dev/null and b/media/paper.pdf differ
diff --git a/media/reynolds.pdf b/media/reynolds.pdf
new file mode 100755
index 0000000000000000000000000000000000000000..29d3ead07c2b1cc02ec83e754178c3e2e7449ed7
Binary files /dev/null and b/media/reynolds.pdf differ
diff --git a/src/Assets/Boid.prefab b/src/Assets/Boid.prefab
deleted file mode 100755
index d6933ad8e79f86aaf32e76881f0e437c32f9c1e6..0000000000000000000000000000000000000000
--- a/src/Assets/Boid.prefab
+++ /dev/null
@@ -1,300 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &437517194170826549
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 3255089734447956989}
-  - component: {fileID: 1274723212690861014}
-  - component: {fileID: 6428507427308703938}
-  - component: {fileID: 2073586004525875113}
-  m_Layer: 0
-  m_Name: Cylinder
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &3255089734447956989
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 437517194170826549}
-  m_LocalRotation: {x: -0.5192311, y: 0.4799991, z: 0.5192311, w: 0.4799991}
-  m_LocalPosition: {x: 0.02, y: -0.11, z: -0.03}
-  m_LocalScale: {x: 0.44719383, y: 1.7489846, z: 0.4350196}
-  m_Children: []
-  m_Father: {fileID: 8965968834670266038}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: -94.496994, y: 89.99999, z: 0}
---- !u!33 &1274723212690861014
-MeshFilter:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 437517194170826549}
-  m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &6428507427308703938
-MeshRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 437517194170826549}
-  m_Enabled: 1
-  m_CastShadows: 1
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_MotionVectors: 1
-  m_LightProbeUsage: 1
-  m_ReflectionProbeUsage: 1
-  m_RayTracingMode: 2
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
-  m_StaticBatchInfo:
-    firstSubMesh: 0
-    subMeshCount: 0
-  m_StaticBatchRoot: {fileID: 0}
-  m_ProbeAnchor: {fileID: 0}
-  m_LightProbeVolumeOverride: {fileID: 0}
-  m_ScaleInLightmap: 1
-  m_ReceiveGI: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 1
-  m_SelectedEditorRenderState: 3
-  m_MinimumChartSize: 4
-  m_AutoUVMaxDistance: 0.5
-  m_AutoUVMaxAngle: 89
-  m_LightmapParameters: {fileID: 0}
-  m_SortingLayerID: 0
-  m_SortingLayer: 0
-  m_SortingOrder: 0
---- !u!136 &2073586004525875113
-CapsuleCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 437517194170826549}
-  m_Material: {fileID: 0}
-  m_IsTrigger: 0
-  m_Enabled: 1
-  m_Radius: 0.50000036
-  m_Height: 2
-  m_Direction: 1
-  m_Center: {x: 0.000000029802326, y: 0, z: -0.00000005960467}
---- !u!1 &6503597824548460142
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 7021844916232508048}
-  - component: {fileID: 3037028539180812241}
-  - component: {fileID: 7478878501271007588}
-  - component: {fileID: 5023922831713910363}
-  m_Layer: 0
-  m_Name: Capsule
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &7021844916232508048
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 6503597824548460142}
-  m_LocalRotation: {x: 0.49605432, y: 0.50391483, z: 0.49605432, w: 0.50391483}
-  m_LocalPosition: {x: -0.07, y: -0.01, z: 0.418}
-  m_LocalScale: {x: 0.09107, y: 0.33664638, z: 0.5}
-  m_Children: []
-  m_Father: {fileID: 8965968834670266038}
-  m_RootOrder: 1
-  m_LocalEulerAnglesHint: {x: 0, y: 90.00001, z: 89.09901}
---- !u!33 &3037028539180812241
-MeshFilter:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 6503597824548460142}
-  m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &7478878501271007588
-MeshRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 6503597824548460142}
-  m_Enabled: 1
-  m_CastShadows: 1
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_MotionVectors: 1
-  m_LightProbeUsage: 1
-  m_ReflectionProbeUsage: 1
-  m_RayTracingMode: 2
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
-  m_StaticBatchInfo:
-    firstSubMesh: 0
-    subMeshCount: 0
-  m_StaticBatchRoot: {fileID: 0}
-  m_ProbeAnchor: {fileID: 0}
-  m_LightProbeVolumeOverride: {fileID: 0}
-  m_ScaleInLightmap: 1
-  m_ReceiveGI: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 1
-  m_SelectedEditorRenderState: 3
-  m_MinimumChartSize: 4
-  m_AutoUVMaxDistance: 0.5
-  m_AutoUVMaxAngle: 89
-  m_LightmapParameters: {fileID: 0}
-  m_SortingLayerID: 0
-  m_SortingLayer: 0
-  m_SortingOrder: 0
---- !u!136 &5023922831713910363
-CapsuleCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 6503597824548460142}
-  m_Material: {fileID: 0}
-  m_IsTrigger: 0
-  m_Enabled: 1
-  m_Radius: 0.50000024
-  m_Height: 2
-  m_Direction: 1
-  m_Center: {x: -0.000000029802347, y: 0, z: 0.00000002980234}
---- !u!1 &8965968834670266037
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 8965968834670266038}
-  - component: {fileID: 8965968834670266033}
-  - component: {fileID: 8965968834670266032}
-  - component: {fileID: 8965968834670266039}
-  - component: {fileID: 8965968834670266034}
-  m_Layer: 0
-  m_Name: Boid
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &8965968834670266038
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8965968834670266037}
-  m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
-  m_LocalPosition: {x: 0.21321096, y: 1, z: -0.17667253}
-  m_LocalScale: {x: 0.5, y: 0.5, z: 1.2}
-  m_Children:
-  - {fileID: 3255089734447956989}
-  - {fileID: 7021844916232508048}
-  m_Father: {fileID: 0}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
---- !u!33 &8965968834670266033
-MeshFilter:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8965968834670266037}
-  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &8965968834670266032
-MeshRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8965968834670266037}
-  m_Enabled: 1
-  m_CastShadows: 1
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_MotionVectors: 1
-  m_LightProbeUsage: 1
-  m_ReflectionProbeUsage: 1
-  m_RayTracingMode: 2
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
-  m_StaticBatchInfo:
-    firstSubMesh: 0
-    subMeshCount: 0
-  m_StaticBatchRoot: {fileID: 0}
-  m_ProbeAnchor: {fileID: 0}
-  m_LightProbeVolumeOverride: {fileID: 0}
-  m_ScaleInLightmap: 1
-  m_ReceiveGI: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 1
-  m_SelectedEditorRenderState: 3
-  m_MinimumChartSize: 4
-  m_AutoUVMaxDistance: 0.5
-  m_AutoUVMaxAngle: 89
-  m_LightmapParameters: {fileID: 0}
-  m_SortingLayerID: 0
-  m_SortingLayer: 0
-  m_SortingOrder: 0
---- !u!135 &8965968834670266039
-SphereCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8965968834670266037}
-  m_Material: {fileID: 0}
-  m_IsTrigger: 0
-  m_Enabled: 1
-  serializedVersion: 2
-  m_Radius: 0.5
-  m_Center: {x: 0, y: 0, z: 0}
---- !u!114 &8965968834670266034
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8965968834670266037}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 569ca68f350b4a14f8619ace3abb92bc, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  direction: {x: 0, y: 0, z: 0}
-  speed: 0
diff --git a/src/Assets/Boid.prefab.meta b/src/Assets/Boid.prefab.meta
deleted file mode 100755
index 56acd476a0d7d65380817366204decd22ccffd82..0000000000000000000000000000000000000000
--- a/src/Assets/Boid.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: ecfb92997fb6674468149566eb767e2c
-PrefabImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/src/Assets/Environnement.cs b/src/Assets/Environnement.cs
deleted file mode 100755
index e6e09d5731b17ce20094feb531997afdd4a7ccda..0000000000000000000000000000000000000000
--- a/src/Assets/Environnement.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class Environnement : MonoBehaviour
-{
-
-    public int minX;
-    public int minY;
-    public int minZ;
-    public int maxX;
-    public int maxY;
-    public int maxZ;
-    public bool _3D;
-    public bool globalSpeed;
-    public float speed;
-    public bool RaynoldEscape;
-    public int RaynoldEscapeTresh;
-    public bool RaynoldTogether;
-    public int RaynoldTogetherTresh;
-    public bool RaynoldFollow;
-    public int RaynoldFollowTresh;
-
-    // Start is called before the first frame update
-    void Start()
-    {
-        _3D = true;
-        globalSpeed = true;
-        speed = 1.2f;
-        minX = -30;
-        minY = 0;
-        minZ = -15;
-        maxX = 30;
-        maxY = 50;
-        maxZ = 15;
-        RaynoldEscape = false ;
-        RaynoldEscapeTresh = 1;
-        RaynoldTogether = false ;
-        RaynoldTogetherTresh = 3;
-        RaynoldFollow = false ;
-        RaynoldFollowTresh = 5;
-    }
-
-    // Update is called once per frame
-    void Update()
-    {
-        
-    }
-}
\ No newline at end of file
diff --git a/src/Assets/Environnement.cs.meta b/src/Assets/Environnement.cs.meta
deleted file mode 100755
index 5bc766b8dd9ec26ff7108324f108b2e11c1273d0..0000000000000000000000000000000000000000
--- a/src/Assets/Environnement.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: e6b1cf67504415c4686b3faeea17770e
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/src/Assets/Flocking.cs b/src/Assets/Flocking.cs
deleted file mode 100755
index 63084fc76a25195b3f2dad75891567fb7b2cfd11..0000000000000000000000000000000000000000
--- a/src/Assets/Flocking.cs
+++ /dev/null
@@ -1,161 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using System;
-
-public class Flocking : MonoBehaviour
-{
-
-    private Environnement env;
-    public Vector3 direction;
-    public float speed;
-    private bool _3D;
-    public Component[] birds;
-    private List<Vector3> nextDirections = new List<Vector3>();
-
-    // Start is called before the first frame update
-    void Start()
-    {
-        env = GameObject.Find("SMA").GetComponent<Environnement>();
-        direction = randomDirection();
-        speed = 1.2f;
-        _3D = env._3D;
-        birds = env.GetComponentsInChildren<Flocking>();
-    }
-
-    // Update is called once per frame
-    void Update()
-    {
-        if(env._3D != _3D) {
-            _3D = env._3D;
-            direction = randomDirection();
-        }
-        setDirection();
-        move();
-    }
-
-    Vector3 randomDirection() {
-
-        float x = 0.0f;
-        float y = 0.0f;
-        float z = 0.0f;
-        int r;
-        if(env._3D) {
-            for(int i = 0; i<10; i++) {
-                r = UnityEngine.Random.Range(0,3);
-                if (r == 0) x += 1.0f;
-                else if (r == 1) y += 1.0f;
-                else z += 1.0f;
-            }
-        }
-        else {
-            for(int i = 0; i<10; i++) {
-                r = UnityEngine.Random.Range(0,2);
-                if (r == 0) x += 1.0f;
-                else y += 1.0f;
-            }
-        }
-        if(UnityEngine.Random.Range(1,3) > 1) x = -x;
-        if(UnityEngine.Random.Range(1,3) > 1) y = -y;
-        if(UnityEngine.Random.Range(1,3) > 1) z = -z;
-
-        return normalizedVector(x,y,z);
-    }
-
-    Vector3 normalizedVector(float x, float y, float z) {
-        return (new Vector3(x,y,z)).normalized;
-    }
-
-    Vector3 meanVector(List<Vector3> vectors) {
-        Vector3 res = Vector3.zero;
-        for(int i = 0; i<vectors.Count; i++) {
-            res += vectors[i];
-        }
-        res = res/vectors.Count;
-        return res.normalized;
-    }
-
-    void setDirection() {
-        nextDirections.Clear();
-        environnement();
-        List<Component> neighbours = neighbourhood();
-        if(env.RaynoldEscape) raynoldEscape(neighbours);
-        if(env.RaynoldFollow) raynoldFollow(neighbours);
-        if(env.RaynoldTogether) raynoldTogether(neighbours);
-        direction = meanVector(nextDirections);
-    }
-
-    List<Component> neighbourhood() {
-        List<Component> neighbours = new List<Component>();
-        float dist;
-        Vector3 link;
-        Flocking bird;
-        for(int i=0; i<birds.Length; i++) {
-            bird = (Flocking) birds[i];
-            link = bird.transform.position - transform.position;
-            dist = (float) Math.Sqrt(Math.Pow(link.x,2) + Math.Pow(link.y,2) + Math.Pow(link.z,2));
-            if(bird != this && dist < env.RaynoldFollowTresh) neighbours.Add(birds[i]);
-        }
-        return neighbours;
-    }
-
-    void raynoldEscape(List<Component> neighbours) {
-        Vector3 res = Vector3.zero;
-        float dist;
-        Vector3 link;
-        Flocking bird;
-        for(int i=0; i<neighbours.Count; i++) {
-            bird = (Flocking) neighbours[i];
-            link = bird.transform.position - transform.position;
-            dist = (float) Math.Sqrt(Math.Pow(link.x,2) + Math.Pow(link.y,2) + Math.Pow(link.z,2));
-            if(bird != this && dist < env.RaynoldEscapeTresh) res -= link;
-        }
-        nextDirections.Add(normalizedVector(res.x,res.y,res.z));
-    }
-
-    void raynoldFollow(List<Component> neighbours) {
-        Vector3 res = Vector3.zero;
-        float dist;
-        Vector3 link;
-        Flocking bird;
-        for(int i=0; i<neighbours.Count; i++) {
-            bird = (Flocking) neighbours[i];
-            link = bird.transform.position - transform.position;
-            dist = (float) Math.Sqrt(Math.Pow(link.x,2) + Math.Pow(link.y,2) + Math.Pow(link.z,2));
-            if(bird != this && dist < env.RaynoldFollowTresh && dist >= env.RaynoldTogetherTresh) res += link;
-        }
-        nextDirections.Add(normalizedVector(res.x,res.y,res.z));
-    }
-
-    void raynoldTogether(List<Component> neighbours) {
-        Vector3 res = Vector3.zero;
-        float dist;
-        Vector3 link;
-        Flocking bird;
-        for(int i=0; i<neighbours.Count; i++) {
-            bird = (Flocking) neighbours[i];
-            link = bird.transform.position - transform.position;
-            dist = (float) Math.Sqrt(Math.Pow(link.x,2) + Math.Pow(link.y,2) + Math.Pow(link.z,2));
-            if(bird != this && dist < env.RaynoldTogetherTresh && dist >= env.RaynoldEscapeTresh) res += bird.direction;
-        }
-        nextDirections.Add(normalizedVector(res.x,res.y,res.z));
-    }
-
-    void environnement() {
-        Vector3 res = Vector3.zero;
-        res += direction;
-        if(transform.position.x < env.minX || transform.position.x > env.maxX) res.x = -direction.x;
-        if(transform.position.y < env.minY || transform.position.y > env.maxY) res.y = -direction.y;
-        if(transform.position.z < env.minZ || transform.position.z > env.maxZ) res.z = -direction.z;
-        nextDirections.Add(res);
-    }
-
-    void move() {
-        float s;
-        if(env.globalSpeed) s = env.speed; else s = speed;
-        transform.position += s*direction;
-        transform.LookAt(transform.position + s*direction);
-    }
-
-
-}
diff --git a/src/Assets/Flocking.cs.meta b/src/Assets/Flocking.cs.meta
deleted file mode 100755
index 2cb3693f4f5bbde06476adc3ae55709c01d97269..0000000000000000000000000000000000000000
--- a/src/Assets/Flocking.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 569ca68f350b4a14f8619ace3abb92bc
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/src/Assets/Scenes.meta b/src/Assets/Scenes.meta
deleted file mode 100755
index df95cf6beb1e5fa6b171446e17170808cbd9a233..0000000000000000000000000000000000000000
--- a/src/Assets/Scenes.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: fb44d5370e6065d42932be2ab49c851d
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/src/Assets/Scenes/SampleScene.unity b/src/Assets/Scenes/SampleScene.unity
deleted file mode 100755
index 4a82fc07ea327d41f3a291551cf4fefc43f8c209..0000000000000000000000000000000000000000
--- a/src/Assets/Scenes/SampleScene.unity
+++ /dev/null
@@ -1,1870 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!29 &1
-OcclusionCullingSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_OcclusionBakeSettings:
-    smallestOccluder: 5
-    smallestHole: 0.25
-    backfaceThreshold: 100
-  m_SceneGUID: 00000000000000000000000000000000
-  m_OcclusionCullingData: {fileID: 0}
---- !u!104 &2
-RenderSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 9
-  m_Fog: 0
-  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
-  m_FogMode: 3
-  m_FogDensity: 0.01
-  m_LinearFogStart: 0
-  m_LinearFogEnd: 300
-  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
-  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
-  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
-  m_AmbientIntensity: 1
-  m_AmbientMode: 0
-  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
-  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
-  m_HaloStrength: 0.5
-  m_FlareStrength: 1
-  m_FlareFadeSpeed: 3
-  m_HaloTexture: {fileID: 0}
-  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
-  m_DefaultReflectionMode: 0
-  m_DefaultReflectionResolution: 128
-  m_ReflectionBounces: 1
-  m_ReflectionIntensity: 1
-  m_CustomReflection: {fileID: 0}
-  m_Sun: {fileID: 705507994}
-  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
-  m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 11
-  m_GIWorkflowMode: 1
-  m_GISettings:
-    serializedVersion: 2
-    m_BounceScale: 1
-    m_IndirectOutputScale: 1
-    m_AlbedoBoost: 1
-    m_EnvironmentLightingMode: 0
-    m_EnableBakedLightmaps: 1
-    m_EnableRealtimeLightmaps: 0
-  m_LightmapEditorSettings:
-    serializedVersion: 12
-    m_Resolution: 2
-    m_BakeResolution: 40
-    m_AtlasSize: 1024
-    m_AO: 0
-    m_AOMaxDistance: 1
-    m_CompAOExponent: 1
-    m_CompAOExponentDirect: 0
-    m_ExtractAmbientOcclusion: 0
-    m_Padding: 2
-    m_LightmapParameters: {fileID: 0}
-    m_LightmapsBakeMode: 1
-    m_TextureCompression: 1
-    m_FinalGather: 0
-    m_FinalGatherFiltering: 1
-    m_FinalGatherRayCount: 256
-    m_ReflectionCompression: 2
-    m_MixedBakeMode: 2
-    m_BakeBackend: 1
-    m_PVRSampling: 1
-    m_PVRDirectSampleCount: 32
-    m_PVRSampleCount: 500
-    m_PVRBounces: 2
-    m_PVREnvironmentSampleCount: 500
-    m_PVREnvironmentReferencePointCount: 2048
-    m_PVRFilteringMode: 2
-    m_PVRDenoiserTypeDirect: 0
-    m_PVRDenoiserTypeIndirect: 0
-    m_PVRDenoiserTypeAO: 0
-    m_PVRFilterTypeDirect: 0
-    m_PVRFilterTypeIndirect: 0
-    m_PVRFilterTypeAO: 0
-    m_PVREnvironmentMIS: 0
-    m_PVRCulling: 1
-    m_PVRFilteringGaussRadiusDirect: 1
-    m_PVRFilteringGaussRadiusIndirect: 5
-    m_PVRFilteringGaussRadiusAO: 2
-    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
-    m_PVRFilteringAtrousPositionSigmaIndirect: 2
-    m_PVRFilteringAtrousPositionSigmaAO: 1
-    m_ExportTrainingData: 0
-    m_TrainingDataDestination: TrainingData
-    m_LightProbeSampleCountMultiplier: 4
-  m_LightingDataAsset: {fileID: 0}
-  m_UseShadowmask: 1
---- !u!196 &4
-NavMeshSettings:
-  serializedVersion: 2
-  m_ObjectHideFlags: 0
-  m_BuildSettings:
-    serializedVersion: 2
-    agentTypeID: 0
-    agentRadius: 0.5
-    agentHeight: 2
-    agentSlope: 45
-    agentClimb: 0.4
-    ledgeDropHeight: 0
-    maxJumpAcrossDistance: 0
-    minRegionArea: 2
-    manualCellSize: 0
-    cellSize: 0.16666667
-    manualTileSize: 0
-    tileSize: 256
-    accuratePlacement: 0
-    debug:
-      m_Flags: 0
-  m_NavMeshData: {fileID: 0}
---- !u!1001 &8016228
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (15)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -6.2
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 24.2
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 15
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &8016229 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 8016228}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &96740976
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (7)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 3
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 11.8
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 7
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &96740977 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 96740976}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &231921851
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (5)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 10.8
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 9.1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 5
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &231921852 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 231921851}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &288846326
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (18)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 4
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 16.1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 18
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &288846327 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 288846326}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &296062933
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (6)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -0.3000002
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 7.5
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 6
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &296062934 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 296062933}
-  m_PrefabAsset: {fileID: 0}
---- !u!1 &586262039
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 586262040}
-  - component: {fileID: 586262041}
-  m_Layer: 0
-  m_Name: SMA
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &586262040
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 586262039}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children:
-  - {fileID: 1841194690}
-  - {fileID: 839628353}
-  - {fileID: 1234818804}
-  - {fileID: 1129455079}
-  - {fileID: 2107148637}
-  - {fileID: 231921852}
-  - {fileID: 296062934}
-  - {fileID: 96740977}
-  - {fileID: 1753801105}
-  - {fileID: 2120840499}
-  - {fileID: 638564285}
-  - {fileID: 795964310}
-  - {fileID: 1628097336}
-  - {fileID: 1142302939}
-  - {fileID: 962810560}
-  - {fileID: 8016229}
-  - {fileID: 1374693831}
-  - {fileID: 2020836510}
-  - {fileID: 288846327}
-  - {fileID: 2084016289}
-  m_Father: {fileID: 0}
-  m_RootOrder: 2
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &586262041
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 586262039}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: e6b1cf67504415c4686b3faeea17770e, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  minX: 0
-  minY: 0
-  minZ: 0
-  maxX: 0
-  maxY: 0
-  maxZ: 0
-  _3D: 0
-  globalSpeed: 0
-  speed: 0
---- !u!1001 &638564284
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (10)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -17
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 16.1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 10
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &638564285 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 638564284}
-  m_PrefabAsset: {fileID: 0}
---- !u!1 &705507993
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 705507995}
-  - component: {fileID: 705507994}
-  m_Layer: 0
-  m_Name: Directional Light
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!108 &705507994
-Light:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 705507993}
-  m_Enabled: 1
-  serializedVersion: 10
-  m_Type: 1
-  m_Shape: 0
-  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
-  m_Intensity: 1
-  m_Range: 10
-  m_SpotAngle: 30
-  m_InnerSpotAngle: 21.80208
-  m_CookieSize: 10
-  m_Shadows:
-    m_Type: 2
-    m_Resolution: -1
-    m_CustomResolution: -1
-    m_Strength: 1
-    m_Bias: 0.05
-    m_NormalBias: 0.4
-    m_NearPlane: 0.2
-    m_CullingMatrixOverride:
-      e00: 1
-      e01: 0
-      e02: 0
-      e03: 0
-      e10: 0
-      e11: 1
-      e12: 0
-      e13: 0
-      e20: 0
-      e21: 0
-      e22: 1
-      e23: 0
-      e30: 0
-      e31: 0
-      e32: 0
-      e33: 1
-    m_UseCullingMatrixOverride: 0
-  m_Cookie: {fileID: 0}
-  m_DrawHalo: 0
-  m_Flare: {fileID: 0}
-  m_RenderMode: 0
-  m_CullingMask:
-    serializedVersion: 2
-    m_Bits: 4294967295
-  m_RenderingLayerMask: 1
-  m_Lightmapping: 1
-  m_LightShadowCasterMode: 0
-  m_AreaSize: {x: 1, y: 1}
-  m_BounceIntensity: 1
-  m_ColorTemperature: 6570
-  m_UseColorTemperature: 0
-  m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
-  m_UseBoundingSphereOverride: 0
-  m_ShadowRadius: 0
-  m_ShadowAngle: 0
---- !u!4 &705507995
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 705507993}
-  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
-  m_LocalPosition: {x: 0, y: 3, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
-  m_Father: {fileID: 0}
-  m_RootOrder: 1
-  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
---- !u!1001 &795964309
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (11)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -13.7
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 20.400002
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 11
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &795964310 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 795964309}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &839628352
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (1)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 3.3
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 5.3
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &839628353 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 839628352}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &962810559
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (14)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -9.5
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 19.900002
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 14
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &962810560 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 962810559}
-  m_PrefabAsset: {fileID: 0}
---- !u!1 &963194225
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 963194228}
-  - component: {fileID: 963194227}
-  - component: {fileID: 963194226}
-  m_Layer: 0
-  m_Name: Main Camera
-  m_TagString: MainCamera
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!81 &963194226
-AudioListener:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 963194225}
-  m_Enabled: 1
---- !u!20 &963194227
-Camera:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 963194225}
-  m_Enabled: 1
-  serializedVersion: 2
-  m_ClearFlags: 1
-  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
-  m_projectionMatrixMode: 1
-  m_GateFitMode: 2
-  m_FOVAxisMode: 0
-  m_SensorSize: {x: 36, y: 24}
-  m_LensShift: {x: 0, y: 0}
-  m_FocalLength: 50
-  m_NormalizedViewPortRect:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 1
-    height: 1
-  near clip plane: 0.3
-  far clip plane: 1000
-  field of view: 60
-  orthographic: 0
-  orthographic size: 5
-  m_Depth: -1
-  m_CullingMask:
-    serializedVersion: 2
-    m_Bits: 4294967295
-  m_RenderingPath: -1
-  m_TargetTexture: {fileID: 0}
-  m_TargetDisplay: 0
-  m_TargetEye: 3
-  m_HDR: 1
-  m_AllowMSAA: 1
-  m_AllowDynamicResolution: 0
-  m_ForceIntoRT: 0
-  m_OcclusionCulling: 1
-  m_StereoConvergence: 10
-  m_StereoSeparation: 0.022
---- !u!4 &963194228
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 963194225}
-  m_LocalRotation: {x: -0.08524751, y: -0, z: -0, w: 0.9963598}
-  m_LocalPosition: {x: 0, y: 14.27, z: -39.11}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
-  m_Father: {fileID: 0}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: -9.781, y: 0, z: 0}
---- !u!1001 &1129455078
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (3)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -4.5
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 8
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 3
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &1129455079 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 1129455078}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &1142302938
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (13)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 1.6000004
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 21.5
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 13
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &1142302939 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 1142302938}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &1234818803
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (2)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -7.8
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 3.7
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 2
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &1234818804 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 1234818803}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &1374693830
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (16)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 13.2
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 3.7
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 16
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &1374693831 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 1374693830}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &1628097335
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (12)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -1.6999998
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 17.2
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 12
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &1628097336 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 1628097335}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &1753801104
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (8)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -9.2
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 13.400001
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 8
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &1753801105 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 1753801104}
-  m_PrefabAsset: {fileID: 0}
---- !u!4 &1841194690 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 8965968834305515636}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &2020836509
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (17)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 20.7
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 7.5
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 17
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &2020836510 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 2020836509}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &2084016288
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (19)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 11.5
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 19.900002
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 19
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &2084016289 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 2084016288}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &2107148636
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (4)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 7.5
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 4.8
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 4
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &2107148637 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 2107148636}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &2120840498
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid (9)
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -5.8999996
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 17.7
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 9
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
---- !u!4 &2120840499 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-    type: 3}
-  m_PrefabInstance: {fileID: 2120840498}
-  m_PrefabAsset: {fileID: 0}
---- !u!1001 &8965968834305515636
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 586262040}
-    m_Modifications:
-    - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_Name
-      value: Boid
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3}
diff --git a/src/Assets/Scenes/SampleScene.unity.meta b/src/Assets/Scenes/SampleScene.unity.meta
deleted file mode 100755
index 952bd1e9e110583d94b471a30ff4ddd69f4aee7d..0000000000000000000000000000000000000000
--- a/src/Assets/Scenes/SampleScene.unity.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 9fc0d4010bbf28b4594072e72b8655ab
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/src/boids.unitypackage b/src/Packages/v0.unitypackage
similarity index 100%
rename from src/boids.unitypackage
rename to src/Packages/v0.unitypackage
diff --git a/src/Packages/v1.unitypackage b/src/Packages/v1.unitypackage
new file mode 100755
index 0000000000000000000000000000000000000000..b871ac21ce230a5f6cfc4a9c0bb1bdb534297209
Binary files /dev/null and b/src/Packages/v1.unitypackage differ
diff --git a/src/Scripts/Agent.cs b/src/Scripts/Agent.cs
new file mode 100755
index 0000000000000000000000000000000000000000..f77a515c831bcbae0bfc27669329eff85c3376ac
--- /dev/null
+++ b/src/Scripts/Agent.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+
+public class Agent : MonoBehaviour, Visible
+{
+
+    public SMA system;
+    private Comportement comportement;
+    private Perception perception;
+    public Vector3 direction;
+    public float speed;
+    public List<Vector3> oldDirections;
+    private int Taille_Memoire = 5;
+
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        system = GameObject.Find("SMA").GetComponent<SMA>();
+        comportement = new Reynolds(this);
+        perception = new Perception360(this, 15);
+        //perception = new Perception(this,20.0f,180.0f);
+        direction = Utils.randomDirection();
+        //speed = UnityEngine.Random.Range(0.8f,1.2f);
+        speed = 0.7f;
+        oldDirections = new List<Vector3>();
+        oldDirections.Add(direction);
+    }
+
+    // Update is called once per frame
+    void Update()
+    {   
+        reagir(voir());
+        memoire();
+    }
+
+    public List<Observation> voir() { return perception.voir(); }
+
+    public void reagir(List<Observation> observation) {direction = comportement.reagir(observation); move(); }
+    
+    void move() {
+        transform.position += speed*direction;
+        transform.LookAt(transform.position + speed*direction);
+    }
+
+    void memoire() {
+        oldDirections.Add(direction);
+        if (oldDirections.Count > Taille_Memoire) oldDirections.RemoveAt(0);
+    }
+
+    public bool isAlive() { return true; }
+
+}
diff --git a/src/Scripts/Comportement/Aleatoire.cs b/src/Scripts/Comportement/Aleatoire.cs
new file mode 100755
index 0000000000000000000000000000000000000000..aa349820c13862a26b36347fbb9b0456baf01c53
--- /dev/null
+++ b/src/Scripts/Comportement/Aleatoire.cs
@@ -0,0 +1,15 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Aleatoire : Comportement
+{
+
+    public Aleatoire(Agent proprietaire) : base(proprietaire) {}
+
+    public override Vector3 reagir(List<Observation> observation) {
+        //int bruit = UnityEngine.Random.Range(1,5);
+        return proprietaire.oldDirections[0].normalized;
+    }
+
+}
diff --git a/src/Scripts/Comportement/Comportement.cs b/src/Scripts/Comportement/Comportement.cs
new file mode 100755
index 0000000000000000000000000000000000000000..c1728d8de44448aabffc1667c2a49e8d68990c43
--- /dev/null
+++ b/src/Scripts/Comportement/Comportement.cs
@@ -0,0 +1,23 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public abstract class Comportement
+{
+
+    protected Agent proprietaire;
+
+    protected int nbBruit = 5;
+    protected float bruit = 0.01f;
+
+    public Comportement(Agent a) {
+        proprietaire = a;
+    }
+
+    public abstract Vector3 reagir(List<Observation> observation) ;
+    /*{
+        return Utils.noiseVector(proprietaire.direction,nbBruit,bruit);
+        //return Vector3.zero;
+    }*/
+
+}
diff --git a/src/Scripts/Comportement/Reynolds.cs b/src/Scripts/Comportement/Reynolds.cs
new file mode 100755
index 0000000000000000000000000000000000000000..f5fac296e83a3cb7e59073b72129ef1e4a1750f3
--- /dev/null
+++ b/src/Scripts/Comportement/Reynolds.cs
@@ -0,0 +1,53 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Reynolds : Comportement
+{
+
+    static public float Escape = 5.0f;
+    static public float Together = 10.0f;
+    static public float Follow = 15.0f;
+
+    public Reynolds(Agent proprietaire) : base(proprietaire) {}
+
+    public override Vector3 reagir(List<Observation> observation) {
+        List<Vector3> vectors = new List<Vector3>();
+        vectors.Add(proprietaire.direction);
+        foreach(Observation o in observation) {
+            if (o.objet.isAlive()) {
+                if(danger(o)) vectors.Add(fuir(o.distance));
+                else if(normal(o)) vectors.Add(suivre(o.objet));
+                else if(isolement(o)) vectors.Add(rapprocher(o.distance));
+            }
+            else {
+                if(danger(o)) for(int i=0;i<5;i++) vectors.Add(fuir(o.distance));
+            }
+        }
+        Vector3 res = Utils.meanVector(vectors);
+        //return proprietaire.direction;
+        return Utils.noiseVector(res,nbBruit,bruit);
+    }
+    
+    private bool danger(Observation o) {
+        return (Utils.normVector(o.distance) < Escape);
+    }
+
+    private Vector3 fuir(Vector3 d) { return -d; }
+
+    private bool normal(Observation o) { 
+        return Utils.normVector(o.distance) < Together;
+    }
+
+    private Vector3 suivre(Visible a) { 
+        Agent agent = (Agent) a;
+        return agent.direction;
+    }
+
+    private bool isolement(Observation o) {
+        return Utils.normVector(o.distance) <= Follow;
+    }
+
+    private Vector3 rapprocher(Vector3 d) { return d; }
+
+}
diff --git a/src/Scripts/Environnement/Environnement.cs b/src/Scripts/Environnement/Environnement.cs
new file mode 100755
index 0000000000000000000000000000000000000000..e024985ce60a846a662c5fb933cc4b94bbda29ff
--- /dev/null
+++ b/src/Scripts/Environnement/Environnement.cs
@@ -0,0 +1,70 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Environnement : MonoBehaviour
+{
+
+    private SMA system;
+    public GameObject topologie;
+    public float minX;
+    public float maxX;
+    public float minY;
+    public float maxY;
+    public float minZ;
+    public float maxZ;
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        system = GameObject.Find("SMA").GetComponent<SMA>();
+        Instantiate(topologie, Vector3.zero, Quaternion.identity,transform);
+        float scaleX = topologie.transform.localScale.x;
+        float scaleY = topologie.transform.localScale.y;
+        float scaleZ = topologie.transform.localScale.z;
+        minX = -scaleX/2.0f;maxX = scaleX/2.0f;
+        minY = -scaleY/2.0f;maxY = scaleY/2.0f;
+        minZ = -scaleZ/2.0f;maxZ = scaleZ/2.0f;
+    }
+
+    public Observation detectEnv(Agent current) {
+        Vector3 pos = current.transform.position;
+        List<Vector3> p = new List<Vector3>
+        { 
+            new Vector3(minX,pos.y,pos.z), new Vector3(maxX,pos.y,pos.z),
+            new Vector3(pos.x,minY,pos.z), new Vector3(pos.x,maxY,pos.z),
+            new Vector3(pos.x,pos.y,minZ), new Vector3(pos.x,pos.y,maxZ),
+        };
+        float dist = Utils.normVector(p[0] - pos);
+        float d; Vector3 res = p[0];
+        for(int i=1;i<p.Count;i++) {
+            d = Utils.normVector(p[i] - pos);
+            if(d<dist) {
+                dist = d;
+                res = p[i];
+            }
+        }
+        return new Observation(new Obstacle(res),res-pos);
+    }
+
+    public List<Observation> voisinage(Agent current, float rayon, float angle) {
+        Vector3 dist; float l; float a;
+        List<Observation> res = new List<Observation>();
+        for(int i = 0; i<system.agents.Count;i++) {
+            dist = system.agents[i].transform.position - current.transform.position;
+            l = Utils.normVector(dist);
+            a = Vector3.Angle(current.direction,dist);
+            if (system.agents[i] != current && l <= rayon && a <= angle/2.0f) res.Add(new Observation(system.agents[i],dist));
+        }
+        Observation bord = detectEnv(current);
+        l = Utils.normVector(bord.distance); a = Vector3.Angle(current.direction,bord.distance);
+        if(l <= rayon && a <= angle/2.0f) res.Add(bord);
+        return res;
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+}
diff --git a/src/Scripts/Environnement/Obstacle.cs b/src/Scripts/Environnement/Obstacle.cs
new file mode 100755
index 0000000000000000000000000000000000000000..8e63bc1295a382e858d8128538a036455958d86d
--- /dev/null
+++ b/src/Scripts/Environnement/Obstacle.cs
@@ -0,0 +1,15 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Obstacle : Visible
+{
+
+    Vector3 position;
+
+    public bool isAlive() { return false; }
+
+    public Obstacle(Vector3 p) {
+        position = p;
+    }
+}
diff --git a/src/Scripts/Perception/Perception.cs b/src/Scripts/Perception/Perception.cs
new file mode 100755
index 0000000000000000000000000000000000000000..0cf080e1deb9b0ba1a22002974448aa4bf951d19
--- /dev/null
+++ b/src/Scripts/Perception/Perception.cs
@@ -0,0 +1,33 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Perception
+{
+
+    protected Agent proprietaire;
+    protected float rayon;
+    protected float angle;
+
+    public Perception(Agent agent, float r, float a) {
+        proprietaire = agent;
+        rayon = r;
+        angle = a;
+    }
+
+    public List<Observation> voir() { 
+        return proprietaire.system.environnement.voisinage(proprietaire, rayon, angle);    
+    }
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+}
diff --git a/src/Scripts/Perception/Perception360.cs b/src/Scripts/Perception/Perception360.cs
new file mode 100755
index 0000000000000000000000000000000000000000..d650015890a123ebbf261f2b1fd4c52cb4c36179
--- /dev/null
+++ b/src/Scripts/Perception/Perception360.cs
@@ -0,0 +1,21 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Perception360 : Perception
+{
+
+    public Perception360(Agent agent, float r) : base(agent, r, 360.0f) {}
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+}
diff --git a/src/Scripts/SMA.cs b/src/Scripts/SMA.cs
new file mode 100755
index 0000000000000000000000000000000000000000..98d32dba5256db550e5f8b03896ac0950c804e6c
--- /dev/null
+++ b/src/Scripts/SMA.cs
@@ -0,0 +1,44 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class SMA : MonoBehaviour
+{
+    public List<Agent> agents;
+    public Environnement environnement;
+    public int population = 50;
+    public GameObject boid;
+
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        createEnvironnement();
+        createAgents();
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    void createEnvironnement() {
+        //environnement = new Environnement();
+        //environnement = gameObject.AddComponent<Environnement>() as Environnement;
+        environnement = GameObject.Find("Environnement").GetComponent<Environnement>();
+    }
+
+    void createAgents() {
+        GameObject a;
+        for(int i=0; i<population; i++) {
+            a = Instantiate(boid, 
+                Utils.randomVector(environnement.minX, environnement.maxX, 
+                environnement.minY, environnement.maxY, 
+                environnement.minZ, environnement.maxZ), Quaternion.identity,environnement.transform) as GameObject;
+            agents.Add(a.GetComponent<Agent>());
+        }
+
+    }
+
+}
\ No newline at end of file
diff --git a/src/Scripts/Utils.cs b/src/Scripts/Utils.cs
new file mode 100755
index 0000000000000000000000000000000000000000..3efaabdb3c7421cc2379ea80abc66910d2200e85
--- /dev/null
+++ b/src/Scripts/Utils.cs
@@ -0,0 +1,105 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Utils
+{
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+    public static Vector3 randomDirection() {
+
+        float x = 0.0f;
+        float y = 0.0f;
+        float z = 0.0f;
+        int r;
+        for(int i = 0; i<10; i++) {
+            r = UnityEngine.Random.Range(0,3);
+            if (r == 0) x += 1.0f;
+            else if (r == 1) y += 1.0f;
+            else z += 1.0f;
+        }
+        if(UnityEngine.Random.Range(1,3) > 1) x = -x;
+        if(UnityEngine.Random.Range(1,3) > 1) y = -y;
+        if(UnityEngine.Random.Range(1,3) > 1) z = -z;
+
+        return normalizedVector(x,y,z);
+    }
+
+    public static Vector3 normalizedVector(float x, float y, float z) {
+        return (new Vector3(x,y,z)).normalized;
+    }
+
+    public static Vector3 meanVector(List<Vector3> vectors) {
+        Vector3 res = Vector3.zero;
+        for(int i = 0; i<vectors.Count; i++) {
+            res += vectors[i];
+        }
+        res = res/vectors.Count;
+        return res.normalized;
+    }
+
+    public static Vector3 randomVector(float minX, float maxX, float minY, float maxY, float minZ, float maxZ) {
+        return new Vector3(UnityEngine.Random.Range(minX,maxX),
+                            UnityEngine.Random.Range(minY,maxY),
+                            UnityEngine.Random.Range(minZ,maxZ));
+    }
+
+    public static float normVector(Vector3 v) {
+        return (float) Math.Sqrt(Math.Pow(v.x,2) + Math.Pow(v.y,2) + Math.Pow(v.z,2));
+    }
+
+    public static Vector3 noiseVector(Vector3 v, int nbBruit, float bruit ) {
+        int coin1; int coin2; float x = v.x; float y = v.y; float z = v.z;
+        for(int i=0;i<nbBruit;i++) {
+            coin1 = UnityEngine.Random.Range(1,3);
+            coin2 = UnityEngine.Random.Range(1,4);
+            if(coin2 == 1) {
+                if(coin1 == 1) x+=bruit;
+                else x-= bruit;
+            }
+            else if(coin2 == 2) {
+                if(coin1 == 1) y+=bruit;
+                else y-= bruit;
+            }
+            else {
+                if(coin1 == 1) z+=bruit;
+                else z-= bruit;
+            }
+        }
+        return normalizedVector(x,y,z);
+    }
+
+    /* List<Component> neighbourhood() {
+        List<Component> neighbours = new List<Component>();
+        float dist;
+        Vector3 link;
+        Agent bird;
+        for(int i=0; i<birds.Length; i++) {
+            bird = (Agent) birds[i];
+            link = bird.transform.position - transform.position;
+            dist = (float) Math.Sqrt(Math.Pow(link.x,2) + Math.Pow(link.y,2) + Math.Pow(link.z,2));
+            if(bird != this && dist < system.RaynoldFollowTresh) neighbours.Add(birds[i]);
+        }
+        return neighbours;
+    }
+
+    void SMA() {
+        Vector3 res = Vector3.zero;
+        res += direction;
+        if(transform.position.x < system.minX || transform.position.x > system.maxX) res.x = -direction.x;
+        if(transform.position.y < system.minY || transform.position.y > system.maxY) res.y = -direction.y;
+        if(transform.position.z < system.minZ || transform.position.z > system.maxZ) res.z = -direction.z;
+        nextDirections.Add(res);
+    }*/
+}
diff --git a/src/Scripts/Vision/Observation.cs b/src/Scripts/Vision/Observation.cs
new file mode 100755
index 0000000000000000000000000000000000000000..bb1dc10f3d8938f7f679089f9b7d796e4d652021
--- /dev/null
+++ b/src/Scripts/Vision/Observation.cs
@@ -0,0 +1,30 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Observation
+{
+
+    public Visible objet;
+
+    public Vector3 distance;
+
+
+    public Observation(Visible o, Vector3 d) {
+        objet = o;
+        distance = d;
+    }
+
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+}
diff --git a/src/Scripts/Vision/Visible.cs b/src/Scripts/Vision/Visible.cs
new file mode 100755
index 0000000000000000000000000000000000000000..8b2a211f98402a7de51cfa70fdb7c22d203a3a59
--- /dev/null
+++ b/src/Scripts/Vision/Visible.cs
@@ -0,0 +1,5 @@
+public interface Visible {
+
+    public bool isAlive();
+    
+}
\ No newline at end of file