четверг, 31 мая 2012 г.

Создание редактора карт. Часть 4 - функция рисования сетки и тайлов.

Функция рисования сетки очень проста, не будем на ней углубляться. Просто создадим два цикла, которые будут рисовать линии по оси X и оси Y, и добавим код функции в программу.

Function drawlines()
local x%
local y%
for y = 0 to g_screen_heigth step 40
drawline 0,y,g_screen_width,y
next
for x = 0 ti g_screen_width step 40
drawline x,0,x,g_screen_heigth
next
end function

среда, 30 мая 2012 г.

Игра Rivalnoid от Falcoware


Rivalnoid - это интересный и красочный арканойд. Отличительной особенностью Rivalnoid от других арканойдов является очень интересная система задержки уходящего мяча. Всего в игре 24 уровня, в которых Вы увидите разные вариации обстановки и фонов. Также на протяжении всей игры Вас будет сопровождать приятная, успокаивающая музыка. Приятной игры!
Горячая клавиша: F2 - выход в меню.



Создание врага в RPG Maker VX ACE


Я уже не раз упоминал о конструкторе игр RPG Maker. И вот, захотелось самому в нём что-то создать. Для начала решил вспомнить основы, а заодно поделиться с вами.

Перед вами простой пример того, как создать врага в RPG Maker VX Ace. Данный враг будет находиться на карте, говорить с нами перед боем, а после боя бесследно исчезнет.

Руководство оснащено картинками и комментариями к ним для удобного понимания.

Для начала создадим карту, где будет находиться враг. Рисуйте по своему усмотрению.

Игра Virtual Billiard от Falcoware


Симулятор бильярда, который поразит своей реалистичностью Восьмерка, Девятка, Снукер и другие игры.



Хотите поиграть в известный во всем мире Американский Бильярд, не выходя из дома? Тогда эта игра для Вас! Правила игры, игровой стол, шары - все по-настоящему! Вам только нужно зафиксировать кий для удара и осуществить удар наступающим движением мыши! Нравится? Тогда вперед!
Особенности:
- Реалистическая физическая модель.
- 4 классических и 6 аркадных столов.
- 7 вариантов окраски шаров.
- Программные алгоритмы отрисовки сглаженных шаров и бортов позволили сделать графику максимально реалистичной.
- 5 правил игры (3 шара, 8 шаров, 9 шаров, 14 плюс 1, снукер), тренинг и режим игры вдвоем на одном компьютере.
- Система подсказок по правилам и ударам.


вторник, 29 мая 2012 г.

Создание редактора карт. Часть 3 - создаём функцию для управления редактором.

Продолжим нашу серию уроков.

Сейчас начнём создавать функцию, которая позволит нам управлять редактором карт.

Разместите где-нибудь в исходном коде текст:

function controls()


end function


Это будет заготовка для нашей функции.

Плохие новости

Наконец-то всё вернулось на свои места... Включая наш домен. Почему адрес блога так и остался с приставкой blogspot? Сейчас расскажу.

Электронной коммерцией я пользуюсь не часто, поэтому не знаю обо всех её "нюансах".

Приобретя через webmoney карту visa virtual объёмом в 10$, я сразу оплатил с её помощью покупку домена. Вернее я думал, что оплатил. Однако он (google wallet, там я приобретал домен) выдал ошибку: "ваша карта отклонена". Попробовал ещё разок - то же самое. Изменил в настройках карты имя владельца на Visa Cardholder, опять не принял. Затем заново ввёл все данные на английском, думая, что опять не примет, но (о, чудо!) платёж прошёл успешно. Вернее, так было написано.

В тот же день, нажав в панели управления блогом на "Просмотр блога" меня перенаправило на страницу с текстом: "Ваш блог переносится на новый адрес gamecrt.com" и было сказано подождать вплоть до трёх дней. Я подождал, ничего не изменилось.

Затем я решил проверить остаток денег на карте. Оказывается, с неё трижды было снято по доллару в качестве "верификации", поэтому платёж и не прошёл. Было необходимо не 10, а 11$.

Вернул остаток (7$) на вебмони, однако заплатил за карту 13$.

Прощайте, дорогие 180 рублей. Обидно не за вас, а за потерю так и не приобретённого (странно звучит) домена.

Игра "Extrime drive live in speed" от Falcoware


Гоночный симулятор с хорошей графикой и физикой. Гоняйте по трассе на одной из четырёх мощных тачек и обгоняйте соперников. В Вашем распоряжении Ламборджини, Пежо, GMC и Феррари. Трасса имеет интересную особенность - генерировать растительность и погодные явления случайным образом. Садитесь за руль и вперёд к победе!




понедельник, 28 мая 2012 г.

Срочное сообщение!

Сейчас не работает практически ни одна ссылка на сайте, так как это связано с перенесением блога на новый домен. Скоро всё утрясется.

Новости. Прогресс и будущие изменения.

Небольшая эмблемка

Хорошие новости!

Во-первых, купил домен первого уровня. Отныне мы - gamecrt.com!
Во-вторых, вскоре на сайте появится страница быстрого перемещения по сайту. Все статьи, находящиеся на этом сайте, будут упорядочены по категориям, чтобы новоприбывшим читателям было удобнее ориентироваться на сайте.
В-третьих, планирую начать проект "Совместное создание игр". В этом проекте я буду шаг за шагом описывать каждое действие создаваемой мною игры, чтобы вы открыли для себя что-либо новое, какие-либо трюки программирования.
И ещё одна небольшая, но хорошая новость. В рейтинге сайтов по программированию на gamedev.ru наш блог занимает 3 место!

Желаю успехов и себе, и вам!

Игра Stratego от Falcoware



Стратего - настольная военно-стратегическая игра для двоих, проходящая на клетчатом поле 10 на 10 с участием 40 закрытых фигур с каждой стороны. Фигуры представляют собой одинаковые срезанные цилиндры. На срезанной стороне цилиндра, направленной к игроку, обозначается ранг этой фишки. Вид вражеской фигуры выявляется во время её атаки. Цель заключается в обнаружении и захвате уникальной фигуры противника - флага.



воскресенье, 27 мая 2012 г.

Обзор BlitzMax


Решил в кои-то веки сделать обзор столь любимого мною движка для создания игр - BlitzMax.

BlitzMax позволяет создавать как 2D игры, без особых утруждений, так и трёхмерные игры, используя OpenGL. Он имеет собственный компилятор, среду разработки и даже собственный, Basic-подобный язык программирования.

Достоинства движка:
Высокая производительность;
Простота использования;
Поддержка ООП (что в нынешнее время немаловажно).
Поддержка OpenGL.

Недостатки движка:
Плохая поддержка событий на уровне движка. Сам я событиями никогда не пользовался, но хотелось найти хоть один недостаток у данного движка.



Пример программы Hello World:

graphics 640,480
repeat
drawtext "Hello World!",100,100
flip
cls
until keydown(key_escape)

Рекомендую начинающим разработчикам игр, освоивших конструкторы, но не очень хорошо программирующих на ЯП высокого уровня начать создание игр именно с BlitzMax'а.

Создание редактора карт. Часть 2 - Основной цикл и инициализация карты.

После объявления глобальных переменных и констант перейдём к началу создания основного цикла.

Основной цикл - цикл в программе, который будет выполняться непрерывно, вплоть до завершения программы. Для создания бесконечного цикла используем конструкцию BlitzMax:

repeat
...
forever

На данный момент мною и моей командой разрабатывается игра Square Boy 2, предлагаю вам посмотреть видео из игры:

Создание редактора карт. Часть 1 - объявление констант и глобальных переменных.

Курсивом выделен исходный код программы.

Чтобы наш редактор карт можно было подстроить под любое разрешение экрана, объявим две глобальные переменные:

Const g_screen_width = 800
Const g_screen_heigth = 600
Graphics g_screen_width,g_screen_heigth

Игра CrazyApple от Falcoware

Интересный логический платформер в 3D с красивой графикой. Игра заставляет думать, а потом действовать быстро, разгадывая головоломки, возникающие во время прохождения уровней. Играя червячком, надо быть осторожным - падающие камни могут придавить, а случайно съеденный мухомор отнять одну жизнь.



Маленький герой может двигать один камень, если за камнем пусто. Это позволяет находить выход из сложных ситуаций. Бабочку можно убить, сбросив на неё камень. Десять яблок добавляют одну жизнь. Действует загрузка и сохранение. Пользуйтесь ими чаще.


Скачать


суббота, 26 мая 2012 г.

Редактор карт в 80 строк. Вступление

Начну серию статей "Как создать простой, но достаточно функциональный редактор карт из 80 строк". Учтите - 80 строк - это на BlitzMax'е, на других средах разработки может быть как больше, так и меньше строк.

Для начала опишу концепцию будущего редактора карт:
У нас имеется папка с редактором карт, в которой находятся сам редактор карт и файл map.txt, который будет хранить созданную карту.

Немного о статьях по программированию, содержащихся на сайте

В качестве информации - примеры по алгоритмизации будут написаны на basic-подобном языке программирования. Все функции и алгоритмы будут подробно объяснены и расписаны, поэтому вы сможете легко интерпретировать их на любой другой язык программирования, имеющий движок со схожими функциями.

С С++ особых проблем не будет, так как графических, звуковых и прочих движком там - невероятно большое количество. А вот насчёт таких ЯП, как Ruby или Python я не знаю, но это всё на ваше усмотрение.

В общем, успехов вам.

О создании игр и моем блоге в целом


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

Некоторым кажется, что создание игр - невероятно трудное дело, однако для создания игр нужно знать лишь основы любого языка программирования, а также "выучить" движок или систему разработки игр, на которой вы собираетесь создать свою игру.

Кроме того, иногда необязательно учить языки программирования - иногда достаточно найти удобный конструктор игр, который позволит вам создать свою прекрасную игру, не прилагая усилий. Но всё же не стоит забывать, что полноценное программирование превосходит конструкторы.

Один из удобных конструкторов игр - RPG Maker. Он позволяет легко создавать игры жанра JRPG (к примеру, Final Fantasy - JRPG) без программирования, но в то же время обладает широкими возможностями и функционалом, а также приятной графикой.

Пример движка для игр - BlitzMax. Обладает основнополагающими функциями для игр, а также удобным синтаксисом.

Поначалу будет трудно, однако с каждым разом вы будете всё более уверенней создавать игры.

Блог содержит огромное количество статей, примеров игр, примеров алгоритмов для различных целей (физика в платформере, система реализации инвентарей в ролевой игре и т.п.), а также другую информацию, касающуюся индустрии программирования игр. Также вы сможете узнать более подробней о разнице между конструктором игр и движком для игр, узнать о дистрибьюции и заработке на вашей игре, посмотреть ссылки на большое количество полезных ресурсов, а также скачать бесплатно игры от автора Game Developing Blog.

Сам автор блога также является программистом, в какой-то мере начинающим, поэтому вы, читатели блога, будете развиваться вместе с автором.

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

В общем, если вы решили начать программировать игры, или же укрепить имеющиеся навыки, то Game Developing Blog - для вас.

RPG Maker - создай свою историю

RPG Maker - линейка программ для создания ролевых игр в консольном стиле.

Известные мне версии: 2000, 2003, XP, VX, VX Ace. Есть ещё 1995, однако ею я не пользовался, так и не нашёл инсталлятор.

Вообще, по моим данным, я могу и ошибаться, RPG Maker в Россию завез Дон Мигель. Не знаю его настоящего имени, однако у него был сайт с большим количеством полезной информации и некоторыми играми, созданными на этом конструкторе. Однако, на данный момент, сайт практически сдулся - половина страниц на нём недействительны. В общем, познакомился я с первым конструктором игр (и лучшим, надо сказать) в своей жизни, благодаря Дону Мигелю.



Какова же была моя радость, когда я ощутил легкость создания игр любимого мною жанра. Однако уже вскоре пришлось прибегнуть к самым "истокам" программирования - создавать переменные для того, чтобы из сундуков не брали неограниченное число раз одни и те же вещи. Скажем так, по началу про переменные я вообще не имел представление, поэтому использовал телепорт из середины пещеры, где лежал манящий сундучок, к самому её входу, признаюсь.

Постепенно посадил парочку знакомых на РПГ Мейкер, среди них я был практически "гуру" rpg maker'а.


В нынешней версии RPG Maker VX Ace разрешение экрана 640х480, однако несмотря на это, графика радует глаз. Очень удобный редактор карт и редактор событий упрощает процесс создания игры. Можно легко добавить свои ресурсы и сделать свою игру уникальной.



Основная задача при создании игры на RPG Maker - это не программирование рпг (кстати, рпг, на мой взгляд, наиболее трудно запрограммировать), а расстановка объектов, отрисовка карты средствами редактора и сочинение истории.

В базе данных вы просто редактируете существующие классы персонажей, навыки, оружие, экипировку, вещи и прочие основные составляющие игры. Если же вы хотите кардинально изменить внешний вид игры или её функции, то делайте это с помощью редактора скриптов. Однако придётся выучить язык Ruby - именно на нём написан RPG Maker.

Кстати, сам я не нашёл ни единого учебника по Руби, так что буду рад вашим комментариям.

Создание игр без программирования - миф или реальность?

Многие хотят создать игру, но лишь небольшая часть из них способна запрограммировать игру. Те, кто не умеют программировать, обычно прибегают к помощи конструкторов игр. Лишь некоторые нанимают программистов, так как они дорого берут за работу, а уж деньги всем жалко.

Так что же насчёт конструкторов игр? По большей части конструкторы игр - те же движки, с упрощенной системой программирования. Вам достаточно с помощью различных кнопок и меню интерфейса собирать по кирпичикам свойства объектов, а потом просто запускать готовый продукт. Довольно-таки легко, не правда ли?



Однако у любого конструктора есть один большой минус - ограниченность. Можно расширить возможности конструктора лишь использованием скриптов, а само написание скриптов для определённого конструктора тяжелее, чем программирование "с нуля". Чтобы писать скрипты для конструкторов, перед этим надо подстраиваться под сам конструктор, а также язык программирования, используемый им.

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



Большинство конструкторов построены на системе: можно скачать бесплатно, но для дополнительных возможностей придётся платить определённую сумму.

Среди конструкторов игр хочется особо выделить RPG Maker, так как сам я был долгое время его "фанатом" и Game Maker - сам я им никогда не пользовался, но многие новички предпочитают именно его.

Немного о сервисе falcoware

Falcoware.com - весьма хороший способ для начинающих игроделов заработать на своей игре.
Хотя Falcoware не столько источник хорошего заработка, сколько дистрибьютор вашей игры. Пусть на играх вы особо-таки не разбогатеете, однако ваша игра будет распространена на огромное количество различных торрентов и файлообменников.

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

Насчёт заработка: платят за скачивание вашей игры. Вернее, за установку тулбаров от различных компаний (Relevant Knowledge, Babylon и т.п.). За установки игр в различных странах разные премии:
Америка - 0.17$
Германия - 0.12$
Португалия - 0.025$
Россия замыкает список с ценником в 0.01$

На самом деле стран гораздо больше, поэтому уточняйте цены на сайте Фалко. Скачивания в основном идут из России.

пятница, 25 мая 2012 г.

Square Boy - первая игра

Не то, чтобы это действительно было моей первой игрой, скорее это первая запрограммированная мною игра, которая выглядит более-менее прилично.

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

В итоге эту игру я создал чуть меньше, чем за неделю. Даже музыку к ней сам написал в FL Studio.


Суть игры проста - доберитесь из пункта А в пункт Б, преодолевая препятствия, в виде ям и крутящихся на месте пил. Пункт Б - розовое подобие главного героя игры, Square Boy'а.


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

Square Boy был создан на BlitzMax'е, о котором я упомянул в предыдущей статье своего блога. Сейчас готовится к выходу Square Boy 2, в нём графика гораздо лучше, чем в первой части, а также присутствует скроллинг карты и другие "фишки".

Полезные ресурсы для новичков

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

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

Если набрать команду более-менее "профессионалов" своего дела (художников, композиторов, программистов, моделлеров, сценаристов), то работа станет гораздо легче. Но в этом случае вам надо хорошо уметь контролировать процесс совместной разработки. Все это придет со временем.
Так где же найти членов команды?

Для новичков посоветую сайт gcup.ru, а также любое русское сообщество по тому движку или конструктору, на котором вы создаете игры.

Для людей по-опытнее, а также для тех, кто способен в свой проект вложить деньги, могу посоветовать gamedev.ru. Там можно найти большое количество профессионалов различных областей, но и требования у них более жесткие. Если на gcup трудно найти человека, работающего в команде за деньги, то на gamedev'е трудно найти человека, работающего на энтузиазме.

Больше, собственно говоря, действительно примечательных ресурсов я не знаю. Разве что могу посоветовать dtf.ru, однако там не столько можно найти участников, сколько огромное количество действительно нужных и разнообразных статей по программированию игр. Да и не только игр. Также там можно посмотреть резюме и вакансии IT-рабочих.

Вступление

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

Блог создан в первую очередь для помощи новичкам в таком нелёгком деле, как разработка игр.

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

Сам же я программист. Тоже начинающий, но уже на что-то способный. Пока что это "что-то" представляет собой казуальные игры, но это уже неплохо, ведь так?

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

Так вот, когда появился приличный безлимитный тариф, я начал баловаться скачиванием консольных игр и эмуляторов к ним. В основном играл в игры от Sega и SNES (snes - почти что dendy, только чуток мощнее). Со временем открыл для себя такие игры, как Final Fantasy и Chrono Trigger. Уж очень понравились мне JRPG игры, сейчас они называются console-style.

В скором времени, переиграв в такие игры, как Final Fantasy V, Final Fantasy Tactics, Chrono Trigger, Shining Force и во всевозможных покемонов (да-да, есть и по ним игры), я понял, что их не так уж и много.

Начался поиск различных JRPG в глобальной сети. В основном находил игры для PS2, PS3, PSP (на XBOX'ах практически нет JRPG, в основном экшны, так как это западная консоль), но компьютер был довольно-таки слабый, а нормальных эмуляторов нет и по сей день.

Однажды я случайно наткнулся на такую вещь, как RPG Maker. Очень интересная программа, практически без программирования позволяет создавать JRPG игры. Тогда-то я и подсел на создание игр. Сперва это было создание игр на конструкторе, а уж после года обучения - на реальном программировании.

В то время для меня создание игр представляло собой расстановку противников на тайловой карте, создание диалогов и расстановку сундучков с золотом, однако со временем игры стали усложняться, я начал использовать подобие алгоритмизации, использование глобальных, локальных переменных и "переключателей". По сути, переключатели в RPG Maker'e - это переменные типа Boolean.

Время шло, игры делались, общался с интересным коммьюнити (оно, кстати, до сих пор живо, если хотите, перейдите на http://rpgmaker.ru/).

Года два назад ощутил потребность в нечто большем, нежели простом конструкторе игр. Начал изучать программирование. Сперва результаты были плачевные - взялся за C#, но не смог осмыслить ни единой главы. Потом перешёл на нечто гораздо более простое - Basic. Сам по себе бейсик мало что умеет, однако есть большое количество его "модификаций", которые используются в различных движках для игр, использующих свою среду разработки.

Изучив Basic, понял основы программирования. Потом дело пошло на лад - начал изучать Visual Basic.NET, что позволило создавать свои простые программы, работающие с интерфейсом Windows, C++ и др. ЯП. Честно говоря, единственным "достижением" можно считать саму алгоритмизацию, а не знание ЯП. Терпения так и не хватило до конца изучить эти языки, всё время пытался метнуться в сторону разработки игр.

Таким образом, я понял, что создание игр для начинающих - дело трудное.

И вот, на данный момент, открыл для себя BlitzMax. Очень удобная и простая среда разработки двумерных игр, использует свой Basic-подобный ЯП, а также в нём уже создано большое количество всех самых необходимых функций.

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

О своих играх расскажу в следующих записях.