Бот очуняв, почав скімлити та раптом затих. Обвів усіх зачумленим поглядом. Тимур знову потягнувся до пульта і натиснув кнопку. Цього разу він утримував її кілька секунд і різко відпустив. Утретє повторювати не довелося — «малюк» зрозумів. Перехилившись над пультом, він взявся зі скаженою запеклістю натискати клавішу «DLGHT». Він утримував кнопку кілька секунд, поки м’язами не прокочувалась масляна насолода, в результаті чого натиск м’якшав. Рука розслаблялась. Потому бот дві-три секунди оговтувався і знову тиснув «DLGHT». Чоловіків і Лауру, які згуртувалися довкола, він більше не помічав.
Під час одного з натискань Лаура поторсала бота за плече. Смикнула за носа. Ляснула по щоці. Нуль реакції. Для «малюка» більше не існувало нічого, окрім чарівної кнопки, що дарувала кайф.
— Гадаю, ми можемо його залишити, — сказала Лаура. — Він не встане з цього місця до самої смерті.
— Я можу почати працювати над програмою прямо зараз, — мовив Тимур. — Все одно не засну.
— Скільки тобі потрібно часу? — спитала Лаура.
— Не знаю, думаю, небагато. Максимум — кілька годин.
— Ти впораєшся так швидко?
— Це проста процедура. Крім того, я встиг добре розібратися в командах мозкового компілятора.
— Тоді до роботи!
Тимур перелопатив достатньо уривків програмного коду, щоби зрозуміти принципи програмування ботів. Більшість функцій детально описані і проілюстровані прикладами в мануалі, складеному Кейтаро, Вадимом Хортом та іншими програмістами, що працювали на «NGF Lab». Українець без особливих зусиль вималював у голові алгоритм і за дві години до світанку приступив до реалізації.
Насамперед створювався екземпляр класу nfBrainAction. Тимур назвав його Operation. Наступним оголошувався примірник класу nfImpact. Він ініціювався функцією NewImpact (), що викликалася з Operation. На цьому етапі Тимур отримував доступ до мозку, виходив за межі мозкового процесора. Далі задавався тип операції (om_Stimulation — стимуляція, а не зчитування імпульсів) і частина головного мозку, в якій проходитиме стимуляція (LIMBUS — лімбічна система). У змінну Coordinates типу nfImpactCoordinates записувались координати майбутньої стимуляції — HYPOTHALAMUS — гіпоталамус. Куди посилати імпульси, визначила Лаура; саме в гіпоталамусі знаходиться центр задоволення. Параметри імпульсів налаштовувались у структурі Imparam (типу nfImpactParam). Туди передавалися значення інтенсивності (ii_Normal — середня) та інтервалу, через який запускатимуться імпульси (100 мілісекунд). Робоча частина програми складалася з конечного циклу. Шістсот разів викликалася функція Delight.Activate (). Враховуючи заданий інтервал, стимуляція мала тривати рівно 60 секунд.
У самому кінці психіатр порадила додати функцію Imparam.HormoneCheckupOn (). Власне, функцію вибирав Тимур. Лаура лиш пояснила фізичний принцип, який мав бути закладений у програму і без якого стимулятор найбільш імовірно не працюватиме. Річ у тім, що за чуттєве задоволення у людини відповідає допамін — гормон, який виробляється мозковою речовиною надниркових залоз, а також багатьма іншими органами. Цей гормон діє безпосередньо на центр задоволення. Більшість наркотиків збільшують потік допаміну в 5—10 разів, даючи можливість людям, що їх споживають, отримувати задоволення. Так, амфетамін напряму збільшує викид допаміну, впливаючи на механізм його транспортування. Кокаїн блокує механізми зворотного захоплення допаміну, збільшуючи його концентрацію в синаптичному просторі. Алкоголь нейтралізує дію антагоністів[111] допаміну. Якщо наркоман продовжує стимулювати центр задоволення, мозок адаптується до штучного підвищення рівня допаміну, гальмуючи виробництво гормону і зменшуючи кількість рецепторів, що на нього реагують. Подальший розвиток хімічної толерантності призводить до незворотних змін у нейронах. Задоволення притупляється, а згодом зникає зовсім. Знайдена Тимуром функція HormoneCheckupOn () дозволяла «виключати» перевірку будь-якого гормону, примушуючи мозок ігнорувати згубний вплив на організм. Таким чином Тимур та Лаура перестраховувалися від того, що мозок ботів може адаптуватися до великої концентрації допаміну (hc_Dopamine).
Остаточно функція стимуляції набула такого вигляду:
nfBrainAction
Operation (System.GetOperation (NEW_DIRECT_ACTION));
if (!Operation.m_lpDispatch) return;
nfImpact
Delight (Operation.NewImpact (BRAIN_GLOBAL_PENETRATION));
if (Delight.m_lpDispatch)
{
Delight.SetOperationMode (om_Stimulation, TRUE);
Delight.SubGlobalTarget (LIMBUS);
nfImpactCoordinates
Coordinates (Delight.GetPosition (HYPOTHALAMUS));
if (Coordinates.m_lpDispatch)
{
Delight.SetTargetCoordinates (Coordinates);
Delight.SetOperationType (ot_Pulse, ot_Point);
nfImpactParam
Imparam (Delight.GetImpactParamDefinition ());
if (Imparam.m_lpDispatch)
{
Imparam.SetImpulseIntensity (ii_Normal);
Imparam.HormoneCheckupOn (hc_Dopamine, FALSE);
Imparam.SetInterval (100);
Imparam.Update ();
}
}
else return;
for (int i=0; i=600; i++) Delight.Activate ();
Clear ();
}