Pull to refresh
-1
0

Веб-разработчик

Send message

Игра HellWorm. История разработки

Reading time5 min
Views18K
Доброго времени суток! Я хотел бы рассказать про свой опыт создания мобильной игры на Unity под названием HellWorm. Из названия можно понять, что игра про червяка. Ползаем, кушаем монетки, не врезаемся в препятствия. Казалось бы, клон классической игры, на которой большинство из нас выросло. Но, на самом деле, параллель со змейкой на этом заканчивается.


Игра же позиционирует себя как бесконечный раннер, в котором идет постоянное движение вперед, без возможности свернуть с вертикального маршрута. А сам червь, при всем при этом, может как угодно извиваться (да-да, и даже проползать через себя). Вследствие чего, хотелось бы заострить внимание на трудностях, которые я испытал пытаясь реализовать движение столь незамысловатого персонажа.
Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments22

Как правильно оценивать сроки проекта на примере веб-студии

Reading time4 min
Views14K

В чем сложность


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

  • Разработка программ — это процесс интеллектуальной деятельности. Есть типовые задачи, которые уже делались раньше, оценить такие не составляет труда. Но есть и нестандартные задачи. У нас таких обычно 20-30% работ по проекту. Эти задачи невозможно оценить, потому что неизвестно сколько они займут времени и какие могут возникнуть проблемы при их разработке. Простой пример: попробуйте ответить на вопрос: «Сколько времени займет путь из Москвы до поселка Заполицы на автобусе? И сколько стоит такая поездка?». Вряд ли вы вообще были там раньше, поэтому для вас эта задача нестандартная, сходу и не скажешь сколько. С примером просто — позвонил на автовокзал, узнал цену и продолжительность поездки. Но даже здесь есть риск застрять в пробке. А заказчик будет звонить вам и трясти результат. И правильно сделает: пообещали — выполняйте.
  • Требования заказчика. Практически в любом проекте в ходе реализации меняют первоначальные требования. Заказчик мог что-то забыть или появились новые хотелки уже после старта проекта.
  • Еще одна проблема, вытекающая из того, что деятельность интеллектуальная — это квалификация разработчика. Профессионал может выполнить задачу в разы быстрее новичка.

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

Обучаемся самостоятельно: подборка видеокурсов по Computer Science

Reading time11 min
Views128K
image

Содержание


  1. Введение в Computer Science
  2. Структуры данных и Алгоритмы
  3. Системное программирование
  4. Распределенные системы
  5. Базы данных
  6. Объектно-ориентированный дизайн и разработка софта
  7. Искусственный интеллект
  8. Машинное обучение
  9. Веб-разработка и интернет-технологии
  10. Concurrency
  11. Компьютерные сети
  12. Разработка мобильных приложений
  13. Математика для программистов
  14. Теория информатики и языки программирования
  15. Архитектура компьютера
  16. Безопасность
  17. Компьютерная графика
  18. Работа с изображениями и компьютерное зрение
  19. Интерфейс Человек-Компьютер
  20. Вычислительная биология
  21. Прочее

Total votes 78: ↑64 and ↓14+50
Comments23

Делаем проект на Node.js с использованием Mongoose, Express, Cluster. Часть 1

Reading time9 min
Views50K

Введение


Добрый день, дорогой %username%! Сегодня мы будем описывать создание каркаса приложение по типу MVC на Node.js с использованием кластеров, Express.js и mongoose.


Задача — поднять сервер который имеет несколько особенностей.


  • Работает в несколько асинхронных потоков.
  • Сессионная информация будет в общей для всех потоков.
  • Поддержка HTTPS.
  • Авторизация.
  • Легко масштабируем.

Статья написана новичком для новичков. Буду рад любым замечаниям!

Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments35

Как оптимизировать запоминание иностранных слов

Reading time8 min
Views33K


Прежде чем взяться за разработку мобильного приложения для заучивания лексики, мы в школе Skyeng потратили массу времени на изучение алгоритмов работы памяти и запоминания слов. В результате разработка Aword заняла чуть больше времени, но мы более уверены в результате — использование определенных алгоритмов в показе слов помогает эффективнее пополнять словарный запас.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments32

Генерируем псевдослучайные ID а-ля Youtube

Reading time4 min
Views24K
Привет, %username%! Бывает необходимо генерировать ID не подряд, причем чтобы они гарантированно не повторялись. На youtube это используется для того, чтобы вы не могли брутфорсом получить все новые и старые видосики, так же это не редкость на разных файлообменниках и вообще везде где нужно предотвратить или хотя бы затруднить возможность прямого перебора значений.


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

Давайте рассмотрим несколько способов генерации таких ограниченных по длине последовательностей от самых простых до криптографически стойких.
Читать дальше →
Total votes 69: ↑63 and ↓6+57
Comments41

Реалии работы геймдизайнера в большой студии на примере BioWare

Reading time6 min
Views13K


Автор статьи Джеймс Охлен уже давно в игровой индустрии — в BioWare он работает 20 лет. Сейчас он дизайн-директор этой компании (принадлежащей EA) и управляет разработкой таких франшиз, как Mass Effect и Dragon Age.

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

На Austin Game Conference он поделился с другими разработчиками идеями и концепциями, на которых основывается работа над дизайном в такой большой студии, как BioWare.

Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments14

Игры престолов: почему современным играм нужны популярные тайтлы

Reading time6 min
Views14K
Всё больше хороших игр создаётся по известным франшизам кино, сериалов и литературы. А иногда игры сами создают новые серии, по которым снимают фильмы и выпускают сувенирку. В этой статье я объясню растущую популярность тайтлов в игровой индустрии с позиции массовой культуры, маркетинга и, конечно, бизнеса.
Поехали!

Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments10

Разница между восточными и западными играми жанра «три в ряд»

Reading time3 min
Views24K


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

Одна девушка сказала: «Но ведь персонажи совсем не милые». Тогда я попросил её оценить 天天爱消除, игру «три в ряд» от китайского разработчика Tencent.

«А эти персонажи милые?»

«Да, да!»

Тогда я объяснил ей, что дизайн персонажей в нашей игре подходит для западной аудитории, а корейский стиль больше привлекателен для азиатских женщин.

Одного взгляда достаточно, чтобы увидеть наглядную разницу между играми, сделанными на Востоке и на Западе. Давайте сравним несколько популярнейших клонов «три в ряд» из восточной и западной цивилизаций и посмотрим на их различия.
Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments16

+500 бесплатных инструментов для запуска вашего стартапа в 2017 году

Reading time40 min
Views156K


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

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

Итак, мы нашли в интернете бесплатные и условно-бесплатные инструменты для роста вашего бизнеса. Когда они дадут вам желаемый результат, вы можете оформить платную подписку.
Читать дальше →
Total votes 74: ↑60 and ↓14+46
Comments26

Starbucks следует открыть публичный доступ к своим API

Reading time3 min
Views8.8K
Мобильное приложение Starbucks — один из самых известных кейсов в ecommerce. Автор материала — программист опытным путем доказывающий, почему стоит открыть API этого приложения.

image

Мотивация


Стоит отдать должное приложению Starbucks — оно просто отличное. Я использую его (как минимум) раз в день. В нем есть все, что мне нужно от отличного мобильного сервиса — кофе, плейлисты хитов 80-х в Spotify и возможность избежать живого общения с другими людьми. Я явно не одинок в своих предпочтениях, так как 20% операций Starbucks в США сейчас производится через мобильные телефоны.

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

Однако я не мог ждать и поэтому решил взять дело в свои руки.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments4

Расследование: куда ваш сайт редиректит пользователей, а вы об этом даже не подозреваете

Reading time3 min
Views39K
image

Добрый день!

Меня зовут Максим и я руковожу развитием продуктов в it-компании. Эта история началась с того, что однажды я зашел с мобильного телефона на наш сайт и, к своему большому удивлению, был перенаправлен на сайт какой-то интернет-рулетки. Попробовал зайти еще раз – проблема не повторяется, подумал что глюк. Попросил коллег попробовать зайти с мобильного телефона – и волосы встали дыбом. Один «стал миллионным посетителем и выиграл машину», второй – «получил подарочный депозит на форекс», третий был обрадован «ваучером на 50 000 рублей», а многие вообще попали на сайты с нескромно одетыми женщинами, делающими всякое. Для тех кто задумался о том, что может быть причиной, подсказка – сайт не взламывали. Вредоносный код мы добавили сами, пользуясь одним популярным маркетинговым инструментом. Расследование под катом.
Читать дальше →
Total votes 47: ↑32 and ↓15+17
Comments42

Критическая уязвимость в multisig кошельке Parity, хакерами выведен $31 миллион в ethereum (обновлено)

Reading time2 min
Views28K
Из-за уязвимости в коде смарт-контракта multisig кошелька Parity (1.5 и более поздний) хакер смог вывести монет ethereum в эквиваленте 31 миллиона долларов.

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

Кошелёк хакера: etherscan.io/address/0xb3764761e297d6f121e79c32a65829cd1ddb4d32
(уже начался перевод средств на другие адреса)

Группа white hats смогла вывести эфира в 76 миллионов долларов (и ещё 80 миллионов в различных токенах) с уязвимых кошельков для защиты средств
etherscan.io/address/0x1dba1131000664b884a1ba238464159892252d3a

Были украдены деньги с кошельков следующих ICO:

  • Edgeless Casino
  • Swarm City
  • æternity blockchain

Total votes 32: ↑31 and ↓1+30
Comments51

Процедурная генерация в Distrust

Reading time14 min
Views22K
Всем привет! Меня зовут Максим, и я хочу рассказать о том, как мы делали процедурную генерацию, а точнее о том, какой она в итоге у нас получилась. Эта статья не претендует на звание полной документации, что потребовало бы намного больше текста. Статья ставит своей целью описать основные механизмы генерации игрового мира и его сущностей, не вдаваясь в отдельные узкие правила и исключения, коих довольно много.

Перед вами здание- склад, сгенерированное процедурно:
image
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments27

Система перемотки времени в стиле Prince of Persia

Reading time15 min
Views20K
image

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

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


Демонстрация основных возможностей

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

Готовы? Поехали!
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments13

Вы ни черта не понимаете в цветах

Reading time3 min
Views71K

Это все розовый

Я думаю многие сталкивались с ситуацией, девушки пытаются убедить нас, что совершенно очевидно, что цвет ее белья вовсе не черный, а очевидно ониксовый или обсидианово-дымчатый. При том, что там явно #000000ff или максимум #080808d5, если белье слегка прозрачное. Или вдруг та же девушка внезапно решает перекрасить стены и начинает мечтательно описывать всю красоту оттенков, которые она хотела бы получить. И вы погружаетесь вместе с ней в чудесный мир лавандовых стен и пытаетесь определиться со шторами. То ли цвет пенящейся морской волны, то ли кораллово-бирюзовый. Где-то на этом этапе вы начинаете тоскливо смотреть на стену, размышляя о том, какой оттенок придаст ей ваш мозг после хорошего разбега.



Я решил разобраться в том, что за странные картины роятся в голове у других, когда мы произносим «нежно-зеленый» или «золотисто-лаймовый». Естественно, все это вылилось в бесчеловечные эксперименты на живых людях, которым я выдал Inkscape, рисунок выше и попросил заполнить квадраты цветами.
Total votes 107: ↑98 and ↓9+89
Comments466

А ну-ка, девушки! Аде Лавлейс посвящается

Reading time4 min
Views14K
В этот день 174 года назад Ада Лавлейс сообщила Чарльзу Беббиджу, автору проекта аналитической машины, о том, что она самостоятельно «составила список операций для вычисления каждого коэффициента для каждой переменной», то есть написала программу для вычисления чисел Бернулли.


Источник

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

В знак уважения к Аде Лавлейс в этом посте мы хотим рассказать о тех в ЛАНИТ, кто выбрал для себя ее путь, несмотря на то, что в России у ИТ до сих пор мужское лицо.

Бонусом – для всех, кто упрекнет наш блог в отсутствии бородатых инженеров, – представим старшего разработчика Антона. Пусть сегодня он окажется в «малиннике» и поделится взглядом на проектные команды, в которых трудятся женщины.
Читать дальше →
Total votes 43: ↑35 and ↓8+27
Comments53

Кассовый разрыв: главная причина закрытия магазинов у новичков

Reading time7 min
Views57K


Эта толстая полярная лисичка подкрадывается ровно в тот момент, когда владелец думает, что у него всё хорошо. Типовой сценарий: открыл магазин в сентябре, круто отторговал Новый год, отбил вложения 10 марта, пережил летний несезон на маленькой точке, ко второму Новому году немного расширился и закончил сезон очень славно. Образовалось 2-3 свободных миллиона, на которые очень хочется купить большую сверкающую машину. Или мороженого. На все. Душа просит.

Итог — из бизнеса вынимается достаточно большая сумма.

А впереди несезон. Затраты выросли (аренда больше, продавцов больше), прибыли же могут оказаться на уровне первого года. Расходы становятся больше доходов, «подушки» нет — на резервные средства было куплено мороженое ещё в марте. Три основных расхода (80% по общей доле) — это закупка товара, аренда, зарплата. Глядя, что можно срезать, владелец начинает закупать чуть меньше товара и сокращает рекламу. Мол, всё равно товара же меньше. Прямое следствие — штопор, ведущий к закрытию.

Но давайте посмотрим всё в числах. Предположим, у нас есть очень единичная точка в регионе, которая делает 5 миллионов рублей выручки в год. Обычно это один из нескольких магазинов, но в нашем примере он будет единственным.
Читать дальше →
Total votes 134: ↑130 and ↓4+126
Comments84

Создание шейдеров

Reading time27 min
Views194K
Освоить создание графических шейдеров — это значит взять под свой контроль всю мощь видепроцессора с его тысячами параллельно работающих ядер. При таком способе программирования требуется другой образ мышления, но раскрытие его потенциала стоит потраченных усилий.

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


Сцена из Minecraft, до и после добавления нескольких шейдеров.

Задача этого туториала


Иногда программирование шейдеров представляется загадочной чёрной магией и его часто понимают неправильно. Существует множество примеров кода, демонстрирующих создание невероятных эффектов, но в которых практически нет объяснений. В своём руководстве я хочу восполнить этот пробел. Я сосредоточусь в основном на базовых принципах создания и понимания кода шейдеров, чтобы вы смогли с лёгкостью настраивать, сочетать или писать свои собственные шейдеры с нуля!
Total votes 105: ↑105 and ↓0+105
Comments27

Information

Rating
Does not participate
Registered
Activity