четверг, 28 августа 2008 г.

Обзор AI библиотек

Писать свой AI (Artificial intelligence) дело весьма увлекательное и интересное. Или, если сказать по русски, Искуственный Интелект для врагов игрока, которыми управляет компьютер. Однако, всётаки, стало любопытно чем можно поживится полезным и готовым. Не корысти ради, а любопытства для.

Библиотеки
  • OpenSteer - C++ библиотека для реализации автономного поведения персонажей в играх. В комплекте идет дополнение к библиотеке, OpenGL-приложение OpenSteerDemo, в котором продемонстрированно всё что умеет эта библиотека. Документация очень скудная, но исходники демки мне показались весьма увлекательными и познавательными. Имеется много разных вкусностей, таких как захват флага, следование пути и следование по карте с огибанием препятствий, следование за лидером, преследование. В демке даже есть пример реализации игры в футбол автономными персонажами. Авторы намекают что в последующих версиях может измениться API.
  • PathLib - Си библиотека. Поиск пути без излишеств, работает быстро. Засада в том что документация на чешском, но гугл умеет с него переводить и каменты в коде в большинстве своем на английском.
  • MicroPather - Си библиотека для поиска пути. Простой API, легко интегрируется. Не является библиотекой в том плане, что поставляется как исходник который нужно просто прилинковать к проекту.
  • Boost Graph Library - Я думаю что Boost не нуждается в представлениях. Много всякого нужного и не нужного можно в нем найти, но в комплекте имеются в том числе и алгоритмы поиска пути.
  • FANN (Fast Artificial Neural Network Library) - Си библиотека для моделирования нейронных сетей. Поддерживает несколько различных видов обучения. Имеется биндинг с более чем десятком языков программирования. Очень подробная документация.
  • OpenSkyNet - С++ библиотека. На офсайте написано что библиотека создана для мирового господства. Вроде как много в ней всего вкусного, но както руки не дошли посмотреть.

Ресурсы для дополнительного изучения

понедельник, 18 августа 2008 г.

Раздаю идеи нахаляву

Прочитав статью Михаила Sleeptracker - наручные часы с гуманным будильником возникло стойкое ощущение, что при всей полезности этого мегадевайса, его стоимость очень сильно завышена.

Возникла идея, которую не жалко подарить любому, кто сможет ее реализовать.
Берем обычный промышленный датчик движения от систем сигнализации, цена вопроса 10уе.
Он работает на разрыв цепи при наличии движения. Подключаем его между 2 и 3 контактом COM порта. Софт хоть под венду, хоть под любимый Linux написать, я думаю, не проблемма.
Алгоритм работы мегадевайса подробно изложен в документации, упоминаний о патентах нету, готовое ТехЗадание по сути. Наличие движения в программе определяем следующимм образом: пишем по таймеру в порт байтик а потом его пытаемся считать, если не получилось, то значит тело шевелится.
Цена вопроса - копейки и не нужно ничего на руке таскать.