Search
Write a publication
Pull to refresh
2
0

Пользователь

Send message

Не твоя проблема

Reading time6 min
Views31K
image

Ты — целеустремлённый разработчик игр. Ты хочешь создать и выпустить потрясающую игру, чтобы о ней узнал мир. Это сложно, намного сложнее чем, скажем, написать книгу. Игра — это алхимическая смесь искусства, личного вкуса, строгой математики, логистики и проектирования. Очень немногие могут создать игру в одиночку, при этом легко отвлечься, слишком легко. Или ещё хуже — заняться тем, что тебе не нужно. Ты доволен, многому учишься, что-то делаешь, но игра не становится ближе к завершению, которое и является целью. Не забывай о цели…
Читать дальше →

Как решить проблему ограничения в 64К методов в Unity3D

Reading time13 min
Views19K
Можете ли вы представить игру для Android, сделанную в Unity, которая использует больше 64K методов Java? Не удалось это и архитекторам байт-кода Dalvik. Возможно, у них получилось (я не читал спецификации), и винить следует другие элементы тулчейна. Как бы то ни было, если ваша игра превышает ограничение в 64K методов на файл DEX, вам придётся ковыряться в своих нативных плагинах и/или процессе сборки. Этот пост является попыткой показать различные способы решения проблемы.
Читать дальше →

Игровая индустрия: полезные материалы для геймдевелопера от A до Z

Reading time10 min
Views162K
В последнее время мы часто сталкиваемся с вопросами о том, как попасть в игровую индустрию, какие полезные материалы на эту тему можно почитать и посмотреть, с чего начать изучение геймдева. Когда начальные знания появляются, то возникают уже более конкретные вопросы, например «где найти единомышленников для создания игры», «как продвигать свой проект с минимальным бюджетом», «на каких издателей стоит выходить, как это делать и стоит ли вообще», «как улучшить ретеншн в нашей игре» и так далее.

Друг наших образовательных программ Михаил Пименов,  CEO компании Wonder Games и Team Lead инди-проекта "Guard of Wonderland" сам не раз задававший себе эти вопросы, создал для себя выборку всевозможных материалов по индустрии геймдева. От полезных ресурсов, до сообществ, подкастов, книг и фильмов, которые призваны помочь понять, с чего начинается и чем заканчивается разработка игрового проекта. Объединив наши силы, мы с Мишей сделали эту статью с подборкой полезных материалов по игровой индустрии. Вы найдете подборку под катом.


Читать дальше →

30 толковых книг по бизнесу, саморазвитию и творчеству, которые изменили мою жизнь

Reading time5 min
Views192K


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

Советы и рекомендации по работе с Unity3D

Reading time33 min
Views96K


Я опубликовал первую статью «50 советов по работе с Unity» 4 года назад. Несмотря на то, что бóльшая её часть всё ещё актуальна, многое изменилось по следующим причинам:

  • Unity стал лучше. Например, теперь я могу доверять счётчику FPS. Возможность использования Property Drawers снизила необходимость написания пользовательских редакторов (Custom Editors). Способ работы с префабами стал меньше требовать заданных встроенных префабов (nested prefabs) и их альтернатив. Скриптуемые объекты стали более дружелюбными.

  • Улучшилась интеграция с Visual Studio, отладка стала намного проще и уменьшилась потребность в «обезьяньем» дебаггинге.

  • Стали лучше сторонние инструменты и библиотеки. В Asset Store появилось очень много ассетов, упрощающих такие аспекты, как визуальная отладка и логирование. Большая часть кода нашего собственного (бесплатного) плагина Extensions описана в моей первой статье (и многое из него описано здесь).

  • Усовершенствован контроль версий. (Но, может быть, я просто научился использовать его более эффективно). Например, теперь не нужно создавать множественные или резервные копии для префабов.

  • Я стал более опытным. За последние 4 года я поработал над многими проектами в Unity, в том числе над кучей прототипов игр, завершёнными играми, такими как Father.IO, и над нашим основным ассетом Unity Grids.

Эта статья является версией первоначальной статьи, переработанной с учётом всего вышеперечисленного.
Читать дальше →

Забытое секретное оружие Unity — UnityEvents

Reading time10 min
Views46K

Ужасающий венерианский комар (фото Ричарда Джонса) Наш отважный герой, случайно забредший в запретную область ядовитых венерианских джунглей, окружён роем из десяти тысяч голодных полуразумных комаров. Вопрос съедобности человека для инопланетных организмов, с научной точки зрения, вообще-то, достаточно спорен — но венерианские комары, как известно, искренне разделяют позицию Маркса, что критерием истинности суждения является эксперимент. Казалось бы, положение безнадёжно — но герой, не растерявшись, извлекает из широких штанин инвентаря походный термоядерный фумигатор, красивым движением включает его, и…


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


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

Читать дальше →

Логика сознания. Часть 1. Волны в клеточном автомате

Reading time7 min
Views68K
Начнем разговор о мозге с несколько отвлеченной темы. Поговорим о клеточных автоматах. Клеточный автомат – это дискретная модель, которая описывает регулярную решетку ячеек, возможные состояния ячеек и правила изменений этих состояний. Каждая из ячеек может принимать конечное множество состояний, например, 0 и 1. Для каждой из ячеек определяется окрестность, задающая ее соседей. Состояние соседей и собственное состояние ячейки определяют ее следующее состояние.
Наиболее известный клеточный автомат – это игра «Жизнь». Поле в игре «Жизнь» состоит из ячеек. Каждая ячейка имеет восемь соседей. Задается начальная комбинация. Затем начинается смена поколений. Если у занятой ячейки два или три занятых (живых) соседа, то ячейка продолжает жить. Если соседей меньше 2 или больше 3, то ячейка умирает. Когда у пустой ячейки оказывается ровно 3 соседа в ней зарождается жизнь. Задав произвольную начальную комбинацию можно пронаблюдать ее эволюцию.
Читать дальше →

Семь этапов создания игры: от концепта до релиза

Reading time5 min
Views221K
Как создать свою игру? Сколько на этом можно заработать? Какая нужна команда? Каковы ключевые этапы разработки и что нужно делать команде на каждом этапе? Ответ на эти вопросы – в открытой лекции по разработке игр в рамках программы «Менеджмент игровых интернет-проектов», которую разместили наши партнеры — открытая система электронного образования Универсариум. Вот здесь можно посмотреть открытую лекцию:


А под катом вы найдете краткое текстовое описание.


Читать дальше →

Лучший игровой движок по версии пользователей хабра

Reading time3 min
Views224K

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

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

N+5 полезных книг

Reading time5 min
Views58K


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

Конструкции, или почему не ломаются вещи, Дж. Гордон
Прекрасная, хоть и очень длинная штука, которая рассказывает про сопромат простыми словами и почти для детей. Но на уровне жёсткого хардкора. По своей полезности для осознания физики вокруг может сравниться с не менее прекрасной современной «Квантовая вселенная. Как устроено то, что мы не можем увидеть» Брайана Кокса и Джеффа Форшоу. Рекомендую обе. Будет, что почитать в дороге, если вдруг почувствуете, что играть на планшете надоело. И о чём подумать, когда выяснится, что вся та фигня, которую вам давали на уроках химии, физики и прочего в школе и университете вдруг начинает выстраиваться в стройную теорию.

Evil by Design, Крис Ноддер
Один из лучших подходов к проектированию чего-то хорошего — это спроектировать сначала самое ужасное из возможного. Пользователь обычно не скажет, как сделать ему хорошо, но точно знает, как бывает плохо. Например, юзер не говорит «я хочу, когда нажимаю на ссылку напоминания пароля, там в поле уже была введена почта», зато вполне способен сказать: «слушай, меня дико бесит, когда логинишься, тебе показывают новую страницу про то, что пароль не подошёл, и, чтобы его восстановить, надо ещё один долбанный раз вводить почту». Вся книга Криса состоит из таких «тёмных» шаблонов, когда какие-то гады намеренно вводят вас в заблуждение. Он там очень переживает за этику, поэтому вступления лучше пропустить. Единственная в этом обзоре книга на английском, но довольно простом.
Читать дальше →

Пишем Lisp-интерпретатор на Java

Reading time7 min
Views13K


Некоторое время назад мне захотелось написать свой небольшой интерпретируемый скриптовый язык, просто ради фана, не ставя перед собой каких-либо серьезных задач. Я тогда активно читал известную волшебную книгу SICP (Структура и интерпретация компьютерных программ), и мне захотелось реализовать описываемые в ней абстракции — функции как объекты первого класса, замыкания, макросы и т.п. Параллельно я интересовался языком Haskell, и решил совместить приятное с приятным, и написать интерпретатор языка на нем. В моем языке должна была быть строгая семантика с вызовом по значению и мутабельные переменные. Получившийся язык Lisp-семейства я в своем локальном окружении связал с именем Liscript, полная реализация которого уместилась в примерно 250 строк, включая парсер, ядро и консольный/файловый ввод-вывод. Этого более чем хватало, чтобы ради интереса решать любые задачки, какими обычно мучают студентов, которых угораздило изучать Lisp по учебной программе.

По прошествии времени мне захотелось сделать к интерпретатору кроссплатформенный GUI-интерфейс с перспективой портирования на Android, поэтому я реализовал второй вариант интерпретатора на Java, внешний вид которого вы можете видеть на картинке выше. Да, он поддерживает графический вывод и вообще interoperability с Java, и этот Тетрис написан на Liscript, видна часть его кода. Кому интересны подробности — прошу под кат.
Читать дальше →

Как написать диздок

Reading time6 min
Views129K


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

Войти в АйТи

Reading time5 min
Views61K

Но фоне роста зарплат в ИТ отрасли стало популярным движение под названием "вайти в айти". Это когда живешь себе такой, учишься или работашь — врачом или юристом, или вообще не работаешь и тут такой внезапно понимаешь, что все тлен, надо войти в айти. Там можно и покемонов поганять, и смузи попить, и пропитчить кого-то на кухне (когда никто не видит), а еще и платят за это. И вот как после дождя начали появляться ИТ курсы, школы повышения квалификации, резко все стали экспертами в образовании, выучили страшное слово "курсера", а некоторые особенно удачливые еще и пару грантов под это дело взяли. Чтобы все вошли в айти.


Включаем музычку и поехали.


Читать дальше →

Краткая напоминалка Демиурга

Reading time2 min
Views5.6K
Пока мечтаешь
  • Сеттинг — это идея, а идея ничего не стоит. Чего-то стоит РЕАЛИЗАЦИЯ сеттинга в рамках конкретного продукта. Разрабатывай тот сеттинг, который можно реализовать.
  • Выбери и оцени АУДИТОРИЮ. Все равно оцени! Да понятно, что будешь делать для самого себя и ближайшего окружения. Ничего, когда начнутся продажи, еще пожалеешь, что ты не сорокалетняя домохозяйка и не пятилетний ребенок.

Читать дальше →

Что такое пространство-время на самом деле?

Reading time22 min
Views122K

Перевод поста Стивена Вольфрама "What Is Spacetime, Really?".
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации.


Примечание: данный пост Стивена Вольфрама неразрывно связан с теорией клеточных автоматов и других смежных понятий, а также с его книгой A New Kind of Science (Новый вид науки), на которую из этой статьи идёт большое количество ссылок. Пост хорошо иллюстрирует применение программирования в научной сфере, в частности, Стивен показывает (код приводится в книге) множество примеров программирования на языке Wolfram Language в области физики, математики, теории вычислимости, дискретных систем и др.

Содержание


Простая теория всего?
Структура данных Вселенной
Пространство как граф
Может быть, нет ничего, кроме пространства
Что есть время?
Формирование сети
Вывод СТО
Вывод ОТО (Общей теории относительности)
Частицы, квантовая механика и прочее
В поисках вселенной
Ок, покажите мне Вселенную
Заниматься физикой или нет — вот в чем вопрос
Что требуется?
Но пришло ли время?
Сто лет назад Альберт Эйнштейн опубликовал общую теорию относительности — блестящую, элегантную теорию, которая пережила целый век и открыла единственный успешный путь к описанию пространства-времени (пространственно-временного континуума).

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

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

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

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

Во-первых, такой подход казался не слишком перспективным — хотя бы потому, что модели, которые я изучал (клеточные автоматы), казалось, работали так, что это полностью противоречило всему тому, что я знал из физики. Но где-то в 88-м году — в то время, когда вышла первая версия Mathematica, я начал понимать, что если бы я изменил свои представления о пространстве и времени, возможно, это к чему то бы меня привело.
Подробнее о пространственно-временном континууме...

Первые 10 минут на сервере

Reading time8 min
Views62K

Азбука безопасности Ubuntu


«Мои первые 5 минут на сервере» Брайана Кеннеди — отличное введение, как быстро обезопасить сервер от большинства атак. У нас есть несколько исправлений для этой инструкции, чтобы дополнить ею наше полное руководство. Также хочется подробнее объяснить некоторые вещи для более юных инженеров.

Каждое утро я проверяю почтовые уведомления logwatch и получаю основательное удовольствие, наблюдая несколько сотен (иногда тысяч) безуспешных попыток получить доступ. (Многие довольно прозаичны — попытки авторизоваться как root с паролем 1234 снова и снова). Приведённая здесь общая методика подходит для серверов Debian/Ubuntu, которые лично мы предпочитаем всем остальным. Они обычно служат только хостами для контейнеров Docker, но принципы те же.

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

Примечание: Эта справка создана как базовая азбука. Её следует расширить и дополнить в соответствие с вашими потребностями.
Читать дальше →

[Письмо молодым] Мечтайте. Мечты сбываются. И я не знаю почему

Reading time3 min
Views138K


В детстве я мечтал о том, что стану богатым и буду путешествовать по уютным городам Европы. Но, находясь в центре Барселоны я не ощущал особенности момента. Все произошло последовательно и даже логично. Мой путь, который начался в небольшой деревне, продолжился в столице неожиданным для многих образом. А все потому, что я не боялся мечтать.
Читать дальше →

Unity3D Ускорить отрисовку 2D анимации в разы? Легко

Reading time6 min
Views17K
В этой статья мне хотелось бы рассказать о том, как была ускорена отрисовка монстров при создании игры Alien Massacre. Данное решение подойдет для любых проектов, которые испольуют спрайтовую анимацию.

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

  • 1 Необходимо обеспечить отрисовку большого числа анимированных объектов на сцене. Ведь мы хотим, чтобы игрок отстреливался от полчищ монстров.
  • 2 Прогресс анимации должен быть различен для каждого из объектов. Ведь мы не хотим, чтобы мобы ходили строем.

Решение «из коробки»


Безусловно, первое решение было простым: все сделать с помощью уже встроенного в UnityEngine компонента Animator. Посмотрим, что из этого получается.
Читать дальше →

Особенности консольной инди-разработки в российской провинции

Reading time12 min
Views43K
Мне очень приятно, что мою последнюю статью про продвижение игры на Steam Greenlight, которую я писал на хабр чуть больше года назад, прочитали почти 50k раз и как мне кажется в итоге она была написана не зря. Тогда наша маленькая команда только-только получила зелёный свет. С того момента произошло еще много событий, но одним из самых интересных и значимых было то, что мы также прошли в программу ID@Xbox для независимых разработчиков, с возможностью выпуска своей игры на консоли Xbox One. И вот неделю назад игра все-таки увидела свет.

image

В этой статье я хочу поделиться интересной и возможно кому-то полезной информацией о том, с чем мы столкнулись пока готовили к релизу нашу игру на консоли Xbox One и Steam. А для этого я попробую раскрыть следующие темы:
  • Сколько может стоить разработка консольного проекта
  • Где мы взяли такие деньги
  • Как все подсчитать и иметь представление на что рассчитывать
  • Почему мы решили работать без издателя и внешних инвестиций
  • Как мы попали в Steam и на Xbox One
  • Почему нужно платить и получать возрастные рейтинги
  • В чем разница между Steam и Xbox — минусы и плюсы консольной разработки для инди
Читать дальше →

Внедрение зависимостей в CDI. Часть 1

Reading time7 min
Views31K

После статьи о том, как начать работу с CDI в вашем окружении и нескольких советов о том, как интегрировать CDI в существующее Java EE 6 приложение, я хочу поговорить о внедрении зависимостей. Да, о простом внедрении или о том, как провести внедрение одного бина в другой. Из этой серии трех статей (Часть 2, Часть 3) вы увидите, что есть множество различных способов: давайте начнем с самого простого — обыкновенного внедрения.


COFFEE_BEANS

Читать дальше →

Information

Rating
Does not participate
Registered
Activity