Текст книги "Фэнтези(СИ)"
Автор книги: Валентин Ковалев
Жанр:
Киберпанк
сообщить о нарушении
Текущая страница: 8 (всего у книги 24 страниц)
– Да не стой ты как чужой. Садись за стол. Расскажи что. Ишь, стеснительный какой!
Вандерер присел. Вилена прошлепала босыми ногами на кухню, принесла тарелки и деревянные кружки. Разложила на них сласти.
– Это вино бы не из таких кружек пить, а из стекла гномьего. Ты не удивляйся, я ж не век здесь куковала. А и сама не из деревни. В столице родилась. Отец сапожником был, мать – швеей. Могла бы хоть сейчас туда податься. И брат там остался, и родичи. Помогли бы. Только спокойней мне здесь. Прикипела как-то.
Вилена присела рядом с Вандерером, плечо и бедро слегка касались его.
– Наливай, что ли. А ты откуда?
Вандерер налил понемногу в кружки. Вздохнул в ответ на вопрос.
– Так ты ж видишь кто я. Какое у меня прошлое? Ни родителей, ни семьи, ни памяти. И даже не понимаю – зачем я в этом мире. Ну да это я к слову. Не бери в голову. Давай выпьем за тебя. За такую красивую.
Вилена засмеялась.
– Ну давай. Только мама говорила, что не в красоте счастье.
Выпили медленно. Смакуя вино. Оно и вправду оказалось очень даже неплохим. Вандерер спросил:
– А в чем же?
– Что? Ах, счастье в чем? Да кто ж его знает. У каждого по-своему. Кто в семье его находит, кто в ремесле своем, кто еще в чем. Я вот детишек люблю.
У Вандерера немного прошло смущение и неловкость, но щеки по-прежнему горели от близости симпатичной женщины. Он неловко попытался приобнять ее за талию. Вилена тихонько засмеялась, на миг прильнула к нему, потом шутя толкнула рукой в плечо.
– Пошли уж. Несмелый ты мой.
Потом голышом лежали на кровати в спальне, отдыхали. Голова Вилены покоилась на плече приобнявшей ее руки. Пальчиком она водила по груди Аватара.
– А я все думала – Аватары такие же, как люди – или нет?
– Ну и как – такие же?
Вилена тихонько прыснула сдерживаемым смехом.
– Такие же. А у тебя и вправду никогда не было женщин?
– Не было. А ты откуда знаешь?
– Так ведь у меня мужиков за время вдовства сколько было. Я уж отличу, кто ни разу за сиську не держался. – Она протяжно вздохнула.
– Тебе, наверное, бабы все завидуют. Столько мужиков.
Вилена подняла голову и попыталась сквозь темноту всмотреться в глаза Вандереру. Потом опять опустилась щекой на его плечо.
– Чему же тут завидовать? Вдовья доля горькая. Я вот за своего не по любви вышла. Просто время пришло. А он видный был, надежный. Любил меня. И только когда его не стало, поняла, как это – когда есть мужчина в доме. Опора и защитник. Любовь ведь не главное. Тело ублажить и без нее можно. Главнее когда мужик всегда рядом. Хоть какой да свой. И постель поделить, и по жизни. Наши бабы это хорошо понимают. Потому и не завидуют. Жалеют даже. Ну, языками-то почешут, пообсуждают. Не без этого. Которые подруги поближе и поинтересуются – как там было. Хорош ли был в постели. Даже какой уд. – Прыснула в ладошку. – Некоторые и помечтают. Особенно если мужик по этому делу не очень. Только не завидуют.
– Тяжело, наверное, тебе живется?
– Поначалу тяжело было. На одну-то пенсию за мужа. А потом – ничего. На службу устроилась – поварихой в вашу кормильню. Огородик держу. Прожить-то и без него можно. Жалованье хорошее положили. Да ведь руки занять чем-то надо.
Дружок Вандерера успел отдохнуть и начал подавать признаки волнения. Вилена почувствовала это, и ее рука скользнула туда. Процесс значительно ускорился.
10
Вандерер проспал время своего обычного подъема. После бурно проведенной ночи это было и неудивительно. Вилены рядом не было. Вскочив, принялся одеваться. На шум заглянула хозяйка. Улыбнулась.
– Проснулся? Иди умывайся. Сейчас завтракать будем. Можешь на речку сбегать ополоснуться.
– А как же соседи?
Женщина весело рассмеялась:
– И откуда ты такой странный взялся? О моей репутации заботишься? Так я не мужняя жена. С кем легла – тот и муж. Хоть и временный. Беги давай. А то пахнуть за столом постелью будешь.
Вандерер в одних штанах выскочил за дверь и припустил к речке. Вернувшись и войдя во двор, удивленно остановился. На крылечке примостился мальчонка и, высунув кончик языка из уголка сжатого рта, видимо помогая себе этим в работе, пытался чинить леску из конского волоса. Вандерер узнал рыбачка, за которым как-то увлеченно наблюдал на речке.
– Привет. Помочь?
Мальчонка стрельнул глазом, предпринял еще одну попытку связать воедино расползавшуюся леску, вздохнул и молча протянул снасть Вандереру. Тот принялся более успешно укрощать строптивицу. Мальчонка понаблюдал за ним и неожиданно заговорил, пытаясь говорить "по-взрослому".
– А я тебя знаю. Это ты один девятерых Аватаров зарубил. Я видел. А еще ты каждое утро бегаешь до Сивковой косы и там мечом машешь как оглашенный.
– А тебе что по утрам, не спиться?
– Да я рано встаю. На зорьке клев хороший.
– И что, спать утром совсем не хочется?
– Не-а. Мамка говорит, что я ранняя птичка. А вот ты сегодня проспал. Ну да с мамкой еще никто не высыпался. Она жадная до этого, как дорвется. Только не часто ей перепадает. Переборливая больно. – В тоне мальчика послышалось как будто сожаление. Только непонятно из-за чего – то ли что "переборливая", то ли что не часто.
Снасть в руках Вандерера дрогнула, уши стала заливать краска. Он никак не ожидал, что у Вилены есть сын. И не мог привыкнуть к столь демократичным нравам этой земли. "Как будто я знал другую мораль". – Мелькнула мысль.
Малыш заметил смущение Вандерера. Хмыкнул.
– Да ты не боись. Я крепко сплю. Мне хоть над ухом кричи – все одно не проснусь.
На крыльце показалась Вилена.
– Эй, мужики, завтрак давно на столе. Марш есть.
Малец сорвался с места и, увернувшись от руки матери, которая хотела погладить его по головке, шмыгнул в дверь. Вандерер завязал наконец узелок и тоже вошел в дом.
За завтраком выяснилось, что сына Вилены зовут Никитой, и что он весь в отца. И лицом, и статью. И ростом вышел не по возрасту. Ему оказалось только шесть лет. На удивление и смышлен. Вот только погодков ему в поселке не нашлось. Все больше намного старше или совсем еще малые. Малыш быстро затолкал в рот свою порцию, сгреб в карман какие-то сласти и полетел к двери. На ходу из жующего рта послышалось:
– Ма, я на речку.
– Где хоть будешь сегодня?
– К Сивковой косе пойду. – Донеслось со двора.
– Чтобы к обеду дома был. – Повысила голос Вилена.
В ответ хлопнула калитка. Вилена вздохнула:
– Сорванец. Боюсь я за него. Так ведь и дома не удержишь. В клетке и птичка не поет. А что ж за мужчина вырастет, если в клетке. Правда, у нас здесь спокойно.
– А ты что не на службе? Из-за меня не пошла?
– Да у нас посменно. Сегодня после обеда пойду ужин готовить. На ваш кагал без передыху готовить – ноги протянешь. А ты опять мечом махать?
– Да. Спасибо тебе.
– Да не за что. Вроде оба не скучали. – Улыбка у Вилены вышла озорной.
Вандерер опять немножко смутился, но быстро нашелся:
– Да за завтрак.
Хозяйка махнула рукой:
– На здоровье. Заходи, коль соскучишься. Только, чур, без подарков. А то обижусь.
Расстались довольные друг другом.
Назавтра была баня и Вандерер смог уже спокойно попариться, не чувствуя томительного возбуждения в паху. Да и эстетическое удовольствие получил, рассматривая обнаженные тела местных красоток.
На следующее утро спозаранку он как обычно тренировался на своем излюбленном месте. Уже заканчивая тренировку, заметил подходившего по берегу Никиту. Пока Вандерер проделывал последние упражнения, тот успел закинуть свою нехитрую снасть. Аватар подошел и присел рядом:
– Здорова. Будет сегодня клев?
– Здорова. А как же. Я без улова еще не приходил.
– А где ты крючки берешь?
– Так мне дядька Игнат кует. За так. Он с папкой вместе на заставе служил. А теперь кузнецом у нас. Он хороший кузнец. Только у него крючки все равно не такие выходят как гномские. Дядька Игнат говорит, их кузнецы секретов много знают.
Мальчонка не отрывал глаз от поплавка. Но пока не клевало. Вандерер поднялся:
– Ну ладно. Не буду тебе рыбу распугивать. Удачи.
Но мальчонка не дал ему отойти далеко:
– Погодь. – Сам подошел к Вандереру. Засунул руки в карманы, поковырял голым пальцем ноги землю, шморгнул носом и наконец, заговорил снова. – Ты это вот что. Ты мамке понравился, я видел. Она давно такая веселая не была. И это не из-за плата, я свою мамку знаю. Так ты б, это – пожил пока у нас. А то, говорят, из-за воздержания разные женские болезни случаются. Да и она б, хоть на время, себя мужней почувствовала. Тебе ж все равно только неделя тут осталась. Потом разбежитесь навсегда. А?
Вандереру показалось, что последние слова были сказаны с какой-то затаенной надеждой. А еще у него чуть не навернулась слеза на глаза, из-за такой трогательной заботы этого малыша о своей матери. Он протянул Никите руку:
– Я попробую. Только примет ли мамка?
Никита перестал хмуриться, заулыбался:
– Вот ты у нее и спроси. Только не говори, что это я тебе подсказал. Гордая она у меня. – И убежал удить рыбу.
Вандерер покачал головой и в задумчивости побрел к Школе.
Тем же вечером он переговорил с Виленой. Та согласилась. Ночевал он уже у нее. Назавтра сходил к писарю и перевел свое довольствие на Вилену, рассудив, что лишний рот кормить Вилене с Никитой не с руки. А казенные харчи лишними не будут.
Распорядок дня остался прежним. Только завтрак, обед и ужин перенесся домой к Вилене. Да еще после ужина он оставался дома. Суетился по хозяйству, колол дрова, чинил крышу – да мало ли дел в хозяйстве, где нет мужчины в доме. Да еще старался пораньше освободиться, когда у хозяйки была первая смена и побыть вместе с ней и Никитой. Забота о чужих ему, в принципе, людях была для Вандерера внове, но не в тягость. И даже приносила какое-то удовлетворение.
Вилене же приходилось тяжело. Смена длилась десять часов. Вставала до света, приходила поздно. А еще и приготовить, убрать. Вандерер с Никитой старались помочь как могли. Но ни одной ночи вдова не выспалась и не дала это сделать Вандереру. Только чем ближе было окончание Школы, тем неистовей становились ласки и бурнее проходили ночи. Девушка похудела, под глазами залегли темные круги. Только глаза светились и улыбка цвела на губах.
Так незаметно пришел последний день пребывания в Школе. В рейтинге Вандерер очутился на третьем месте, и сумма на руках оказалась приличной. Просматривая на всякий случай список имевшихся квестов, Вандерер зацепился глазами за название Выселки. Доставка пакета. Почему бы и нет – все равно он туда собирался. И пару лишних монет не помешает. Забрав пакет, отправился в лавку. Гном встретил его как старого знакомого. Поинтересовался успехами и куда теперь двинется. Вандерер прикупил себе плащ и простое, но крепкое солдатское одеяло, чтобы не спать на голой земле, дорожный набор с кружкой-ложкой. Никите набрал "гномских" крючков, еще кое-каких рыбацких принадлежностей и настоящей эльфийской лески. Правда при ближайшем рассмотрении она очень сильно походила на тот тонкий шнурочек на шее у Вандерера, который дала русалка, чтобы повесить звено золотой цепочки. Только что не переливалась всеми цветами. Ну да что тут удивительного – эльфы торгуют с морским народом, про который мало кто знает на суше, почему бы и не представить хороший товар как свой. Долго перебирал женские тряпки. Ни на чем не остановился – и размера не знал, и в моде не разбирался. А ну как не глянется? Остановился на небольшом изящном медальончике на тонкой цепочке, зачарованном на оберег. Еще набрал сладостей для Никиты и бутылку того же вина что и первый раз. Половина полученных денег сказала: "Прощай". Но и оставшаяся сумма была немаленькой. Вилене не меньше года работать. Вандерер обдумал пришедшую в голову мысль и обратился к лавочнику:
– Уважаемый Ток, а могу я положить деньги в банк на чужое имя?
– Никаких проблем. От тебя я могу принять деньги даже под проценты в рост. Если, конечно, на большой срок.
Обсудив все нюансы, сошлись на том, что Вандерер отдает деньги в рост на Никитино имя до достижения им совершеннолетия. После этого срока Ток информирует Никиту о наличии у него определенного капитала и ожидает решения владельца денег – Никиты. Вандерер поставил и еще одно условие – при возникновении у Вилены с Никитой материальных жизненных трудностей, сообщить им о наличии денег немедленно. Но тогда при снятии денег терялись проценты.
Попрощавшись с лавочником, Вандерер вышел на улицу. В кармане осталось ровно столько, сколько было при первом его появлении в этом мире.
Дома Никита пытался чинить порванную снасть. Вандерер достал свой подарок:
– Никита, заканчивай бесполезную возню. Смотри, что я тебе принес.
При виде такого богатства, глаза у мальчишки разгорелись, и с полчаса его невозможно было оторвать от разглядывания свалившегося ему на голову счастья.
Вилена сегодня работала в первую смену. Еще часа два было до ее возвращения. И Ван с Никитой отправились к орешнику за новым удилищем. Вырезали штук пять – про запас. Возвращаясь, заглянули к Лису. Тот оказался дома и суетился по хозяйству. Перебросились парой слов. Ван попросил Лиса присматривать за Никитой. Тот согласно кивнул. Мужчины крепко пожали друг другу руки. С мечником Вандерер попрощался еще раньше, на плацу. Больше ни с кем сойтись он здесь не успел.
Когда вернулись, Вилена уже ждала их с накрытым к обеду столом. После еды Никита потянул их на берег – испытывать новую удочку. Они с Виленой присели рядом на бережке, наблюдая за азартной возней пацана. Вандерер задумчиво проговорил:
– Много ли надо мальчишке для счастья.
Вилена кивнула:
– Да и не только мальчишке. Люди суетятся, чего-то ищут, добиваются. А потом оказывается, что все это и не нужно для счастья. А счастье было не в дальней дали, а вот здесь, рядом. Только протяни руку, возьми да сумей сохранить. Только уже ничего не вернешь.
В это время Никита с торжествующим криком выдернул на берег рыбину чуть больше ладони взрослого человека. То ли снасть помогла, то ли просто повезло.
– Гляньте! Такая у меня всегда лесу рвала. А этой – хоть бы что.
Вилена с Вандерером рассмеялись. Вилена предложила:
– Айда купаться.
Они отошли подальше, чтобы не распугать рыбу. Никита, конечно, отказался уходить от новой игрушки. Разделись. Вилена с разбегу нырнула с невысокого бережка, сверкнув белой спиной и ногами. Вынырнула, повернулась к берегу и встала на дно. Здесь было неглубоко, и над водой видна была небольшая аккуратная грудь с кружками торчащих сосков и прилипшими прядями мокрых волос. Прозрачная вода немного искажала перспективу, ломая правильные формы нижней части тела. Лучи клонившегося к закату солнца играли бликами на потревоженных изгибах воды, мокрых волосах и обнаженной коже. Вандерер залюбовался девушкой.
– Догоняй! – крикнула Вилена и, звонко рассмеявшись, поплыла к противоположному берегу.
Вандерер кинулся в погоню. Плавала она прекрасно и Вану пришлось потрудиться, гоняясь за ней. Долго брызгались и дурачились. Наконец Вандереру удалось поймать женщину. Постояли в воде по грудь, прижавшись разгоряченными телами. Ван убрал с ее лица пряди мокрых волос, нашел губами губы. Учащенное дыхание, ритм сердец, обнимающая обоих стихия воды и закатные лучи солнца слились в один на двоих финальный стон. Потом долго лежали на мягкой траве, обсыхая.
Когда вернулись к Никите, тот гордо продемонстрировал свой улов. Вандереру показалось, что улов как всегда, разве что штуки три-четыре рыбешки покрупнее. Но Никита был уверен, что с новой снастью улов больше и лучше. Уже в сумерках вернулись домой. Клюющего носом Никиту накормили и уложили спать.
Сами еще долго сидели и пили вино, разговаривали обо всем и ни о чем.
Потом отправились в постель. Прощальная ночь оказалась короткой. Встали и принялись собираться: она на службу, он в дорогу. Вилена уложила в мешок запротестовавшего было Аватара продукты и они вышли из дома. Следом, как чертенок, выскочил Никита с удочкой, и, не останавливаясь, прокричал:
– Дя Ван, ты к нам еще приезжай.
Мать возмутилась:
– Ты куда? А поесть?
Никита, не оборачиваясь, поднял вверх руку, показывая зажатый в ней бутерброд.
– Вот сорванец. Пятки на нем горят. – Вздохнула. – Ну что ж, Аватар, давай прощаться.
Вандерер спохватился, достал припасенный медальон и надел Вилене на шею.
– На память.
Она, не взглянув на подарок и не отрывая глаз от его лица, кивнула:
– У меня будет память о тебе.
Вроде все слова сказаны, все долги розданы, все правильно, как и должно быть. Но теснит что-то в груди, и ноги медлят откликнуться на зов пути. Вандерер прижал Вилену к груди, прошептал:
– Пусть будет с тобой удача.
И, не оборачиваясь, двинулся в дорогу.
Женщина еще долго провожала его глазами, сжимая в кулаке золотой медальончик на груди.
11
По дороге Виктор зашел в гастроном, прикупить продуктов. А то в холодильнике уже мышь повесилась. Впереди Виктора по лестнице поднималась девушка в коротенькой курточке и светлых, плотно обтягивающих тугие бедра джинсиках. Две упругие половинки попы попеременно озорно улыбались Виктору в лицо. Завороженный этой пантомимой, он чуть не поднялся вслед за веселыми половинками на следующий этаж. Опомнившись, сердито развернулся и прошел в продуктовый отдел.
Мало что сны эти снятся, так они последние дни и эротическими стали. И жена, как назло, еще на неделю решила задержаться. Никак законно пар не спустить. Того и гляди свихнешься на почве детских компьютерных игр с сексуально-эротическим уклоном. И будешь в дурке махать мечом наголо. А поскольку там мечей не выдают, а уклон эротический, то махать будешь... Тьфу. Куда опять понесло?
Когда до Виктора наконец дошло, что ему с пугающей регулярностью снятся сны про "жизнь" его перса в компьютерной игре, он не на шутку перепугался. Решил, что сходит с ума. Не один раз СМИ поднимали шум вокруг очередного игромана, съехавшего с катушек и принявшегося палить из реального оружия по живым людям. Как-то не улыбалась такая перспектива. С перепугу чуть сразу к психиатру не помчался. Перерыл весь интернет по этой теме.
Однако подумав, решил повременить с походом к врачу. Компьютерными играми он сильно не увлекался. Даже онлайн. Любая надоедала уже к концу первого месяца. Причем без ежедневного злоупотребления. Ну не получилось поиграть – и не надо. Особой тяги не испытывал даже в первый период наибольшей увлеченности. А эта так и вначале не больно увлекла. Максимум внимания, что он ей уделял, это полчаса или час раз в день, а то и в два дня. Ну не особо она ему понравилась. Он почти сразу переключился на танки. Вот те увлекли сильнее. Даже пару ночей недосыпал. Но танки не снились. Максимум, когда ложился спать сразу после "боя", в глазах до засыпания крутился зеленый кружок пунктира – заряжалось орудие.
А вот эта игра снилась. Почти каждую ночь. И с каждым разом сны становились все ярче и запоминались лучше. Если первые, проснувшись, едва отмечало их сознание, тут же забывались, то теперь они оставались в памяти надолго. И не шли по детальности и яркости ни в какое сравнение с первыми. Да, пожалуй, раньше он в таком "качестве" снов и не припомнит. Прямо блюрей какой-то.
Да ладно бы, как и положено, сюжет снов совпадал бы с заявленной канвой игры. То есть управление персом, бои с такими же, как он игроками и т. д. Так нет, снилась "жизнь" игры за кулисами, спрятанная от игроков. А вернее, несуществующая. Разговоры "за жизнь" с ботами, внутренняя обстановка домов. В некоторые Виктор пытался завести перса наяву – там даже двери не открывались. Обычная нефункциональная картинка для антуража. А сон про баню? Виктор даже вопрос на форуме задал – что там внутри происходит? Посмеялись, конечно. Но какой-то продвинутый старожил снизошел и объяснил, что по игре персы должны поддерживать гигиену, иначе через неделю вокруг перса начинают летать мухи, тем самым изображая неприятный запах. Указываешь на баню, т.е. заводишь туда перса, и он якобы моется. Происходящее там и не может отображаться на экране, там ведь ничего не происходит на самом деле, как нет и никакого "там". Просто в базу данных заносится информация, что перс помылся, т.е. чист. И неделю игрового времени можешь быть спокоен и свободен от мух. И посоветовал не озабочиваться. Хоть персонажи и изображаются при раздевании со всеми "причиндалами", визуализация секса в игре не предусмотрена. Хотя функция "Завести ребенка" есть. Но это означает только, что два сговорившихся разнополых игрока заводят еще одного перса для общего использования с выделением ему части своих ресурсов. Для этого необходимо "сыграть свадьбу". Что стоит нехилых игровых ресурсов. Имущество обоих игроков поступает в общее пользование. Короче, игра совершенно не сексуального характера. Мол, если уж захотелось клубнички, то поищи соответствующую игру.
И если бы не прочие несуразицы, с которыми Виктор столкнулся в игре, наверное, он бы набрался смелости навестить эскулапа психического толка. А так решил погодить.
Да вот хоть позавчера. Снится эротический сон. Его перс с местной, т.е. игровой, бабой занимается сексом. Да так активно и со вкусом. Виктор даже проснулся от возбуждения. Ну и решил проверить, что там на самом деле в игре происходит. И положение перса на локе оказалось вовсе не в казарме. Да, да, тот находился в каком-то доме поселка. Что означал статус "Отдыхает", Виктор мог только догадываться, но вывести перса из дома он не смог. Тот даже не реагировал. И того хлеще – Виктор прибалдел, когда увидел, что куда-то делись игровые деньги полученные за время обучения. Просмотрел куда и вообще выпал в осадок. Да еще убедившись, что никто кроме него персом не играл. Получалось, что тот САМОСТОЯТЕЛЬНО распорядился деньгами. Потратив их на подарки БОТАМ!
А сегодня утром он наблюдал прощание "влюбленных" – бота женского рода, кажется по имени Вилена, если верить сну, и его перса. Тут уж точно никто не управлял этим сукиным сыном. Виктор сидел за монитором и контролировал это дело. Перс вел себя так, как бот. Или как человек. И ботка как человек. Хотя первый не являлся ни тем, ни другим, а вторая тем более не была человеком. Смешно даже подумать такое про картинку на мониторе. В лучшем случае пара строчек программного кода с заданными простейшими действиями и рандомом для оживления сюжета.
У Виктора от всего этого голова трещала и шла кругом. Он не был уверен ни в том, что здоров, ни в том, что болен психически. Может это жестокая шутка админов игры? Тогда откуда сны? Уж это-то им не под силу. В Интернете, конечно, ходит много инфы про так называемые цифровые наркотики. Но, во-первых, если они действительно существовали, то требовали специальной аппаратуры для воспроизведения звука, а уж никак не дешевых пищалок что стояли у Виктора. Тем более что, по старой привычке, он их, по большей части забывал включать. А во-вторых, такое целенаправленное и ювелирное воздействие на психику... Нет это даже еще больше из области психиатрии. Тут одним шизоидным синдромом на почве сексуальной неудовлетворенности не отделаешься. Еще и манию преследования припаяют.
Работа страдала и простаивала, скапливаясь снежным комом. Виктор был озабочен собственным психическим здоровьем и активно перетряхивал (через букву я, а не а) интернет на предмет вставших перед ним вопросов. Поиск по злосчастной игре ничего не дал. Игра уже десять лет на рынке. Не самая популярная, но и не аутсайдер, что позволяло ей не только окупаться, но и развиваться, поспевая за временем. Больше это касалось графики, но не страдал и геймплей с сюжетом. Никаких скандалов связанных со здоровьем игроков не происходило. Отзывы в зависимости от личности игроков самые разные. На всех ведь не угодишь.
Тогда Виктор решил хотя бы понять общий принцип построения таких игр.
Как выяснилось, при обширном материале, такой простой вопрос оказался почти совсем не освещен. Инфы было много, но все что-то не в ту степь. Подробные описания программного кода на примере создания игры были, вода с общими словами и точными определениями терминов и понятий лилась полноводным потоком, классификаторы игр, и прочее, прочее, прочее. Но вот найти понятный текст с описанием общей структуры не получалось. Если сравнить с утюгом, то было два описания. Одно – утюг включают в электрическую сеть и он работает. Второе с подробнейшим описанием физических законов, использующихся для того чтобы он работал, описанием всех деталей и техпроцессов их изготовления и сборки, начиная с чертежей. Но с полным отсутствием внятного описания общего принципа действия. Чего-то типа блок-схемы.
Перерыв гору информации, и уже не понимая, зачем ему это надо, Виктор решил сложить из отрывочных данных и своего понимания более-менее приближенную к действительности картинку.
Итак. Начнем сначала – с регистрации. При самой регистрации еще ничего не происходит. А вот когда пользователь выбирает, каким персонажем он будет играть, тогда вступает в работу первый блок программы игры. Выбор расы, внешнего вида, и т.д., запускает процесс создания в базе данных новой строки, где и хранятся все данные персонажа. Эти данные копируются из шаблона. Оттуда берутся первоначальные характеристики перса с учетом, скажем, расы (человек, оборотень), телосложения (более крупное дает выигрыш в силе, но проигрыш в ловкости) и пр. Все это копируется из шаблона в новую строку таблиц БД. Таблиц несколько – в одной могут храниться характеристики, во второй внешний вид, в третьей наличие игровых предметов, в четвертой характеристики этих предметов. При развитии персонажа эти характеристики изменяются. Картинка, на которой мы видим своего персонажа, всего лишь визуализация некоторых характеристик для глаз игрока. То, что нельзя показать внешним видом, отображается графиками, надписями или другими графическими методами. Все выводимые данные берутся из БД. БД – хранилище всей информации, сердце игры.
Следующий логический блок – виртуальный мир, который предстает перед игроком на мониторе. Собственно, это всего лишь картинка, имеющая несколько опосредованное отношение к игре. Если убрать графику, то должна остаться только координатная сетка с привязанными к ней координатами предметов. А изображение их складывается из всяких там полигонов, шейдеров и прочих узкоспециальных терминов. Все эти координаты также находятся в своей таблице БД. В принципе, картинка является лишь ширмой для происходящего за кулисами. Поставил игрок клиента игры, а грубо говоря, закачал на локальный комп всю графику, чтобы не тянуть мегабайты через интернет в процессе игры, и наслаждается картинкой. И невдомек ему, что картинка нужна лишь потому, что эволюция сделала наши глаза основным датчиком. На самом деле вполне достаточно координатной сетки, привязки ее к предметам и свойств этих предметов. Сделал игрок ход, перс сделал шаг – координаты, или вектор и величина смещения перса изменились. Данные передались на сервер, обработались и, что мы видим на экране? Правильно – фигурка перса шагнула.
Если взять за отправную точку то, что мы видим на экране монитора, весь игровой мир с его виртуальной природой, постройками, предметами, персонажами, все это находится в базе данных. Но не как изображение, картинка, а в виде каких-то данных, математических величин и формул. Если копнуть еще глубже – в виде ноликов и единиц или электрических потенциалов. Чем-то похоже на Каббалу. В ней тоже верхний, духовный мир, проецируется на реальный. И тоже в искаженном виде.
Далее. Яблоко с настоящей яблони в реальном мире падает вниз, сквозь стену нельзя пройти, человек не летает и много чего еще. Это законы природы, законы мира в котором мы живем. И они имеют какие-то количественные и качественные значения. Это физика. Вот ее тоже надо смоделировать в игре. Еще один модуль.
Потом модуль взаимодействия перса с миром и модуль взаимодействия между персонажами и ботами. Выстрелил. Стрела в зависимости от силы натяжения тетивы, умений перса, дальности до цели, попала другому персонажу в руку. Потекла кровь, уменьшилась подвижность руки, ухудшились другие характеристики.
Так. Здесь вроде все понятно. Но. Чтобы перс в отсутствии хозяина, или бот, могли выполнять хотя бы элементарные действия, нужна подпрограмма, которая бы отвечала за это. Пару строк кода, диктующие боту те или иные действия. Встретил бот разбойника – бежать. Хмм. Или сражаться? Да и разбойник ли это. Пожалуй, в пару строк кода не уложишься. Необходим полноценный модуль, который в зависимости от поступающих данных и имеющихся навыков, предпочтений и чего-там-еще, плюс какой-то процент рандома, принимал бы решение о действиях и производил их. Но все боты разные – воины, торговцы, крестьяне. Одинаково реагировать не могут. Следовательно, поведенческая матрица для разных сословий должна быть разная. А для большего интереса и правдоподобия, у каждого бота должна быть своя. Некое подобие искусственного интеллекта. То есть где-то в оперативной памяти сервера работает маленькая такая подпрограммка – типа "мозга" бота. Вернее их много – для каждого бота своя. И для персонажей тоже. Только у персов ИИ послабее, ведь его поведение определяет игрок. Можно сказать, что игрок это основной подключаемый модуль модуля ИИ перса.
И что мы получим, если один бот, пусть будет селянином, встретит другого – разбойника? Данные (забудем на время, что все это только картинка) о внешнем виде, вооружении, поведении разбойника поступают в подпрограмму ИИ. Из базы данных вытягиваются характеристики, умения бота, его вооружение на данный момент. Можно добавить рандом в качестве чувств. Испугался – скорее побежит, чем будет сражаться. Злой – наоборот. Еще бы характер сюда примешать. Но это уже будет сильно круто, замечтался. Все это обрабатывается по какому-то алгоритму и принимается решение о нужном действии. На мониторе мы видим дающего стрекача бота. Но стрела быстрее летает, чем он бегает (закон физики, хоть и смоделированный). Координаты наконечника стрелы совместились, скажем, с бедром бегуна. ИИ пришли данные о повреждении. В принципе, ИИ не в состоянии оценить степень повреждения. Ведь у него отсутствуют данные о степени остроты наконечника, силе удара и некоторые другие. Либо он должен иметь доступ к этим данным, либо информация о критичности повреждения приходит со стороны. Ну, тут работает модуль взаимодействия. Просто интересно рассмотреть работу ИИ. Получив информацию, ИИ дает команду упасть или еще чуть проковылять в зависимости от степени повреждения. У перса бы было видно на экране падение некоторых характеристик. Упавшего бота прирезал разбойник. Тут "смерть" реализовать можно по-разному. Либо сам ИИ запускает программу стирания данных из БД и удаления себя самого из области памяти, либо за него это делает другой модуль. У перса же ничего не удаляется. Происходит лишь временная блокировка ИИ. Он отрезается от БД и прочей инфы до воссоздания "тела" с другими координатами нахождения. Смысл стирать, если тут же надо опять создавать? Впрочем, при избыточных ресурсах памяти, можно и ИИ ботов не стирать. Ведь возобновляется же как-то их количество. Зачем опять затрачивать время процессора на стирание-создание? Эту бесхозную область можно и другому боту подсунуть. Новенькому. Но это уже зависит от реализации и полета мысли разработчиков.