Как стать автором
Обновить
12
0
Василенко Виталий @VeTaLv

Пользователь

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

Добавляем MVP в игры на Unity3D

Время на прочтение5 мин
Количество просмотров21K
image Всем доброго времени суток. В данной статье хотел бы рассказать о том как можно применить шаблон MVP в процессе разработки игр на платформе Unity3D. Использование этого шаблона может способствовать упорядочению кода и улучшению структуры проекта. Стоит сразу отметить, что в статье не дается детального описания самого шаблона, а предполагается наличие у читателя базовых знаний о нем.

Как мы все с Вами знаем, MVP — это шаблон призванный отделить презентационную логику от логики приложения. В случае Unity3D, представлением может быть GameObject с набором прикрепленных к нему компонентов, необходимых для реализации презентационной логики ( в том числе и компонент самой презентационной логики — MonoBehaviour имплементирующий соответствующий интерфейс представления (View)).
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии6

MugenMvvmToolkit — кроссплатформенный MVVM фреймворк

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

MugenMvvmToolkit


Введение


Паттерн MVVM хорошо известен, о нем написано много статей, наверное каждый NET-разработчик сталкивался или слышал об этом паттерне. Цель этой статьи – рассказать о собственной реализации этого паттерна.
MugenMvvmToolkit — является кроссплатформенной реализацией паттерна MVVM и на текущий момент поддерживает следующие платформы:
  • WinForms
  • WPF
  • Silverlight 5
  • Silverlight for WP7.1, WP8, WP8.1
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.Forms
  • WinRT XAML framework for Windows 8 Store apps

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

58 признаков хорошего интерфейса

Время на прочтение16 мин
Количество просмотров381K
У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

1 Один столбец вместо нескольких


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

image
Читать дальше →
Всего голосов 226: ↑182 и ↓44+138
Комментарии102

Ад визуализации 1.1 — Книга 1: Обзор

Время на прочтение4 мин
Количество просмотров26K
Ад визуализации 1.1:
Недостаток знаний иногда может оказаться достоинством, потому что вы наивно говорите себе: «Пфф… разве это сложно?» и просто погружаетесь в проблему с головой. Я начал эту статью с размышления: «Хм… Что же такое Draw Call?». За время «5-ти минутного» исследования я так и не нашел удовлетворяющего меня объяснения. Я проверил часы и, так как до сна оставалось еще 30 минут, сказал…
Пфф… Разве это сложно написать самостоятельно?
… и просто начал. Это было два месяца назад и с тех пор я непрерывно читал, писал и задавал много вопросов.

Это было самое сложное и низкоуровневое исследование, которое я когда-либо делал, и для меня непрограммиста это был кошмар состоящий из «да, но в этом особом случае...» и «зависит от реализации API...». Это был мой личный ад визуализации, но я прошел через него и принес нечто с собой: Четыре книги, каждая из которых представляет собой попытку объяснить одну из частей визуализации с точки зрения художника. Я надеюсь, что вам понравится.
Книга 1: Обзор
Всего голосов 37: ↑34 и ↓3+31
Комментарии6

Детекторы углов

Время на прочтение18 мин
Количество просмотров111K
Мне интересна обработка изображений, в особенности работа с особыми точками. Ища информацию по детекторам углов, я не нашел достаточно большого обзора этих алгоритмов на русском языке. Поэтому я решил исправить ситуацию, написав эту статью. План статьи следующий:

  • Введение
  • Свойства особых точек
  • Детекторы углов
    • Moravec
    • Harris
    • Shi-Tomasi
    • Förstner
    • SUSAN
    • Trajkovic
    • FAST
    • CSS
    • Детектор, основанный на глобальных и локальных свойствах кривизны
    • CPDA
  • Выводы



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

Ускорение загрузки Windows for fun and profit

Время на прочтение4 мин
Количество просмотров807K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Всего голосов 533: ↑517 и ↓16+501
Комментарии365

То, чего еще никто не писал про Нокиа, Элопа и горящую платформу

Время на прочтение40 мин
Количество просмотров549K
Взявшись за этот пост, автор полностью отдает себе отчет. И в том что «набило оскомину». И что «только ленивый не кинул камень». И про то что «хватит уже, достали». Однако, вдоволь начитавшись доморощенных и не очень аналитиков, автор решил все-таки выразить собственное мнение, которое отличается от того общепринятого, что с некоей мазохистской истомой доселе перепечатывалось здесь и тут различными авторами, интерпретаторами и переводчиками. Вероятно кому-то будет интересно его прочитать.

Традиционно, для тех кто не любит много буков, краткие (более-менее) тезисы:

  • Будучи долгое время лидером на рынке, Нокиа сильно расслабилась и загадила свою внутреннюю инфраструктуру бюрократией, чрезмерным аутсорсингом и огромным количеством бесполезной «менеджерской прослойки».
  • Будучи долгое время лидером, Нокиа просрала потратила много денег на ненужные операционные расходы, поглощения никому не нужных фирм и на невменяемую модель аутсорсинга.
  • Полностью оторвавшись от реальности с уходом Йормы Оллилла, Нокиа, под управлением гениального юриста CEO Олли-Пекки Каласвуо, потратила кучу денег и усилий на создание бесполезной и неконкурентоспособной сервисной инфраструктуры Ovi. В результате этого, помимо денег, Нокиа потеряла уйму полезного времени, которое можно и нужно было потратить на развитие основного бизнеса — телефонов, софта и т.д.
  • Бюрократия и непотопляемая менеджерская прослойка в Нокиа, последовательно мигрировала из одного передового проекта в другой, в составе одних и тех же групп лиц, самореплицируясь в виде кучи формальных дебилопроцессов комитетов и управленческих групп, немного перетасовываемых с учетом специфики. В итоге именно эта бюрократия убила и Symbian, и Ovi, и MeeGo и остальные попытки догнать уходящий поезд своими силами.
  • Борьба с бюрократией и прослойкой в Нокиа зашла в полный тупик.
  • У великого CEO Элопа просто не было другого выхода кроме как прибить всю старую, неповоротливую и прогнившую организацию, путем создания альянса с Майкрософтом и переходом на Windows Phone. Тем самым все старые процессы, компетенции, технологии и самое главное — люди резко стали, что называется, «не в тему». И следовательно тем самым можно было под благовидным предлогом прибить этот табун менеджеров, бесконечно рисующих фэнтезийные роадмапы с единорогами и перекладывающих бумаги с левого края стола на правый.
  • Новая Нокиа, после 2011 года и старая Нокиа до 2011 года – это две РАЗНЫЕ организации. Их объединяет только общее название и операционка S40 для телефонов Asha.
  • Горящая платформа, это не Symbian и не MeeGo. Горящая платформа, это то состояние в которое Нокиа загнали годы расслабленного лидерства и тупоголовые амбиции предыдущего CEO – Олли-Пекки Каласвуо с кликой подкаркивающих вице-президентов.
  • С бюрократией и бизнес процессами, имеющимися на 2010 год, Нокиа не спас бы ни Андроид, ни половина населения Бангалора, пишущих на Qt под MeeGo. Даже если бы Apple бесплатно передал Нокиа iOS и все сервисы, то они бы выродились руками всяких Requirement Managerов в типичные Нокийские дизайн-химеры и в итоге загнулись через какое-то время.
  • То, что сделал великий CEO Элоп – было единственно возможным разумным решением, дающим хоть какие-то шансы на выживание. Вопрос «каким образом он это сделал?», остается открытым, равно как и вопрос «поможет ли это Нокиа?» в итоге. Не следует забывать, что нынешняя Нокиа — это совершенно новая организация, поэтому глупо предполагать, что она разом вернет себе лидерство. Как и всем новым организациям ей придется за это лидерство долго бороться.
  • Без ошибок и побед Нокиа никогда не было бы ни Андроида, ни Айфона. И Google и Apple тщательно проанализировали достоинства и недостатки более старших конкурентов перед тем как шагнуть вперед.

Все это в деталях — под катом. Предупреждаю что клевых картинок там нет. Сплошное графоманство и ёрничанье.
Читать дальше →
Всего голосов 548: ↑505 и ↓43+462
Комментарии330

Не тратьте своё время на дерьмовую работу в стартапе

Время на прочтение21 мин
Количество просмотров73K
Под катом перевод огромной статьи, написанной Майклом Чёрчем и посвящённой стартапам. Статья вызвала необыкновенное бурление… мнений, скажем так, на разных сайтах и агрегаторах, поэтому я решил её перевести на русский и посмотреть на реакцию. Текст ОЧЕНЬ длинный, но также и очень интересный. И несколько пояснений перед чтением: в статье речь идёт об инженере в стартапе, именно с этой позиции всё рассматривать; некоторые финансово-экономические термины, возможно, не очень адекватно удались и я буду рад любым конструктивным поправкам.

То, о чём я хочу рассказать, справедливо для июля 2012 г. 15 лет назад необязательно было так же, и не факт, что будет справедливо через год. Но в данный момент это абсолютно верно для большинства людей в достаточной степени, так что я считаю обязанным высказаться. Нынешний мир ИК-стартапов (ИК=инвестиционный капитал / venture capital) — я его нежно называю ИК-стан — является, мягко говоря, тотально напрасной тратой времени для большинства вовлечённых людей.
Читать дальше →
Всего голосов 238: ↑221 и ↓17+204
Комментарии77

Двуногий робот в теории

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

image
Читать дальше →
Всего голосов 60: ↑53 и ↓7+46
Комментарии83

Ремейк Caesar III: математическая модель города

Время на прочтение6 мин
Количество просмотров67K
Я помню как играл первый раз в Цезарь 3, это удивительно умная и сбалансированная игра, создает чувство, что город живет своей жизнью и после завершения миссии. Можно провести часы, наблюдая за городом и не вмешиваться в его жизнь: плебеи будут бегать по городу в поисках работы, а патриции жаловаться на неважные условия жизни, торговцы, школьники, лодки, жрецы — этот мир замирает лишь в минуты пауз, давая игроку возможность продумать следующий шаг. Исследуя внутренние алгоритмы игры, я не перестаю удивляться с какой точностью авторы сложили кусочки мозаики, под названием «баланс». За время, проведенное над восстановлением кода оригинальной игры скопилось достаточно материала по макромеханике игры, которым я хочу поделиться с хабрасообществом.


Plebs are needed!
Всего голосов 142: ↑141 и ↓1+140
Комментарии78

Сверхбыстрое распознавание речи без серверов на реальном примере

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

В этой статье я подробно расскажу и покажу, как правильно и быстро прикрутить распознавание русской речи на движке Pocketsphinx (для iOS порт OpenEars) на реальном Hello World примере управления домашней техникой.
Почему именно домашней техникой? Да потому что благодаря такому примеру можно оценить ту скорость и точность, которой можно добиться при использовании полностью локального распознавания речи без серверов типа Google ASR или Яндекс SpeechKit.
К статье я также прилагаю все исходники программы и саму сборку под Android.

Прикручиваем Pocketsphinx к своему Андроиду
Всего голосов 185: ↑182 и ↓3+179
Комментарии87

Скрипты для редактора в Unity3D

Время на прочтение4 мин
Количество просмотров51K
Сегодня поговорим о том, как писать скрипты для Unity Editor. Статья рассчитана на тех, кто уже знаком с Unity3D, что-то успел сделать, но еще не решился попробовать писать скрипты для эдитора.

Если коротко — то в режиме эдитора скриптами можно сделать абсолютно всё тоже самое, что и в режиме игры.

Начнем с простого. Допустим, мы хотим в режиме эдитора создать 10 кубиков и расположить их в линию. Для начала давайте упростим задачу и забудем про эдитор, давайте сделаем так, чтобы эти кубики создавались при старте приложения.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии4

Реалистичное гравитационное линзование на Unity

Время на прочтение4 мин
Количество просмотров28K
image
Эффект гравитационной линзы вызванный скоплением галактик RCS2 032727-132623

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

Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии12

Работаем с уведомлениями в Windows Phone 8.1

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


Привет всем!

Сегодня поговорим о новых возможностях, касающихся уведомлений в Windows/Windows Phone 8.1. Обсудим какие типы уведомлений существуют, каким способом их организовать в своем приложении, а также отметим одну из главных новинок для Windows Phone устройств — Центр уведомлений (Action Center).
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии4

Как применять IDisposable и финализаторы: 3 простых правила

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

От переводчика


После рассказа об утечке памяти и правильной реализации событий размещаю еще один перевод понравившейся мне статьи на тему управления памятью. Я видел несколько разных реализаций Dispose паттерна, иногда они даже противоречили друг другу. В этой статье автор представил хорошее и четкое разъяснение, когда следует реализовывать интерфейс IDisposable, когда финализаторы, а когда — все вместе.
И когда же?
Всего голосов 45: ↑35 и ↓10+25
Комментарии24

C# async для iOS и Android

Время на прочтение9 мин
Количество просмотров16K
Xamarin добавил поддержку C# 5 Async/await на iOS и Android. Кроме базовых классов .NET Async, появились 174 асинхронных метода в Xamarin.iOS и 337 в Xamarin.Android. Асинхронным так же стал Xamarin Mobile, который предоставляет кроссплатформенный доступ к адресной книге, камере и геолокации. Компоненты вовсю добавляют поддержку async, например, облачный backend Parse.

Под катом расшифровка и перевод вебинара об этом значимом событии.


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

Создание рейтинга игроков для мобильной игры (Unity + Google Play Game Services)

Время на прочтение3 мин
Количество просмотров50K
Рейтинг игроков (leaderboard, scores) для мобильной игры — вещь интересная и порой даже необходимая. В этой статье я расскажу о том, как добавить рейтинг игроков в приложение, созданное в Unity, т.к. в рунете информации об этом не так много. Кроме того, рейтинг будет кросплатформенный (android + iOS), однако без поддержки Windows Phone.

image
Читать дальше →
Всего голосов 9: ↑6 и ↓3+3
Комментарии11

Дюжина дизайнерских косяков

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


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

Спустя время я выделил несколько неочевидных вещей, на которые старался обращать внимание, и в большинстве случаев находил ошибки. Получился небольшой чеклист. Очень полезный как для самопроверки, так и для проверки чужого дизайна. Им с вами и спешу поделиться:
Читать дальше →
Всего голосов 225: ↑210 и ↓15+195
Комментарии140

Оптимизация размещения купюр в банкоматах

Время на прочтение6 мин
Количество просмотров81K
Внутри у среднего банкомата лежит от 1 до 3 миллионов рублей. Они разложены по 4 кассетам, в каждой из которых – купюры своего номинала. Замена кассет похожа на замену картриджей в принтере: модуль вынимается (и неважно, сколько там осталось денег — инкассаторы этого даже не знают по правилам безопасности), а на его место вставляется другой модуль точно по стрелке, указывающей, какой стороной и как это делать.

Инкассация — дорогая и достаточно рискованная с точки зрения безопасности процедура, поэтому любое обслуживание банкомата обходится довольно дорого. Естественное желание банка – уменьшить количество инкассаций. Получается классическая задача распределения ресурсов: с одной стороны, в банкомате всегда должны быть деньги для клиентов, с другой — в идеале банк хочет, чтобы ровно перед инкассацией из ящика уходила последняя купюра.
Читать дальше →
Всего голосов 106: ↑101 и ↓5+96
Комментарии155

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

Время на прочтение4 мин
Количество просмотров82K
Представьте двух героев: коммерсанта Александра и сисадмина Василия. Вася, как олицетворение среднестатистического клиента, каждый вечер заходит в магазин Саши (представителя розничной сети) и покупает пиво. Саша заказывает для него 7 бутылок пива в неделю. Иногда Вася остаётся работать с ночевкой и не выходит из серверной, а иногда – после работы берёт по две бутылки пива для себя и главбуха.


График спроса на пиво в зависимости от жизненных приключений Васи

Саша не может предсказать эти периоды, поэтому постоянно находится меж двух огней: либо купить больше товара, «заморозить» деньги и потратиться на его хранение, либо купить ровно по среднему спросу, рискуя в какой-то момент расстроить Васю и его друга бухгалтера отсутствием нужного количества пива.
Читать дальше →
Всего голосов 62: ↑52 и ↓10+42
Комментарии49

Информация

В рейтинге
Не участвует
Откуда
Helsinki, Southern Finland, Финляндия
Дата рождения
Зарегистрирован
Активность