Рубрика «xna»

Применение МЭМС гироскопов и акселерометров для отслеживания движений тела человека - 1

Отслеживание движений тела человека — это задача, которая с переменным успехом решается уже не одну тысячу лет. Когда-то я читал историю об одном древнегреческом ораторе Демосфене, у которого была нехорошая привычка поднимать плечо до уха, если он нервничал. Чтобы избавиться от этого, во время ежедневных тренировок он вешал над плечом свой меч, который очень неприятно колол, если плечо поднималось. В итоге оратор стал настолько знаменитым, что про него даже есть статья в Википедии.
Читать полностью »

image

Привет, друг! В этот раз я опять подниму вопрос о графике в ААА-играх. Я уже разобрал методику HDRR (не путать с HDRI) тут и чуть-чуть поговорил о коррекции цвета. Сегодня я расскажу, что такое SSLR (так же известная как SSPR, SSR): Screen Space Local Reflections. Кому интересно — под кат.Читать полностью »

Приветствую!

Через тернии к Unity3D - 1

Хочу поделиться своим знакомством с геймдевом. Рассказать о том, как я начал свой путь с XNA. Так же хотелось бы рассказать, как я стал программистом, жаждущим большего контроля над компьютером и том, как влип в написание своего движка на C++. Расскажу о познании готовых решений, таких, как Unity3D и покажуь на своих примерах, что из этого можно сделать.
Читать полностью »

В этой публикации я постараюсь предельно просто рассказать, как можно легко и быстро сделать динамическое освещение в 2D игре на XNA; без шейдеров, карт нормалей и вообще, без дополнительных ресурсов. Целью у нас будет красивая игровая сцена с ночным небом, темным задним фоном, освещенным фонарями, передним фоном и игровым меню. Количество источников света не ограничено (в разумных пределах, конечно), форма произвольная. Освещается только передний фон. Читателю желательно иметь элементарные навыки работы с XNA, поскольку будет много кода.

2d освещение
Читать полностью »

HDR vs LDR, реализация HDR Rendering

Как я и обещал – публикую вторую статью о некоторых моментах разработки игр в трех измерениях. Сегодня расскажу об одной технике, которая используется почти любом проекте ААА-класса. Имя ей — HDR Rendering. Если интересно — добро пожаловать под хабракат.
Читать полностью »

XNA 3D: введение в custom shader и чуть чуть прототипа

Привет! К сожалению, очень давно не писал на хабр. Личные дела совершенно были против того, чтобы сесть и написать пару статей по геймдеву. Может оно и к лучшему, за эти два года я набрался очень много опыта и всегда рад им поделиться. Стоит отметить, что я совершенно отказался от создания 2D игр: я не против их, но разрабатывать игры в 3D куда интереснее и веселее! По традиции — в качестве инструмента будет XNA 4.0, почему XNA 4.0 дорогой слушатель? А все потому, что, он до сих пор остается актуальной для инди-разработчиков. Даже несмотря на то, что технология была успешно похоронена майкрософтом. У нас есть язык с очень низким вхождением — C#. Есть тот самый фреймворк XNA с необходимыми начальными классами/структурами и алгоритмами. И есть DirectX с поддержкой шейдеров, вплоть до Shader Model 3.0. Если ты, %username%, читаешь меня впервые, то можешь прочитать заодно и мои статьи датированными 2012 годом. Не сказать, что они актуальны на все 100%, что в них нет ошибок, но определенную базу они могут дать. Как, наверное, понятно — я буду писать только о 3D: со списком тем я определился не до конца, но думаю, что сформирую их довольно быстро.

Пока точно задумал две статьи:

  • “XNA 3D: введение в custom shader и чуть-чуть прототипа”
  • “XNA 3D: HDR vs LDR, реализация HDR"

Сейчас сделаю введение в custom shader и реализуем простой прототип игры FEZ.
Читать полностью »

EFFE Script — упростить синтаксис C# без потери качества

Здравствуйте. Я программист инди игр. И мне всегда нравилось создавать игры в одиночку (по многим причинам). Так как мой первый язык программирования был C#, я начал делать игры на платформе XNA (сейчас перешел на MonoGame). Однако за два года создания игр я понял, что даже на самом удобном (для меня) языке C# и не сложной платформе XNA мне было сложно писать одному большие инди проекты.

Я не люблю мини игры. Если начинаю делать какую-нибудь игру, то по пути её разработки постоянно добавлял всё больше и больше контента. А чем больше проект, тем дольше его тестировать, дольше искать баги, сложнее следить за добавлением нового контента. Я не хотел тратить много времени на один проект, потому-то был ленив и хочу создать много различных игр. И вот, просматривая код своего проекта, я понял, как выбраться из этой ситуации — создать свой язык программирования.
Читать полностью »

Пишем Android игру на Xamarin+MonoGame (C#)

Сегодня мы будем писать простенькую игру для Android на языке C# с использованием Xamarin и MonoGame.

  • Xamarin — это framework для кроссплатформенной разработки мобильных приложений (iOS, Android, Windows Phone) с использованием языка C#.
  • MonoGame — это кроссплатформенная реализация игрового движка XNA, позволяющая писать игры не только под Windows и Windows Phone (как изначально задумывалось Microsoft), но и массу других платформ, включая Android.

В качестве рабочей идеи было выбрано создание простой двумерной игры про PacMan-а, который, правда, будет не просто PacMan-ом, а 'сердитым PaсMan-ом', то есть поедающим привидения вместо желтых бонусов :)

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

Игра будет на двух языках: русском и английском. Должно присутствовать игровое меню и дружественный для пользователя интерфейс.

Под катом много скриншотов, схем и кода) В конце урока приведена ссылка на GitHub с полными исходниками игры.
Читать полностью »

В этой статье я хочу поделиться своим опытом разработки мобильной игры, поскольку я Windows Phone разработчик, я буду рассказывать про свой опыт применительно к этой системе.

Память и текстуры

Если Вы уже занимались разработкой мобильных игр, то основное зло не в нехватке ресурсов CPU/GPU, а в нехватке памяти. Именно о памяти нужно думать в мобильной разработке в первую очередь. В Windows Phone 7 ограничение было в 100мб, в Window Phone 8 стало получше, но не сильно:

Тип лимита Тип приложения Телефоны с маленьким количеством памяти 1- Гб телефоны 2-Гб телефоны
Default XNA или native 150 MB 150 MB 150 MB
Default XAML/.NET excluding XNA 150 MB 300 MB 300 MB
Higher All app types 180 MB 380 MB 570 MB

И если Вы разрабатываете игру, в которой довольно большое количество спрайтов (уложенных, конечно же, в атласы) — то вы рано или поздно задумаетесь о количестве этих самых атласов и сжатии текстур.
Стандартный атлас, с которым работают все более или менее уважающие себя устройства — это 2048х2048 пикселей. Что в несжатом виде (32 bits per pixel) будет занимать аж 2*2*4 = 16 Мб памяти. Тогда на выручку приходят форматы сжатия текстур, в нашем случае это DXT сжатие.
Сжатые текстуры не только требуют значительно меньше памяти видеокарты, но и вообще отображаются быстрее, чем несжатые текстуры, за счет снижения требований к пропускной способности. Но некоторые качества изображения могут быть потеряны из-за сжатия. Тем не менее, снижение объема памяти позволяет увеличить разрешение текстур, которые будут использоваться, что действительно может дать существенный выигрыш в качестве.
Читать полностью »

Разработчики и Microsoft: взгляды на будущееДовольно очевидно, что Windows используется большим количеством людей, и что всем им система нужна для выполнения различных задач: от создания корпоративного сервера и установки на POS-терминалы до использования её на домашнем компьютере, и не только для этого. Многие понимают, что когда Microsoft обновляет Windows, ей приходится принимать множество компромиссных решений для обеспечения корректной работы своей операционной системы. Существует, однако, ещё один тип компромиссов, о существовании которого многие люди, пусть даже они и называют себя продвинутыми пользователями или администраторами, даже не догадываются. Это конфликт между разработчиками/программистами и самой Microsoft.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js