Search
Write a publication
Pull to refresh
87
0.5
Даниил Бакалин @Quiensabe

Программист

Send message

Использование AI и утилит при разработке игр жанра Tower Defense

Reading time6 min
Views35K
Эта статья продолжает тему применения математического моделирования при разработки игр в жанре ТD. В прошлых статьях рассматривались базовые параметры основных объектов игры – крипов и башен, и их зависимость от времени раунда и размера карты, а также принципы построения внутриигровой экономики, которая не привносила бы дисбаланс на тех или иных этапах игры.

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


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

15 вещей, которые мы хотели бы знать перед разработкой стартапа

Reading time7 min
Views30K
image
За четыре года работы над онлайн консультантом WebConsult мы накопили достаточно большой опыт, и оказалось, что изначально мы не учли многих вещей, которые потом приходилось переделывать – в итоге это стоило нам массы времени, средств и нервов. Эта статья, а возможно и цикл статей, будут посвящены аспектам, которые необходимо продумать еще до начала разработки, дабы будущие стартаперы изначально закладывали грамотную основу в свои веб-приложения. Этой статьи нам очень не хватало четыре года назад, когда создание системы только начиналось, и мы надеемся, что она поможет вам не повторить наших основных ошибок. Многие приведенные советы кому-то покажутся очевидными, однако часто разработчики их упускают, поэтому мы считаем необходимым еще раз напомнить о простых вещах.
Читать дальше →

Генератор криптарифмов

Reading time6 min
Views16K
В написанной на днях статье Вернулся невод с тиной морскою, я дал ссылку на частотный словарь Википедии. Количество скачиваний на порядки превзошло все мои ожидания. Я почувствавал огромное духовное родство с читателями Хабра. Одна часть скачавших (как и я!) любит всячески возиться со словами и словарями, а вторая часть (как и я!), увидев на просторах сети интересный артефакт, тут же хватает его и тащит к себе в гнездо, а что с ним делать — потом разберёмся!

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

А для второй части, для тех, кто скачал словарь, а теперь мучительно думает, что делать со свалившимся счастьем, я хочу написать несколько статей. Собственно с этой и начну.
Читать дальше →

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №68 (28 июля — 3 августа 2013)

Reading time7 min
Views30K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


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

Prepros: open-source компилятор файлов для front-end разработки

Reading time2 min
Views53K


Здравствуйте, уважаемые Хабражители.

Данная статья посвящена фантастическому, на мой взгляд, open-source приложению Prepros, которое может облегчить рабочий процесс многим фронт-энд разработчикам.

Prepros умеет компилировать файлы LESS, Sass, SCSS, Stylus, Jade, Slim, Coffeescript, LiveScript, Haml и Markdown, минифицировать и объединять в один JavaScript-файлы и это еще не все.

Под катом — более подробный обзор приложения.

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

Интернет-бизнес в России: можно ли, нужно ли, нежно ли

Reading time12 min
Views46K
Привет, Хабр.
Редакция Роем вместе с Фондом ФРИИ давеча озаботились волнующими многих вопросами: нужно ли делать свой интернет-проект (если очень хочется), где его, собственно, делать, и вообще кто виноват и как дальше жить. Серию публикаций мы открыли статьёй на нашем сайте, а на Хабр решили выложить прямую речь — редакционный взгляд это хорошо, но детали есть детали. Мы задали пять простых вопросов разным известным сетевым деятелям, журналистам и другим дружелюбным профессионалам: от Павла Дурова до Аркадия Морейниса. Мнения публикуем без купюр. И их действительно много.
image
Читать дальше →

Об одной изящной конструкции

Level of difficultyMedium
Reading time7 min
Views77K

Введение


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

Распечатать в порядке возрастания все несократимые дроби, знаменатель которых не превосходит заданного числа $n, \, n \le 100$.

Когда я прочитал условие задачи до конца, она не показалась мне сложной (она таковой и не является). Первое, что пришло мне в голову — это просто перебрать все знаменатели от $2$ до $n$ и для каждого знаменателя перебрать числители от $1$ до знаменателя, при условии, что числитель и знаменатель взаимно просты. Ну, а затем остается отсортировать их по возрастанию.

Такое решение верное, и задача прошла все назначенные ей тесты. Однако мой преподаватель сказал, что задачу можно решить намного красивее. Так я и познакомился с замечательной конструкцией: деревом Штерна — Броко.
Читать дальше →

Реализация системы динамически загружаемого контента (DLC) для мобильной игры в Unity 3D

Reading time7 min
Views39K
Недавно, для одной игры на Unity 3D, которую мы разрабатывали, возникла необходимость добавить DLC систему. Хотя это оказалось далеко не так просто, как казалось в начале, мы успешно справились с возникшими проблемами и игра ушла в gold. В этой статье я хочу изложить наш вариант реализации DLC, рассказать о возникших проблемах и как мы их решили.

Постановка задачи


В игре есть магазин, где игрок покупает вещи за игровую или реальную валюту. В магазине – более 200 вещей. Когда игрок заходит в игру, ему доступно 20 вещей в магазине. Если есть интернет, игра без ведома юзера опрашивает сервер на предмет наличия DLC и, если таковое имеется, скачивает в бэкграунде. Когда игрок повторно зайдет в магазин, он увидит все новые вещи из DLC.
Еще есть набор локаций. Каждая локация имеет набор текстур и .asset файлов. Новые локации также должны добавляться через DLC.
Загрузка ресурсов из DLC должна быть синхронной.
Платформа: iOS (iPhone 3GS и выше.) и Android (Samsung Galaxy S и выше).
Читать дальше →

Договор на разработку сайта: так, а не иначе

Reading time29 min
Views153K
Присылает нам заказчик (Газпром) свою версию договора.
Понимаем — нашу они не подпишут,
вносим реквизиты и отправляем обратно.
Пропадают на две недели… возвращают протокол разногласий к договору.


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

Особенности игрового рынка в Китае — часть 2

Reading time3 min
Views9.6K
Многие инвесторы отказываются инвестировать в игровые стартапы из-за характера рынка игр — никогда не уверен, взлетит игра или нет, заработаешь ли ты, вернешь инвестиции или уйдешь в минус. «Индустрия игр завязана на хитах, это не бизнес, это удача», — часто приходится слышать от ИТ-инвесторов и бизнес-ангелов.

Действительно, рынок игр, а точнее, рынок мобильных казуальных игр развивается стремительно и быстро, появляются новые типы геймеров, меняются потребности и желания игроков, двигаются тренды игровой механики. И все же у опытных разработчиков и паблишеров получается понимать рынок, своего пользователя, выпускать новые всеми любимые хиты (маркетинговые бюджеты… маркетинговые бюджеты… ну да, не без них…). Но это на Западе…
Читать дальше →

Решение задачи кластеризации методом градиентного спуска

Reading time6 min
Views27K
Привет. В этой статье будет рассмотрен способ кластеризации данных, используя метод градиентного спуска. Честно говоря данный способ носит больше академический характер, нежели практический. Реализация этого метода мне понадобилась в демонстрационных целях для курса по машинному обучению, что бы показать как одинаковые задачи можно решить различными способами. Хотя конечно если вы планируете осуществить кластеризацию данных, используя дифференцируемую метрику, для которой вычислительно труднее найти центроид, нежели подсчитать градиент на некотором наборе данных, то этот метод может быть полезным. Итак если вам интересно как можно решить задачу k-means кластеризации с обобщенной метрикой используя метод градиентного спуска, прошу под кат. Код на языке R.
Читать дальше →

Мобильная типографика

Reading time3 min
Views78K


При разработке дизайна необходимо учитывать корректность его отображения не только на больших экранах, но и на мобильных устройствах. И в первую очередь это касается читаемости контента. Поэтому необходимо уделять особенное внимание типографике, которая является основой веб-дизайна. На эту тему есть полезная статья шестилетней давности — Web Design is 95% Typography (автор Oliver Reichenstein).

Для начала рассмотрим основные моменты веб-типографики с примерами на мобильных устройствах.
Читать дальше →

Bootstrap CSS Sprite: синтаксический сахар для <img />

Reading time3 min
Views21K

UPD


Сегодня в этом уже нет никакого смысла. Просто настройте себе HTTP/2



Что это?


В один прекрасный день я отчётливо понял, что устал писать длинные ссылки на файлы изображений, каждый раз задавать им ширину и высоту, заботиться о том, чтобы это всё не прыгало при загрузке и не мигало при наведении мышкой. И я решил автоматизировать всю эту рутину. Так появился Bootstrap CSS Sprite — библиотека, которая позволяет работать со всеми вашими изображениями, как с одним спрайтом. При этом доступ к тайлам спрайта осуществляется в стиле Twitter Bootstrap.

Приведу пример: у нас есть файл изображения cat.png. Чтобы показать это изображение надо использовать тег <i>, указав для него CSS-класс img-cat, как мы делаем это в Twitter Bootstrap:

<i class="img-cat"></i>


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

Особенности разработки под Android на Titanium

Reading time3 min
Views5.1K
image

На днях я выпустил свою первую программу под Android написанную на Titanium Appcelerator и хочу поделиться некоторыми ньюансами связанными с разработкой именно под Android.

Общий процесс вполне неплохо описан в официальной документации, поэтому его опущу.
Читать дальше →

Создаем свой RSS канал с помощью Google Apps Script

Reading time4 min
Views13K
Есть такой замечательный wiki ресурс по языку Tcl/Tk как wiki.tcl.tk. Есть у этого ресурса RSS лента последних изменений. Но вот беда — лента изменений самая минимальная. Там указано только кем, когда и какая страница редактировалась. Нет полных изменений и нет GUID у элементов ленты, поэтому некоторые RSS клиенты (например, Google Reader) не показывают большую часть новостей, считая их одинаковыми.
Как сделать свою RSS ленту

Разработка одной игры — полезный опыт, немного денег и куча ошибок, Ч1

Reading time8 min
Views51K
Сегодня довольно много программистов думают о том, чтобы создать мобильное приложения, заработать свой первый миллион, сыскать славу успешного разработчика и продолжать работать над своими интересными и многообещающими проектами. Многие не только думают, но и принимают попытки, успешные и не очень. Так вот я не исключение и об одной такой попытке, приобретенном опыте и небольшом финансовом профите я и хочу рассказать.
Читать дальше →

Порядок в фото- и видеоархиве с помощью методики и пары скриптов

Reading time11 min
Views28K
Я далеко не профессиональный фотограф, но снимать люблю, и периодически мой архив из нескольких десятков тысяч фотографий самого разного качества пополняется фотками с зеркалки, «мыльницы» и трех телефонов, а также видеозаписями с телефонов и видеокамеры. Какой я только софт не перепробовал для поддержания архива фото и видео в порядке! Adobe Lightroom, Apple iPhoto, Google Picasa…

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

Если вы не только фотограф, но и немножко программист, то создать подобную систему у себя вы сможете за полчаса.

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

Университет MIT выложил бесплатно лекции в Сеть

Reading time1 min
Views151K


Один из лучших технологических вузов мира опубликовал большинство своих обучающих курсов, лекций и семинаров в интернете на отдельном ресурсе.

Есть аудио и видео-курсы, поиск по каталогу, по номеру курса, по наименованию дисциплины, все предметы и степень сложности разделены в отдельные рубрики.
Читать дальше →

Распространенные заблуждения в управлении проектами

Reading time6 min
Views116K
Когда я работал программистом, ко мне нередко подходили с просьбой помочь сделать проект за долю. В некоторых я участвовал. Но очень мало проектов взлетело.
Со временем я стал менеджером проектов, а люди все так же подходят. И сами вокруг делают стартапы. Взлетают единицы.
Почему же?


Быстро разбогатеть и уплыть на собственный остров просто, увы, лишь в мечтах.

Ответ, увы, кроется не в идее, реализации и даже не в рынке. Дело только в голове создателя стартапа. А точнее, в мифах, которыми она полна.

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

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

А вы специалист в какой-то одной IT-области или универсал, который занимается всем. Я из второй категории…

Reading time4 min
Views74K
Всем не профессионалам в какой-либо одной области IT-универсалам посвящается данный текст.
История такая: я работаю на довольно неплохой должности (руководитель IT-отдела) и даже имею в подчинении трех несколько человек. Сама фирма не IT направленности. Занимаемся мы розничными, оптовыми и интернет продажами. А также являемся сервисным центром нескольких известных марок. В компании есть несколько веб-ресурсов, в том числе несколько интернет-магазинов, пара из которых имеют очень даже неплохой оборот. Вот этим всем хозяйством мне и приходится заправлять. Плюс реклама, полиграфия, баннеры, сео и т.д. Моя зарплата меня тоже вполне устраивает. Скажем, гораздо выше средней по СПб. В данный момент меня в моей работе все устраивает за исключением одного: отсутствие опыта работы в профильной компании (в профильной среде).
Читать дальше →

Information

Rating
3,614-th
Location
Петрозаводск, Карелия, Россия
Date of birth
Registered
Activity