Pull to refresh
3
0
Алексей Кравченко @MAXHO

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

Send message

Как победить бездушный рандом в roguelike-играх

Reading time13 min
Views18K


Умирая в игре 30-й раз, невольно задумываешься: все ли продумал геймдизайнер и не напортачил ли он с балансом? Не всегда можно подстроиться под неожиданные изменения, особенно когда они созданы процедурной генерацией.

Дальше материал, в котором разбирается роль случайностей в roguelike-играх и жанр в целом — чем чреваты непродуманные системы рандома и что, по мнению автора, не так с «рогаликами».
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments64

Уютный VPS-сервер для маленьких проектов: как настроить

Reading time17 min
Views54K

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

Если вам тоже хочется создать в сети свое личное пространство, но вы не знаете, с чего начать, или вам просто интересны такие замечательные программные продукты как Docker, Portainer, Traefik – добро пожаловать под кат.

Введение


Признаться честно, я не очень люблю командную строку. То есть, мне нравится сама идея легкого минималистичного универсального интерфейса, практически не требующего ресурсов, но черное окно с мигающим курсором вызывает у меня фрустрацию и чувство беспомощности. И я даже знаю откуда это у меня. 
Читать дальше →
Total votes 54: ↑43 and ↓11+32
Comments31

Пиксель-арт: от черновика до игрового ассета

Reading time10 min
Views129K
imageimage
В этой статье я постараюсь визуализировать общий подход к работе. Итак, вы решили учиться арту: вы скачали какое-то ПО, запустили его и увидели все эти опции, бесконечные цвета и многое другое, быстро всё закрыли, удалили программу и выбросили свой ноутбук в окно.

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

Если вам это знакомо, то данная статья как раз для вас, так что продолжайте читать.

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

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

Если возьмётесь за работу очень усердно, то, возможно, получите неплохие результаты через несколько месяцев.
Читать дальше →
Total votes 104: ↑103 and ↓1+102
Comments20

Яндекс запустил облако

Reading time2 min
Views66K
Сегодня компания Яндекс открыла новый сервис Яндекс.Облако.



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

Проект представляет из себя 7 различных сервисов:

  1. Yandex Compute Cloud — Виртуальные машины и диски
  2. Yandex Object Storage — Масштабируемое хранилище данных
  3. Yandex Virtual Private Cloud — Сети для обмена информацией между облачными ресурсами и интернетом
  4. Yandex Identity and Access Management — Идентификация и контроль доступа к облачным ресурсам
  5. Yandex Managed Databases — Управление базами данных ClickHouse, PostgreSQL и MongoDB
  6. Yandex SpeechKit — Комплекс технологий распознавания и синтеза речи
  7. Yandex Translate — Машинный перевод с поддержкой более 90 языков

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

Мне, как владельцу проектов Поиск VPS и VPS.today больше всего интересны виртуальные серверы. Первая особенность, которую я заметил у Яндекса — это то, что в выключенном состоянии за виртуальную машину не нужно платить.
Читать дальше →
Total votes 101: ↑93 and ↓8+85
Comments168

Погружение в разработку на Ethereum. Часть 0: блокчейн не нужен

Reading time7 min
Views13K
Наверняка многие из вас задумывались, зачем вообще понадобился блокчейн и Ethereum в частности. Кто-то возможно пошел дальше и нашел множество красивых характеристик: децентрализация, прозрачность, доверие без посредников, взломостойкость. Это же просто отлично, правда? Да, но…

Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments18

JSFiddle — новая версия

Reading time4 min
Views19K
Привет!

Сегодня, я хочу поговорить об одном полезном инструменте — jsfiddle. Сейчас мало кто из разработчиков не знает о его существовании, поскольку jsfiddle очень прост в использовании и достаточно функционален. Но, возможно, кто-то из вас откроет для себя что-то новое, прочитав эту статью. Давайте знакомиться.
jsFiddle — одна из самых популярных сред веб-разработки (работающая в веб-браузере), позволяющая редактировать и запускать код, написанный на HTML, JavaScript и CSS, который будет называться «фиддлом». Есть возможность использовать библиотеки для JavaScript, такие как jQuery.

Одно из популярных применений jsFiddle — вставка фрагмента кода в блоги, возможность делиться кодом через социальные сети и совместная работа над кодом.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments5

Разбор явлений негативной атмосферы и как с этим бороться

Reading time6 min
Views3.7K
Как гласит теория игр, в любой игре есть цель — победа. В рассматриваемой онлайн-игре речь идет о командной работе пятерых (обычно) игроков. Средство достижения цели — вклад каждого игрока из команды в победу. У каждого игрока есть своё предназначение. И в зависимости от исполнения, цель приближается или отдаляется (оставляя это на откуп других игроков, либо на волю случая). От «рабочей атмосферы» в команде также зависит насколько сильно будет делаться вклад. Вклад игроков можно как резко снизить, так и значительно повысить.

Знакомая ситуация, не правда ли? Особенно актуально для небольших компаний, с уровнем зрелости 1 или 2[1]. В данной статье будут проведены наблюдаемые параллели в мотивации игроков и айтишников. Полезно всем непосредственным менеджерам команд, техническим руководителям (тим-лидам).
Читать дальше →
Total votes 17: ↑12 and ↓5+7
Comments18

Машинное обучение и экструдер полипропилена: история 3 места на хакатоне Сибура

Reading time7 min
Views12K
Хакатон "Цифровой завод", организованный Сибуром и AI Community, состоялся на прошлых выходных. Одна из двух задач хакатона была на тему predictive maintenance — нужно было предсказывать проблемы в работе экструдера. Её мы и решили. Рассказ сосредоточен в основном на data science'ной части решения, и о том, как нам удалось научиться неплохо прогнозировать довольно редкие события.


Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments11

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

Reading time4 min
Views43K

Римский-Корсаков за работой. Сейчас композиторы-одиночки встречаются все реже. В топы врываются композиции, созданные целыми группами людей

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

Ситуация вовсе не новая, она повторяется год от года. Нечто подобное наблюдалось, например, в 60-е (рок), 80-е (поп), 90-е (хип-хоп). Все это актуально и для современности. Но, как оказалось, сейчас музыканты начинают сочинять уж очень похожую музыку. Порой и голос артиста, и музыка и сами артисты настолько похожи друг на друга, что их становится сложно различить.
Читать дальше →
Total votes 18: ↑13 and ↓5+8
Comments88

AGPM – как Git для групповой политики. Почти

Reading time6 min
Views15K


Octopussy By Robert Bowen


Сегодня я хочу поведать о стильной, модной, но не очень молодежной — ей уже 10 лет — модели работы с групповыми политиками с использованием Advanced Group Policy Management.


Она добавляет изюминку вроде версионирования и контроля при создании и изменении GPO.

Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments1

Пишем мессенджер с открытым исходным кодом

Reading time6 min
Views71K

Зачем пишем?


tinode logo

Давным-давно в одной далекой стране была компания America Online. И был у нее удивительный частный Интернет за заборчиком, где вместо URL-ов были "keywords": что-то среднее между адресом веб страницы и купленным ключевым словом в рекламе. Компании боролись за интересные ключевые слова, как сейчас борются за домены, а реклама выглядела так: "посетите нас во всемирной сети по адресу www.example.com, или наберите AOL Keyword: 'banking'".


История имеет свойство повторяться. Сейчас роль Америки Онлайн играют основные мессенджеры: все они за заборчиками, несовместимы друг с другом, все изобретают свои keywords, желают схватить пользователя и уже никогда не отпускать. Компании не заинтересованы в открытости: более крупные игроки не желают делиться пользователями с более мелкими и уж тем более становиться открытыми. В результате невозможно послать сообщение даже из WhatsApp в Facebook Messenger, несмотря на то, что оба принадлежат одной компании. Да и пользователи ценят надежность и удобство выше абстрактной открытости, хотя многих раздражает, что часть друзей, например, в Telegram, часть в WhatsApp, а родители в Skype.


А вот роль открытого интернета, к сожалению, сегодня не играет никто. Ситуацию хочется изменить. Если XMPP не справился, может быть кто-то другой сможет? И тут рассказ про Tinode.

Читать дальше →
Total votes 46: ↑37 and ↓9+28
Comments208

Основа геймплея игры на C++ для Unreal Engine

Reading time13 min
Views57K
image

Основа геймплея для Unreal Engine 4 предоставляет разработчику мощный набор классов для создания игры. Ваш проект может быть шутером, симулятором фермы, глубокой RPG — это неважно, основа очень универсальна, делает за вас часть тяжёлой работы и задаёт некоторые стандарты. Она довольно сильно интегрирована в движок, поэтому рекомендую вам придерживаться этих классов, а не пытаться изобретать собственную основу игры, как это часто бывает в движках наподобие Unity3D. Понимание этой основы очень важно для успешной и эффективной работы над проектами.

Для кого эта статья?


Для всех, кого интересует создание игр в UE4, а конкретно на C++, и кто хочет больше узнать о основе геймплея Unreal. В этом посте рассматриваются базовые классы, которые вы будете использовать в основе геймплея, и объясняется их применение, процесс создания их экземпляров движком и способ получения доступа к этим классам из других частей кода игры. Бо́льшая часть информации справедлива также и для блюпринтов.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments3

Коротко о Shadowsocks, или OpenVPN не нужен (в каждом доме)

Reading time6 min
Views263K
В наши дни, когда всякие нехорошие элементы так и норовят влезть в ваш трафик и как-то там напакостить, стало модным шифрование трафика. Начинание это благое и полезное, вот только делают его зачастую избыточно. Если шифрование трафика до доверенного сервера, типа своего VPS, — ваша единственная цель, то OpenVPN для такой цели слишком наворочен. Его долго настраивать, легко обнаружить, а главное — есть подводные камни, не зная которых можно получить такую ситуацию, что VPN стоит, а трафик идёт в обход. Всё это потому, что OpenVPN задумывался больше как средство доступа к маленькой сети через Интернет, а не для доступа ко всему Интернету.
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments77

NumPy в Python. Часть 2

Reading time5 min
Views106K

Предисловие переводчика


Продолжаем перевод статьи о numpy в python. Для тех кто не читал первую часть, сюда: Часть 1. А всем остальным — приятного чтения.



Другие пути создания массивов


Функция arange аналогична функции range, но возвращает массив:

>>> np.arange(5, dtype=float)
array([ 0.,  1.,  2.,  3.,  4.])
>>> np.arange(1, 6, 2, dtype=int)
array([1, 3, 5])

Функции zeros и ones создают новые массивы с установленной размерностью, заполненные этими значениями. Это, наверное, самые простые в использовании функции для создания массивов:

>>> np.ones((2,3), dtype=float)
array([[ 1.,  1.,  1.],
       [ 1.,  1.,  1.]])
>>> np.zeros(7, dtype=int)
array([0, 0, 0, 0, 0, 0, 0])
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments10

Dagaz: Ищем таланты

Reading time18 min
Views3.1K
imageДелай с нами,
делай, как мы,
делай лучше нас!

Телепередача 80-ых


Должен признаться, я не очень хорош в разработке ботов. Уверен, есть люди, умеющие это делать гораздо лучше меня. И я бы очень хотел, чтобы такие люди присоединились к проекту. В плане материального поощрения, предложить я могу немногое. Dagaz был задуман как бесплатная и общедоступная альтернатива Zillions of Games. Сам я не против его коммерческого использования, просто пока не придумал, как это можно сделать.

Проект, безусловно, продолжит развиваться и останется бесплатным (в своей основе). Любого человека, внесшего свой вклад в его развитие я буду считать своим другом и соавтором. Разумеется, указание авторства, для всех модулей, в разработке которых эти люди приняли участие, будет обязательным. Кроме того, я готов оказать любую посильную техническую помощь по проекту. Например, я могу рассказать о том, как разрабатывать игровых ботов.
Total votes 11: ↑10 and ↓1+9
Comments12

Блокчейн не всемогущий

Reading time4 min
Views8.8K
Статья отражает частное мнение автора и не является официальной позицией Альфа-Банка.

Блокчейн не всемогущий: почему технология распределенного реестра не может встряхнуть финансовый мир, как это делают криптовалюты?



Трудно, наверное, назвать более хайповую тему в финтехе, чем блокчейн. Уже четвертый год свидетели этой технологии говорят о том, как она изменит мир вообще и финансовую отрасль в частности. Правда, перспективность технологии пока не подтверждается цифрами. В минувшем году мировые инвестиции в финтех превысили 31 миллиард долларов. На долю блокчейн-проектов пришлось 512 миллионов долларов и 92 сделки. Просто для сравнения, страхотех (он же insuretech) собрал в 4 раза больше по деньгам (2.1 миллиарда долларов) и в 2.5 раза больше по числу сделок (247).

Подчеркну, это не значит, что блокчейн – технология плохая, или у нее нет перспектив. Наоборот, есть отрасли, где ее внедрения ждут с большим воодушевлением.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments6

Немного о физике в почти Agar IO на aicups.ru

Reading time3 min
Views6.4K
image

В соревновании MiniAICup#2 Почти Agar IO надо управлять амёбами, есть еду и других амёб.
Для реализации алгоритма управления амёбой напрашиваются потенциальные поля, но есть одно большое НО.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments4

SEO оптимизация статьи: актуальный план

Reading time12 min
Views105K

Осторожно! Лонгрид.


Речь пойдет об оптимизации страницы статьи для поисковых систем. Данный материал больше подходит для продвижения в Яндексе.


Специально для Хабровцев, в заключении есть список всех разделов применимых к Хабрастатьям.


27.04.2018 UPD// Эта страница уже в ТОПе Яндекса "оптимизация статьи". И в топе Google.


SEO оптимизация статьи
Читать дальше →
Total votes 29: ↑21 and ↓8+13
Comments24

Как выпустить самоподписанный SSL сертификат и заставить ваш браузер доверять ему

Reading time3 min
Views257K


Все крупные сайты давно перешли на протокол https. Тенденция продолжается, и многие наши клиенты хотят, чтобы их сайт работал по защищенному протоколу. А если разрабатывается backend для мобильного приложения, то https обязателен. Например, Apple требует, чтобы обмен данными сервера с приложением велся по безопасному протоколу. Это требование введено с конца 2016 года.

На production нет проблем с сертификатами. Обычно хостинг провайдер предоставляет удобный интерфейс для подключения сертификата. Выпуск сертификата тоже дело не сложное. Но во время работы над проектом каждый разработчик должен позаботиться о сертификате сам.
В этой статье я расскажу, как выпустить самоподписанный SSL сертификат и заставить браузер доверять ему.
Читать дальше →
Total votes 52: ↑41 and ↓11+30
Comments51

Алан Кей (и коллективный интеллект Хабра): какие книги формируют мышление тру инженера

Reading time3 min
Views35K
image

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

Ключевой частью инженерии является любовь к тому, чтобы делать вещи, особенно к тому, чтобы делать их сразу же и делать их хорошо. Большая часть инженерии возникла из “tinkering” (aka “hacking”), добавив к этому желания «принципиального проектирования и создания», «целостности» и т. д. Все великие инженеры, которых я знаю лично, имеют глубокие моральные убеждения касательно того, что они делают, и почему это «должно быть сделано как можно лучше». Часть наложения темперамента на науку это своего рода «лабораторная крыса», которая наиболее счастлива, когда она в курсе эксперимента или создания нового экспериментального аппарата.
Total votes 21: ↑20 and ↓1+19
Comments35
1
23 ...

Information

Rating
Does not participate
Registered
Activity