Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Разработка ММО РПГ – практическое руководство. Сервер (часть 1)

Блог компании Starni GamesПрограммированиеАнализ и проектирование системC++Разработка игр
Турель Аннигилятор
  • Игровой backend: из каких модулей он должен состоять?
  • Расчет параметров персонажа: виртуальные методы или сложение массивов?
  • Логика поведения: на каком уровне она должна находится?
  • Перемещение персонажей: кто этим должен управлять?

        Сегодня мы продолжим знакомиться с разработкой и проектированием он-лайн игры на примере космической ММО RPG «Звездные Призраки». В этой статье речь пойдет о backend'е на С++ и она будет насквозь техническая.

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

        В статье мы сосредоточимся именно на архитектурных решениях применительно к backend'у MMO RPG в реальном времени. Исходного кода будет не много и он точно не будет содержать таких специфических для С++ вещей как множественное наследование или шаблоны. Задача данной статьи помочь в проектировании игрового сервера и ознакомить всех желающих со спецификой игрового backend'а.

        Описываемые решения достаточно универсальны и вполне подойдут для многих RPG. В качестве иллюстрации в конце статьи я приведу пример использования описанной архитектуры в игре «про эльфов».
Далее
Всего голосов 33: ↑29 и ↓4 +25
Просмотры43K
Комментарии 29

Дайджест о технологиях 2ГИС

Блог компании 2ГИСРазработка веб-сайтов
image

Наши эксперты охотно делятся опытом разработки, тестирования, дизайна и управления продуктами. Весной они выступили на конференциях Mobius, CodeFest, CocoaHeads Moscow и Dump — мы собрали видео и слайды с выступлений и подготовили для вас дайджест.

В дайджесте доклады о реактивном программировании, автоматизации тестирования windows-приложений, автоматизации рутинных фронтенд-задач, дизайне продуктов в 2ГИС и DevOps в энтерпрайзе.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры8K
Комментарии 5

Разработка ММО РПГ – практическое руководство. Сервер (часть 2)

Блог компании Starni GamesПрограммированиеАнализ и проектирование системC++Разработка игр
Рерурс литий
  • Реализация AI: как сделать максимально просто?
  • RPC клиент-сервер: json или бинарная «самопальщина»?
  • Асинхронные сокеты или многопоточная архитектура?
  • Кеширование объектов на уровне приложения или больше памяти для СУБД?
  • Работа с БД без Reflection API: действительно ли это так сложно?

        Сегодня мы продолжим рассматривать архитектуру и особенности реализации игрового backend'а на С++ для онлайн игры на примере ММО РПГ «Звездные Призраки». Это вторая часть статьи про сервер, начало можно прочитать здесь.
Далее
Всего голосов 18: ↑14 и ↓4 +10
Просмотры23.4K
Комментарии 13

Как я собрал скелет бота для заказа такси в Telegram

АлгоритмыSaaS / S+SAmazon Web Services
Из песочницы
В день запуска ботов в Telegram я за 3 часа собрал бота, который присылает температуру воздуха в ответ на геолокацию пользователя. С того же дня я бредил вызовом такси через бота в Telegram, так как API службы такси у меня был под рукой.

Моя цель – не просто рассказать, как я собрал бота для вызова такси, а поделиться этим процессом с другими, чтобы то время, которое я потратил на реализацию алгоритма не тратили остальные. Вследствие этой работы любая служба такси, при наличии API, может за 5 минут настроить шаблон этого бота под себя. Или владелец бота с большим количеством пользователей сможет быстро подключать к себе службу такси.
Читать дальше →
Всего голосов 25: ↑19 и ↓6 +13
Просмотры71.4K
Комментарии 27

Вышла в свет новая версия Node.js v4.0.0

Высокая производительностьРазработка веб-сайтовJavaScriptПрограммированиеNode.JS
Перевод
Сотрудники Node.js и члены Node.js Foundation с гордостью представляют 4.0.0 версию продукта. В этот релиз включены бесчисленные часы совместной работы проектов Node.js и io.js, которые были успешно объедены в одну кодовую базу. Проект Node.js управляется командой из 44 человек, 15 из которых формируют Technical Steering Committee (TSC). Кроме того, более 100 участников были добавлены в список людей, способных влиять на развитие ядра, по сравнению с числом участников версии v0.12.7.

Node.js v4.0.0 содержит V8 v4.5, это та же версия V8, которая поставляется вместе с веб браузером Chrome сегодня. Это привносит с собой множество бонусов для пользователей Node.js, наиболее важные из которых, это поддержка ES6 стандарта, который включен по умолчанию, включая блочную область видимости, классы, типизированные массивы (Node's Buffer теперь работает поверх Uint8Array), генераторы, Promises, Symbols, строковые шаблоны, коллекции (Map, Set, и так далее) и, новая возможность для V8 v4.5 — стрелочные функции.
Читать дальше →
Всего голосов 48: ↑42 и ↓6 +36
Просмотры29.9K
Комментарии 33

Бесплатный реалтайм список онлайн юзеров (Parse.com + Pubnub)

Разработка мобильных приложенийРазработка под Android
Из песочницы
Как-то раз написал мне знакомый задачу для практики: напиши приложение, где есть одна кнопка логина/разлогина и список онлайн пользователь. При этом, пользователи должны «жить» только 30 секунд. Как это всегда бывает, при первичном рассмотрении задачи я подумал: ха, что тут делать то? Используем облачное хранилище и сервер для юзеров, а дальше дело за малым… но не тут то было.

Под катом я расскажу, с какими проблемами при разработке бэкэнда на Parse.com мне пришлось столкнуться, почему пришлось использовать его в связке с Pubnub, и как это всё связать при разработке под Android.

То, что вышло в итоге:

Демонстрация

Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Просмотры13.3K
Комментарии 7

Чему мы научились, разрабатывая backend

Блог компании ParallelsРазработка веб-сайтовСовершенный код
imageРазработка Parallels Access потребовала создания геораспределенного сервиса, позволяющего безопасно устанавливать связь между компьютерами и мобильными клиентами пользователей в различных точках земного шара. Команда, которая над ним трудится, хочет поделиться полученным опытом в форме цитат, чтобы облегчить участь тем, кто только планирует создание своего клиент/серверного продукта, и погрузить в ностальгию профессионалов, имеющих за спиной дюжину успешных проектов:
Читать дальше →
Всего голосов 73: ↑68 и ↓5 +63
Просмотры32.2K
Комментарии 37

Выступи на CodeFest

Блог компании CodeFestБлог компании 2ГИСВеб-дизайн


Конференции разработчиков CodeFest пять лет. Все пять лет мы формировали программу только силами программного комитета: искали спикеров, приглашали, подкупали, угрожали. Всё сами. Вы все пять лет попрекаете нас этим. Мол, в программу снаружи не пробиться. Мы всё осознали и хотим сделать предстоящую конференцию более открытой. Поэтому приглашаем вас выступить на CodeFest.
Читать дальше →
Всего голосов 28: ↑23 и ↓5 +18
Просмотры5.2K
Комментарии 4

Встречаемся на CodeFest

Блог компании CodeFestБлог компании 2ГИСВеб-дизайн


Хотел по традиции написать про спикеров, которые будут в этом году на CodeFest 2016. Но в мою имманентную связь с текстовым редактором ворвался Евгений likegroof и предложил добавить внутренней кухни программного комитета да рассказать про домашние заготовки.

CodeFest — это конференция для разработчиков, тестировщиков, менеджеров и дизайнеров. Слушаем доклады, общаемся на квартирниках (специальный дискуссионный формат), веселимся на афтепати. Встречаемся в 1500 касок 26–27 марта в Новосибирске.

А рассказать есть о чём
Всего голосов 22: ↑21 и ↓1 +20
Просмотры7.8K
Комментарии 0

Вышел в свет Node.JS v6.0

JavaScriptNode.JS

Сегодня увидела свет версия 6.0. Изменений много, в том числе за счет обновления версии v8 (до v5.0), при этом некоторые из них могут поломать ваш код. В октябре этого года ветка v6.x станет новой активной LTS версией и её поддержка продлится до апреля 2018 года.


Изменена логика работы Buffer для повышения безопасности приложений. Из коробки будут доступны Proxy, Reflect, расширеная поддержка ES 2015. Основные изменения c примерами под катом.

Читать дальше →
Всего голосов 29: ↑28 и ↓1 +27
Просмотры22.6K
Комментарии 21

Обзор новорождённой платформы Scorocode

Блог компании ScorocodeПрограммированиеРазработка под iOSРазработка мобильных приложенийРазработка под Android


BaaS-платформы (Backend as a Service) сделали разработку и сопровождение backend'а для мобильных и веб-приложений достаточно простыми и предсказуемыми процессами. Одним из флагманов движения BaaS стала компания Parse, но в 2016 году она заявила о прекращении обслуживания клиентов с 2017 года.

В связи с закрытием их сервиса и отсутствием русскоязычных облачных BaaS, мы решили создать собственный аналог — Scorocode. Об этом под катом.
Читать дальше →
Всего голосов 20: ↑16 и ↓4 +12
Просмотры15.5K
Комментарии 49

В ожидании рекламы: о грядущих нововведениях в App Store

Блог компании ScorocodeРазработка под iOSРазработка мобильных приложений


В 2016 году разработчики приложений для iPhone и других устройств компании Apple получили важные новости, а именно — внедрение контекстной рекламы в App Store. Мнения разделились на диаметрально противоположные, от резкого осуждения до бурной радости по этому поводу.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры9.2K
Комментарии 1

Разработка облачного сервиса Scorocode: часть 1

Блог компании ScorocodeПрограммированиеРазработка мобильных приложенийMongoDBGo
Recovery mode


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

Небольшой опрос в конце статьи позволит читателям отдать голоса за планируемые в будущем функции, тем самым повлияв на стратегию развития сервиса.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры6.6K
Комментарии 8

WebSockets в Scorocode или чат своими руками за 15 минут

Блог компании ScorocodeПрограммированиеРазработка мобильных приложенийHTMLReactJS


Недавно мы добавили поддержку WebSockets в разрабатываемый нами backend as a service Scorocode. Теперь вы можете полноценно использовать эту технологию при создании приложений, требующих безопасного и универсального способа передачи данных.

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

Подробности под катом.
Читать дальше →
Всего голосов 13: ↑8 и ↓5 +3
Просмотры8.3K
Комментарии 14

[СПб, Анонс] Встреча CodeFreeze с разработчиком PHP Дмитрием Стоговым про внутреннее устройство виртуальной машины PHP

Блог компании JUG Ru GroupPHPКомпиляторы

В среду, 7 сентября, в 20:00 в питерском офисе компании JetBrains состоится встреча с Дмитрием Стоговым, разработчиком компилятора PHP, сотрудником Zend Technologies. Тема встречи — внутреннее устройство виртуальной машины PHP и, в частности, последние изменения в PHP 7.



Участие, как всегда, бесплатное. Регистрация — по ссылке. Количество мест ограничено.


О докладе


Виртуальная машина PHP имеет различные внутренние изменения, однако самые интересные — поднимающие производительность от версии к версии. Именно о них расскажет Дмитрий, уделив внимание последним изменениям, реализованным в PHP 7 и принесшим двукратное улучшение, и новым идеям, реализуемым в ещё не выпущенных версиях.


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

Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Просмотры8.3K
Комментарии 2

Какие перспективы у Node.js после воссоединения — мнения экспертов

Разработка веб-сайтовJavaScriptNode.JS


Когда-то PHP, Apache и MySQL в сочетании с JavaScript через AJAX был идеальной парой для веб-разработчика. Казалось, этот набор инструментов может позволить решить любую задачу. Однако требования повышались, исходный код разрастался на глазах, нагрузка возрастала и привычные инструменты перестали справляться.

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

В поисках выхода из этой ситуации, светлые головы вспомнили, что сервер можно написать и на JavaScript.
Читать дальше →
Всего голосов 57: ↑42 и ↓15 +27
Просмотры42.5K
Комментарии 38

Поддержка NPM модулей в backend as a service Scorocode

Блог компании ScorocodeJavaScriptПрограммированиеРазработка мобильных приложенийNode.JS


Приветствуем, Хабровчане и Скорокодеры! В статье про разработку Scorocode мы спросили сообщество, какой новый функционал вы бы хотели увидеть в сервисе. Одним из популярных вариантов стала поддержка в серверном коде npm модулей. Вы просили — мы сделали! За подробностями просим под кат.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры2.4K
Комментарии 3

Как мы строили облачный бэкенд для мобильного шутера

Блог компании Game InsightРазработка мобильных приложенийРазработка игр
Привет, Хабр! Совсем недавно мы запустили в России и еще нескольких странах многопользовательский мобильный шутер Guns Of Boom, который уже скачало более полумиллиона человек. Для обеспечения плавной и бесперебойной игры такого количества пользователей нужен хороший бэкенд. В этой статье мы расскажем, почему мы решили использовать для этого облако, и кратко опишем особенности построения бэкенда на основе облачных сервисов.


Читать дальше →
Всего голосов 36: ↑22 и ↓14 +8
Просмотры10.4K
Комментарии 12

Сказка о бэкенде, ruby и rails

RubyRuby on Rails
Это очередной перевод статьи про rails, в этот раз моей собственной. Статья носит развлекательный характер и предназначена для людей не знакомых с бэкендом и rails приложениями.

Оригинал статьи тут и картинки взяты там же.

Все мы знаем о прекрасном мире Веба. Каждый день мы возвращаемся туда за ответами или же просто чтобы хорошо провести время. Однако не каждый знает как устроен этот мир единички и нуля.

Что же, этот мир очень велик и не каждый видел его край. Сейчас он также велик как наш, к счастью, в нем нет границ и с каждым днем он расширяется. Там появляются новые государства, возможно вы слышали о некоторых из них, например PhP или Python, в этих государствах появляются города (мы их называем приложения), а в городах жители (объекты и сущности).

Добро пожаловать в мир Ruby

Читать дальше →
Всего голосов 26: ↑18 и ↓8 +10
Просмотры13.4K
Комментарии 13

Секреты удачного апдейта: интерфейс, backend, структура приложения

Блог компании Productivity InsideРазработка под iOSSwift
Recovery mode
Приближаются долгожданные новогодние праздники – время путешествий. В связи с этим сегодня мы хотели бы рассказать о работе над нашим совместным проектом с компанией Travel And Play — Webcam World View. Приложение дает возможность подключаться к стримам с видеокамер, установленных в разных уголках планеты, и наблюдать за кипящей там жизнью в реальном времени.

Здорово, правда? Нам тоже так казалось, пока нынешней осенью не была поставлена задача на новую, улучшенную версию продукта. Что именно улучшать — оставалось на наше усмотрение, поэтому функционал мы сразу решили оставить в покое: он был вполне достаточным и при этом не перегруженным. А вот UX составляющая и техническое исполнение подверглись существенному пересмотру. О том, как мы делали из изначально неплохого приложения конфетку, читайте ниже.


Читать дальше →
Всего голосов 8: ↑5 и ↓3 +2
Просмотры2.5K
Комментарии 4