Search
Write a publication
Pull to refresh
1
0
Александр @zorggroz

User

Send message

Как стать долларовым миллионером за 30 лет, лежа на диване

Reading time12 min
Views242K


На Хабре недавно вышел пост ״Новичкам фондового рынка: честные разговоры о трейдинге״. Этот пост, опубликованный в одном из самых читаемых блогов Хабра, вводит людей в заблуждение и создает у них ложное представление о том, что игра на бирже — хороший способ заработка. Это вынудило меня написать комментарий, постепенно переросший в целую статью, с детальным разбором того, почему трейдинг — это не способ разбогатеть, а способ потерять деньги, и о том, как на самом деле заработать на инвестициях.
Поехали!

14 вещей, которые обязан знать iOS-разработчик

Reading time13 min
Views16K
С разрешения автора выкладываю перевод статьи Norberto Gil Vasconcelos «14 must knows for an iOS developer» (ссылка на оригинал). На момент публикации статьи актуальной была версия Swift 3.

Как iOS-разработчик (в данный момент абсолютно зависимый от Swift), я создавал приложения с нуля, поддерживал приложения, работал в различных командах. За все время работы в этой индустрии я не раз слышал фразу: «Не можешь объяснить – значит не понимаешь». Так что, в попытке понять, чем именно я занимаюсь каждый день, я создаю список того, что, на мой взгляд, важно для любого iOS-разработчика. Я постараюсь максимально ясно объяснить каждый момент. [Пожалуйста, не стесняйтесь исправлять меня, высказывать свое мнение или предлагать свои дополнения в этот список.]


Темы: [ контроль версий | архитектурные паттерны | Objective-C против Swift | React | менеджер зависимостей | хранение информации | CollectionViews & TableViews | UI | протоколы | замыкания | схемы | тесты | геолокация | локализуемые строки ]
Читать дальше →

Приточная вентиляция совмещенная с канальным кондиционером (часть 1 — электрическая)

Reading time11 min
Views87K

схема_малая


Хочу поделиться опытом проектирования, монтажа и эксплуатации своей системы приточной вентиляции совмещенной с канальным кондиционером. Система
собиралась в 2012-2013 годах и с тех пор находится в постоянной эксплуатации.


Статью разделил на две части:


  • в первой части описана классическая схема приточная вентиляции с использованием электрического канального подогревателя
  • во второй части рассказано про неоднозначный опыт переработки системы под водяной калорифер с питанием от общедомовой системы отопления
Читать дальше →

Алгоритм быстрого и простого объёмного рендеринга

Reading time9 min
Views14K

Недавно я написал небольшой ShaderToy, выполняющий простой объёмный рендеринг, а затем решил опубликовать пост с объяснением его работы. Сам интерактивный ShaderToy можно посмотреть здесь. Если вы читаете с телефона или ноутбука, то рекомендую посмотреть эту быструю версию. Я включил в пост фрагменты кода, которые помогут вам понять работу ShaderToy на высоком уровне, но в них есть не все подробности. Если вы хотите разобраться глубже, то рекомендую сверяться с кодом ShaderToy.

У моего ShaderToy были три основные задачи:

  1. Выполнение в реальном времени
  2. Простота
  3. Физическая корректность (… или типа того)

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

  1. Трассировка лучей непрозрачных объектов. Все объекты являются примитивами с простыми пересечениями с лучами (1 плоскость и 3 сферы)
  2. Для вычисления освещения используется затенение по Фонгу, а в трёх сферических источниках света применется настраиваемый коэффициент затухания света. Лучи теней не требуются, потому что мы освещаем только плоскость.

Вот как это выглядит:

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

Рендеринг в 3D-играх: введение

Reading time14 min
Views19K

Вы играете в свежую Call of Mario: Deathduty Battleyard на своём совершенном игровом ПК. Смотрите на прекрасный сверширокий 4K-монитор, любуясь великолепными пейзажами и замысловатыми деталями. Вас когда-нибудь интересовало, как графика попадает на экран? Задумывались, как игра заставляет компьютер всё это показать вам?

Добро пожаловать в наш тур по рендерингу в 3D-играх: путешествие для начинающих, из которого вы узнаете, как создаётся один базовый кадр на экране.
Читать дальше →

Беги, муравей. Беги

Reading time16 min
Views18K
В данной статье рассматривается процесс создания имитационной модели поведения муравьиной колонии (можно почитать в википедии ) в среде имитационного моделирования «AnyLogic». Данная статья носит практический характер. В ней будет рассмотрен вопрос применения муравьиного алгоритма для решения задачи о коммивояжёре (Почитать можно тут).



Кратко о сути


Суть задачи коммивояжере заключается в том, что коммивояжер (продавец) должен посетить N городов побывав в каждом из них только один раз по наикратчайшему маршруту. Так как данная задача является NP-сложной и количество вариантов всех возможных маршрутов между N городами вычисляется как «N!», то время поиска кратчайшего маршрута будет увеличиваться по экспоненциальному закону с увеличением значения N. Соответственно время поиска кратчайшего маршрута(решения) с использованием алгоритма «полного перебора» (который дает точное решение) при количестве городов N>16 резко увеличивается (носит экспоненциальный характер). Поэтому мы будем искать не самый короткий по протяженности маршрут, а близкий к нему (рациональный) за конечное время с помощью «муравьиного алгоритма».
Читать дальше →

Нейрокомпьютерные интерфейсы для игр: что известно на сегодняшний день

Reading time11 min
Views9.8K
Относительно недавно сооснователь Valve Гейб Ньюэлл (Gabe Newell) заявил, что человечество уже намного ближе к “Матрице”, чем может показаться. Мы с соавтором решили разобраться, так ли это, и зачем Valve, Facebook и Илон Маск пытаются подключить мозг к компьютеру.



Собственные игровые движки: небольшое исследование

Reading time12 min
Views44K

Пару недель назад я играл в A Plague Tale студии Asobo Studio (и прошёл её). Меня очень захватила эта игра, благодаря не только красивой графике, но и сюжету с локациями. Я решил немного изучить технологии, использовавшиеся при её разработке, и был удивлён, обнаружив, что игра создавалась на собственном движке относительно небольшой студии. Я знаю, что некоторые компании используют собственные движки, но очень сложно найти подробное маркетинговое исследование с подобной информацией. Поэтому я написал эту статью.

Сегодня многие компании выбирают для разработки игр такие движки, как Unreal или Unity (или, по крайней мере, так думают многие люди), потому что для разработки собственного движка AAA-уровня требуется множество ресурсов. Поэтому я решил составить список некоторых из самых популярных самописных движков с указанием размеров студий и значимых игр, выпущенных на этих движках.

Большинство представленных здесь движков разрабатывалось на протяжении многих лет, множества итераций и для множества видеоигр, эти движки имели несколько версий или даже полностью (частично) переписывались с нуля с последующей сменой названия. Кроме того, важно заметить, что большинство этих движков для реализации определённой функциональности (совместимость с платформами, физика, сеть, растительность, UI, рендеринг, звук...) использует всевозможное промежуточное ПО.
Читать дальше →

Язык R для пользователей Excel (бесплатный видео курс)

Reading time6 min
Views34K

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


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


Если всю работу с данными в компании, в котороый вы работаете принято по-прежнему вести в Excel, то предлагаю вам познакомится с более современным, и при этом совершенно бесплатным инструментом анализа данных.


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

Как работает рендеринг 3D-игр: текстурирование и фильтрация текстур

Reading time17 min
Views34K
image

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

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

Часть 1: обработка вершин

Часть 2: растеризация и трассировка лучей

Начнём с простого


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

Но при многослойном использовании и комбинировании с помощью сложных вычислений такие простые изображения в 3D-сцене могут создавать поразительно реалистичные изображения. Чтобы понять, как такое возможно, давайте полностью их отключим и посмотрим, как будут выглядеть объекты 3D-мира без текстур.
Читать дальше →

3D игры в Инстаграм на Javascript, или траектория полета колбасы

Reading time19 min
Views5.9K


После первой статьи о программировании игр в масках Инстаграм ко мне обратился заказчик с просьбой создать игру в Инстаграм для его пиццерии. Эту игру планировалось использовать для целей продвижения бизнеса. Я, конечно, понимаю, что, судя по количеству просмотров первой статьи, тема Инстаграма сообществу Хабра не особо интересна. По-видимому, этот сервис все еще считается каким-то несерьезным развлечением для блондинок, а статья о нем годится только в качестве пятничного чтива под вечерний коктейль. Впрочем, сегодня, как раз, пятница. Доставайте коктейль. И не забудьте пригласить блондинок. Однако, вполне вероятно, в будущем технологии достигнут таких высот, что мы начнем играть в Инстаграме в GTA-5. Или 10.

В данной статье речь пойдет сразу о двух играх. Одну я сделал на заказ, а вторую потом — для себя. С каждой новой игрой я сталкивался с новыми задачами, поиск путей решения которых заставлял меня знакомиться с новыми нюансами разработки. Возможно, этот рассказ будет полезен и другим разработчикам элементов дополненной реальности. Игры написаны на чистом Javascript без использования каких-либо дополнительных библиотек. Для отображения 3D графики задействованы встроенные средства Инстаграм.

Создание псевдотрёхмерной гоночной игры

Reading time17 min
Views14K

В детстве я редко ходил в залы аркадных автоматов, потому что особо в них не нуждался, ведь дома у меня были потрясающие игры для C64… но есть три аркадные игры, на которые у меня всегда находились деньги — Donkey Kong, Dragons Lair и Outrun…

… и я очень любил Outrun — скорость, холмы, пальмы и музыка, даже на слабой версии для C64.


Поэтому я решил попробовать написать олдскульную псевдотрёхмерную гоночную игру в стиле Outrun, Pitstop или Pole position. Я не планирую собрать полную и завершённую игру, но мне кажется, будет интересно заново изучить механики, при помощи которых эти игры реализовывали свои трюки. Кривые, холмы, спрайты и ощущение скорости…

Итак, вот мой «проект на выходные», который в итоге занял пять или шесть недель по выходным



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

Она не отшлифована, немного уродлива, но полностью функциональна. Я покажу, как реализовать её самостоятельно за четыре простых шага.

Можно также поиграть

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

Подбор экипировки игровому персу при помощи генетики/эволюции на Python

Reading time21 min
Views4K
Как подобрать лучшую экипировку в любимой игре? Конечно, можно банально перебрать все её возможные сочетания (например, для разбойника из World of Warcraft) и найти наилучшее. Без всякой магии и машинного обучения. Но можно ли добиться этого результата не «в лоб», а при помощи генетических алгоритмов, не примеряя каждую комбинацию? Интересно узнать, как размножаются и эволюционируют разбойники? Поехали.

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

Как изгонять вирусов на Corona SDK

Reading time9 min
Views5.6K
image

$google = "We don't allow apps that lack reasonable sensitivity towards or capitalize on a natural disaster, atrocity, conflict, death, or other tragic event";
mysql_query("UPDATE cvirus_users SET winners = winners+19, message='$google' WHERE imea='$imea' ");

Без паники, парни, статья не заразная! К тому же её автор умер еще в прошлом году. Делать на том свете нечего, кроме как игры писать и публиковать сами-знаете-где.

Рубятся в свежие игры не более 7 пользователей в день. Преодолеть магическую планку ни одна из них не в силах. Еще и черти смеются, — Слабо сделать игру, чтобы в неё залипло больше 7 человек? Скажем, тысяча?

Пришлось постараться.

Процедурная гидрология: динамическая симуляция рек и озёр

Reading time15 min
Views8.8K
Примечание: полный исходный код проекта выложен на Github [здесь]. В репозитории также содержится подробная информация о том, как читать и использовать код.

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

Я исследовал уже существующие методики процедурной генерации рек и озёр, но найденные результаты меня не устроили.

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

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

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

В своём методе я стремлюсь одновременно и к простоте, и к реализму ценой небольшого повышения сложности базовой системы эрозии. Рекомендую прочитать мою предыдущю статью об этой системе [здесь, перевод на Хабре], потому что новая модель строится на её основе.

Вещи, которые я бы хотел знать до начала разработки собственной игры

Reading time6 min
Views27K


Последние два года я в свободное от основной работы время разрабатывал личный проект — игру, которую выпустил в Steam пару месяцев назад. На протяжении всего процесса я делал много ошибок, и вел записи для своего «прошлого я». Этот список может не относиться ни к вашей игре в частности, ни к вашему движку или языку (я использовал Unity и C#). Но я верю, что кому-то эти советы могут помочь. Поехали.
Читать дальше →

Строим города по клику мыши с Houdini и Python

Reading time3 min
Views15K


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

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

3D своими руками. Часть 2: оно трехмерное

Reading time32 min
Views39K


В предыдущей части мы разобрались, как выводить на экран двумерные объекты, такие как пиксель и линия (отрезок), но ведь хочется поскорее создать что-то трехмерное. В этой статье впервые попробуем вывести 3D-объект на экран и познакомимся с новыми математическими объектами, такими как вектор и матрица, а также некоторыми операциями над ними, но только с теми, которые применим на практике.
Продолжить обучение

Гровинг по-гиковски, или ферма для выработки веществ из подвала

Reading time4 min
Views17K


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

Собственно говоря, смысл делать, описывать и читать сие имеется только при наличии вызванной самоизоляцией скуки и томления духа. Это — про здравый смысл. Остальное — под катом.
Читать дальше →

Где найти фриланс, который будет приносить удовольствие? (Спойлер: не Upwork)

Reading time6 min
Views44K

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


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


Теперь «фриланс» становится новым трендом. И поскольку многие начинают к нему присматриваться, первый вопрос, который возникает: «Где можно найти хорошие предложения по удаленной работе?»


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


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


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

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

Information

Rating
Does not participate
Location
Россия
Registered
Activity