Search
Write a publication
Pull to refresh
38
0
Maxim Firsov @FirsofMaxim

Mobile developer, Golang backend developer

Send message

Концепт-арт — история, назначение, проблемы связанные с ним, и способы его создания

Reading time21 min
Views125K


Предисловие


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

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

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

Партия реверансов сделана, тылы прикрыты, паноптикум можно считать открытым.

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

Я не хочу того же для вас. Хочу, чтобы история была интересной, а посему – долой нудную теорию, долой правила, лекторский тон и никому не нужный апломб. Никаких графиков, таблиц и сравнений. Только эмоции и веселье, по возможности, наподобие этой работы. Один из артов которые я изготовил во время компании в поддержку финансирования разработки игры Wasteland 2.



Что же останется в статье, если убрать особливо техническую информацию, — спросите вы?
Читать дальше →

Технология быстрого создания фонов для 2D-игр на базе 3D-заготовок (48 часов разработки)

Reading time15 min
Views151K

Вместо предисловия


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

Перед тем как начать я хотел бы сделать акцент на двух положениях:
Первое. Мы исходим из того что читатель знаком с такими пакетами как 3D Studio MAX (либо любым другим пакетом трехмерного моделирования) и Photoshop (или любым его аналогом). В данном конкретном случае я собираюсь использовать терминологию этих двух пакетов. Однако, не смотря на это те же самые принципы можно использовать, пользуясь любым другим софтом.

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

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

Хочу также отметить, что я не причисляю себя к мастерам, которые делают шедевры. Данное примечание я делаю для тех злых людей, которые говорят (или скажут после публикации), что я заносчив, что меня занесло под небеса, и тех кто вместо того чтобы работать предпочитает злословить словно ябедник Кийр из моей любимой книги Оскара Лутса «Весна».

С преамбулами покончено перейдем к сути.

Я утверждаю и не беспочвенно, что хороший фон можно и нужно создавать не за неделю, не за пять дней и даже не за три. Чтобы сделать хорошую картинку для казуальной игры, без разницы i-spy это, match-3 или аркада, достаточно 48 часов. Разумеется, при условии того, что человек занимается работой, а не просиживанием штанов.

image

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

Поддержка протоколов TLS/SSL для сокетного соединения на AS3

Reading time6 min
Views7.5K


Мы разрабатываем Flash клиент для клиент-серверного приложения с постоянным сокетным соединением и нам важно защититься от прослушки трафика. Один из способов такой защиты — SSL/TLS шифрование. Во Flash сделать это можно двумя путями — использовать родной SecureSocket или TLSSocket из библиотеки as3crypto. Ниже мы обсудим плюсы и минусы, производительность, а также проблемы с которыми мы столкнулись при внедрении обоих вариантов.
Читать дальше →

Пишем игру-клон Super Mario Brothers (часть 2)

Reading time11 min
Views27K
imageДобро пожаловать во вторую часть из серии туториалов о том, как написать собственный платформер по типу Super Mario Brothers!
В первой части мы написали простой физический движок на основе Tiled Map.
Во второй (и последней) части мы научим Коалио двигаться и прыгать — самая веселая часть любого платформера!

Мы научимся отслеживать столкновения с опасностями на уровне, обрабатывать победу и поражение; добавим великолепные звуковые эффекты и музыку!

Вторая часть на порядок легче (и короче) первой — небольшой отдых после тяжелой работы в прошлый раз! Так что включайте свое кодо-кунг-фу и наслаждайтесь!
Читать дальше →

Книги для тимлидов и руководителей проектов

Reading time2 min
Views171K
Какими свойствами должен обладать хороший тимлид? Он, несомненно, должен быть технарем, иметь разносторонний опыт, уметь налаживать диалог внутри команды и с начальством, вести дискуссии и принимать решения, брать на себя ответственность, понимать бизнес-процессы, думать как заказчик и владелец бизнеса. Ну и быть немного психологом.

В отечественном IT я часто наблюдаю следующую картину: тимлидом часто становился лучший (?) разработчик из команды (aka 23-летний сеньор). А чтобы стать руководителем проекта (project manager) иногда достаточно просто знать английский и «павэрпойнт» на уровне пользователя. Это реалии отечественного аутсорсинга и с этим нужно как-то жить.

В итоге часто получается как-то так:
Потому что на десять сеньоров по статистике девять тупят.
Читать дальше →

Six Towers. История успеха?

Reading time3 min
Views78K

За три года я выложил в Apple Appstore центнер приложений.
Большинство из них интересны лишь моему воспаленному мозгу.
Некоторые приносят до 100 долларов в год. Не надо ржать, слушайте дальше.
Число игр с ежегодным доходом в 1000 долларов равно числу пальцев на руке английского программиста.
И одно приложение из сотни выстрелило. На сегодняшний день 19 декабря оно заработало 248 457 денег и к Новому 2013 году обещает преодолеет четверть-миллионный рубеж.
Согласно опросу, проведенному на Хабре, 82% местных жителей считают это успехом.
Я вынужден с ними согласиться.

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

Редакция выбрасывает меня в пятый раз из хаба Game Development. Я в недоумении. .

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

Пишем игру-клон Super Mario Brothers (часть 1)

Reading time23 min
Views89K
imageДля многих из нас Super Mario Brothers была первой игрой, которая по-настоящему завораживала своим игровым процессом.
Интуитивное управление SMB и великолепный дизайн уровней от Nintendo заставляли проводить часы напролет в виртуальной вселенной сантехника и его напарника.

В этом чудесном туториале от Джейкоба Гандерсена мы создадим собственный платформер; но, так как главным героем будет Коала, мы назовем нашу игру «Super Koalio Brothers!» ;]
Также, чтобы упростить механику, мы забудем о движущихся врагах. Вместо них мы будем использовать шипованные блоки, встроенные в пол. Это позволит нам полностью сконцентрироваться на сердце платформера — физическом движке.

Внимание! Под катом невероятное количество переведенного текста, картинок, кода (код не переведен) и руководство по созданию собственного физического движка!
Читать дальше →

Телевизоры. Часть 2. Плазма или ЖК, шасси, диагональ, передача движения, цвет, влияние на зрение

Reading time9 min
Views324K
Снова здравствуйте, дорогие хабрачеловеки.

Первая часть вызвала определенный интерес, поэтому было решено продолжить эту тему.
Хочу сказать отдельное спасибо, тем кто уделил внимание первой части. Я не думал, что моя скромная статья вызовет такой немалый интерес.

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

Алгоритм поиска пути Jump Point Search

Reading time6 min
Views125K
Этот алгоритм является улучшенным алгоритмом поиска пути A*. JPS ускоряет поиск пути, “перепрыгивая” многие места, которые должны быть просмотрены.  В отличие от подобных алгоритмов JPS не требует предварительной обработки и дополнительных затрат памяти. Данный алгоритм представлен в 2011 году, а в 2012 получил высокие отклики. Что из себя представляет данный алгоритм и его реализацию можно прочитать дальше в статье.


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

Сколько стоит создать приложение или вся правда о деньгах

Reading time7 min
Views71K
Узнав, что я занимаюсь разработкой мобильных приложений, мои знакомые время от времени, спрашивают: «сколько стоит разработать приложение?». И я честно отвечаю: «от 200 долларов». Приложение будет писать на экране HELLO WORLD, его не пропустят в магазин из-за «bad user experience», но работать-то приложение будет!

Самое удивительное, что огромное количество разработчиков и вправду создает что-то за 3000 долларов и даже выкладывает это в App Store.

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

Так и хочется, заглянуть им в глаза и проникновенно спросить:

— Ребят, а вы из какой сказки?

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

Основные статьи расходов при создании проекта:

Статья Расход
Дизайн приложения $ 13 000
Создание уникальности $ 10 000
Производство графики $ 35 000
Программирование $ 45 000
Текстовый контент $ 5 000
Локализация $ 3 000
Музыка и звук $ 1 000
Полировка $ 17 000
Маркетинг $ 30 000
Управление $ 30 000
Итого: $ 189 000


Вся раскладка будет сделана на примере нашего приложения "МоиЭмоции". Приложение бесплатное, весь функционал можно посмотреть.

Почему так дорого?

Framework в Мармеладе (часть 3)

Reading time8 min
Views3.2K
Сегодня мы продолжим описание разработки Marmalade Framework, начатой в 1 части статей этого цикла, усовершенствовав работу с графическими ресурсами, а также добавив работу со звуком и группами изображений, при помощи которых мы обеспечим локализацию приложений.
Читать дальше →

Framework в Мармеладе (часть 2)

Reading time12 min
Views4.2K
В предыдущей статье я начал рассказывать о разработке небольшого Framework-а для создания 2D-игр, с использованием инструментальной системы Marmalade, предоставляющей возможность разработки и сборки приложений для ряда платформ, в том числе iOS и Android. Мы научились работать с графическими ресурсами и построили небольшое тестовое приложение. Сегодня я хочу рассказать об обработке событий.
Читать дальше →

Создаем match-3 игру при помощи Flash и ActionScript

Reading time32 min
Views62K
Всем коллегам, здравствуйте.
Я начинающий FlashGame-разработчик. Мне понравился урок по созданию игры на механике match-three. Сам урок я понял с первого раза, а для чего же я сделал перевод? Во-первых, надеюсь это поможет кому-то, кто не силен в «инглише». Во-вторых, перевод позволил мне разобрать весь код по косточкам, очень тщательно. Ну и в-третьих, отталкиваясь от этой механики вы можете начинать создавать мач-3 вашей мечты. И он необязательно должен быть на Flash.

Перед тем как я начну, выдам пару соглашений. Урок взят мной из книги Gary Rosenzweig — «ActionScript 3.0 Game Programming University». Я уже писал в своем личном блоге, что не все наши флеш-разработчики положительно относятся к этой книге. Перевод может показаться немного деревянным и не очень приятным на слух. Некоторые слова, выражения могут иметь более подходящие аналоги в русском языке. Если это будет критично, исправлю. В программе используется дополнительный класс PointBurst. Я не буду его сейчас описывать, а скорее всего сделаю это в личном блоге, т.к. это довольно интересный класс. Просто пока будем знать, что этот класс выдает эффект всплывающих очков в определенном месте.
И последнее, я не придумывал ничего нового, а просто сделал перевод, т.е. все благодарности автору книги Gary Rosenzweig.



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

Framework в Мармеладе (часть 1)

Reading time12 min
Views13K
В этом цикле статей я опишу разработку небольшого Framework-а, предназначенного для создания 2D-игр, с использованием Marmalade. Marmalade предоставляет API для разработки кросс-платформенных приложений, позволяя собирать их, в том числе, под Android и iOS. Работа в Marmalade довольно комфортна, а его справочная система сопровождена большим количеством примеров, но сам процесс разработки носит довольно низкоуровневый характер. Использование готового Framework-а может сильно облегчить жизнь начинающему разработчику.
Читать дальше →

JAVA библиотека padeg — новогодний подарок хабру

Reading time4 min
Views26K
Да-да, это та самая библиотека padeg.dll, но работающая везде где есть java. Авторы Sergey V. Plahov aka Seer and Gennady Pokatashkin
Собственно, история простая. Началась она в 2007 году, когда мне срочно понадобилось склонять ФИО и должности для одного корпоративного проекта. В принципе, данный функционал не стоял в требованиях заказчика, но нужны были «плюшки», и автоматические склонения — это как раз одна из плюшек.
Довольно быстро удалось связаться с одним из авторов библиотеки, и после перечисления небольшой суммы были получены исходники на Delphi, которые затем портировались в JAVA. По первоначальной задумке java и delphi исходники должны были максимально совпадать, чтобы впоследствии можно было вносить параллельные правки. Делалось так: брались исходники на delphi, менялись расширения pas→java, и добавлялись в проект. Дальше шла правка синтаксиса. Но фактически delphi — код пришлось сильно рефакторизовать, поскольку он состоял в основном из многоэтажных if-ов и внутренних процедур, содержал глобальные переменные и не был приспособлен для многопоточной работы.
Как бы там ни было, библиотека портирована. На вопрос о копирайте мне было разрешено делать с результатом что угодно, но поскольку delphi-библиотека распространялась на условиях shareware, я не стал публиковать java-порт.
С тех пор прошло 5 лет, и я думаю, хватит одному пользоваться инструментом, которой найдется применение в хозяйстве отечественного java — разработчика. К тому же праздник на носу. Поэтому загружайте
Читать дальше →

Проверка принадлежности точки невыпуклому многоугольнику

Reading time5 min
Views38K
Проверить принадлежность точки невыпуклому многоугольнику за линейное время совсем не сложно. Один из самых распространенных методов — выпустить луч и посчитать число точек пересечения. Однако, при этом нужно аккуратно рассматривать случаи, когда точки многоугольника попадают на луч. Отсюда естественно возникает вопрос, как рассмотреть эти случаи проще всего?
Дать волю пефекционизму

Как начать писать игры

Reading time9 min
Views349K
Оригинал: Starting out on Game Programming

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

Вы только что закончили ваш первый курс по С++ и хотите начать делать игры. Кто-то указал вам на этот сайт и вы, возможно, поэкспериментировали немного с руководством. Вы изучили несколько лаконичных примеров, но не нашли руководства о том, как сделать целую игру. И на то есть причина.

Руководства хороши для обучения чему-то шаг за шагом, например тому, как перемещать изображение точки по экрану. Для того чтобы собрать игру воедино, вам нужны навыки решения возникающих проблем, приобретаемые лишь с опытом. Это не то, чему можно научиться из руководств. Лучший способ научиться делать игры — это начать их делать.
Дальше

Тест Джоэла как инструмент собеседуемого

Reading time5 min
Views68K
Многие хабровачане наверняка знакомы с тестом Джоэла (перевод). Если в двух словах, Джоэл Спольски предлагает на основе выбранных им критериев оценить любому инженеру, насколько хороша его команда.

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

Допустим, эта часть Вам понравилась и Вы задумались о том, чтобы перейти в этот проект. Потенциально Вам с этими людьми работать следующие несколько лет (ну минимум — месяцев). Поэтому имеет смысл пораспрашивать о проекте поподробнее. А заодно и будущих сокомандников прощупать — что они за перцы? ;)

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

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

Настройка Nginx + LAMP сервера в домашних условиях. Часть 1: Настройка frontend — backend

Reading time8 min
Views85K

Здравствуйте. Недавно я задавал вопрос по поводу создания цикла статей. Вот первая статья.

В этом цикле статей вы узнаете как грамотно настроить LAMP сервер, аля «хостинг только мощней».
Мы будем использовать следующий стек: nginx — apache-mpm-itk — mod_php — mysql — linux/debian.

Буду освещать следующие темы:
  • Настройка frontend — backend
  • Расчет возможностей сервера, настройка mysql и backend
  • Рассказ об опыте на базе intel s3420gp

Совершенно уверенно могу сказать, что настройка LAMP сервера не ограничивается 6-10 командами установки и раскомментирования определенных строчек в файлах настройки.
Пример: по умолчанию nginx не дает возможности закачать на сервер тело запроса больше чем 1M. Если не настроить данный параметр, будет возникать ошибка 414 (Request-URI Too Large), при попытке добавления небольшой серии фотографий.
У apache совершенно противоположное: у него тело запроса по умолчанию не ограничено. Это делает возможным совершать пакости.

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

Мы узнаем о том какие бывают простые атаки и как от них защищаться. Сразу скажу, что при базовой конфигурации frontend в лице nginx — backend apache все равно остается уязвим.

Я практически уверен, что я не смогу уместить все в одну статью. Добро пожаловать под кат.
Читать дальше →

Information

Rating
2,188-th
Location
Снежинск (Челябинская обл.), Челябинская обл., Россия
Date of birth
Registered
Activity