Рубрика «monogame»

Введение.

В этой статье я бы хотел рассказать о своем хобби проекте под названием StbSharp.

Итак, в 2016 году мне пришла в голову весьма банальная идея - сделать собственный игровой кросс-платформенный движок на C#. И я озаботился поиском кросс-платформенной же библиотеки для загрузки картинок. Внезапно выяснилось, что подходящей просто не существовало. Было множество платформо-зависимых решений(напр. System.Drawing). А так же имелась SixLabors.ImageSharpЧитать полностью »

Собственные игровые движки: небольшое исследование - 1

Пару недель назад я играл в A Plague Tale студии Asobo Studio (и прошёл её). Меня очень захватила эта игра, благодаря не только красивой графике, но и сюжету с локациями. Я решил немного изучить технологии, использовавшиеся при её разработке, и был удивлён, обнаружив, что игра создавалась на собственном движке относительно небольшой студии. Я знаю, что некоторые компании используют собственные движки, но очень сложно найти подробное маркетинговое исследование с подобной информацией. Поэтому я написал эту статью.

Сегодня многие компании выбирают для разработки игр такие движки, как Unreal или Unity (или, по крайней мере, так думают многие люди), потому что для разработки собственного движка AAA-уровня требуется множество ресурсов. Поэтому я решил составить список некоторых из самых популярных самописных движков с указанием размеров студий и значимых игр, выпущенных на этих движках.

Большинство представленных здесь движков разрабатывалось на протяжении многих лет, множества итераций и для множества видеоигр, эти движки имели несколько версий или даже полностью (частично) переписывались с нуля с последующей сменой названия. Кроме того, важно заметить, что большинство этих движков для реализации определённой функциональности (совместимость с платформами, физика, сеть, растительность, UI, рендеринг, звук...) использует всевозможное промежуточное ПО.
Читать полностью »

Целью данной статьи является систематизация материалов для создания простых игр на фреймворке Monogame. В статье будут рассмотрены решения типичных задач, с которыми приходится сталкиваться всем разработчикам при создании игр для мобильных платформ: независимость текстур от разрешения экрана, создание меню и смена игровых сцен (экранов), нюансы работы со звуком и шрифтами, сохранение рекордов. В статье приведены примеры кода, а так же даны ссылки на полезные и актуальные источники информации по Monogame и разработке под платформу Windows в целом, ну и конечно, моя история создания своих первых игр.
Читать полностью »

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 с полными исходниками игры.
Читать полностью »

Разработка (футбольных) игр с помощью MonoGameРазрабатывать игры хотят все, и это неудивительно: они популярны и хорошо продаются. Кто не мечтает прославиться и разбогатеть, сделав очередные Angry Birds или Halo? В реальности, однако, разработка игр – одна из самых сложных задач в программировании, ведь в игре нужно подобрать такое сочетание графики, звука и геймплея, чтобы она захватила пользователя.
Чтобы облегчить жизнь разработчикам игр, создаются разнообразные фреймоворки, не только для С и С++, но и для С# и даже JavaScript. Одним из таких фреймворков является Microsoft XNA, использующий технологию Microsoft DirectX и позволяющий создавать игры для Xbox 360, Windows, and Windows Phone. Microsoft XNA сейчас уже более не развивается, однако в то же время сообщество Open Source предложило другой вариант – MonoGame. Познакомимся с этим фреймворком поближе на примере простой футбольной (к чему бы это?) игры.
Читать полностью »

В этой статье я хочу поделиться своим опытом разработки мобильной игры, поскольку я 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 сжатие.
Сжатые текстуры не только требуют значительно меньше памяти видеокарты, но и вообще отображаются быстрее, чем несжатые текстуры, за счет снижения требований к пропускной способности. Но некоторые качества изображения могут быть потеряны из-за сжатия. Тем не менее, снижение объема памяти позволяет увеличить разрешение текстур, которые будут использоваться, что действительно может дать существенный выигрыш в качестве.
Читать полностью »

В предыдущей заметке было рассказано о основных моментах связанных с разработкой игр для Windows 8 и MonoGame. Несмотря на то что игра уже запускается, в ней не хватает важных функций которые необходимы при реализации приложения для Windows 8. Это поддержка прикосновений и обязательный экран privacy policy.
Читать полностью »


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