====== Techniques pour les Espaces enchevêtrés ======
===== Théorie =====
==== Espaces, réseaux ====
Les espaces de jeux peuvent se définir:
* sans accès à un réseau wifi
* avec un réseau wifi et pas d'internet
* avec un serveur de zone présent dans l'espace de jeux
* sans serveur
* avec un accès internet wifi
* avec un serveur de jeux global
En gros , soit la machine nomade a accès au serveur central sur internet, soit à un serveur local, soit à rien (seulement aux autres joueur qui passent)
Un serveur peut gérer :
* la cartographie OSM
* les PNJ
* les données de jeux en cours, les historiques et tout ce qui est utile aux différents MJ
* les sites d'organisation des jeux, wiki etc
* les communications , irc, voIP
* les espaces de partages, visibles et invisibles, temporaires ou non
==== la spatialisation ====
* [[ http://www.persee.fr/web/revues/home/prescript/article/psy_0003-5033_1922_num_23_1_29797 | L'orientation auditive latérale ]]
* http://www.eelab.usyd.edu.au/~craig/CARlabPublicationsData/PDF/bsfr-3518884796/bsfr.pdf
* pistes supercollider
* http://sebastienclara.wordpress.com/articles/presentation-de-supercollider/spatialisation-et-mouvement/
* http://www.orient-lodge.com/node/4992
* http://doc.sccode.org/Guides/Intro-to-the-ATK.html
* ressources ? http://www.nescivi.nl/
* http://www.roaldbaudoux.org/index.php?option=com_content&view=article&id=72:lienssc&catid=36:tech&Itemid=55
* http://sebastienclara.wordpress.com/articles/presentation-de-supercollider/bibliographie-et-liens/
* http://sccode.org/tag/category/ambient
* http://spatialaudio.net/ssr/
* https://ccrma.stanford.edu/courses/220b-winter-2007/topics/algorithms/markov/examples/midifiles.sc algoryhtmique
**Binaural**
* ircam
* http://interface.cipic.ucdavis.edu/sound/tutorial/hrtfsys.html
* http://julovi.net/j/?page_id=3
* cw_binaural~ https://github.com/rfabbri/pd-macambira/tree/master/externals/ddoukhan
* http://sonenvir.at/downloads/sc3/ambiem/
* https://ccrma.stanford.edu/courses/220b-winter-2007/topics/spatialization/
* https://ccrma.stanford.edu/workshops/gaffta2010/spatialsound/examples.shtml
==== la géolocalisation ====
* http://wiki.labomedia.org/index.php/G%C3%A9olocalisation
=== Notion d'espaces de jeux et de zones temporaires autonomes ,les TAZ ===
Des zones d'échanges sont crées automatiquement par la présence dans un même lieu de plusieurs joueurs. Le principal est celui du jeu total et est géré par un serveur de zone/jeux. Mais des systèmes de fichiers virtuels réseau peuvent être créer dans certaines conditions de jeu, Ils peuvent accueillir des données copiée là en vue de partage différés non gérés par le serveur principal de jeux. Une machine peut les rendre plus ou moins permanent en restant sur place pendant un certain temps. Mais ils disparaissent normalement des que le dernier joueur quitte l'endroit.
On peut faire gérer ces mini zones par des machines déposées, dans un café, chez un particulier. Leur gestion extérieure n'est pas obligatoire. Elle peuvent aussi héberger des PNJ de passage.
== Machinerie système des TAZ ==
Page des [[:tek:taz|Totems Actifs de Zone]]
===== Matériel =====
==== Électronique ====
[[http://bzhlab.wikidot.com/webographie|Divers liens sur l'électronique]]
=== trouver des modules électroniques ===
* http://http://www.lextronic.fr/76-outils-de-developpement.html
* http://radiospares-fr.rs-online.com/web/
* http://www.selectronic.fr/
* http://www.robotshop.com/eu
* http://www.sparkfun.com
* http://www.cooking-hacks.com/index.php/shop/sensors.html
==== Machine nomade ====
=== Cartes à processeur 'classique' ===
* [[http://fr.wikipedia.org/wiki/Raspberry_Pi|Raspberry_Pi]]
* [[http://cubieboard.org/]]
* http://gooseberry.atspace.co.uk/ processeur A10
* https://www.olimex.com/Products/OLinuXino/A13/A13-OLinuXino/ en plus il y ades ecrans et pas mal de modules tout fait, un linux : http://linux-sunxi.org/Main_Page
* piste CCRMA https://ccrma.stanford.edu/~eberdahl/Satellite/
plus ancien
* [[http://www.igep-platform.com/index.php?option=com_content&view=article&id=46&Itemid=55|IGEPV2]] une toute petite carte mère basé sur le processeur OMAP3 1GHz , 512MB RAM / 512MB Flash, Wifi, Ethernet, USB, son, graphique OpenGL, nouvelle version !
* [[http://beagleboard.org/|Beagleboard XM]]
* [[http://pandaboard.org/node/300/#specs|pandaboard]] nouvelle version 1GHz 1G_RAM etc.
* [[http://beagleboard.org/bone|Beaglebone]]
* [[http://rhombus-tech.net/]] toujours plus fort !
* [[http://www.silicon.fr/un-ordinateur-open-source-a-15-dollars-qui-dit-mieux-70934.html]]
* http://elinux.org/Embedded_Open_Modular_Architecture/PCMCIA
* [[http://shop.strato.com/epages/61428605.sf/en_GB/?ObjectPath=/Shops/61428605/Products/905-00024-B11|SNOWBALL SDK ]]
* [[http://linux-sunxi.org/Cubieboard|Cubieboard]]
* MK802 HDMI stick computers piste sans connectiques :(
[[ tek:fpga|circuit FPGA adaptée ici]]
=== Liseuses ===
Des nouvelles possibilités avec les liseuses de livre électronique , regardez du cote de [[http://www.cnetfrance.fr/news/nook-ou-kobo-en-versions-tactiles-quel-est-le-meilleur-39761965.htm| une comparaison sur les liseuses kobo vs nook]]
* kobo , un linux direct , sur un freescale
* nook , un android de base sur un omap
* http://us.txtr.com/beagle/ http://www.engadget.com/gallery/txtr-beagle-fcc-teardown/5609553/
* TrekStor E-Book Reader Pyrus min
=== Consoles de jeux ===
* http://www.open-consoles.com/forum
* [[http://www.etronixmart.com/jxd-s601-android-retro-handheld-wifi-tablet-p-991.html|jxd-s601]] ?
* [[http://www.etronixmart.com/yinlips-ydpg16-g16-android-retro-game-console-wifi-a10-12g-p-1008.html|Yinlips YDPG16 G16]] processeur A10
* [[http://www.open-consoles.com/t3543-presentation-de-la-gcw-zero|gcw-zero]] et [[http://game-consoles-worldwide.com/]]
=== Ardoises ===
Nous faisons aussi le pari que les tablettes PC (ardoise) vont d'ici 2 ans remplacer à la fois l'ordinateur portable et certain téléphones multimédia et que ce n'est pas android qui sera à l'honneur mais un vrai système d'exploitation basé sur une interface graphique légère et moderne comme ubuntu/ wayland ([[https://wiki.ubuntu.com/Wayland]])et les librairies Qt. Déjà le bootloader u-boot permet de faire le lancement d'un noyau GNU, modifions le en dual boot!
A quoi sert de garder une machine java quand on a pas besoin d'êtres portable en dehors d'ARM/i386, on gagne en vélocité, et simplicité de développement, d'où plus besoin d'android!
=== Tests tablettes PC ===
ça date faudrait refaire le point là ;-)
* [[:tek:u-boot|U-boot ]] trucs et bidules sur u-boot
* [[:tek:zt-180s|ZT-180S EPAD2 10.2"]]
* [[:tek:imx515|8" iMX515 FREESCALE CORTEX A8]]
* [[:tek:archos32|ARCHOS 32 internet tablet]]
* [[:tek:tablette-maison|tablette maison igep]]
=== FPGA ===
Une découverte pour nous, permettrait de s'affranchir un peu plus du matériel, en développant sur des composants électroniques programmables.
[[http://bricoles.du-libre.org/doku.php/fpga:start|pages bricoles ]]
**ex :**
* [[http://gadgetforge.gadgetfactory.net/gf/project/wiringide/| un arduino virtuel ]]
* http://amani64.com/index.htm un arduino à 200Mhz
=== Cartes type Arduino ===
Pour faire pas trop cher afin de commencer un jeu avec nos faibles moyens, nous reprendrons notre expertise sur les platines [[htp://arduino.cc|Arduino]].
== Platine v1 ==
Cette platine a été remplacée par un travail sur raspberry pi
Elle doit permettre:
* la géolocalisation
* la communication basse vitesse par radio
* la communication au toucher ( contact,connecteur? )
* l'action sur des boutons , genre télécommande
* la visu sur un écran texte
* option 1 : lecture de carte SD
* options 2 : lecture RFID
[[tek:arduino:v1|La Page de la platine v1]]
=== Machine pour le serveur de zone ===
* igep encore .
* sheevaplug (remplacé par le dreamplug)
* [[http://www.globalscaletechnologies.com/t-dreamplugdetails.aspx|dreamplug]]
* fonera 2.0n
* une mini-itx plus classique, plus de puissance mais plus de place, et wifi à rajouter, donc plus cher au final 60+20+50+30, mais j'en ai déja une pour les tests.
===== Interfaces =====
==== sur la machine principale ====
* [[:tek:wifi|réseaux WIFI, BATMAN]]
* [[:tek:radiofm|liaison radio fm ]]
* [[:tek:radiomesh| mesh radio autonome ]]
* [[:tek:phone:|téléphone et/ou wifi]]
* [[:tek:alimentation]]
* [[:tek:cartes sons]]
* [[:tek:gps|GPS]]
* [[:tek:boussole|Boussole]]
* [[:tek:imu|IMU]] unité inertielle
* [[:tek:ahrs|Attitude Heading Reference System]] possible, considérer le cyborg comme un avion au sol ;-)
* [[:tek:openpilot]] logiciels et lib openpilot
* [[http://fr.wikipedia.org/wiki/Filtre_de_Kalman]]
* [[:tek:casque|Casque audio]]
* [[:tek:rfid|RFID]]
* [[:tek:qrcode|QRcode]]
* [[:tek:lcd|lcd et e-ink]]
* [[:tek:egg|egg]] ?
* [[http://www.cooking-hacks.com/index.php/pack-radiation-sensor-board-for-arduino-geiger-tube.html|geiger]]
* [[:tek:boutons|boutons]] et autres souris à joystick
* [[:tek:rs232|ttl-usb i2c uart etc vers usb]]
* [[:tek:horloge]]
* [[:tek:led]]
* [[:tek:humidité]] et autres météo
==== machines satellites ====
=== interface principale ===
électronique basée sur un petit processeur, genre arduino
* [[:tek:arduino| arduino ]] interfaces usb
* [[:tek:le cube| cube,disque,blob?]], une interface magique
===== Logiciel =====
Premier jet d'[[:tek:organigrammeprog|organisation logicielle]] du jeu
==== Sur la machine nomade ====
news en cours: raspberry pi et Slitaz [[http://forum.slitaz.org/topic/an-arm-gnulinux-box-for-25-take-a-byte]]
Une bonne source : http://debian-multimedia.org/pool/main/binary-armel
wget http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb
dpkg -i debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb
* [[:tek:ubuntu|Base Ubuntu sur ARM]]
* [[:tek:linaro|Base Linaro Milestone sur ARM]]
* [[:tek:openemb|Base openembedded Angstrom , pokylinux, meegoo ]]
* android trop de code, pas si ré-appropriable, non GPL
* http://www.denx.de/wiki/DULG/Manual
* http://pebdev.eu/index.php?article19/igepv2-kernel-et-rootfs-via-tftp-et-nfs
* [[:tek:prepa-tablette| doc en préparation du hacking tablettes PC ]]
* [[:tek:spatialisation|spatialisation]] cote plugin CLAM, pd ...
* [[:tek:puredata|puredata]]
==== python ressources ====
* [[:tek:osc| communication OSC entre puredata et python]]
* [[https://pypi.python.org/pypi/SC/0.2|Easily control SuperCollider sound server from python]]
* http://trac.assembla.com/pkaudio divers audio
==== supercollider ressources ====
rapport a soundscape
* https://soundcloud.com/eliot-f/sound-design-and-composition-1
* http://quark.sccode.org/GeoGraphy/GeoGraphyHelp/Soundscape.html
* https://github.com/colinsullivan/seas-of-subconscious
* http://www.fredrikolofsson.com/f0blog/?q=supercollider
* usage de la wii http://modularbrains.net/dx490a/DX490A_su2010_09.2_%5BInterfacing-6|Wii%5D.html
*
==== puredata ressources ====
* http://obiwannabe.co.uk/tutorials/html/tutorial_birds.html
==== Cartographie, géomatique ====
* [[tek:OSM|OpenStreetMap et Chimère]]
==== Communication verbale ====
* [[tel:mumble|Mumble]] pour des espaces de conférences virtuels
* [[http://www.pulseaudio.org/wiki/FAQ#HowcanIusePulseAudioasanRTPbasedN:NmulticastconferencingsolutionfortheLAN | pulseaudio en système de conference ]]
* [[tek:mbrola|mbrola]] pour la synthèse vocale et donner la parole aux machines.
* [[tek:piccottts]] synthèse vocale plus légère
* [[tek:vocale|reconnaissance vocale]], limitée à des commandes de jeux
* [[http://sourceforge.net/p/openart/wiki/Home/]] reconnaissance audio emotion
il y a cicero , un paquet deb existe(ubuntu) a tester
==== reconnaissance musicale ====
* http://www.link.cs.cmu.edu/music-analysis/ftp-contents.html
* http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.99.5235
===== Bots, Totems et Objets =====
Nous pouvons mélanger l'idée du PNJ du GN, Personnage non joueur qui de part sa mini quête apporte une aide aux scénaristes, avec le bot des jeux vidéo (diminutif de robot), personnage géré par la machine. Le bot plus ou moins sophistiqué pourrait être le compagnons de jeux, le guide qui au coté du joueur novice, parle de sa voix synthétique, pour l'aider tout au long de sa quête à travers la ville. Il pourrait être aussi un véritable PNJ autonome, programmé par les Maîtres de Jeux (MJ), les possibilités de codage peuvent en faire des intelligences artificiels qui durent au delà d'une partie, apprenant grâce aux chaînes de Markov comment réagir par lui même à de nouvelle situations.
Page de développement et de recherche [[tek:pnj:start|des PNJ]]
-----
~~DISCUSSION~~