Pull to refresh
12
0

Химик и программист.

Send message

Ускоряем разработку с помощью интерактивных блоксхем

Reading time4 min
Views18K
С тех пор как я перешел к работе над крупными, комплексными проектами, я продолжаю утверждаться в том что есть два типа программистов – назовем их логики и визуалы.

  • Логики – это программисты с классическим флёром. Чтобы познакомиться с новой технологией они идут и читают документацию. Четкость кода – повышенная, ни шага влево, ни шага вправо. От забора и до обеда. Непритязательность к удобству работы с кодом пугает – кажется, что они могут работать и с минифицированным кодом, пользуясь одной только функцией поиска.
  • Визуалы – это люди, подходящие к коду более творчески, абстрактно. Чтобы изучить технологию они идут в youtube и смотрят видео про дельфинов уроки. В коде им важно разделение на осязаемые блоки, отсутствие простыней на 1000+ строк, возможность реализовать по-новому. Выполняя новую задачу они будут пристреливаться и искать свой вариант решения вместо поисков уже имеющегося на просторах интернета.

Речь в этой статье пойдет об инструменте разработки, без которого я, как представитель второго типа, уже не мыслю разработку проектов размером больше 250 строк и который, я уверен, будет полезен нашим коллегам из классического типа – он сделан в сотрудничестве с одним из вас – восходящей звездой мира программирования Степаном! Итак!
Читать дальше →

Сложно ли сделать из мухи слона?

Reading time3 min
Views12K
Недавно, перед тем как написать про свои соображения о путях развития ИИ, решил посмотреть, что уже писали об ИИ на Хабре. В числе прочих наткнулся на статью с довольно сложным решением (через генетический алгоритм) широко известной задачи поиска метаграмм: дано два слова (существительных) одинаковой длины, нужно получить из первого второе, меняя только одну букву и получая при этом имеющее смысл слово.


Сальвадор Дали. Искушение св. Антония. 1946. (Фрагмент).
Бельгийский Королевский музей изящных искусств (Брюссель).

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

Как сделать из мухи слона

Reading time21 min
Views76K
Многим известна такая старая добрая игра со словами, сделать из мухи слона. Суть её в том, что нужно из начального слова сделать конечное, на каждом шаге меняя только одну букву, получая при этом на каждом шаге осмысленное существительное.

Известный автор книг по занимательной математике Е. Я. Гик в своей книге "Занимательные математические игры" опубликовал такое 16-ходовое решение, как из мухи сделать слона: муха-мура-тура-тара-кара-каре-кафе-кафр-каюр-каюк-крюк-урюк-урок-срок-сток-стон-слон.

муха и слон

И вот, в один прекрасный день мне довелось заняться решением этой задачи в программном виде.
Читать дальше →

Бот в муравейнике

Reading time27 min
Views19K

Еще один игровой бот для «Космических рейнджеров HD» (издатель ) наводит на интересные мысли о путях развития искусственного интеллекта (ИИ).
Читать дальше →

Отменяется ли бунт роботов?

Reading time5 min
Views7.2K
(Неформальная рецензия на книгу Дэвида Минделла «Восстание машин отменяется! Мифы о роботизации», “Альпина нон-фикшн”, 2017)

image
(User Chmouel on en.wikipedia: file )

Книга Дэвида Минделла «Восстание машин отменяется! Мифы о роботизации» оставила сильное, но двойственное впечатление. Прежде всего стоит посмотреть комментарии, из которых видно, какую гигантскую работу проделал автор, обобщив огромный материал из очень значимых источников. В нескольких словах: роботы под водой, на земле, в воздухе, в космосе и на других планетах: Луна и Марс. В последнем случае, правда, упущение – сейчас роботы долетели до края Солнечной системы, но о них в книге, к сожалению, не упомянуто. Но и то, что упомянуто, позволяет автору сделать общие выводы о перспективах робототехники.
Читать дальше →

В C++17 до сих пор нет нормальных многомерных массивов, которые были в Fortran начиная с Fortran 90

Reading time5 min
Views33K
Это статья про многомерные массивы. А ещё про ключевое слово restrict, до появления которого в C язык Fortran был быстрее C. Немного про то, зачем я это написал, см. в конце.

Многомерные массивы. Начну с многомерных массивов. Допустим, вам нужно максимально эффективно работать с большими квадратными матрицами в C++ (скажем, умножать их друг на друга). Причём размер матриц становится известен лишь в runtime. Что делать?

Всякие double a[n][n] и std::array<std::array<double, n>, n> не сработают, т. к. порядок матрицы (n) будет известен лишь в runtime. new double[n][n] не сработает по этой же причине (лишь первое измерение массива, создаваемого new, может быть runtime-выражением). Попробуем так:

double **a = new double *[n]; // Массив длины n указателей на double
for (int i = 0; i != n; ++i)
  {
    a[i] = new double[n];
  }
Читать дальше →

О языке С и производительности

Reading time31 min
Views64K


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

Но как можно считать себя профессионалом в каком-либо (высокоуровневом) языке, если даже не знаешь, как именно работает процессор, как он выполняет вычисления, эффективным ли способом? Сегодня автоматическое управление памятью становится главной проблемой в большинстве высокоуровневых языков, и многие программисты подходят к её решению без достаточной теоретической базы. Я уверен, что знание низкоуровневых процессов сильно помогает в разработке эффективных высокоуровневых программ.
Читать дальше →

Сколько светят звезды, часть 2: Хабраинтервью с игроками, разработчиками и издателем «Космических Рейнджеров»

Reading time4 min
Views6.7K
Часть 2. Разработчики игры «Космические Рейнджеры: Наследие» и издатель серии игр «Космические Рейнджеры». Окончание. См. Часть 1.



На вопросы отвечают сотрудники игрового подразделения 1С: продюсер Денис Мальцев и арт-директор Алексей Вахрушев.
Читать дальше →

Сколько светят звезды? Хабраинтервью с игроками, разработчиками и издателем «Космических Рейнджеров»

Reading time12 min
Views7.8K


Трудно писать о малоизвестной компьютерной игре, т.к. у читателя сразу возникает законный вопрос: с какой такой радости автор выбрал именно эту игру из тысяч столь же неизвестных? Но не менее трудно писать об очень известной игре, т.к. у читателя сразу возникает законный вопрос: а что-то нового возможно еще сказать, когда уже об этом так много сказано? Возможный выход – это интервью: во-первых, с фанатами игры, а во-вторых, с разработчиками и издателем. Пусть они объясняют, почему многие годы посвятили именно этой игре. Здесь мы избираем именно такой путь, т.к. речь пойдет не просто об известной игре, а об очень-очень известной серии игр «Космические Рейнджеры» (КР) издателя . Подумать только: эти игры пользуются завидным успехом целых 14 лет – это поистине уникальный случай. Более того, игра продолжает развиваться — недавно 1С была анонсирована новая игра этой серии: «Космические Рейнджеры: Наследие». Так сколько же светят звезды?
Читать дальше →

Дело о малокском сейфе

Reading time11 min
Views49K

Думаю, что многим из присутствующих здесь известна игра Космические Рейнджеры. Также, я не думаю, что сильно ошибусь, если скажу, что, в значительной мере, своим очарованием эта игра обязана, фактически возрожденным ей, текстовым квестам. Некоторые из этих квестов, такие как «Цитадели» или «Лыжный курорт», вполне могут рассматриваться как самостоятельные игры.

Отношение, у меня лично, к текстовым квестам двоякое. С одной стороны, они очень интересны и невообразимо атмосферны. С другой стороны, некоторые из них, пройти совсем не просто. Квест «Пятнашки», сразу поставил меня в тупик. Я вообще не очень хорошо решаю всякого рода головоломки, поэтому решил написать программу, которая найдет решение за меня.
Читать дальше →

Хабраинтервью с разработчиками «Космических рейнджеров»

Reading time2 min
Views41K
Игра «Космические рейнджеры 2»

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

  • Алексей Дубовой согласился ответить на вопросы по почте.
  • Дмитрий Гусаров от интервью отказался.
  • Команда, которая готовит аддон «Революция» на интервью согласна.

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

Хабраинтервью с создателями игры «Космические рейнджеры» Алексеем Дубовым и представителями СНК

Reading time10 min
Views44K
Алексей ДубовойПредлагаю вашему вниманию интервью с разработчиком легендарной российской игры «Космические рейнджеры» Алексеем Дубовым, а так же с представителем «Союза Независимых Квестописателей» Яковом Уваровым.

Игра «Космические рейнджеры» вошла в десятку лучших игр всех времен и народов по версии Хабрахабра 2013 года. А среди российских игр заняла первое место, обогнав «Тетрис» и украинскую разработку «Казаки» с приличным отрывом. Признаюсь, я ничего вообще не знал об этой игре и заинтересовался, что это за чудо такое. Посмотрев видео на ютубе понял, что это действительно выдающаяся игра, поскольку фанаты отзываются о ней как о «лучшей игре на свете».

Я связался с Дмитрием Гусаровым, Алексеем Дубовым и ребятами из СНК, которые готовили аддон «Революция». Дмитрий от интервью отказался, Алексей согласился ответить по почте. В другом посте я предложил всем желающим задать свои вопросы. На основе этих вопросов и появилось это интервью.

Алексей Дубовой


История игры «Космические рейнджеры»


Вам было всего 18 лет (верно?), когда вы взялись за написание масштабного проекта. Как Вы на это решились? Был ли какой-то опыт написания игр до КР?

В детстве я начинал с компьютеров «Спектрум» и «Поиск». Первой игрой, которую я увидел, была «Nether Earth». Тогда она перевернула мое сознание. И с этого времени я начал увлекаться компьютерами, играми и программированием. То, что я буду программистом, я осознал очень рано, мне было очень интересно изучать движки, создавать свои, все остальное меня перестало интересовать.

Шло время, я набирался опыта, и в середине 99 года я в интернете случайно набрел на сайт Дмитрия Гусарова. Он в то время заканчивал делать «Генерала» и искал себе работу в игровом дизайне. Мы встретились, поговорили и решили делать новую игру на космическую тему, так как понимали, что графики нужно сделать значительно меньше, чем для других жанров, да и сама тема космоса нам интересна. Если для Дмитрия были интересны игры Elite, Master of Orion, то я был фанатом Star Wars: X-Wing серии и Star Control 2.

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

LEGO MINDSTORMS Education EV3 в профориентации

Reading time10 min
Views29K

изображение — roboconstructor.ru

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

Робототехника, кибернетика, понимание алгоритмов – тот набор навыков, с которым, скорее всего, человеку не будут грозить настолько туманные перспективы. Конечно, скорее всего параллельно с заменой рабочей силы на роботов будет развиваться и концепция безусловного базового дохода, вот только вряд ли вы хотите для своего ребенка подобного будущего.

Способов быстро показать молодой и заинтересованной аудитории основы программирования и робототехники сейчас существует много. Все они стоят недорого, достаточно просты в освоении, дают уже через несколько часов понимание основ алгоритмов и концепций кибернетических устройств. Но в учебных классах легко столкнуться и с недостатками этих платформ – ограниченной износоустойчивостью (да и чего греха таить – «идиотоустойчивостью» тоже) макетных плат, не очень дружелюбными для детей 11-12 лет интерфейсами ПО, относительно небольшим элементом «игры».

Визуализация графов. Метод связывания ребер

Reading time7 min
Views58K
Иногда полезно представить граф в графической форме, так чтобы была видна структура. Можно привести десятки примеров, где это может пригодиться: визуализация иерархии классов и пакетов исходного кода какой-нибудь программы, визуализация социального графа (тот же Twitter или Facebook) или графа цитирования (какие публикации на кого ссылаются) и т.д. Но вот незадача: количество ребер в графе зачастую настолько велико, что нарисованный граф просто невозможно разобрать. Взгляните на эту картинку:



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

Думаешь, ты знаешь Си?

Reading time4 min
Views53K
image

Многие программисты утверждают, что знают С. Ну что ж, у него самый известный синтаксис, он существует уже 44 года и он не захламлен непонятными функциями. Он прост!

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

Если вы думаете что он прост — пройдите этот тест. В нем всего 5 вопросов. Каждый вопрос в принципе одинаковый: какое будет значение возврата?

Опубликован быстрый алгоритм для задачи изоморфизма графов

Reading time3 min
Views46K

Эти два графа являются изоморфными

Математик Ласло Бабай (László Babai) с факультета компьютерных наук и математики Чикагского университета представил быстрый новый алгоритм для решения задачи изоморфизма графов — одной из фундаментальных проблем теории сложности вычислений. Алгоритм приводит проблему очень близко к классу P. По мнению некоторых специалистов, это один из самых значительных результатов в теоретической информатике за десятилетие, если не за несколько десятилетий.
Читать дальше →

Что делает игры смешными? Комизм и юмор в видеоиграх. Часть первая

Reading time4 min
Views23K
Игры с юмором существовали всегда. Но на каком этапе веселый интерактивный опыт превращает обычную игру в комедийную?

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

Пишем простую* игровую физику самолёта

Reading time9 min
Views29K
* — в трёх измерениях.


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

«Что может быть проще самолёта? Подъёмная сила пропорциональна квадрату скорости, двигатель тянет вперёд, всё просто» — такая мысль пришла в мою голову летом, и я сел писать игру. Лето прошло, было собрано несколько граблей, а списочек того, что я планировал добавить в проект, очень сильно вырос.

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

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

5 причин, по которым работодатели не любят удалёнщиков (и 4 способа получить работу в любом случае)

Reading time10 min
Views60K
Специалисты по найму персонала поделятся своими соображениями, почему они настаивают на работе в офисе, — а вы получите несколько советов, как можно было бы убедить их в обратном.

Эстер Шиндлер — автор свободно распространяемого выпуска «Руководство по выживанию для сотрудников, работающих удалённо».


Кубиклы
Читать дальше →

Создание сцены из Star Wars в Unreal Engine 4

Reading time13 min
Views29K

Все изображения в статье кликабельны

Введение


Привет, меня зовут Джейсон Льюис (Jason Lewis). Думаю, что меня можно назвать руководителем этого группового проекта. Я главный художник по окружениям в Obsidian Entertainment. Другие художники, работавшие со мной над этим проектом, тоже работают в Obsidian. Это помощники главного художника, художники среднего класса и джуниоры. Даже люди из отдела QA дополнили сцену своими художественными навыками. Всего в работу в разной степени внесли свой вклад 17 человек. Это был наш личный проект, мы создавали его только потому, что все мы - большие фанаты «Звёздных войн». Глядя на современные работы по Star Wars, мы решили, что настало время поучаствовать и создать качественный фанатский арт-проект. Кроме того, что мы поклонники Star Wars, некоторые из нас хотели под хорошим предлогом изучить Unreal 4.

Information

Rating
Does not participate
Registered
Activity