Архивы рубрики: Мысли о разработке

Заметки о тонкостях разработки онлайн-игр для социальных сетей

Самый глупый сервер, который мы написали


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

Опубликовано в Мысли о разработке |
Метки , , , |
2 комментариев

Как научиться делать сервера для онлайн игр?

Привет, уважаемые читатели нашего блога! :) Не так давно я наткнулся на курс видео-лекций, посвященных исключительно разработке с нуля сервера для онлайн игры на языке Java. Естественно, как опытному разработчику, многие вещи показались мне там знакомы и очевидны, но, несмотря на это, я нашел для себя там немало полезных моментов и тонкостей. Что-то просто забыл, а что-то и не знал, к своему стыду. Если вас мучает вопрос – как сделать игру онлайн – ответ под катом! :)

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

Опубликовано в Мысли о разработке |
Метки , , |
Комментарии выключены

Главное – команда! Гвардейская разработчицкая артель

У геймдевелоперов частенько возникают идеи, действительно новые и необычные, но слишком объемные для одного человека. Ты сидишь и горюешь – “Мне очень хочется сделать такую вот игру, но я не смогу – не хватит сил, времени, умений…”. Сидят, значит, такие грустные разработчики, каждый за своим компом, и грустят поодиночке. Вяло так кодят очередную унылую игру для очередного заказчика. Или потеют в офисе над объемным проектом, в котором только программеров задействовано три десятка, а еще всякие художники, аниматоры, моделлеры, текстурщики, пиарщики…

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

Опубликовано в Мысли о разработке |
Метки , , , , , |
Комментарии выключены

Как быть счастливым, делая игры

Я пишу эту статью как обращение к себе, просто чтобы глубже осознать и сформулировать для себя ряд мыслей, которые пока вертятся в голове в виде образов…
Мне только что исполнилось 35. Годы, проведенные в разработке, оптимизации, рефакторинге, самописные фреймворки, тонны кода, мысли, идеи… Лучшие годы жизни, между прочим. А что в итоге? Два десятка полу-законченных мертвых проектов, непонятных наработок, и щемящая грусть по поводу выкинутого на них времени. Нет, конечно, были и успешные проекты и хорошие деньги. Да и сейчас – всё неплохо: есть любимая работа, есть куда развиваться…

Мало помалу сформировалось некое видение, или ощущение того, “как надо”. Речь не пойдёт о золотых горах, успехе и известности. Речь пойдет о том, как быть счастливым, делая игры. Или даже, не побоюсь этой формулировки, как быть счастливым!… :)
Продолжить чтение

Опубликовано в Мысли о разработке |
Метки , , , , , , , |
Комментарии выключены

Почему не запускается SDK Manager

Два часа рылся в по инету в поисках ответа на этот досадный вопрос. Куча советов – пропишите пути туда, пути сюдаа… Все фигня. Пришлось включить голову. :) Если вас тоже мучает эта проблема – вам сюда. Только для Windows 7 x64.
Продолжить чтение

Опубликовано в Мысли о разработке |
Метки , , , , |
2 комментариев

Размещение сервера для онлайн игры в интернете

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

Опубликовано в Мысли о разработке |
Метки , , , , , |
Комментарии выключены

Разработка высоконагруженного игрового сервера на Java. Исходник сетевой части

Как обещали, выкладываем продолжение статьи о реализации на Java сетевой части нагруженного сервера. Эта статья посвящена целиком исходному коду и комментариям к нему. Архив исходников, естественно, прилагается. :)

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

Опубликовано в Мысли о разработке |
Метки , , , |
12 комментариев

Разработка высоконагруженного игрового сервера. Сетевая часть.

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

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

Опубликовано в Мысли о разработке |
Метки , , , , , |
Комментарии выключены

Разработка высоконагруженного сервера для казуальной онлайн игры

Но нашей задумке, эта статья должна открыть цикл, посвященный разработке и настройке высоконагруженных java-серверов для социальных онлайн игр. Все технологии, описанные нами ранее, вполне работоспособны и могут уверенно держать до 2-3К живого онлайна. Но когда речь начинает идти о 10К, 50К, 100К онлайна, недочеты предыдущих схем выливаются в полный обвал всего хозяйства.
Какие именно проблемы вылезают:

  • Первая проблема – невозможность, или сложность масштабирования. Довольно сложно сделать так, чтобы пользователи распределялись равномерно по N игровым серверам
  • Вторая проблема – блокирующие сокеты. На каждый такой сокет, как правило, создается один поток ввода и один поток вывода. Два потока на юзера. Это очень-очень много при больших онлайнах, просто недопустимо.
  • Когда мы начинаем пытаться решать эти проблемы – вылазят новые, и так далее – тонем в заплатках.

    Ценой набитых шишек, а так же благодаря советам более опытных коллег, мы нашли пути построения нагруженной системы. Как именно? – Об этом и пойдет речь. Мы не хотели бы донести этот опыт до геймдев-пипла. :)
    Продолжить чтение

    Опубликовано в Мысли о разработке |
    Метки , , , , , |
    Комментарии выключены

    Создание игры про гонки на Flash AS3 (tutorial)

    На глаза попалась простая реализация гоночной машинки на ActionScript 3. Оригинал статьи на английском. Мы решили, что статья будет полезна многим, поэтому перевели и перепостили. В статье в кратце рассказываются основные принципы, приведен исходник игры на Action Script 3, а так же – выложена flash-демка
    Продолжить чтение

    Опубликовано в Мысли о разработке |
    Метки , , , , , , , , |
    Комментарии выключены