Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Наш сегодняшний пост возвращает нас к PIX-6T4 «Вышел набор PIX-6T4…» и к нашему другу Питу Брауну (Pete Brown).
Если вы следите за Питом, то возможно не удивитесь, если узнаете, что он приложил руки к PIX-6T4 и поделился опытом создания набора и написания первой «настоящей» игры для него.
Сборка портативной игровой системы на основе PIX -6T4 Netduino
Недавно я приобрел сборку PIX-6T4 Фабьена Ройера (Fabien Royer) с играми Фабьена Ройера и Бертрана ле Роя (Bertrand Le Roy). Это 64-пиксельное двухджойстиковое портативное устройство с монофоническим звуком создано на основе Netduino Mini из Secret Labs. На нем можно создавать игры на языке С# с помощью Visual Studio.
Уведомление: я работаю на Microsoft и мне нравится работать с .NET Micro Framework, а также с С++ на других микроконтроллерах. Я приобрел этот продукт за собственные средства за полную стоимость; это не образец и не экземпляр для обзора. Предположительно, я получил такой же товар, который получают и другие.
Распаковка
Набор пришел в обычной почтовой упаковке, внутри которой было четыре пакета. В двух содержались компоненты, а в двух – джойстики.
Вывод
Я впечатлен тем, что придумал Фабьен, и набор игр, сделанных им и Бертраном, просто совершенен. Я считаю, что плата и корпус могли бы быть более компактны за счет другого дизайна и более удобны, но в целом, я полагаю, что это прекрасный способ введения в программирование Netduino с помощью создания чего-то занимательного и захватывающего. Кроме того, из-за технологии вывода информации, вы вынуждены создавать игры с очень простой графикой (просто светодиоды), поэтому, неизбежно, вы обойдете общий начальный барьер. Иногда ограничения – благо.
Поздравления Фабьену и Бертрану!
Моя первая настоящая игра на PIX -6T4: Sixty4Racer
После сборки PIX-6T4, я решил начать и написать простую игру. Здесь описывается разработка этой игры, включая все исходные коды.
Идея
Когда у вас только 64 красных пикселя, поневоле приходится ограничиваться простой графикой. Я выбрал игру, навеянную классической Atari River Raid. По существу это игра с вертикальным скроллингом, где нужно на лодке уворачиваться от препятствий. Вариации включают Spy Hunter on the C64 и многие многие другие. Большинство этих игр также включают оружие и врагов, но это несколько больше того, что можно себе позволить на этой плате. Я не способен двигать стены, как в Laser Gates, но я оставляю такие возможеости открытыми на будующее.
Игра должна быть достаточно компактна, чтобы я смог понять API и затем спроектировать, закодировать и написать о ней за один вечер, после того, как мои дети отправятся спать. PIX-6T4 любопытен, но меня ждет множество других проектов, которым тоже надо уделить время (вот некоторые из них: мельница с ЧПУ ShapeOko , преобразователь AVRMIDI -> CV , окончательный вариант MIDIThruBox , несколько модулей синтезатора MFOS , несколько концепций платы Gadgeteer , книга по XAML для Win8, обзор глав моей книги по Silverlight 5 и многое многое другое). Фактически основными причинами высоких продаж устройства являются простота игры и скорость разработки. Вместе с замечательной библиотекой, созданной Фабьеном и моим опытом работы с Netduino, а, более точно, с C#, этот проект может стать проектом на вечер.
Конструкция экрана
Возвращаясь в 80-е, в 7-й класс, я использовал в конструкции одноцветный спрайты для Commodore 64. Спрайты были трехбайтовые, и каждый пиксел представлялся одним битом. Чтобы задать их я использовал миллиметровку, и увы, тетради, заполненные спрайтами, и листинги BASICа продолжались долго пока не исчезли.
...
...
Первая итерация: создание прокручиваемого поля игры
Я назвал свой проект PeteBrown.Sixty4Racer. Как и в предыдущем посте, я скопировал файл Program.cs из другого проекта и использовал его как исходную точку. Пожалуйста, прочтите мой предыдущий пост, чтобы разобраться, какие ссылки вам нужны, а какие нет.
Первым созданным мною классом, был класс, управляющий созданием экранов.
...
Втораяитерация : добавлениеигрока
В библиотеки PIX-6T4 включена концепция PlayerMissile. Это один пиксел на игровом поле. Он может двигаться, у него есть составляющие скорости по осям X и Y. Его можно показывать и скрывать, так что у него есть свойство видимости. И самое главное, у него есть способность определять столкновения с другими экземплярами PlayerMissile. В нашей игре мы не собирались использовать это до тех пор, пока не начали искать способность определять столкновения с фоновыми изображениями. Так что небольшой механизм регистрации столкновений оказался кстати.
...
Третья итерация: шлифовка
Первое, с чем я столкнулся при реализации игры, были сложности с представлением пиксела игрока в море красного цвета. Этого можно было ожидать на монохромном дисплее разрешением 8 на 8. Я решил для простоты, что пиксел игрока будет просто мигать. Каждый раз, в цикле игры, я переключал видимость корабля PlayerMissile, чтобы сделать из него прекрасную, привлекающую внимание мигалку.
...
Окончательные шаги
Последними штрихами было создание файла манифеста и растрового изображения для SD-карты. Надо было бы обсудить все это с Фабьеном, чтобы убедиться, какой именно формат.bin-файла использовать, но я предположил, что это просто 8 байтов данных, отформатированных так же, как и другие изображения этого приложения. Также я не был уверен, есть ли у него небольшое приложение для записи данных или преобразования из растрового изображения или чего-то подобного. В завершение я просто воспользовался HEX-редактором для перевода шаблонов изображений, созданных в редакторе шрифтов.
...
Что можно сделать
Эта игра полностью открыта и может свободно распространяться. Хотя мне и нравится получать оплату за проделанную работу, это не обязательно. Приступайте, делайте, что вам захочется с исходным кодом и развлекайтесь.
Вот видео игры в действии:
Короче, если у вас есть страстное желание держать свой паяльник горячим и создать собственную портативную игровую консоль, а также написать собственную игру для нее, то PIX-6T4 и это руководство от Питера – это всё, что нужно…