Pull to refresh
4
1.3
Send message

«Трудности» перевода приложений для Windows Store

Reading time4 min
Views9.5K


У меня было локализованное приложение для Windows Store. В нем была возможность переключить язык на английский, но даже с английским интерфейсом приложение продолжало удивлять англоязычных пользователей русскими кириллическими «иероглифами» на заставке и логотипах. А русскоязычные пользователи в свою очередь удивлялись тому, что приложение называлось не по-русски. О том, как получилось такое безобразие и как сделать хорошо эта статья.

Всех, кому интересна разработка универсальных приложений Windows, приглашаю под кат.
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments3

Чтобы распознавать картинки, не нужно распознавать картинки

Reading time18 min
Views237K
Посмотрите на это фото.



Это совершенно обычная фотография, найденная в Гугле по запросу «железная дорога». И сама дорога тоже ничем особенным не отличается.

Что будет, если убрать это фото и попросить вас нарисовать железную дорогу по памяти?

Если вы ребенок лет семи, и никогда раньше не учились рисовать, то очень может быть, что у вас получится что-то такое:
Осторожно, тяжелые гифки
Total votes 263: ↑258 and ↓5+253
Comments104

Мины в Haskell и Gloss: быстрое прототипирование интерактивной графики

Reading time14 min
Views13K
На Хабрахабре есть уже немало хороших статей по хаскелю, но по большей части это всяческие введения в ФП, разъяснения каких-то теоретических штук (вроде монад, лямбда-исчисления или семейств типов) и совсем немного практических примеров. Ни в коем случае не умаляя их полезности, попробую всё-таки сместить дисбаланс, внести свою лепту в неблагодарное дело популяризации функциональщины и ещё раз показать, что язык пригоден не только для написания факториалов и неэффективных быстрых сортировок в две строчки, но и для вполне практичных вещей вроде быстрого прототипирования.

Статья постарается быть относительно real-world, но при этом не утомлять читателя объёмом или экзотическими предметными областями. «Графика и игры в обучении — это всегда sexy», как завещал великий В. С. Луговский, поэтому я набросаю простую игру, всенародно любимый «Сапёр». Разработка будет вестись «сверху вниз» — это удручающе малораспространённая, но заслуживающая пристального внимания (как и сам хаскель) методология, которая когда-то давно встретилась в отличной статье о шашках в «Практике функционального программирования», и с тех пор запала в душу.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments4

Защита игр и мобильных приложений от взлома для чайников (Unity, C#, Mono)

Reading time8 min
Views72K
Всем снова здравствуйте! Дошли руки написать крутую статью на весьма важную тему для разработчиков игр. Итак, поговорим о защите ваших драгоценных игр и приложений, которые вы пилите на Unity в надежде заработать на буханку хлеба, от взлома злобными школьниками. Почему школьниками? Потому что надежной на 100% защиты априори быть не может. И кто захочет, все равно взломает. Вопрос лишь в том, сколько времени и сил он на это потратит. И как любят шутить безопасники — терморектальный криптоанализ никто не отменял.

Итак, в статье я постараюсь максимально доступно рассказать о 3 аспектах (и конечно, предложу реализацию):
  • защита данных приложения (сейвов)
  • защита памяти приложения
  • защита внутриигровых покупок (Google Play)

image
Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments34

Давайте изобретать велосипеды

Reading time3 min
Views20K
Мотивации пост.



Я занимаюсь алгоритмами обучения нейронных сетей. Пока что простых нерекурентных нейронных сетей. Пока сравнительно простыми алгоритмами, той или иной формой градиентных спусков. Сегодня разговаривал на интересном семинаре по нейроинформатике, и меня спросили, зачем переоткрывать то, что придумано?

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

В этом посте я постараюсь показать, почему нужно изобретать велосипед.
Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments38

Минимальные показатели жизнеспособности для мобильных приложений

Reading time6 min
Views17K
Одна из наиболее популярных идей, появившаяся в индустрии разработки в последние годы, — это концепция Minimum Viable Product, сокращенно MVP. В двух словах, это стратегия разработки минимального по функциональности продукта, позволяющего получить обратную связь от пользователей. Но можно ли переносить эту концепцию в сферу мобильных приложений и если нет, то есть ли альтернатива? Мы в Alconost перевели отличную статью, отвечающую на этот вопрос. Всем, кто имеет дело с мобильной разработкой — читать обязательно.


Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments5

Как побеждать в компьютерных играх, часть II: конкретные примеры

Reading time6 min
Views54K


Напоминаю, есть мужик Дэвид Сирлин, который известен чемпионством по Street Fighter и в GameDev. Он написал книгу про то, как побеждать и готовиться к турнирам. Первая вступительная часть тут. Ниже — выжимка части II и мои комментарии.

Вот мы и дошли до настоящего мяса. Это разборы игровых ситуаций и конкретные примеры того, как думает оппонент. Например:
Если у тебя есть какой-то дурацкий шаблон действий, который убивает соперника, не надо задумываться над чем-то ещё. У такой техники ещё есть дополнительный бонус — она доводит людей до белого каления. Если кого-то бьют с помощью одной и той же повторяющейся тактики, то они обычно выходят из себя и срываются, в результате играют еще хуже, еще чаще ошибаются, становятся все злее, и так далее. Порочный круг.
Читать дальше →
Total votes 44: ↑37 and ↓7+30
Comments28

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 6 из 6

Reading time6 min
Views60K

Содержание основного курса




Улучшение кода






Official translation (with a bit of polishing) is available here.




Shadow mapping


Ну вот наш краткий курс подходит к концу, задача на сегодня — научиться отрисовывать тени (внимание, просчёт полутеней — это отдельная тема):



Как всегда, код доступен на гитхабе
Читать дальше →
Total votes 68: ↑65 and ↓3+62
Comments20

От желания создать игру до запуска — один шаг

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

Идея


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

Вывод

Прежде чем писать код, нужно тщательно и спокойно обдумать игровую механику, ее понятность, удобство и интерес. В моем случае этого сделано не было, так как идея захватила меня. В итоге игра получилась «на любителя».
Читать дальше →
Total votes 38: ↑26 and ↓12+14
Comments10

Введение в топологические пространства. Программирование конечных топологий на Java. Часть 2: База топологии. Непрерывные отображения

Reading time8 min
Views14K

Список частей:





Введение


В прошлый раз мы познакомились с основным понятиями теории топологических пространств, а также рассмотрели класс для представления конечных топологических пространств, написанный на языке Java. Сегодня мы двинемся дальше, изучим понятие базы топологии и получим представление о том, дла чего она нужна, а также определим понятие непрерывного отображения топологических пространств. Основной интерес последнее вызывает тем, что в топологическом пространстве отсутствует понятие расстояния между объектами, но тем не менее мы можем описать формальным языком достаточную близкость объектов в терминах… Ну, впрочем, вы это узнаете чуть позже.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments2

GPU Particles с использованием Compute и Geometry шейдеров

Reading time10 min
Views54K
Привет, дорогой читатель!

Сегодня мы продолжим изучение графического конвейера, и я расскажу о таких замечательных вещах, как Compute Shader и Geometry Shader на примере создания системы на 1000000+ частиц, которые в свою очередь являются не точками, а квадратами (billboard quads) и имеют свою текстуру. Другими словами, мы выведем 2000000+ текстурированных треугольников при FPS > 100 (на бюджетной видеокарте GeForce 550 Ti).


Читать дальше →
Total votes 63: ↑62 and ↓1+61
Comments44

Категории, большие и малые

Reading time8 min
Views36K
Это четвертая статья в цикле «Теория категорий для программистов».

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

Без объектов


Самая простая категория — без объектов и, как следствие, без морфизмов.
Читать дальше
Total votes 36: ↑33 and ↓3+30
Comments29

2D система освещения для Unity3D, работающая на GPU

Reading time5 min
Views34K


Всем привет. Как известно, Unity3D отсутствует поддержка освещения для 2D игр. В Asset Store можно найти такую систему, но у неё есть один недостаток — она работает на CPU и потребляет весьма много ресурсов (64-4096 рейкастов за кадр на каждый источник света). Поэтому я решил сделать своё освещение, производительности которого хватило бы для мобильных устройств. Для этого вычисления были перенесены на GPU. Получилось что-то похожее свет Terraria или Starbound.
Под катом демо, описание работы и куча картинок
Total votes 49: ↑41 and ↓8+33
Comments20

Что нужно знать, чтобы хорошо рисовать?

Reading time5 min
Views262K


Давид Ревуа — прекрасный художник, работающий со свободным программным обеспечением, постоянный член сообществ Krita Foundation и Blender Institute, концепт-художник анимационных проектов Gooseberry Open Movie Project, Mango Open Movie Project (Tears of Steel) и Durian Open Movie Project (Sintel). В этой статье он делится с начинающими художниками списком знаний, которые необходимо приобрести, чтобы работы получались реалистичными. Он обращает внимание, что для рисования «в цифре» следует обзавестись теми же навыками, что и в традиционной технике. Итак, приобщимся к его опыту.
Читать дальше →
Total votes 134: ↑128 and ↓6+122
Comments113

jQuery для мобильных устройств, все за и против

Reading time7 min
Views29K
image

Это довольно вольный перевод статьи, которая попалась мне на просторах интернета. Её автор — TJ VanToll. Он уже много лет занимает веб-разработкой и, в частности, оптимизацией сайтов для большей производительности на мобильных телефонах. Под катом рассмотрены несколько способов оптимизации, а так же приведены результаты тестирования на различных устройствах.
Читать дальше →
Total votes 32: ↑26 and ↓6+20
Comments20

Квантовая онлайн-песочница от Google

Reading time4 min
Views59K

(возможно вы уже видели эту картинку, хотя странно, что на хабре так мало материалов по квантовой информатике)

Спасибо гениальным инженерам Google, теперь мы все дружно можем превратить наши настольные ПК в квантовые компьютеры. Ну, хорошо, не совсем так: подразумевается лишь моделирование работы квантового компьютера на его младшем собрате путем запуска веб-приложения для Chrome. Quantum Computing Playground позволяет прогонять известные квантовые алгоритмы (такие как алгоритм Гровера, Шора) и писать собственных квантовые программы.

За исключением непосредственного приобретения квантового компьютера — что, несмотря на заявления D-Wave, вряд ли когда-нибудь удастся — решение от Google является наиболее удачным шагом в сторону популяризации квантового зверя. Если хочется лично встать на первую ступеньку вычислений будущего, это тот самый шанс. У вас есть дети? Вы обязаны посадить их в эту песочницу как минимум на шесть часов, чтобы они научились всем тонкостям квантовых вычислений.
Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments22

Мой персональный Sony Hack

Reading time6 min
Views23K
Взлом Sony Pictures Entertainment надолго запомнится не столько сложностью атаки, сколько объемом утекших данных. «Все унесли, даже обои отклеили». Как это часто бывает с громкими атаками, всех подробностей мы никогда не узнаем, но уже сейчас понятно, что украсть и копии фильмов, и пароли, и данные социального страхования, и архивы почтовой переписки топ-менеджеров возможно было только по одной причине: плохо лежало. Научиться на опыте SPE непросто: тут антивирусом как страховкой не обойдешься, всю систему менять надо. А так: «ну их-то понятно за что взламывают, а нас, может быть, пронесет».

Не пронесет. Ценник на таргетированные атаки падает быстрее чем курс рубля: если в 2011 такое могло себе позволить только государство, то сейчас стоимость опустилась до уровня малого бизнеса. Может быть убедительнее будет перейти на личности? Если примерить ситуацию «все украли» на себя, в первую очередь задумаешься о секретных рабочих документах, во вторую – о пикантной переписке в скайпе. Проблема только, что этим все не ограничивается, и в первую очередь преступники могут пустить в ход совсем другую информацию. Позитивный разговор с владельцем компании о методах защиты может начаться и с анализа информации, которую могут украсть лично у него, и как ей могут воспользоваться. Я постарался понять это на своем примере.
Go hack yourself
Total votes 28: ↑27 and ↓1+26
Comments11

Megascans: онлайн-библиотека текстур и объектов в качестве 4-16К от Quixel

Reading time1 min
Views30K


Графические дизайнеры, мультипликаторы, архитекторы и разработчики игр очень часто используют различные библиотеки текстур. Есть платные сервисы, есть бесплатные, созданные энтузиастами. Тем не менее, любого количества текстур и материалов, которые сейчас можно найти, все равно недостаточно. Компания Quixel, которая давно уже заявила о намерении запустить сервис Megascans, с тысячами моделей и онлайн-текстур, таки выполнила свое обещание.

По словам разработчиков, теперь любой человек или компания смогут воспользоваться онлайн-библиотекой Megascans, «выводя CG на качественно новый уровень). Библиотека пополняется каждый день.

Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments9

Мобильная игра на Unity. Первый блин…

Reading time4 min
Views59K
image

После завершения создания игры-головоломки на Unity и выпуска ее на Google Play и AppStore, появилось желание поделиться опытом и впечатлениями. И получить конструктивные замечания и предложения, если таковые возникнут

Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments28

Экспорт данных из PostgreSQL в Excel

Reading time4 min
Views65K


Приветствую всех.
При автоматизации небольших магазинов для хранения данных часто используют PostgreSQL. И часто возникает потребность экспортировать эти данные в Excel. В этой статье я расскажу вам как я решал эту задачу. Естественно, матерые специалисты вряд ли откроют для себя что-то новое. Однако, материал будет интересен тем кто «плавает» в этой теме.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments50

Information

Rating
1,532-nd
Registered
Activity