Pull to refresh
2
0

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

Send message

Эпизод 3 – новая надежда на успех игры под Android

Reading time8 min
Views8.1K
Привет, Хабрасообщество! В данной статье я хочу рассказать о своей игре Hexoquan, выпущенной под Android. Я затрону выбор идеи, реализацию, возникшие сложности и способы их решения.
Читать дальше →

Грааль и Трюфель (Graal & Truffle)

Reading time12 min
Views23K
Малоизвестный исследовательский проект, который может значительно ускорить инновации в проектировании языков программирования

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


Хочу сразу предупредить, что статья местами напоминает презентацию крупной компании из-за эпитетов в духе «изменит индустрию», «лучший на рынке», «прорывные технологии» и др. Если закрыть глаза на такой эмоциональный стиль повествования, то получится интересная вводная статья про новинки технологий компиляторов и виртуальных машин.


Введение


Со времён расцвета компьютерной индустрии многие были увлечены квестом в поисках идеального языка программирования. Квест очень сложный: создание нового языка — задача не из лёгких. И очень часто в процессе происходит дробление сложившейся экосистемы программирования и возникает необходимость заново строить базовые инструменты для нового языка: компилятор, отладчик, HTTP стек, IDE, библиотеки и бесконечное число базовых блоков пишутся с нуля для каждого нового языка. Совершенство в дизайне языков программирования недостижимо, и новые идеи возникают постоянно. Мы похожи на Сизифа: приговоренного богами на вечное толкание камня в гору, чтобы в итоге увидеть, как тот скатывается вниз снова и снова … целую вечность.


Как можно разорвать этот порочный цикл? Давайте помечтаем, чего бы нам хотелось.

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

Строгое определение понятий: объект, состояние, событие, бизнес-операция и бизнес- функция

Reading time11 min
Views17K
В текущей статье я определю следующие термины: объект, состояние, событие, операция, функция. Я расскажу о том, как можно представить себе их. В качестве мета-метамодели для моделирования мы возьмем теорию множеств, а не MOF. Почему именно ее? Потому что это единственный на сегодняшний день известный способ моделирования, который имеет математическую основу, границы применимости которого нам хорошо известны, достаточно широки и обоснованы.


Прошлые статьи вызвали оживленную дискуссию среди тех, кто использует для моделирования предметных областей инструменты ООП: языки ООП, нотацию UML. Несмотря на то, что я постоянно подчеркиваю, что объекты учета, о которых я веду речь, не моделируются средствами UML, и объясняю почему, тем не менее, вопрос об их моделировании методами ООП поднимается снова и снова. Наверно, мне надо еще раз рассказать, чем так плох ООП для моделирования предметных областей.
Читать дальше →

Разработать и опубликовать игру под Android за неделю

Reading time4 min
Views24K

Задумал я как-то написать игру. Причем, по-быстрому. Желательно за неделю при условии работы на полставки. Финальным этапом должна была стать публикация на Google Play (что, конечно, недостаточно, но об этом позже). Таким образом, это будет статья о разработке в стиле "вжух-вжух и в продакшен", или, как сказали друзья "устроил себе Ludum Dare". Технических деталей будет, впрочем, немного.


После небольшого брейнсторма родилась идея "складывания ленты". Лента бесконечной длины, её можно сгибать под прямым углом (количество сгибов ограничено), и её "лицевая" и "изнаночная" стороны разного цвета. Так же есть контрольные точки "лицевого" и "изнаночного" цветов. Игрок выигрывает когда лента пройдёт соответствующими сторонами по всем контрольным точкам. Быстрый поиск не дал ничего похожего.


screenshot

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

Как ИП сэкономить на налогах в 13,3 раз

Reading time7 min
Views64K

Если вы не торопитесь легализовать свою предпринимательскую деятельность только потому, что налоги ИП кажутся вам неподъемным бременем, то вы просто не умеете их готовить. Разобраться в основных нюансах систем налогообложения стоит уже ради экономии собственных денег. А сэкономленные деньги, как известно, ничуть не хуже заработанных. Так что, немного терпения, и вы станете чуть-чуть богаче.
Читать дальше →

Алгоритм «diamond-square» для построения фрактальных ландшафтов

Reading time12 min
Views119K
Карта игры Minecraft, созданная с помощью приложения CartographДумаю, многие знакомы с весьма необычной игрой Minecraft (справа — пример сгенерированной в ней карты), в которой игрок находится на (практически) бесконечной поверхности Земли и может исследовать окружающий мир с минимальными ограничениями.

Как же автору игры, Notch'у, удалось добиться подобного сходства его случайных «миров» с земными просторами? В этом топике я как раз и рассмотрю один из способов построить искусственный ландшафт такого рода (и вскользь упомяну пару других способов), а также расскажу о моем небольшом усовершенствовании этого алгоритма, позволяющем значительно увеличивать размеры ландшафта без заметных потерь в производительности.

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

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

Эффективный расчёт области видимости и линии взгляда в играх

Reading time16 min
Views38K
image

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

image

Имея параметры видимости наблюдателя (направление взгляда, расстояние видимости и угол поля зрения), нам нужно найти видимую для него область, т.е. определить область видимости (field of view, FoV). Если препятствия отсутствуют, это будет сектор круга, состоящий из двух граней (радиусов) и соединяющей их дуги (см. Рис. 1). Кроме того, имея заданную точку мира, мы должны быстро определить, видима ли она для наблюдателя, т.е. необходимо обрабатывать запросы линии взгляда (line of sight, LOS) для заданной точки. Обе эти операции можно выполнить достаточно эффективно для использования при рендеринге в реальном времени.
Читать дальше →

Разработка и публикация первой игры под Android на Unity3D

Reading time4 min
Views18K
Доброго времени суток! Вот и закончил я разработку своей первой игры на Unity для Android. Причиной разработки игры послужил анализ вакансий на hh. Стало интересно, отчего же разработчикам игр работодатели готовы платить серьезные суммы. Ведь по сути мы (разработчики), в идеале, можем быть самодостаточными, т.к. практически каждый серьезный программист в состоянии сам создать достойный продукт и заниматься его продажей и продвижением. Мне кажется с созданием не должно возникнуть серьезных вопросов (кроме художественной части, ибо я не встречал пока прекрасного художника с отличными навыками в программировании), а вот бесплатное продвижение продукта, это тайна — по крайней мере сейчас и для меня.



Перейдем собственно к самой игре. У меня двое маленьких детей и они часто играют в детские игрушки на телефоне, эдакие «отвлекалки». Естественно они тапают по рекламным баннерам с завидной частотой, чем не мало радуют разработчиков данных игр. Вышеперечисленные обстоятельства натолкнули меня на мысль о создании чего-то подобного, но не на отъе… сь (многие детские игры не блещут аккуратностью), а красивого и приятного глазу. При выборе темы, время года само продиктовало мне решение. Была выбрана новогодняя/рождественская тематика. Геймплей должен был получиться очень простой, но веселый и красочный. Тут начались работы головы на тему того, какие элементы реализовать в игре. В итоге на сцену было решено поместить следующие элементы: новогодние шары, ёлку, деда мороза пролетающего по таймеру и танцующего оленя со снеговиком.

Консоль в массы. Переход на светлую сторону. Часть первая

Reading time5 min
Views24K


Вступление


Всем привет! Данная серия статей — это текстовый вариант моего доклада на WSD в Киеве 26 ноября. Решил написать, чтобы дать более развернутое описание темам, которые были затронуты, а некоторые моменты уточнить. Кроме того, есть возможность рассмотреть больше примеров, услышать мнение от тебя, уважаемый читатель. И, конечно же, поделиться информацией с более широкой аудиторией.

Самая нужная программа на свете

Reading time20 min
Views168K
image
Какими программами постоянно пользуются люди? Если подумать над этим вопросом, то окажется, что список этот не такой уж большой. К постоянно используемым программам можно отнести: саму операционную систему, файловый менеджер, текстовый редактор, браузер, мессенджер. Это именно тот базовый набор, которым пользуется на компьютере практически каждый человек. Требования к таким программам должны быть высокими: безотказная работа, быстрое выполнение всех функций, понятный и удобный интерфейс.

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

Поиграл == покодил

Reading time3 min
Views73K
image

Мой рекорд скорости написания кода «на C» был в консоли Quake II. Причем абсолютно без ошибок. В темноте, не глядя, трясущимися руками надо было набрать примерно такое:

bind SHIFT "+snipe"
alias +snipe "sensitivity 2.5; fov 30"
alias -snipe "fov 90; sensitivity 4"

Боги умели прописывать RocketJump.

RocketJump
bind t "superrjr"

bind a "superrjn"

alias superrjr "echo SuperRocketJump enabled; bind a +srj; bind t superrjc"

alias superrjn "echo SuperRocketJump disabled"

alias superrjc "echo SuperRocketJump disabled; bind a superrjn; bind t superrjr"

alias +srj "lookdown1;hand 2;rjump"

alias -srj "lookdown2"

alias lookdown1 "cl_pitchspeed 999999;+lookdown"

alias lookdown2 "-lookdown;cl_pitchspeed 200;-attack;-moveup;wait;wait;wait;centerview;hand 2;cl_maxfps 80"

alias rjump "+moveup;+attack;wait;wait;wait;wait;cl_maxfps 0"

alias +QLD "+lookdown;cl_pitchspeed 999"

alias -QLD "-lookdown;cl_pitchspeed 200"

alias +RocketJump "hand 2;+QLD;wait;wait;+attack;+moveup"

alias -RocketJump "hand 2;-QLD;-attack;-moveup"

alias SuperRocketJump "hand 2;+QLD;wait;wait;wait;wait;+attack;+moveup;wait;cl_maxfps 0;LWX3;cl_maxfps 90;-QLD;-attack;-moveup;hand 2" 


Под катом — подборка дюжины проектов, которые заточены на то, чтобы играючи повысить кодерское мастерство.

Странные игры

Reading time6 min
Views15K
          — Ну, если ты смотришь такого рода спили, то знаешь про них больше меня, — сказал я.
          — Мне как-то попалась такая бойкая формулировка: мол, риторы умели менять прошлое и делали это с удовольствием; инкантеры могли изменять будущее, но прибегали к своему умению крайне неохотно.…
          — Им приходилось менять будущее в ответ на действия риторов.
 
         Нил Стивенсон «Анафем»


Странные книги побуждают меня делать странные игры. «Анафем» Нила Стивенсона не исключение. Моя статья — один большой спойлер на это произведение. Если вы собираетесь читать её, прежде прочитайте книгу! Я вас предупредил…

5 причин не использовать свой личный счёт в фрилансе

Reading time6 min
Views98K

Дано: программист Василий Иванов (ещё до того, как зарегистрировал ООО) в свободное от основной работы время фрилансил, выполняя заказы и получая оплату от клиентов на свою карту физического лица. В какой-то момент клиентов стало так много, что Василий решил легализоваться и открыть ИП.
Изучив законодательство, он узнал, что индивидуальный предприниматель не обязан открывать расчётный счёт. «Прекрасно, — решил Василий, — продолжу принимать оплату на свою карту, ведь это удобно, а главное, бесплатно. Не придётся ежемесячно платить банку за ведение расчётного счёта».
Читать дальше →

9 нюансов в работе инди-разработчика, о которых мне никто не рассказывал

Reading time11 min
Views28K
Продолжаем переводить иностранные статьи по созданию игр в блоге программы «Менеджмент игровых интернет-проектов». На этот раз создатель игры SanctuaryRPG, Рагхав Матур расскажет нам о некоторых нюансах в работе инди-разработчика.


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

Худой Scrum лучше доброго Agile

Reading time12 min
Views30K
Залп скосил 50 офицеров и 760 рядовых. Французы дрогнули, запаниковали и — обратились в бегство. «Тут дела наши пошли не вполне хорошо», — описывает этот момент битвы официальная французская депеша.

Келли Дж. Порох. От алхимии до артиллерии.

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

Пытаясь как-то спасти положение, активисты Scrum вспоминают, что Scrum — это же еще и framework. Объявляется новая стратегия: “Мы не только Scrum, мы еще и Agile! Мы используем best practices, берем из Scrum только самое лучшее, то, что подходит конкретно для нашей ситуации, а все остальное лишнее и необязательно”. А раз так — “Мы — молодцы и все делаем правильно”.


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

Руководство для начинающих VR-разработчиков

Reading time8 min
Views166K


В этом руководстве собраны базовые ссылки и рекомендации, которые могут послужить вам точкой отсчёта в освоении VR-разработки.

1. Изучаем оборудование


Спросите себя: меня интересует разработка для десктопных устройств, наподобие HTC Vive, или меня больше привлекают мобильные устройства вроде Samsung Gear VR или Google Cardboard? Если вы пока не определились, то почитайте обзоры и подумайте о том, что лучше выбрать для вашего рынка. Если для ваших идей требуются контроллеры движения или качественная графика, то ориентируйтесь на подключаемые к компьютеру очки VR. Модели, которые сегодня поддерживаются движками Unity, Unreal и веб-реaлизациями:
Читать дальше →

Cicerone — простая навигация в Андроид приложении

Reading time8 min
Views89K


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


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

Развеиваем мифы о том, что учредители не отвечают своим имуществом по долгам ООО

Reading time5 min
Views178K



Василий Иванов — молодой, талантливый и предприимчивый технический специалист — решил открыть свой бизнес, так как придумал мега-продукт. На старте бизнеса он уволился с работы, зарегистрировал ООО с 10 тыс. уставного капитала, вложил немного своих денег, взял небольшой кредит, нанял на работу 5-ых технических специалистов. Работа пошла, но через полгода оказалось, что у продукта нет будущего, деньги закончились, кредит не погашен, перед сотрудниками задолженность по зарплате за 2 месяца на сумму 400 тыс. рублей чистыми и перед бюджетом на сумму 204 тыс. рублей (примерно +51% от суммы задолженности перед сотрудниками, т.к. тут 13% НДФЛ, 31% ПФР + ФОМС и по мелочи). В общем, дела плохи, пора закрываться и возвращаться к работе «на дядю».

Вопрос: что делать Василию с долгами и ООО?
Читать дальше →

Сотворение мира Опыт создания разумной жизни своими руками

Reading time23 min
Views28K
Иногда проводишь день в попытках без использования терминов «рекурсивный вызов» и «идиоты» объяснить главному бухгалтеру, почему на самом деле простое изменение учетной системы затягивается почти на неделю из-за орфографической ошибки, допущенной кем-то в коде в 2009 году. В такие дни хочется пооборвать руки тому умнику, который сотворил этот мир, и переписать все с ноля.

image

TL;DR
Под катом история о том, как я в качестве практики для изучения Python разрабатываю свою библиотеку для агентного моделирования с машинным обучением и богами.

Ссылка на github. Для работы из коробки нужен pygame. Для ознакомительного примера понадобится sklearn.
Читать дальше →

Открытие студии мобильной разработки «с нуля» в Питере — 3.5 года спустя. Реинкарнация. Часть 3

Reading time12 min
Views9.3K


И снова здравствуйте… продолжаю long read про наш опыт, без «приукрас». Картинка выше только для привлечения внимания.

Часть 2 и Часть 1 обязательная к прочтению. Нет, конечно, можно и не читать, только тогда и эту статью пропускайте смело :). В части 2 запустил опрос, надо продолжать или нет — подавляющее большинство одобрило, посему встречайте часть 3… Кстати, вот парадокс, я ради любопытства разместил кусочек материала на pikabu, и знаете что? Ничего кроме "-20" к тамошней карме. Боюсь делать выводы поспешные, скорее всего там люди ждут другой материал. Напоминаю, что рассказываю наш опыт создания компании по разработке мобильных приложений «с нуля», вспоминая 2-х годичный опыт и добавляя его (upd.2016 — новым взглядом).

Мне в комментариях написали, что за подобные знания платят иногда по 15к рублей в час. Елки-палки, видимо не тем занимаюсь. Надо податься в бизнес-тренеры-менторы-консультанты-инфобизнесмены. Но буду рад, если сказанное поможет кому-то добиться успехов, совсем не боюсь конкуренции и за последними совсем не слежу — у каждого свой путь, чем и хороша стезя предпринимательства. У нас есть свой канал на youtube, каждый день (рабочий) мы записываем короткие видео, иногда даже по итогу дня — наш опыт, без фантазий, лукавства и т.п. Подписывайтесь, мне будет приятно :) а вам, надеюсь, полезно.

Итак, let's go…
Читать дальше →

Information

Rating
Does not participate
Registered
Activity