Search
Write a publication
Pull to refresh
15
0
Николай Воробьев @Kano

User

Send message

Интервью с Greenheart Games. Инди с характером

Reading time10 min
Views12K
(Интервьюер: Марина virtualtomato, менеджер проектов в All Correct Localization)

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

Три вечера 2013 года было мной отдано инди-игре Game Dev Tycoon. Это небольшой симулятор студии, разрабатывающей игры. Я с удовольствием прошла ее, и мне захотелось сказать ребятам, которые ее сделали, спасибо. Оказалось, что это был дебют студии Greenheart Games. Дебют — это всегда очень волнительно. Поэтому я подумала, что тем, кто делает сейчас свою первую игру, история такого, пусть и небольшого, но определенно успеха, может придать уверенности и сил завершить начатое. Да и я удовлетворю свое любопытство.

Ну, вот я и написала Greenheart свои вопросы. А они взяли и согласились на них ответить. Ниже мое интервью с основателем, директором и гейм-дизайнером Greenheart Games Патриком Клюгом.
Читать дальше →

Бесконечные неповторяющиеся текстуры с помощью мозаики Вана

Reading time4 min
Views49K


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

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

Как же быть? Есть один трюк — непериодические мозаики. Они лишены проблемы повторяемости и достаточно просты в реализации. Одну из таких мозаик придумал китайский математик Ван Хао в 1961 году. Элементы этой мозаики можно представить в виде прямоугольников с разноцветными гранями. Но чтобы понять принцип её работы, надо сначала разобраться в классическом методе заполнения площадей текстурами.
А классический метод таков...

Деньги и App Store

Reading time15 min
Views80K

Статистика для инди разработчика



Автор Emeric Thoa

Перевод мой

Intro


Когда я распрощался с работой на крупную игровую компанию и основал свою игровую студию, было интересно прикинуть, сколько денег можно было ожидать заработать как инди разработчик. Проработав в Ubisoft в разработке консольных AAA игр, у меня были некоторые соображения. Но они для моей новой инди жизни уже были неактуальны. 20-ти миллионные бюджеты в долларах, команды из 20 тысяч человек, продажи по 70 долларов за копию… Я понимал, что для инди все намного по-другому, но информации о том, насколько по-другому было очень недостаточно.

Angry Birds взлетела на Олимп, Plants vs. Zombies уже была показательным образцом успеха, Doodle Jump был хорошим примером успеха в то время, когда я стартовал, Cut the Rope продавалась по миллиону копий в неделю. Но, кроме случаев, которые я называю джекпотами, в сети было очень мало публичных данных со статистикой. Это значило, что финансовые ожидания от первого проекта SQUIDS были покрыты мраком необоснованных предположений. С тех пор, я собираю статистику и в этой статье хочу поделиться информацией с собратьями по оружию – инди разработчиками, которые находятся на той стадии, на которой я сам был полтора года назад.

Мифы App Store


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

Поиск проезда на общественном транспорте теперь во всех версиях 2ГИС 

Reading time1 min
Views26K
Сегодня состоялся релиз поиска проезда на общественном транспорте в 2ГИС Онлайн. Теперь спланировать поездку можно с любой версией нашего справочника (ПК, версии для смартфонов и онлайн-версии, которая работает на API 2GIS). Более того, наша крупнейшая база маршрутов отныне доступна практически с любого устройства, где есть браузер.


Подробности и инфографика внутри

intro.js — пошаговое руководство для веб-страницы

Reading time1 min
Views52K


Эта маленькая библиотека позволяет очень просто создать пошаговое введение для сайта или приложения. Достаточно добавить атрибуты data-intro и data-step с описанием и номером шага соответственно к нужным элементам страницы. Вот так:

<a href='http://google.com/' data-intro='Hello step one!' data-step='1'></a>
Читать дальше →

Knockout MVC — Сила Knockout.js для ASP.NET MVC

Reading time7 min
Views54K
knockoutmvcДля тех кто не в курсе, Knockout.js — это популярная JavaScript библиотека, позволяющая реализовать Model-View-View Model (MVVM) паттерн на клиенте. На Хабре уже много писали про него (раз, два, три, четыре, пять, видео). Освоить Knockout.js можно очень быстро — ведь есть система интерактивного обучения, куча живых примеров (можно потыкать и посмотреть исходный код) и прекрасная документация.

Очень часто Knockout.js используют в связке с ASP.NET MVC — ведь библиотека существенно упрощает написание клиентской логики. Однако, возникает много типичных проблем для клиент-серверной разработки: основную модель и часть логики её обработки приходится описывать как на клиенте (JavaScript), так и на сервере (C#/VB). Кроме того, есть рутинная часть, связанная с обращением клиента к серверным методам и передачи им модели для обработки. Но не стоит печалиться! Теперь у нас есть Knockout MVC — это .NET оболочка для Knockout.js, которая генерирует весь нужный JavaScript-код за нас. Нам остаётся только описать нашу модель на C# и в MVVM-стиле указать для каждого нужного html-элемента к какому свойству модели нужно привязаться (а можно указать и целые выражения — они будут транслированы в js). Таким образом, можно получить полноценное кроссбраузерное клиентское веб-приложение без единой строчки JavaScript!
Читать дальше →

LESS: программируемый язык стилей

Reading time13 min
Views432K
Я не люблю CSS. Он простой и понятный. Это движущая сила Интернета, но он слишком ограниченный и им трудно управлять. Пришло время привести этот язык в порядок и сделать его более полезным, используя динамический CSS при помощи LESS.
Объясню свою позицию на примере. Почему бы вместо использования #FF9F94 для получения темно-персикового цвета просто не хранить значение этого цвета в переменной для её последующего использования? Что бы перекрасить сайт достаточно будет изменить значение переменной всего в одном месте и всё.
Другими словами: это будет очень изящно, если мы будем использовать немного программирования и логики в CSS, что бы сделать его более мощным инструментом. Хорошо, что это всё возможно с использованием LESS.
Так что же такое LESS?

Разработка под iOS в среде Visual Studio

Reading time1 min
Views36K
Сегодня, 21 февраля 2013 года, компания Xamarin объявила о выходе Xamarin 2.0. Xamarin — компания, созданная разработчиками Mono, MonoTouch и Mono for Android, кросс-платформенной реализации платформы .NET.



На данный момент стоимость разработки под iOS в Visual Studio оценивается в 999 U.S$

Существует возможность скачать Starter Edition, которая позволяет писать не более 32к скомпилированных(?) строк кода, которые, по их мнению, будут достаточными для всех мини-приложений. Поддержка отсутствует. Купить/скачать — store.xamarin.com

via TechCrunch

Кросс-платформенная мобильная игра и палки в колеса от Android

Reading time4 min
Views57K
В этой статье я хочу поделиться с вами нашим опытом разработки мобильной кросс-платформенной (iOS/Android) игры.

Игру мы писали на Unity, а сама графика — спрайтовая. Но многое из сказанного ниже будет справедливо также и для других кросс-платформенных движков, а так же — для полноценного 3D.

Начну я свой рассказ с заблуждения.

Миф о кросс-платформенности.


Когда мы с командой начинали разработку этого проекта на большом и очень кросс-платформенном движке Unity (который также поддерживает Win, Mac, XBox, PS3, PSP, и т.п.) — то мы надеялись на то, что Unity возьмет всю заботу о кросс-платформенности на себя, а наша задача будет только жать «publish» под разные платформы и пить кофе.

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

Но не все так просто.
Читать дальше →

Облака на CSS3 3D Transformations

Reading time6 min
Views27K

Пример, как нарисовать красивые 3D облака используя CSS 3D Transformations



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

Для нетерпеливых: То, что получится в итоге

Вступление


В этой статье, автор попытаеся рассказать и показать как создать красивые 3D облака используя CSS3 Transformations. Автор так-же считает, что иметь базовое понятие о том, как работают эти самые CSS 3 Transformations не будет лишним. Ссылка на туториал здесь

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

Сделай сам!

  • Создаем мир и камеру
  • Добавляем объекты в мир
  • Добавляем спрайты к облакам
  • Магия
  • Пролог


Поооеехааали!

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

Маленький отважный арканоид (часть 2 — YAML)

Reading time7 min
Views10K
Продолжая рассказ про наш маленький (но очень отважный) arcanoid, я не могу не упомянуть о таком замечательном языке как YAML. Любая, даже самая простая, игра должна хранить массу данных, таких как: описание уровней, текущее состояние настроек, список достижений и т.п. Желательно, чтобы все это хранилось в понятном человеку и легко редактируемом виде. Традиционно, для этих целей используется XML, но он весьма многословен и его вряд-ли можно считать удобным для ручного редактирования.

YAML существенно лаконичнее, и сегодня, мы научимся им пользоваться.
Читать дальше →

OVH: заказываем микро-сервер у крупнейшего хостера в мире

Reading time3 min
Views112K
OVH — на данный момент является крупнейшим хостинг-провайдером в мире, 120 тысяч серверов в Европе и еще 360 тысяч — в Канаде. Дичайшая конкуренция на французском рынке держит цены на низком уровне (особенно на трафик).

Интерес эта компания у многих вызывала давно, до 2011-года они вообще работали только с резидентами ЕС, после — регистрироваться приходилось в разных отделениях в разное время, оставалось много неясных (для меня) вопросов. Их я и решил прояснить.

Под катом — краткий рассказ о том, в какой валюте придется платить, как избавиться от НДС, какие документы требуют и краткий тест выделенного сервера на Atom-е за 10 евро в месяц.
Читать дальше →

Как вывести деньги из App Store на карту Payoneer

Reading time2 min
Views45K
Обещанного ждут не три года, а всего несколько месяцев. В нашем прошлом посте мы обещали рассказать про вывод из App Store и, вот, рассказываем.

Многие владельцы карт Payoneer зарабатывают на жизнь нелегким трудом разработчика приложений. А перед каждым разработчиком (или компанией оных) рано или поздно встает вопрос вывода заработанных средств. Услуга US Payment Service компании Payoneer позволяет получать выплаты от Apple, PayPal и Google и многих других прямо на вашу карту Payoneer MasterCard.
Читать дальше →

Версионность API в .NET MVC 4

Reading time6 min
Views9.9K
Доброго времени суток.

С появлением ASP.NET Web API появился удобный и мощный инструмент для создания API для вашего сайта. Но, как известно, с течением времени, ваш API может меняться, дополняться или может быть вовсе переделан с нуля. Для совместимости со старыми клиентами необходимо реализовать версионность.

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

В тоже время, в ASP.NET MVC Web API есть достаточно мощный механизм в виде интерфейса IHttpControllerSelector, с помощью которого можно реализовать версионность, оставив код чистым и понятным.

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

Разработка игры под Windows Phone

Reading time9 min
Views37K


В этой статье я хочу рассказать о своем опыте написания игры под платформу Windows Phone. Несмотря на кажущуюся простоту, путь от идеи до принятия игры в Windows Phone Store занял практически год и был полон неожиданных подводных камней — как с технической, так и с организационной сторон. Статья рассчитана на начинающих разработчиков, которые имеют представление о .NET / C#, но не пробовали делать полноценных игр.
Читать дальше →

Симуляция движения и заноса машины в игре на JavaScript

Reading time2 min
Views23K
Нужно было написать игру на JavaScript. Решил остановиться на примитивных гоночках. Когда я овладел принципами вращения и перемещения по HTML5 Canvas появилась следующая проблема: управление автомобилем. Делая эту игру я вспоминал игру Grand Prix Simulator 2 ZX Spectrum, в кторую я играл на компьютере «Байт».
Читать дальше →

Слежение за изменениями в директории: как это делается в разных ОС

Reading time3 min
Views74K
Я бы хотел посвятить статью обзору API, предоставляемых разными ОС для слежения за изменениями в директории. Статья появилась как результат моей работы над демонами слежения за изменениями для утилиты dklab_realsync (статья на хабре, github репозиторий) и своей собственной, которую я пока что не хочу анонсировать.
Читать дальше →

WPF, WinForms: рисуем Bitmap c >15000 FPS. Хардкорные трюки ч.1

Reading time4 min
Views43K
Сразу уточнение: Bitmap 200x100 на компе с быстрой памятью и i7 3930K на 1366. Но, это честный System.Drawing.Bitmap.
Вводная: приложение типа осциллографа. Ссылка на готовый проект с фронтэндом в конце статьи.
Как же быстро рисовать его на экран? WriteableBitmap хорош, быстр, и он лучшее решение для WP, WinRT, WPF. Но занудного старпёра-кодера также волнует WinForms, .Net 2.0, Win2K (да-да, в некоторых гос.органах до сих пор теплый ламповый Win2K).
Далее, я обратил внимание на DirectX, тем более у нас для WPF появился полезный контрол D3DImage. Я перепробовал много движков, но ни один из них не давал удобного изящного способа рисовать GDI+ Bitmap из памяти. Некоторые работали и вовсе только с DX10-11. Ближе всех к цели оказался SlimDX. В любом случае, фронтэнд для контрола оказывался некрасивым. Все эти движки… мягко говоря избыточны, для моей простой задачи.
Но решение есть

Многоядерная JIT-компиляция в .NET 4.5

Reading time3 min
Views14K

Исторически разработчики .NET использовали генератор образов в машинном коде Ngen. Это отлично работает, если у вас есть инсталлятор, и вы можете сгенерировать эти образы во время установки приложения. Но в других случаях, например когда у вас нет установщика или вы не имеете доступ к Ngen, ваше приложение будет производить JIT-компиляцию по мере необходимости, что замедлит его загрузку. Разработчики CLR предоставили решение в новой версии .NET – многоядерная JIT-компиляция с возможностью создавать профили оптимизации.
Читать дальше →

Генератор надежных и запоминаемых паролей на Javascript

Reading time3 min
Views16K
image
Представляемый генератор паролей создает относительно легко запоминающиеся и, в тоже время, трудноподбираемые пароли. Основная идея состоит в том, что пароли генерируются на основе слогов и поэтому выглядят как слова или словосочетания. Для лучшего запоминания используются заглавные буквы в начале каждого слога.

Проект на Google.Code:
code.google.com/p/jspassgen/downloads/list
Пример работы можно посмотреть здесь:
бизнес-книги.рус/ext/jspassgen/example.html
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity