Pull to refresh
2747.61
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

Делаем стреляющего джаггернаута из игры Turok: Evolution с помощью подручных материалов

Reading time14 min
Views5.9K

Возможно, олды помнят такую игру, как Turok: Evolution, выпущенную компанией Acclaim Entertainment в 2002 году. Страшный монстр с её обложки тогда разошёлся по всем логотипам, и особенно часто встречался на пиратских дисках с фильмами про динозавров. Turok: Evolution — последняя игра оригинальной серии и достаточно интересный шутер, в котором главному герою, индейцу по имени Тал Сет (Турок — это лишь воинское звание), приходилось выживать в мире, полном опасных динозавров и других доисторических животных.

Так, помимо стандартного набора всем известных ящеров — птерозавров, тираннозавра, рапторов, компсогнатов и зауроподов, в игре вы также могли встретить мамонта, шерстистого носорога, различных пермских синапсидов и даже рептилоидов, аналогами которых в реальном мире могли бы выступить пришельцы с планеты Ниби́ру (но это не точно).

Рептилоид даже сейчас смотрится страшно, хотя тут виновата старая графика

Последние, что, очевидно, являлись главной враждебной расой для протагониста на протяжении всей повествовательной части игры. Следует отметить пешие баталии, которые с завидной периодичностью сменялись эпичными воздушными боями на птерозавре с неправильными крыльями. Ближе к концу сюжетного прохождения (12 уровень) на пути игрока вставал очень опасный босс — зауропод Джаггернаут, которого в лоб убить было невозможно, и для победы требовалось уничтожить атомный авианосец у него на спине, причём изнутри.

Интересно то, что в роли джаггернаута выступал изначально не мифический динозавр, а реально описанный зауропод, который на момент выхода игры значился как Амфицелия (Amphicoelias). Однако впоследствии валидность данного ящера была поставлена под сомнение и таким образом, изначально реально существовавший динозавр, всё чаще рассматривался фантастическим персонажем.
Автор технической части: инженер сообщества Фанерозой Макар Дромкин. Авторы и редакторы повествовательной части статьи, руководители сообщества Фанерозой: Яскин Александр и Ефимов Самир
Так по иронии судьбы, игра, можно сказать, потеряла в реализме, хотя я не думаю, что это особо сильно заметно на фоне динозавров с пушками и всего остального треша, происходящего на экране. Собственно, однажды переиграв в виртуальные приключения «Шурика» и сразившись с величественным монстром, порождённым больной фантазией разработчиков, по образу истинного героя «меча и магии», я вышел победителем в этой кровопролитной битве.

Загрузочный экран с Джаггернаутом

Правда, ввиду наличия клешнёй вместо рук, победа всё же далась далеко не с первого раза. Видимо, поэтому мне запомнилась миссия с «джагой», благодаря которой, я в итоге и заразился мыслью во что бы то ни стало сделать динозавра с «башнями», причём своими руками и в качестве трофея для своей квартиры. При этом данный экспонат моей творческой мысли обязательно должен был стрелять, подобным же образом, как в игре!

Каноничное изображение Турока. Арт из игры Turok: Dinosaur Hunter
Но прежде чем я расскажу о технической реализации моей бесконечной фантазии, всё же стоит окунуться в биологию, ведь фанерозой без биологии, это как хабр без фанерозоя! Сейчас чувствую, что в нашу сторону полетели тапки, но если вы дочитали до этого момента и воздержались от написания гневного комментария, значит вы — наш человек. Однако, другим людям, которые не любят «детские энциклопедии» в наших статьях, я сразу советую переходить к технической части, или не пытать себя чтением материалов от ужасного и беспрецедентного, высокомерного щитня. Незачем себя пытать и что-то доказывать нам. Это ничего не изменит. Поэтому будьте счастливы, добра и мира!
Страшно_Вырубай



▍Итак, встречайте — история и биология Джаггернаута


Amphicoelias — это ныне оспариваемый род позднеюрских зауропод, живших 150 миллионов лет назад. Фрагментарные остатки амфицелия были найдены в 1877 году талантливым копателем Орамелем Лукасом, работавшим в то время на прославившегося и экстравагантного палеонтолога по имени Эдвард Коуп. Стараясь быть главным «костяным магнатом», Коуп искал себе ещё одного сотрудника, который бы работал ради науки, не жалея ни сил, ни времени. Так, он стал сотрудничать с шуриным Лукаса по имени Аарон Рипли, заставляя его батрачить как проклятого. Впоследствии это привело к тому, что Рипли нашёл несколько спинных позвонков, лобковую и бедренную кость амфицелия, которые также были доставлены Коупу, в том же году.

Бедренная кость амфицелия. Фото из первоисточника 1878 года.

Кстати, прославился наш Эдвард «колорадский ковбой» тем, что он был одним из главных действующих лиц в костяных войнах, о которых вы можете прочитать у нашего пушистого друга @Catx2 по ссылке здесь.

Эдвард Коп (28 июля 1840 — 12 апреля 1897) — североамериканский натуралист, палеонтолог и сравнительный анатом, член Национальной академии наук США. Источник: википедия

Однако, речь сейчас не об этих исторических баталиях, а о том, что именно Коуп выпустил первое описание этого легендарного динозавра. Таким образом, в одноимённой статье, опубликованной в журнале «The American Naturalist», учёный фактологически разобрал, что называется, по буквам фрагментарные остатки великана. Он пришёл к выводу, что окаменелости принадлежали к новому таксону, который находился внутри клады зауропод и был родственным, или синонимичным роду камаразаврам. Название таксона звучало мелодично — Amphicoelias altus.

Устаревшая реконструкция Amphicoelias Чарльза Найта 1892 года. Источник: википедия

Собственно, ровно в тот момент Коуп на волне своего творческого зуда описывал новоиспечённую тушку, как самого гигантского динозавра, чьи размеры превышают таковые у всех известных к тому времени сухопутных животных. Однако, фрагмент описанного позвонка был безвозвратно утерян, вследствие разрушения экземпляра… Вскоре после обнаружения.

Годзилла в шоке. Источник: свободные интерныты

Можно радоваться только очень точному рисунку окаменелости, успешно сохранившемуся до наших дней. К сожалению, попытки отыскать новые, подобные позвонки, используя записную книжку Коупа, в которой было описано место раскопок амфицелия, успехом вроде бы пока не увенчались.


Слева: спинной позвонок Амфицелия. Вид сзади, на гипосфене. Справа: тот же позвонок. Вид с правой стороны. Показано отверстие нервной дуги. Изображение взято из первоисточника

Поэтому существование этого животного, к сожалению, очень спорно, тем более что и сам рисунок достаточно противоречив. Например, неоднократно высказывались предположения, что эта «жирафина» относилась к диплодокам, правда, они тоже неоднократно оспаривались.

Большой товарищ (судя по реконструкции). Источник: википедия

А в 2018 году наша махина вообще была переописана палеонтологом Кеннет Карпентером в род Maraapunisaurus, который, в свою очередь, был «катапультирован» в семейство Rebbachisauridae.

Maraapunisaurus fragillimus. Источник: Maraapunisaurus fragillimus, N.G. (formerly Amphicoelias fragillimus), a basal Rebbachisaurid from the Morrison Formation (Upper Jurassic) of Colorado October 2018 Geology of the Intermountain West 5:227-244

Но если не учитывать споры среди палеонтологов, то в качестве особенностей палеоэкологии этих животных можно озвучить следующее: в длину зауроподное чудовище могло достигать 25 метров. При этом характерными особенностями анатомии нашего джаггернаута являлись гипотетически длинные конечности, в сравнении с ближайшими родственниками.

Как показывают исследования отложений, в которых нашли окаменелости этого животного, то жила наша зауроподина преимущественно в местах, отдалённо напоминающих современную саванну.
Пожалуй, главными отличиями от современной саванны можно обозначить отсутствие высокой травы, полосатых зебр и грозных львов в юрском периоде. Зато вместо них было много вкусных и сочных папоротников, которыми, вероятнее всего, и питались наши великаны. И вот с таким интересным созданием нам и приходилось сражаться в игре Турок.

▍А теперь с головой в техническую часть. Поехали!


То был далёкий 2015 год. Я тогда остался без работы, поэтому долгие зимние вечера, убиваясь горем наедине с компьютерными игрушками, я думал, чтобы такое создать. К тому моменту у меня за плечами уже было два макета дромеозаврид, и я искал новый опыт. Как раз та самая игра, с той треклятой миссией, которая не давала покоя моему седалищу, воодушевила меня на создание того самого зауропода.

Схема интерьера, авианосца, которую можно обнаружить, а при большом желании можно и погулять внутри отсека с пушками

Но всё же подчеркну, что меня вдохновил не только сам персонаж, но и идея разработчиков внедрить необычное техническое решение в игре: нацепить стреляющий авианосец с проработанным интерьером внутри на спину ящера, который органически бы вписывался в геймплейную составляющую и являлся бы цельной моделью. Однако, сам игрок всю проработанность интерьеров авианосца мог бы увидеть только с помощью саморучного взлома игры (например, если вылезти за карту), или читов, разработанных другими людьми. Возможно, задумывалась глобальная миссия «внутри» ящера, в противном случае мне не совсем понятно, зачем делалось то, на что обычный игрок не обратит своего внимания. Прошу прощения за небольшое лирическое отступление. Продолжим.

Гуляем по интерьеру авианосца внутри отсека с пушками. Кстати, если в них выстрельнуть, то они взорвутся, а сам игрок без читов погибнет, что логично

Собственно, такой вот я человек, что не могу ровно сидеть на одном месте долгое время, и мне всегда нужно что-то начать мастерить. Так, устав от «нечего неделания», я сначала пошёл в частный сектор, чтобы взять там кусок берёзового бревна и забубенить из него джаггернаута в миниатюре (хотя я и не люблю миниатюры). Какое-то время я жил с немцами и научился от них некоторому древесному искусству, однако, когда время подошло к делу, я и не знал, как подступиться к полену, не имея станка и инструмента под рукой. Поэтому следующая мысль была уже интересней. Поскольку я и люблю всё большое и полноразмерное, часто в натуральную величину, то и в этот раз я решил сделать нечто большое. Хотя, если быть честным, я всё же решил остановиться на идее миниатюры, но сделать её крупнее, чем кусок дерева, умещающийся в руке… Ну, чтобы размерами в автомобиль, или хотя бы, чтоб большую часть комнаты занимал.

Я, собственной персоной поймал живого динозавра

Ну что же, если хотите сделать такого же, то слушайте. Надеюсь, до строительного рынка вам ехать недалеко, потому что без бруса вам не обойтись. В некоторых макетах я использовал алюминиевую проволоку, но такому гиганту определённо нужны прочные деревянные кости.
Выбирайте брус попрочнее, если есть такая возможность

Далее нужно закупить пилу (если её до сих пор нет, конечно). В крайнем случае одалживаем у соседа. Только не забудьте потом вернуть, если не любите копролиты под дверью. Также закупаем уголки и саморезы — суставы нашему динозаврику тоже нужны.


Уголки берите обычные, подойдут и подобные, как на картинке. Пила подойдёт ручная

Ещё может потребоваться клеевой пистолет, или столярный клей ПВА, чтобы накрепко соединять детали. Прочность построенного каркаса я проверил собственным весом. Ну, я не американец, мне можно.

Пистолет, незаменимая вещь в руках крафтера

Больше эмали богу эмали! Купите все необходимые цвета. Так как я занимаюсь автомобилями, то и тут пошёл по автомобильному пути, купив баллончики.


Я выбирал алкидную эмаль. Возможно, кому-то будет проще окрашивать вручную акрилом

И не менее важный элемент всей конструкции — строительная пена, она будет выступать у нас в качестве мышечной массы. Ну, или жировой. Баллонов 5, не меньше.

Пена фирмы макрофлекс самая часто применяемая в быту, можете выбрать любую, другую

Скульптурный пластилин выбираем наиболее твёрдый — провалы в динозавре нам не нужны! Но, само покрытие, то есть кожа, у нас будет из самозастывающей глины. Запекаемую и полимерную мы не используем, так как достаточно большими печами, к сожалению, не владеем.

В различных канцтоварах и магазинах для творчества пластелин можно найти легко

Поначалу я использовал немецкую Fimo Air с курицами на упаковке, но она трескалась при высыхании и приходилось замазывать щели. Хотя я всё равно потом произвёл полный её демонтаж и замену на Das итальянского производства.

Эта глина не так легко ложится и попахивает не очень, но оно стоит того. Придётся раскошелиться упаковок на 10 дорогого материала

Закупаем также мелкую наждачку, канцелярский нож, маски или респираторы, если планируете работать в помещении. В общей сложности сумма на покупки не дойдёт и до 10 тысяч рублей. Много ли это? Для такого проекта, как по мне, ни разу. Самое интересное то, что я изначально имел только эту самую внутриигровую модель и скриншоты. По ним и были сделаны первые наброски, которые вы можете посмотреть ниже:

Недаром у меня была пять по черчению

После незамысловатого рукоприкладства мне удалось собрать весьма крепкую табуретку. Или скамейку… Так или иначе, скелет не только выдержал мой вес, но и при огромном перевесе шеи уверенно устоял на трёх ногах. Для пущей прочности проклеиваем стыки клеем из термопистолета. От слова «пистолет» вам уже может стать страшно, а меня, как уже бывалого, и вовсе передёргивает. Дело в том, что орудие сильно раскаляется во время работы, как и сам рабочий клей. Если он попадёт на голую кожу — то нельзя просто так взять и его стряхнуть, жечь будет до тех пор, пока полностью не остынет. Сбросить пальцем тоже не вариант — это ведь клей, в итоге вместо одного ожога будет два. При таком чрезвычайном положении клей надо моментально растереть или вытереть обо что-нибудь стороннее (традиционный метод — штаны). Или держите рядом ёмкость с холодной водой.

Гордись собой, если табуретка напоминает спортивный снаряд

Ну а теперь у меня для вас грязная работёнка. Ах да, это только я суров и беспощаден, всё делаю голыми руками, но вам настоятельно рекомендую воспользоваться резиновыми перчатками, иначе есть реальный риск лишиться пальцев. Как, спросите вы? Да так, отвечу я. Это вам не пластилин, голые руки к пене и близко не подносим. При затвердевании она может пережать кровь и пальцы начнут медленно и верно умирать, пока вся пена не будет содрана. Так что собираем из газеты опалубку, крепим чем попало и начинаем заливать форму. Помимо этого, сразу предупрежу, что при попадании на пол/мебель и другие несоответствующие места, монтажная пена будет оставлять очень некрасивые следы. Так что, если не хотите получить от родителей/жены/хозяев квартиры люлей, всё аккуратно огородите, например, картоном. У меня же для создания амфицелии использовалась отдельная квартира, чтобы никому не мешать противными запахами. А если вам надо сделать гладкую поверхность животного — стройте форму из полиэтиленовых пакетов, однако воздух через них не проходит, и срок застывания пены растёт многократно!

Опалубка из газет до заливания пены

Во время застывания пена увеличивается примерно вдвое, стоит это учитывать. Она всегда будет норовиться убежать из всех дыр. Можно купить более дешёвую пену, которая не так увеличивается, но там сложно что-то обещать насчёт качества и прочности.

Опалубка из газет после заливания пены

Сохнет пена не менее суток. Её хоть грей, хоть замораживай, хоть обдувай… мне ускорить процесс не удалось. Если вы владеете этой бесценной информацией, то не жадничайте, помогите множеству людей, в том числе мне. Итак, достаём холодное оружие и впиваемся в плоть несчастного зауропода. Если после срезки верхних слоёв или демонтажа опалубки вы видите мягкую и тянущуюся пену — бегите отсюда подальше, пока она снова не повалила вам на рубаху, и ждите застывания. И вот, после обрезания мы получаем… нечто вот такое.

Уже прослеживаются очертания, не так ли?

Если в форме образовались изъяны, залейте их пеной снова, а дырки там бывают огромные, как у… хотя ладно. После очередного среза излишков приступаем к работе с пластилином. Не стремитесь им полностью покрыть поверхность, он у нас лишь для сглаживания неровностей. Полимерная глина слишком дорога, однако, она имеет плохой коэффициент сцепления с пластилином, поэтому приходится идти на возможные жертвы. Для растапливания твёрдого пластилина используйте подручные средства, от фена до батареи отопления.

Иногда, я забывал принести фотоаппарат, поэтому было сфоткано на веб-камеру, пардон

После пластилина можно ещё использовать грунт для лучшего сцепления (я, например, использовал акриловый). Когда всё высохнет, приступаем к более тонким процедурам. Берём ёмкость для жидкости, наливаем туда воду и распаковываем первую пачку самозастывающей глины. Смачиваем руки и глину в воде, наносим поверх поверхности макета. Стремитесь класть материал ровно, но идеала добиваться не следует.

Глина затвердевает через 24 часа, но ускорить процесс можно, обдувая поверхность тёплым воздухом из обычного или монтажного фена. Я использовал тепловентилятор «Ветерок-2М». Только не перестарайтесь и не перегрейте, а то всё потрескается. Также не накрывайте ничем поверхность, должен быть свободный доступ света и воздуха

Далее надо зашкурить обрабатываемую поверхность глины. С этим вопросов возникнуть не должно. Тут вам очень пригодился бы респиратор, так как нюхать всё это дело — не всегда приятно. После полировки кожи динозавра её надо тщательно очистить от пыли. Для этого используйте сначала влажную ткань, потом сухую, под конец бумага/салфетки. Не помешал бы тут и компрессор. Как все вычистите — можно приступать и к первичной покраске. Я начал с головы и сразу же нарисовал ему лик, однако это можно оставить и на потом. Не забудьте огородить мебель и случайных прохожих от попадания эмали. И взболтать баллон.

В перерывах между покраской, мало-помалу я изготавливал и конструкцию самого авианосца на спине, но об этом чуть позже, для начала закончим сам тягач

Не судите за анти-анатомическую конструкцию лап, ведь я как тот человек, который не умел рисовать ноги в комиксах. Тем не менее результатом я всё же доволен, поскольку для меня это было очень непростой задачей. С анатомией плохо дружу, ну что поделать.

Всё же и в оригинале я бы не сказал, что ноги больно анатомичны

Но что-то, пошло не так, потому что голова получилась ужасной. Она вообще непохожа на голову. Авокадо какое-то неправильной формы. Ужас. Сравните моё убожество с божественным оригиналом.

Тот момент, когда чувствуешь себя рукожопым

Чтобы исправить этот момент, я решил изучить игру ещё более подробно.
Так как я и сам своего рода игродел, то мне не составило труда залезть в файлы игры и поменять местами модельки, чтобы разглядеть персонажа поподробней.

В игре можно модель джаггернаута на модели людей менять, но получается треш из-за анимации

Дальше занимаемся тонкой работой. Кисть в кисть, размешиваем концентрат эмали или акрила и вырисовываем глаза. Как говорится, учимся быть художниками, ведь в нашем нелёгком деле любой навык необходим.

До прорисовки и после

А далее — непростая психологически работа — отпиливать голову своему любимцу, чтобы прирастить новую, достоверную, почти как в игре! Но оно того стоило! После сложнейшей операции по пересадке головы Джага уже стал походить на оригинал.

Теперь выглядит разительно лучше!

А вот и финишная прямая! Опять шкурим, грунтуем, красим, вырисовываем мелочи, и уже можно любоваться динозавриком! На фото блестит ещё окончательно не застывшая краска.

Вес макета в сборе — около 25 кг, длина — 260 см

Ну что же, отдельно расскажу и о самом ударном авианосце. Собрать саму раму из досок тоже не самая простая задача, надо максимально повторить игровой прототип. Стоит отметить, что иные детали вырезались из панелей пвх и красились. Стволы же пушек делались из канализационных труб, не бывших в использовании. А кому-то могло прийти в голову иное?

Будущий авианосец и его пушки

Игровая модель определённо имела какие-то замыленные элементы подсветки, а пушки были дифференцированы по корабельному типу — красным и зелёным цветами.

На фото видны ходовые огни, мигающая лампа на вышке и подсветка внутри капитанского мостика

Задние «габариты»

Красный слева, зелёный справа — всё, как и положено, пусть и сухопутному, но кораблю

Всё это дело питалось от нескольких стабилизаторов внутри. Пошёл я по пути наибольшего сопротивления — для ламп внутри я оставил кренку, а диодную подсветку разбил на два контура на регулируемых стабилизаторах LM317.

Вот так всё выглядит изнутри. Имеются мягкие подкладки, чтобы не поцарапать нежную спинку брутального динозавра

А теперь стоит рассмотреть подробнее пушки. Ибо, какой авианосец без пушек? Так, с помощью пружин и пластиковых элементов удалось построить спусковой механизм.

Дуло и патрон

К сожалению, со временем пластик деформировался и снаряд стал застревать в стволе, но, изготовленный из дерева, снаряд легко был проточен, после чего снова стал вылетать из орудия с неимоверной силой. Пушка правого борта построена по тому же принципу. Ниже можете посмотреть видео о пусковом механизме.

И теперь — несколько финальных сравнений. Без подсветки:


С подсветкой:


С подсветкой и в полной темноте:


Фан-арт на базе официального загрузочного экрана:


Флаги печатались отдельно и клеем пришпоривались на плотную бумагу, а после крепились к обручам из пластика. При этом вся махина вместе с флагами легко снимается с динозавра, который абсолютно голым выглядит вот так:


Уже после создания модели товарищи со мной поделились 3д рипперами, позволившими выдернуть модель из игры, и изучить подробней.



Джаггернаут имеет две модели — живую и мёртвую, так вот, разложив вдоль зауропода модельку Турока, сидящего на птерозавре, я пришёл к выводу, что живая версия имеет длину примерно 1190 метров, мёртвая — в полтора раза более.

Да, несколько крупнее он своего реального предка, но в этом и был весь его шарм. Честности ради скажу, что Тал Сет, сидящий на птерозавре, примерно вдвое уменьшен в размерах относительно находящегося на ногах (по техническим соображениям), поэтому масштабной такую картину назвать нельзя и полученное число можно смело делить надвое. По итогу, общая длина Джаггернаута — примерно 600 метров. Несколько позже проводились повторные исследования, давшие финальную цифру — 648 метров. Всё равно крупный динозаврик, не так ли?

Рассчитываем примерную длину динозавра на основе модельки Турока

А вот так выглядит сцена с мёртвым Джаггернаутом:



Здесь он, почему-то, уже отличается внешне, как будто делали разные моделлеры:


Сравнение размеров


▍Бонусная часть:


Ну что же, а теперь расскажу и о пернатых дромках.


Делались они в 2013 и 2014 годах. Много лет уже минуло, динозавры объездили немало выставок и музеев, даже на телевидении побывали.


Голову первого дромеозавра (на фото выше) делал мой подписчик Михаил Кулешов. А вот и алюминиевый каркас, о котором я говорил. Найти такие провода проблем не составит:


Всё точно также заливается пеной, после чего вырезается форма.


Голова в процессе прироста:


Когти и зубы выплавлены из пластика паяльником:


Сверху всё обклеивается искусственным мехом и перьями. И получается вот такой вот милашка!


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


▍Заключение:


Арт рисовал художник сообщества фанерозой Мухаммад Ходжимуратов

Это был интересный опыт, которым я в принципе доволен, тем более что очень хотел о нём рассказать. Знаю, что наш фанерозой иногда журят, что статьи мы пишем по не тематике хабра, что критику не воспринимаем. Однако, пожалуй, данная статья призвана показать не только биологию, но и то, что мы действительно очень любим хабр, а потому, почему бы не написать, что-то техническое, сделав «киборга».

Художник и спикер сообщества Фанерозой Мария Колесник

Надеюсь, вам понравился этот труд. Спасибо за прочтение! Впереди много всего интересного, например, наше мероприятие в городе СПб, в котором выступит Зелёный Кот, Дробышевский и Упоротый палеонтолог. С радостью ждём вас там, а если хотите знать подробности, то они здесь!

Источники:
1. J.S. McIntosh, 1998, «New information about the Cope collection of sauropods from the Garden Park, Colorado», In: Carpenter, K., Chure, D. and Kirkland, J.I. (eds.) The Morrison Formation: An Interdisciplinary Study. Part 2. Modern Geology 23(1-4): 481-506
2. Cope, E.D. (1877). «On Amphicoelias, a genus of Saurians from the Dakota epoch of Colorado». Proceedings of the American Philosophical Society. 17: 242-246.
3. en.wikipedia.org/wiki/Amphicoelias#Discovery_and_history


Tags:
Hubs:
Total votes 64: ↑58 and ↓6+52
Comments3

Articles

Information

Website
ruvds.com
Registered
Founded
Employees
11–30 employees
Location
Россия
Representative
ruvds