Как стать автором
Обновить
36
0
Богданов Илья @vitvakatu

Rust Developer

Отправить сообщение

Секреты разработчика, продавшего полмиллиона копий игр

Время на прочтение6 мин
Количество просмотров29K
bit blaster xl


За время нашей получасовой беседы Адам Никерсон, он же Nickervision Studios, по крайней мере дюжину раз повторил разные вариации фразы «На самом деле я не знаю, как делать видеоигры». Однако ему удалось в одиночку продать полмиллиона копий своих игр для PC.

Вероятно, вы ни разу не слышали, например, о Bit Blaster XL, но в Steam она разошлась тиражом 260 000 копий. Адам разработал её в одиночку всего за две недели. Её продолжение, которое близится к такому же успеху, было разработано за 75 часов.

Как ему это удалось? Он нашёл способ стать замеченным на Steam в наше время почти бесконечного потока новых релизов, время, разрушившее надежды и мечты многих других мелких разработчиков.
Всего голосов 42: ↑40 и ↓2+38
Комментарии9

Создание неба для 3D-игр

Время на прочтение5 мин
Количество просмотров19K

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




Всего голосов 37: ↑37 и ↓0+37
Комментарии9

Почему эволюция не создала ещё одного утконоса?

Время на прочтение15 мин
Количество просмотров23K

Можно ли предсказать эволюцию или она действует наобум


image

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

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

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

Царапая, изучая окружение, нюхая, это животное иногда создаёт дуэт со своей парой, перекликаясь, оставаясь на связи при проходе по своей территории. Крик самца выдаёт его название: «Кии-вии, кии-вии».
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии74

Уязвимости в прошивках австралийских животных

Время на прочтение6 мин
Количество просмотров88K
В Австралии последние 60 тысяч лет живут племена хакеров. Только ломают они не ИТ-системы, а прошивки животных. Начнём с истории бумеранга.


На заливных лугах около Дарвина, Северные территории

Боевой бумеранг не должен возвращаться — это знает каждый абориген. Бумеранг нужен, чтобы разводить костёр трением, ломать ноги страусу, перепиливать сухожилия, стучать двумя друг об друга для музыки и делать ещё тысячу бытовых вещей. Для того, чтобы охотиться на летающих птиц, боевой бумеранг практически бесполезен – проще закидать их камнями или палками. Или бросить с 50-100 метров с помощью вумеры копьё из стебля травы с каменным наконечником, если птица особо жирная.

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

— Сгенерировать случайное число от 1 до 11.
— Если это 1-10 – смотреть вниз и искать еду до клевка.
— Если это 11 — осмотреться.

Таким образом, когда у вас на болоте сидит стая птиц в 50-60 голов, 5-6 птиц играют роль радара, обозревая небо и окрестности, а остальные в это время едят. Причём насыщаются все одновременно, без выделенных часовых – никакого ролевого распределения, просто отличное распараллеливание процессов.
Всего голосов 247: ↑246 и ↓1+245
Комментарии268

Как работает видеопроцессор

Время на прочтение29 мин
Количество просмотров72K
image

[Прим. пер.: оригинал статьи называется GPU Performance for Game Artists, но, как мне кажется, она будет полезной для всех, кто хочет иметь общее представление о работе видеопроцессора]

За скорость игры несут ответственность все члены команды, вне зависимости от должности. У нас, 3D-программистов, есть широкие возможности для управления производительностью видеопроцессора: мы можем оптимизировать шейдеры, жертвовать качеством картинки ради скорости, использовать более хитрые техники рендеринга… Однако есть аспект, который мы не можем полностью контролировать, и это графические ресурсы игры.

Мы надеемся, что художники создадут ресурсы, которые не только хорошо выглядят, но и будут эффективны при рендеринге. Если художники немного больше узнают о том, что происходит внутри видеопроцессора, это может оказать большое влияние на частоту кадров игры. Если вы художник и хотите понять, почему для производительности важны такие аспекты, как вызовы отрисовки (draw calls), уровни детализации (LOD) и MIP-текстуры, то прочитайте эту статью. Чтобы учитывать то влияние, которое имеют ваши графические ресурсы на производительность игры, вы должны знать, как полигональные сетки попадают из 3D-редактора на игровой экран. Это значит, что вам нужно понять работу видеопроцессора, микросхемы, управляющей графической картой и несущей ответственность за трёхмерный рендеринг в реальном времени. Вооружённые этим знанием, мы рассмотрим наиболее частые проблемы с производительностью, разберём, почему они являются проблемой, и объясним, как с ними справиться.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии12

Go быстрее Rust, Mail.Ru Group сделала замеры

Время на прочтение7 мин
Количество просмотров66K
С такой фразой мне кинули ссылку на статью компании Mail.Ru Group от 2015 «Как выбрать язык программирования?». Если кратко, они сравнили производительность Go, Rust, Scala и Node.js. За первое место боролись Go и Rust, но Go победил.

Как написал автор статьи gobwas (здесь и далее орфография сохранена):
Эти тесты показывают, как ведут себя голые серверы, без «прочих нюансов» которые зависят от рук программистов.
К моему большому сожалению, тесты не были эквивалентными, ошибка всего лишь в 1 строчке кода поставила под сомнение объективность и вывод статьи.
Восстановим справедливость?
Всего голосов 186: ↑175 и ↓11+164
Комментарии282

История неудач SpaceX

Время на прочтение1 мин
Количество просмотров20K
Компания SpaceX вчера выложила совершенно шикарное видео где продемонстрированы все многочисленные фейлы (и указаны их причины) через которые компания прошла за три года отрабатывая технологию возврата и мягкой посадки первой ступени.


В видео девять фейлов, шесть взрывов и немного пятничного юмора от SpaceX. Часть кадров мне ранее не встречалась. Enjoy :)
Всего голосов 52: ↑49 и ↓3+46
Комментарии43

Чтоб root стоял и фичи были

Время на прочтение5 мин
Количество просмотров28K
Сегодня 256-й день в году, а значит настал профессиональный праздник программистов, разработчиков, девелоперов, кодеров. В общем, всех тех, кто делает современную жизнь современной, технику умной, работу удобной — короче, улучшает этот мир. Мы долго думали, что же такое написать, но в итоге наткнулись на крутые свежие комиксы о жизни разработчиков и решили, что им будет и день, и место. Для тех, у кого, как и у нас «инглиш политех финишд», мы перевели смысл и немного адаптировали к российским реалиям. С праздником, друзья!

Картинка взята тут, подпись наша
Читать дальше →
Всего голосов 50: ↑46 и ↓4+42
Комментарии32

RustGo: вызов Rust из Go с почти нулевым оверхедом

Время на прочтение21 мин
Количество просмотров11K

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


Но писать код на ассемблере, всё же, сложно, анализировать его ещё сложнее, а криптография ошибок не прощает. Разве не было бы замечательно иметь возможность писать эти функции на каком-нибудь более высокоуровневом языке?


Этот пост о слегка неадекватном эксперименте по вызову Rust кода из Go в попытке сделать это настолько быстро, чтобы могло сравнится с вызовом ассемблера. Вам не нужно знать Rust или про внутренности компилятора, достаточно понимать, что такое линкер.

Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии2

Австралия: небольшая реколонизация Земли

Время на прочтение11 мин
Количество просмотров167K
Побывать в «ничейных землях» пустынь Австралии — это почти как попасть в научно-фантастический роман про колонизацию экзопланеты. Только взаправду. Белые люди системно пришли всего около 200 лет, и за это время успела сложиться молодая, эффективная и очень интересная инфраструктура. Так что ощущения просто космические.

В Австралии опасно. Не так, чтобы всё живое хотело вас убить, но близко. Смертей десятки в год, что близко не лежало в сравнении с ДТП, но зато они очень, скажем так, изобретательные. Например, к воде вообще нельзя подходить — там, в зависимости от водоёма, крокодилы, ядовитые кубомедузы, акулы и змеи. Благодаря одному немецкому туристу, последние слова которого были «Да нет тут никаких крокодилов», знаки об их наличии по шоссе Стюарта теперь на двух языках. А благодаря одной женщине, решившей искупаться во время менструации, мы теперь знаем, что акулы умеют подниматься вверх по течению ручья на 2 километра. Хворост около трассы для биваков туристов собирают строго гиды — отлучаться с асфальта опасно для жизни, потому что в топ-20 самых ядовитых змей мира всего 2 строки принадлежат неместным. К огромному неудовольствию австралийцев.


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

А ещё Австралия постоянно либо затоплена, либо горит, либо находится в короткой передышке между этими состояниями. Но давайте начну с самого начала. Сначала мы оказались в Nowhere Land Северной территории.
Читать дальше →
Всего голосов 276: ↑275 и ↓1+274
Комментарии351

Продвижение игр на Google Play

Время на прочтение6 мин
Количество просмотров67K


У моих игр довольно много загрузок на Google Play (больше 20 млн.), наверное поэтому, меня часто спрашивают про продвижение. Если кто-то из разработчиков пишет мне в личку или почту, готов поспорить, все сведется к вопросу: «Как ты продвигаешь свои игры, чувак?». Все думают, что у меня есть какой-то секрет (нет). Ладно, давайте я попробую сформулировать то, что знаю и будем надеяться, что это будет кому-то полезно. По крайней мере, я смогу давать ссылку на этот пост.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии6

Разработка на скорости 450 слов в минуту

Время на прочтение6 мин
Количество просмотров93K
«Чего-то здесь не хватает». Спорим, такая мысль первой придёт в вашу голову, если увидите моё рабочее место в офисе. Здесь нет монитора и мыши. Есть только парень, который молотит по клавиатуре, глядя словно в пустоту.



Это всего лишь я, и мои коллеги гарантируют вам, что я обычно не опасен. Я программист в офисе компании Vincit в Тампере (Финляндия). И ещё я слепой. В этой статье хочу немного рассказать, как я работаю.
Читать дальше →
Всего голосов 257: ↑255 и ↓2+253
Комментарии119

Доступно о криптографии на эллиптических кривых

Время на прочтение37 мин
Количество просмотров256K
image


Тем, кто знаком с криптографией с открытым ключом, наверно известны аббревиатуры ECC, ECDH и ECDSA. Первая — это сокращение от Elliptic Curve Cryptography (криптография на эллиптических кривых), остальные — это названия основанных на ней алгоритмов.

Сегодня криптосистемы на эллиптических кривых используются в TLS, PGP и SSH, важнейших технологиях, на которых базируются современный веб и мир ИТ. Я уже не говорю о Bitcoin и других криптовалютах.

До того, как ECC стала популярной, почти все алгоритмы с открытым ключом основывались на RSA, DSA и DH, альтернативных криптосистемах на основе модулярной арифметики. RSA и компания по-прежнему популярны, и часто используются вместе с ECC. Однако несмотря на то, что магия, лежащая в фундаменте RSA и подобных ей алгоритмов легко объяснима и понятна многим, а грубые реализации пишутся довольно просто, основы ECC всё ещё являются для большинства людей загадкой.

В этой серии статей я познакомлю вас с основами мира криптографии на эллиптических кривых. Моя цель — не создание полного и подробного руководства по ECC (в Интернете полно информации по этой теме), а простой обзор ECC и объяснение того, почему её считают безопасной. Я не буду тратить время на долгие математические доказательства или скучные подробности реализации. Также я представлю полезные примеры с визуальными интерактивными инструментами и скриптами.
Читать дальше →
Всего голосов 127: ↑125 и ↓2+123
Комментарии73

Язык Terra — низкоуровневый партнёр Lua

Время на прочтение12 мин
Количество просмотров17K
Terra — низкоуровневый язык системного программмирования, встраиваемый и имеющий возможность метапрограммирования с помощью языка Lua.

Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии28

Игры для программистов, часть вторая

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

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

Infinifactory


image
И что же это за майнкрафт такой?
Всего голосов 58: ↑57 и ↓1+56
Комментарии74

Как легко расстаться с $1000

Время на прочтение4 мин
Количество просмотров40K
  • Прелюдия
  • Разработка игры под iOS
  • Продвижение игры
  • Чисто поржать

Прелюдия


Эта история случилась в мае ровно на той скамейке, где Берлиоз с Бездомным поспорили о сущности Христа. Мы с приятелями тоже поспорили о возможности заработать на своей iPhone-игре. Я заявил, вдруг, что без вложения денег это невозможно. Мои оппоненты нехотя согласились. Я усилил троллинг и добавил: — Друзья мои, без больших денег это совершенно невозможно! Любая сумма менее $25000, потраченная на раскрутку приложения — обернется пшиком. Пшшшш!

Все возмутились и прогнали меня со скамейки. Заодно уж и из Москвы.

По следам публикации


По следам публикации разгорелась нешуточная борьба за Кубок 26-08.
Игроки с Хабра настолько сильны, что в первый же день выгнали меня с вершины Олимпа. Но! В первой башне я нашел решение на 2 очка лучше прочих.И победил парней из Украины и России.
Можем еще!

Всего голосов 102: ↑90 и ↓12+78
Комментарии47

Приглашаем на Rust Gamedev Митап 14 сентября

Время на прочтение1 мин
Количество просмотров2.6K

Привет хабр! Приглашаю на первую встречу энтузиастов Rust и игровой разработки в Санкт-Петербурге!



Rust — современный системный язык программирования с мощной системой типов. Безопасное управление памятью без сборщика мусора и абстракции с нулевой стоимостью делают Rust интересным выбором для игровой разработки.


На мероприятии будет возможность из первых рук услышать об опыте применения Rust.

Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии4

Государство возьмет под контроль критическую инфраструктуру Рунета

Время на прочтение3 мин
Количество просмотров38K


На днях стало известно о том, что критическая инфраструктура Рунета полностью будет контролироваться государством. Для того, чтобы это стало возможным, Минкомсвязи подготовило поправки в закон «О связи». Поправки, в случае их принятия, помогут сохранить работоспособность сайтов в национальных доменных зонах .ru и.рф даже в случае введения технологических санкций. Это позволит соответствующей инфраструктуре быть доступной извне.

В проекте закона указывается необходимость создания на территории России национальной системы корневых серверов DNS, пишут «Известия». Это, по мнению законодателей, необходимо сделать для предотвращения возможности вмешательства в работу российского сегмента Сети. В пояснительной записке говорится, что «подсистема обеспечивает взаимодействие с аналогичными национальными системами корневых серверов иных государств (например Китая)».
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии475

Hack. Sleep. Repeat

Время на прочтение10 мин
Количество просмотров13K
Привет. Меня зовут Дима, и я бэкенд-разработчик в Avito. Мне довелось поучаствовать в кучке хакатонов: мелких и крупных, российских и зарубежных, внешних и внутри компаний, удалённых, распределённых и классических. Хочу рассказать, как они помогли познакомиться с омским дедом, заразиться криптобактериями, запустить виртуальный космический корабль в эрланг-вселенную и спасти человечество от вымирания.


Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии4

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность