Pull to refresh
  • by relevance
  • by date
  • by rating

Unity3d и развеивание некоторых мифов

Game development *Unity3D *
Sandbox
Недавно я прочитал очередную статью про Unity3d на Хабре, в очередной раз были интересные комментарии — и грамотные, и грамотные не совсем.
Я вдохновился и решил немного прокомментировать происходящее.
Надеюсь, кто-нибудь почерпнет для себя здесь что-то новое и интересное.
Читать дальше →
Total votes 81: ↑72 and ↓9 +63
Views 93K
Comments 42

Использование Photon Cloud в Unity3D

Game development *Unity3D *
Sandbox
В процессе создания своей первой игры на Unity3D я осознал необходимость организации сетевого режима, в котором игроки могли бы калечить компьютерных аватаров своих противников. Если вы раньше не занимались созданием клиент-серверных приложений, не поднимали своих игровых серверов, не желаете вкладывать силы и средства в их установку и поддержку, а хотите просто понять принципы организации мультиплеера и за 15-20 минут модернизировать свой проект так, чтобы с чистой совестью добавить к его названию слово Online, то эта статья для вас.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 29K
Comments 7

Google Photon. Обработка данных со скоростью света*

High performance *Big Data *
Photon – масштабируемая, отказоустойчивая и географически распределенная система обработки потоковых данных в режиме реального времени. Система является внутренним продуктом Google и используется в Google Advertising System. Research paper [5], описывающие базовые принципы и архитектуру Photon, был представлен на научной конференции ACM SIGMOD в 2013 году.

В paper [5] заявлено, что пиковая нагрузка на систему может составлять миллионы событий в минуту со средней end-to-end задержкой менее 10 секунд.
* 'Скорость света' в заголовке — наглая ложь гипербола.


Читать дальше →
Total votes 39: ↑33 and ↓6 +27
Views 18K
Comments 14

Python библиотека для Photon Server

Python *Programming *Game development *
Sandbox
В течение последних нескольких месяцев пришлось близко познакомиться с фреймворком для разработки клиент-серверных игр Photon. В данной статье я не буду останавливаться на плюсах и минусах Photon, так как для этого, пожалуй, нужен опыт работы более чем с одним фреймворком. Речь пойдет о библиотеке для работы с Photon Server на языке Python.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 8.4K
Comments 2

Binary serialization in Unity3d

Game development *C# *Unity3D *
Sandbox
Столкнулся с довольно-таки тривиальной проблемой. Сериализовать и десерилизовать данные.

Задача

Есть приложение, клиент-сервер. Клиент — Unity3d сервер PhotonServer. Есть модель, которая и на клиенте и на сервере должна быть эквивалентной. Требуется синхронизировать состояние модели и, возможно, дополнительные классы.

Решение

Protobuf

Самое логичное решение — это использовать бинарный протокол. В этом явный фаворит — ptotobuf (использовал proto-net 668). Он не поддерживает веб-сборку, но это допустимая жертва. Разметил требуемые классы. Проверяю. Все работает, небольшой размер и быстрый в работе. Шикарно. Но!
Читать дальше →
Total votes 26: ↑17 and ↓9 +8
Views 21K
Comments 30

Используем Cura на 3D SLA принтере Photon

Python *3D printers

Как это бывает, решил изучить новые технологии 3д печати и купил себе 3D SLA принтер Photon, но его софт а именно слайсер оставляет желать лучшего, очень уж он слабоват. Нет контроля заполнения, поддержки плохо управляются и т.п… В общем решил я это дело обойти с помощью Cura, просто решил что может сработать и можно заюзать его… Поискал в сети описание формата Photon, он оказался довольно простым… И вот что из этого вышло:


image

Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 4.8K
Comments 15

Многопоточность в Photon

.NET *Game development *C# *
Sandbox

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

В этой статье мы поговорим о многопоточности в серверной части.

Читать далее
Total votes 4: ↑4 and ↓0 +4
Views 2K
Comments 4

Photon это не только log4net

Programming *.NET *Game development *
Tutorial

... но и любой другой логгер.

Традиционно Photon Server SDK поставляется с log4net. Но это не значит что все им должны пользоваться. Пользоваться можно практически любым логгером. Всё что нужно это создать свою сборку, которая будет содержать класс прокси и фабрику для него.

Для примера возьмём модный нынче Serilog. Я с ним не знаком, так что возможно что-то будет сделано не лучшим методом или неправильно.

И так приступим
Rating 0
Views 933
Comments 25

Multithreading in Photon

.NET *Game development *C# *
Tutorial

What this article is about 

In this article, we will talk about multithreading in the backend. 

how it is implemented 

how is it used 

what can be done 

what we invented ourselves 

All these questions are relevant only if you develop something for the server side - modify the Server SDK code, write your own plugin, or even start some server application from scratch.

Read More
Rating 0
Views 558
Comments 0

Photon Plugin: защищаем игровой процесс от читеров

Lightmap corporate blog Game development *Server optimization *Unity3D *Game design *

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

Мы используем Photon Cloud для сетевого взаимодействия игроков, поэтому сразу стали искать удобное решение на его основе. И нашли Photon Plugin, который закрыл все потребности. Изначально его вводили только для защиты, но потом стали использовать и при разработке новых фичей, где требуется серверная логика. Как мы его внедряли — рассказал под катом.

Читать далее
Total votes 39: ↑39 and ↓0 +39
Views 3.2K
Comments 6