0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что такое онлайн и оффлайн в Интернете

Содержание

Что такое онлайн и оффлайн в Интернете?

Понятия «онлайн» и «оффлайн» известны каждому продвинутому пользователю Интернета. Эти слова используются во взаимосвязи с коммуникациями или компьютерной техникой и указывают на статус доступа к тому или иному ресурсу.

Однако для новичков определение терминов вызывает некоторые затруднения. Что же такое «онлайн» и «оффлайн»? Где применяются эти понятия и что означают?

Что означают слова «онлайн» и «оффлайн»?

Слово «онлайн» происходит от английского online, что переводится как «быть на линии». Чаще всего его интерпретируют как «подключение к Интернету», хотя на деле термин обладает более обширным значением.

Понятие «оффлайн» тоже имеет английские корни и связано со словом offline, что означает «вне сети». Термин является противопоставлением «онлайн» и указывает на отключение от Интернета.

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

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

Что такое онлайн?

Сегодня понятие «онлайн» широко применяется во всех областях Всемирной Сети. Под термином понимают состояние, при котором один человек доступен для связи с другими людьми. Иными словами, онлайн – это возможность двухстороннего общения между службами или посетителями Интернета. К примеру, в соцсетях, ICQ или Скайпе надпись «онлайн» означает, что пользователь находится на связи на данном сайте, то есть может прочесть ваше сообщение и ответить на него.

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

Статья в тему:  Как скрыть свою статистику в world of tanks

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

Что такое оффлайн в Интернете?

Слово «оффлайн» подразумевает нахождение пользователя в отключенном, автономном режиме. Хотя термин обычно используется в контексте с Интернетом, в последнее время он получил широкое распространение и в повседневной жизни. В частности, понятие «оффлайновые СМИ» указывает на привычные нам газеты и журналы, то есть средства массовой информации, которых нет в Интернете.

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

Где еще используются слова «онлайн» и «оффлайн»?

Помимо наличия или отсутствия связи в Интернете, термины «онлайн» и «оффлайн» могут применяться по отношению к компьютерным программам. Например, под выражением «оффлайновый браузер» подразумевают возможность просматривать сайт, не заходя в Сеть. Для этого достаточно загрузить его страницы на локальный компьютер. Подобные действия можно осуществить, к примеру, посредством браузера Internet Explorer, в котором предусмотрена функция автономного просмотра.

Некоторые программы, напротив, можно использовать только в онлайн-режиме, поскольку для полноценного функционирования им необходимо обращаться к базам данных на серверах. К таким приложениям относятся почтовые агенты (в частности, Microsoft Outlook или Mozilla Thunderbird), которые во включенном виде подсоединяются к почтовым серверам для проверки почты. В автономном режиме подобные действия им недоступны.

Чем отличается RPG от MMORPG

RPG (Role-Playing Game) – это ролевые игры. К таковым относятся как одиночные игры (например, Diablo 2), так и многопользовательские (например, World of Warcraft).

MMORPG – это именно многопользовательская ролевая игра по интернету, где в одном игровом мире обитает множество игроков.

Отличаются эти игры еще и тем, что MMORPG обычно условно бесплатны, в то время как RPG всегда нужно покупать в магазине.

Онлайн- и офлайн-услуги

Онлайн-услуги так или иначе используются в любой деловой сфере: как минимум электронный документооборот облегчает жизнь не только корпорациям, но и мелким ИП. Реклама в интернете обходит по эффективности рекламу на ТВ и уличную, сетевые коммуникации позволяют связывать мгновенно филиалы с головными организациями. Словом, эти возможности оценены по достоинству.

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

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

Статья в тему:  Где можно обмениваться вещами доты 2

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

Как понять, что перед тобой MMORPG

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

RPG-видеоигры, которые часто называют CRPG (Computer Role-Playing Games, компьютерные ролевые игры), многое заимствуют у своих аналоговых предшественников. Например, у них такой же уровень кастомизации персонажей. Игроки могут создавать и кастомизировать своих персонажей, представленных цифровым аватаром. Они могут контролировать всё: от внешнего вида, расы и пола до профессии и навыков. По мере развития игры игроки могут улучшать и развивать своих персонажей, делая их всё более уникальными и сильными.

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

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

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

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

Если взять все эти составляющие и поместить их в среду, в которой одновременно взаимодействуют десятки, а то и сотни игроков, получится MMORPG.

Хорошие примеры популярных MMORPG: World of Warcraft, Guild Wars 2, The Elder Scrolls Online, Star Wars: The Old Republic и EVE Online.

Надеемся, теперь ты знаешь, как различить игры MMO и MMORPG, и как понять, что ты играешь именно в MMORPG.

Статья в тему:  Как очистить кэш в игре танки онлайн

И еще одно: в большинстве MMORPG не бывает никаких ручных противотанковых гранатометов. Если, конечно, ты не играешь в футуристическую дистопию, в которой магию заменили взрывчаткой высокой мощности. В общем, это почти одно и то же, вот только взрывчатка куда круче.

Почему онлайн-игры — отстой?!

Чувак, я признаю себя геймером. Борода, правда, часто шутит, что я вообще гик, но он это не со зла. Я люблю компьютерные игры и игры вообще, я помню Ultima, я играл старые квесты типа Larry Leisure Suit, Full Throttle и Grim Fandango. Я видел очень старые игры, я неплохо разбираюсь в индустрии, слежу на новинками и искренне переживаю о казуальности и упрощении игр и о том, куда идет индустрия игр в целом. А еще я считаю, что игры — это искусство, которое вполне на уровне с кинематографом и литературой, потому что игры — это и литература и кинематограф вместе с возможностью обратной связи. Задротом меня назвать сложно: я очень давно хожу в спортзал, правильно питаюсь, веду здоровый образ жизни и даже женат. Вообще, мы забываем, что задрот — это тип характера, а не человек, который любит игры, комиксы и прочее. Задрот — человек с крайне низкой социальной активностью, который заменяет общение с людьми, личные победы и какие-либо стремления игрой в игры. Такие люди мерятся виртуальными достижениями, уровнями и ачивками, большинство из которых ничего не значит. Онлайн-игры пропагандируют задротство, они привязывают к себе пользователя намертво, заставляя его отдавать большие деньги за сомнительные однообразные развлечения. Далеко не все онлайн-игры одинаковы и бессмысленны, например старинные Ultima и Fallout online, как и WOW, могут порадовать пользователя разнообразным геймлпеем, но это все равно капля в море. Почему я не люблю онлайн-игры и почему обычные синглы, качалка, велик и книжки — гораздо лучшее хобби для чувака?

1. Однообразие геймплея

За крайне редким исключением онлайн-игры пугающе однообразны. Ты убиваешь мобов, получаешь левел, из них изредка выпадает шмот, ты его поднимаешь, сравниваешь циферки со своими и предпринимаешь решение, брать или не брать. Иногда то же самое ты делаешь в компании других игроков. Придумывать стратегию по убийству очередного рейд-босса, конечно, весело, но весело это в первые… 50 раз, потом это одно сплошное однообразие. Какие-нибудь WOW вводят в геймплей разнообразные мини-игры, всякие акции и прочую лабуду. Там действительно интересно наблюдать за жизнью, выполнять квесты, но это редкий пример игры, которая потом все равно надоедает. А знаешь почему? Потому что весь интерес начинается этак с 50-го уровня, а в некоторых случаях с 60-го. Я не хочу столько ждать, чтобы было весело, я хочу весело прямо сейчас!

2. Отсутствие яркой художественной ценности

У того же World of Warcraft есть великолепные ролики, неплохой сюжет и персонажи, но все это осталось нам в наследство от стратегии. Синглплеерные игры держат сюжетом, персонажами и разным геймплеем, кроме того, в них есть важная особенность: они конечны. Какой бы долгой ни была игра, у нее всегда есть конец, а то и несколько разных концовок. Тебе покажут судьбу героев, городов и финальный ролик. В хорошей игре есть много качественных диалогов, интересных поворотов событий, ярких персонажей и в них реально не надоедает играть, потому что ты часто делаешь разное: воруешь, убиваешь, общаешься, торгуешься, договариваешься с другими персонажами, подкладываешь кому-то динамит, убегаешь от взрыва и делаешь еще много чего. В хорошей игре ты найдешь сюжет, возможность отыграть роль доброго парня или злого маньяка, а также тебя ждут отличные персонажи, диалоги, истории мира, художественных книг и все то, что имеет художественную ценность. Перед тобой никогда не встанет необходимость выбирать меньшее из двух зол. Именно по этой причине для меня онлайн-игры равносильны тетрисам или Angry Birds, развлекалово.

Статья в тему:  Скилы в доте что это

3. Это дорого

У меня есть знакомый Миша. В прошлом году на какую-то второсортную онлайн-игру он потратил 30 тысяч рублей. Если бы он потратил эти деньги на WOW или Lineage, я бы еще понял, но он купил персонажа 60-го уровня без шмота за 25 штук и купил ему шмота на 5 штук рублей. Для меня это настоящий удар: зачем тратить такие деньги на игры? Синглы хороши тем, что ты один раз купил игру на Steam или в магазине, купил, может быть, дополнение на нее, но не тратишься каждый месяц на подписку и отдельно на всякие приблуды. Стоит заметить, что все онлайн-игры можно разделить на две группы: в первой без доната (траты реальных денег на виртуальную валюту и шмот) можно всех выигрывать, во второй группе без доната ты можешь держаться лишь с ОГРОМНЫМ ТРУДОМ. К последней группе относятся чуть ли не все онлайн-игры на планшетники и телефоны и еще ряд известных проектов на серьезные платформы. Выкачивают деньги из тебя они довольно оригинально, по сути именно ты сам заставляешь себя потратить лишние пару рублей на виртуальную обувку, чтобы хоть как-то держаться против других игроков. Ты начинаешь играть, все вроде бы идет хорошо, но потом к тебе прибегает какой-то тупой школьник, который вызывает тебя на дуэль. И этот школьник тебя выигрывает, притом что он хреново играет, у него уровень меньше, чем у тебя, и вообще, он, блин, школьник! Единственное логичное объяснение: он донатит. Ты идешь в виртуальный магазин и осознаешь крайне неприятный факт: чтобы купить более крутую броню или доспехи, тебе придется очень долго убивать монстров или выполнять квесты. Зато точно такая же шмотка в магазине за реальные деньги стоит реальных русских 100 рублей. Так система побеждает тебя.

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

Статья в тему:  В чем смысл игры гта 5 онлайн

4. Крайне много времени уходит в никуда

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

Из-за работы я могу видеть его только по пятницам. Но что у него в пятницу? В пятницу у него, сука, рейд. Как раз в семь часов, когда я добираюсь к нему. Однажды рейда у него не было, мы сидели пили пиво в компании, как ему неожиданно кто-то позвонил. Звонил гильдмастер, который, между прочим, живет в Астрахани. Что сделал наш герой? Встал, сказал собравшимся, что ему нужно на часок на собрание гильдии, и ушел играть в другую комнату. Нам, правда, поставил посмотреть «Большого Лебовски». И что я еще понял, чуваки: кроме меня никто не возмутился, все присутствующие, кроме некоторых девочек не в теме, посчитали это важным делом. А мне вот кажется, что пренебрегать друзьями ради тех, кого ты никогда в жизни не видел, как-то… неправильно?

Этот же чувак из-за своего хобби может играть до трех часов ночи, потом лечь спать на четыре часа, встать, одеться и пойти на работу, где он будет пребывать в мире снов. Кстати, у него есть девушка. Знаешь, почему они вместе? Потому что он ее тоже подсадил на Warcraft и они коротают вечера за рейдами. Кроме WOW, он играет еще в три или четыре игры, среди которых точно есть World of Tanks, Аллоды и еще что-то про космос и космические корабли. Этот чувак постоянно агитирует меня и общих знакомых играть, присылает новые предложения типа «Только до Нового года клиент за 200 рублей!» Почему он это делает? Потому что онлайн игры — тот же сетевой маркетинг: если он приведет своих друзей в игру, он получит месяц бесплатной игры. Вот такие пироги с виртуальными котятами.

Еще одна моя знакомая Маша провела отпуск крайне оригинально. Две недели (!), две недели, чувак, она провела за компьютером, крайне редко выходя из комнаты, чтобы покушать и погулять собаку. Маша играла в Lineage. Те, кому посчастливилось видеть ее в этот период, отмечали, что у Маши ужасно красные глаза, жуткие коричневые синяки под ними и странный взъерошенный видок. Возможно, Маша так реагировала на расставание с молодым человеком, а, возможно, она просто любила эту игру. Вроде бы сейчас она завязала.

Статья в тему:  Как посмотреть кпд в world of tanks blitz

5. Эксперимент Скиннера

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

Обычные хорошие игры типа Baldur’s Gate, Mass Effect, Fallout, Witcher, Planescape держат игрока сюжетом и желанием узнать, что будет дальше. Игрока держат мир, персонажи, желание узнавать историю мира, читать необязательные диалоги, проникаться атмосферой. В онлайн-играх игроков держит принцип Скиннера, который до эпохи развития онлайн-игр был успешно применен в отличной в принципе игре Diablo. Как работает этот принцип? Игрок постоянно совершает одно и то же действие (убивает монстров). Это действие всегда влечет за собой закономерную награду в лице нового уровня, шмоток, выпадающих из мобов, и новых способностей. Игрок точно знает, что награда будет всегда, нужно только постараться. В жизни такой радости, увы, нет. Ты можешь стараться сколько угодно, но будет ли награда, точно угадать нельзя. В мире виртуальных развлечений награда будет точно. Если тебе не достанется хорошая шмотка, достанутся деньги, достижения, уровни и разномастные плюшки. А достижениями еще и похвастаться можно, типа смотрите, я выполнил все квесты в Азерот! Да, ты крут, мужик!

К слову, автор любит Варкрафт, Азерот и дренеек.

Поход на север

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

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

Ведущий может установить любые правила, что делает игру вариативной и интересной.

Железный сленг

К слову о железе! Тут у нас целый пласт геймерского сленга.

бокс, ящикконсоль семейства Xbox
видяхавидеокарта
консольщиктот, кто в основном играет на консолях
моникмонитор
пекарьтот, кто в основном играет на PC
плойка, сонькаконсоль семейства PlayStation
проццентральный процессор
харджесткий диск

А: Старые плойка с ящиком не тянут Cyberpunk 2077.

А: Ждать, пока поляки выпустят версии для PS5 и XSX или менять проц и видяху на компе на что-нибудь поновее!

7. Uncharted 4: A Thief’s End: 16 миллионов игроков

Даже нашумевшая вторая Last of Us, несмотря на весь хайп, пока не смогла превзойти в популярности четвертую часть приключений Нейтана Дрейка. Хотя конкуренция между ними довольно условна – обе игры разработаны одной студией Naughty Dog.

Статья в тему:  World of tanks vk 30.01 p как кидает

Uncharted 4: A Thief’s End, вышедшая в 2016 году, за эти 4 года разошлась тиражом около 16 миллионов копий – это второе место на консоли после мультиплатформенной GTA V и первое – среди эксклюзивов.

Сама по себе игра представляет собой квинтэссенцию «коронного» жанра эксклюзивов Sony – action-adventure от третьего лица. В роли авантюриста Нейтана Дрейка нам предстоит пережить очередную историю кинематографичного уровня в невероятно красивых декорациях.

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

Казалось бы, все довольно банально. Так и есть. Но секрет игры – в великолепном уровне исполнения, даже получившем особое название «качество Naughty Dog».

Купить в PS Store за 1199 руб.

Разработка браузерной онлайн-игры

Привет, хабровчане. Меня зовут Евгений, по профессии я backend-разработчик и пишу я на языке c# в сегменте enterprise приложений. В этой публикации я хочу рассказать вам о своём опыте в не совсем профильной для меня сфере — разработке видеоигр, а конкретнее — о разработке браузерной онлайн-игры.

Я привык относить себя к тем везучим людям, у которых хобби совпадает с работой — я люблю разработку ПО. Поэтому для меня абсолютно нормально, вернувшись домой, вновь сесть за компьютер, открыть Visual Studio и продолжить что-то разрабатывать — отдых от этой деятельности мне не нужен. Проблема лишь одна — нужен проект, который мне интересен и который я смог бы осилить один в свободное время — по вечерам и в выходные дни.

Примерно год назад мне показали довольно популярную браузерную онлайн-игру — слитерио. После ознакомления у меня появилась навязчивая идея — мне захотелось сделать что-то похожее по подходу, но с чуть более продвинутым геймплеем. Спустя пару месяцев идея сформировалась в тему этой публикации — игру World of Frogs.

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

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

Основные пункты, от которых я отталкивался:

  1. С клиентской стороны никакого Flash, только html + js;
  2. Одна машина должна тянуть как можно больший онлайн игроков;
  3. Возможность горизонтального масштабирования;
  4. Низкий порог вхождения в игру и быстрый старт;
  5. Чуть более разнообразный геймплей, чем в слитерио;
  6. Красивый и запоминающийся домен;
Статья в тему:  Как зайти в world of tanks на телефоне

Далее, подробней по каждому из пунктов.

1) Клиентский код

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

Изначально взгляд упал на pixi.js — это движок, по которому немало документации, о котором положительно отзываются в плане производительности и вообще всячески хвалят.
Однако углубившись в поиски, я остановился на phaser.js (о нём уже были статьи на хабре) — это более высокоуровневая библиотека, которая позволила мне забыть о многих нюансах и сосредоточиться непосредственно на игровой логике.

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

1.1 Главная из проблем — фоновая текстура (tilesprite) жутко тормозит на windows 7
Выяснил я это с рабочего компьютера после первого деплоя на хостинг — ФПС был очень и очень низким — в районе 5. И так было во всех браузерах кроме, на удивление, IE — в нём всё работало вполне прилично, пускай и не идеально.

До того, что тормозит бэкграунд я додумался далеко не сразу — первым делом, я, методом тыка выяснил, что игра резко перестаёт тормозить при уменьшении размера окна браузера. Нагуглить по что-то по таким симптомам мне не удалось, поэтому я, профилактики ради, решил внедрить часть практик, которые советуют ребята из Mozilla — в частности, использование Object Pool (переиспользование игровых объектов). Особых успехов такого рода оптимизациями я не достиг, а профилировщик по-прежнему показывал что больше всего ресурсов съедает рендеринг.

Тогда, прибегнув к постепенному отключению отображения различных элементов игры я и выявил виновника — tilesprite.

Погуглив по tilesprite я выяснил, что такая проблема не у меня одного, и причина кроется в том, что canvas перерисовывается полностью при любом изменении — т.е. маленький объект сдвинулся — перерисоываем весь канвас, включая фон, что даёт нам высокий расход на отрисовку.

В попытке решить эту проблему я вынес фон на отдельный канвас с меньшим z-index, чтобы он перерисовывался отдельно, независимо от движущихся объектов — особых результатов это не дало.

В конечном итоге я решил отказаться от phaser.js и работать напрямую с canvas, созданным для отрисовки фона — в результате ФПС вырос примерно до 20.

1.2 Разные версии phaser — разная производительность в разных операционках
После изменения принципа отрисовки фона с производительностью всё стало намного лучше, но 20 ФПС — это всё ещё не желаемые 60 — было над чем поработать. Путём тыканья пальцем в небо было выяснено, что phaser версии 2.4.6 работает быстрее на windows 7, а версии 2.6.2 быстрее на windows 10. На линухе и маке обе версии показали себя одинаково хорошо.

Статья в тему:  Онлайн игры тесты какое ты животное

Пришлось добавить условие, которое подключало ту или иную версию библиотеки в зависимости от браузера пользователя — это повысило ФПС на моей рабочей машине до 25-30. Выше поднять ФПС у меня так и не получилось — на этом я решил остановиться, т.к. после опроса друзей/знакомых, у которых стоит семёрка, сложилось впечатление, что проблема редкая, да и уже не такая серьёзная как изначально.

Описанное в этих двух пунктах — это не единственные, но основные и наиболее запомнившиеся проблемы, связанные с phaser.js — всё остальное прошло в общем-то гладко.

Также стоит отметить, что на разных машинах с windows 7 производительность была разной — кое-где и без всех моих телодвижений всё было хорошо, где-то же наблюдались проблемы аналогичные тем, что я наблюдал — какой-либо корреляции я установить не смог

2) Производительность одного инстанса игрового сервера

Здесь начать стоит с того, какая в целом архитектура у приложения, которое служит как игровой сервер. Было решено использовать следующую схему:

Параллельно от разных игроков принимаются сообщения по websocket и закладываются на обработку основному потоку, который обновляет игровую логику. Основной поток работает итерациями по 40мс, в рамках которых обновляет передвижение, видимость, респавн NPC, прогресс использования способностей и т.п.

Запись данных в базу происходит асинхронно — поток обновления игровой логики закладывает сообщения в очередь другому фоновому потоку, который их группирует и пачками пишет в базу.

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

Если отобразить на схеме, то верхнеуровнево серверная архитектура выглядит так:

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

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

3) Возможность горизонтального масштабирования

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

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

Статья в тему:  Почему дота 2 постоянно обновляется

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

4) Низкий порог вхождения в игру и быстрый старт

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

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

Т.к. онлайн игра как правило предполагает возможность отличать одного игрока от другого, я решил использовать подход никогенерации — при входе в игру берётся случайное прилагательное из заранее заданного списка и комбинируется с случайным существительным, что выдаёт ники вида Неспящий Бугай, Жадный Бурундук, Могучий Валенок и т.п…

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

Для более быстрого погружения на главную страницу было добавлено обучающее видео, а в саму игру были добавлены тултипы, выплывающие при изучении новых способностей.

5) Чуть более разнообразный геймплей, чем в слитерио

Как бывший поклонник игры WoW, я хотел разнообразить игру, внеся в неё такие элементы как набор опыта, рост по уровням, получение новых способностей по мере роста, PvE, PvP.

Игроку доступно к использованию 6 способностей (1-я доступна сразу, 2-4 становятся доступны по мере роста по уровням, а 5-6 оформлены как одноразовые поверапы — их можно поднять на игровом поле):

  1. Удар языком — лягушка выстреливает языком и наносит малый урон первой цели на пути;
  2. Прыжок — лягушка прыгает в указанном направлении и в месте приземления наносит высокий урон. Высокий урон способности компенсируется сложностью попадания, а также длительной задержкой между использованиями;
  3. Щит — в течение 3-х секунд поглощает 2 следующие вражеские атаки;
  4. Плевок — лягушка выплёвывает снаряд, который наносит средние повреждения всем врагам на траектории движения);
  5. Лечение — восстанавливает половину жизни;
  6. Ускорение — увеличивает скорость передвижения на 100% на 4 секунды;

Для возможности немного выделиться была добавлена возможность выбрать другую модель игрового персонажа.

6) Красивый и запоминающийся домен;

Изначально в планах было разместить игру на домене .io, аналогично слитерио, агарио и многим другим играм такого формата. Банальные frog.io и frogs.io были заняты, а чего-то более подходящего в .io подобрать не удалось. Играясь с доменами, содержащими frog, наткнулся на весьма удачный вариант — frogs.world, на котором сейчас проект и живёт. Довольно-таки непривычный домен первого уровня, но зато легко запоминается.

Спасибо за внимание. Надеюсь, что кому-то мой опыт будет полезен.

Ссылка на основную публикацию
Статьи c упоминанием слов:

Adblock
detector