Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

GameCreating - Создание игр без программирования


.

Привет всем геймкриэйторам!

Перед вами новый выпуск рассылки на GameCreating! Выпуск не просто очередной, а действительно новый, ведь начиная с этого номера мы кардинально попытаемся изменить содержимое рассылки приблизив ее к понятию Newsletter, т.е. новостное письмо.  В каждом новом номере мы будем вкратце рассматривать события из мира GameCreating'a, произошедшие за последнее время, в дополнение к этому мы постараемся регулярно публиковать эксклюзивные туториалы и руководства по тому или иному конструктору игр. Возможно так же, что помимо новостей и руководств в номерах нашей рассылки будут временами публиковаться интересные интервью или обзорные статьи. Но самое главное мы постараемся наладить ежемесячный выпуск рассылка. В общем приступим, сегодня на ваш суд следующие темы:

  • Июльские события из мира геймкриэйтинга

  • Ultimate 3D в Game Maker. Урок №2: Модели... (by Кто-то)


 Лето практически во всех сферах бизнеса, кроме туристического, конечно, мертвый сезон. Но, как ни странно, в мире геймкриэтинга периода застоя этим летом не наблюдается. Наоборот разработчики не устают радовать нас новыми версиями конструкторов игр. Так, например, в конце июня после четырех кандидатов в релизы вышла новая версия конструктора FPS Creator. Нет-нет! Это не тот пресловутый FPS Creator X10, а "всего лишь" обновление 1.06 для стандартной версии. Так же последние штрихи перед мощным релизом наводит автор конструктора Explorations. В этом месяце было выпущено обновление 8.9.325 - с полной поддержкой Windows Vista. К слову, многие фирмы, разрабатывающие конструкторы игр поспешили выпустить обновления для новой операционной системы от Microsoft, хотя слово "поспешили" звучит как-то комично спустя пол года после выхода самой операционки... Тем не менее и Adventure Maker, и Game Editor, и даже Silent Walk FPS Creator (автор которого после двух месяцев "отпуска", связанного со сменой места жительства, снова вернулся к делу) обновились в прошлом месяце, и во всех обновлениях на одном их первых мест значится поддержка Winsows Vista.

Но самое значительное событие, произошедшее за этот месяц - резил движка A7, а вместе с ним и новой версии конструктора 3D GameStudio, которая, в принципе, на нем и базируется... Этого события многие игроделы ждали уже более года, и наконец оно свершилось!

Из других интересностей стоит отметить старт официального конкурса Adventure Maker (с материальными призами), в котором ваш покорный слуга принимает участие в качестве члена жюри, а так же мини-состязание на лучший редизайн для Silent Walk FPS Creator (без материальных призов). Ну и конечно новый концепт нашей Рассылки тоже можно отнести к важным событиям средины лета 2007. Так что читайте, наслаждайтесь и ждите следующих номеров.  Кстати, узнать подробнее о всех релизах, описанных в этом обзоре, а так же скачать все новые версии можно на нашем портале: www.gamecreating.ru.

Стоп! Стоп! Стоп!!! Чуть не забыли!!! Еще в этом месяце наш постоянный посетитель посетитель, активный участник нашего форума и просто хороший человек под ником Кто-то начал эксклюзивно для нашего портала разработку серии уроков по созданию 3D в конструкторе Game Maker при помощи библиотеки Ultimate 3D. Первый "Вступительный урок" уже был выложен на нашем форуме и вызвал бурную волну обсуждений. Второй урок посвящен "Моделям" и доступен для чтения прямо здесь...


Ultimate 3D в Game Maker

Книжко №2: Модели….

 

            Итак, в этой части мы научимся загружать модели и использовать их в игре. Мы дадим нашему человечку ружо и врагов. Ну и конечно пули. Пули у нас, к сожалению, будут не модельные .  Итак, возьмём, к примеру, наш прошлый урок. Мы сделали лабиринт и игрока, который по нему ходит. Сделаем ему ружо. Для этого создадим новый объект weapon. Этот объект надо или поставить в комнате, или создать его при начале игры, как хотите. За загрузку модели у нас отвечает функция LoadMesh(). Перед тем как её вызвать, обязательно надо указать путь к модели. Для этого служит значение file. Причём все текстуры, которые украшают эту модель, должны лежать в папке, где у вас лежат все текстуры. Если вы не хотите располагать их там – пожалуйста, для вас есть функция SetTexturePath(Папка с текстурами).

            Дак вот берём мы модель ружьишка. Какой формат – вам решать. Выбирать надо из:

Ø  *.3ds

Этот формат хорош по одной простой причине. Он поддерживается большим количеством программ для моделирования, хотя в первую очередь это формат файла 3D Studo Max (вероятно самая популярная коммерческая прога для моделинга). Этот формат файла стал как - бы стандартом. Он поддерживает даже скелетную анимацию. Но не все проги могут жрать его с анимацией. Но ультимата жрёт даже с потрохами .

Ø  *.md2

А этот формат придумал любимец думеров и квакеров – старый добрый Кармак, когда делал вторую кваку. Этот формат довольно необычен. В чём? Он анимацию делает не так как другие. Поэтому в первой версии ультиматы они были неаккуратные. Но во второй версии всё отлично, они теперь красиво двигаются. Тока вот для этих моделек текстуру надо вручную грузить. Юзайте LoadTexture().

Ø  *.an8

Единственное неудобство в том, что единственная программа, которая поддерживает этот формат файла – Anim8or. Он не очень распространён. Но он поддерживает даже скелетную анимацию. Аффтар проги в документации не описал полностью, как загружать из этого формата всё, что есть. Но всё же ультимата нормально его грузит.

Ø  *.x

Этот формат специально для DirectX. Очень стар. Так же, как и DelphiX* . Лучше его не юзать.

*Аффтар юзает дельфи и натыкался на такую утилиту как DelphiX. Гадость редкостная…

 

            Выбрали?? Начнём. Берём наш объект weapon. Поставим значение file=”(имя файла)”. К примеру, вместо (имя файла) можно поставить model.3ds. Это должна быть модель оружия. Потом ставим LoadMesh(). Оно загрузит нашу модель.

            В событии Step у объекта weapon мы напишем следующее:ъ

 

 

 

Разберёмся. Мы в этом коде приравниваем значения вращения и позиции объекта pl к объекту weapon. Это значит, что наше оружие будет крутится так же, как и игрок. Запускаем игру. Скорее всего модель не подогнана под вашу игру, и вы или не увидите оружие, из-за того что оно слишком большое, или из-за того, что оно слишком маленькое. Можно попробовать поставить в объекте pl в событии Create значение min_distance=0.1. Может помочь. Есть ещё один способ – опустить или поднять оружие. Для этого надо прибавить/отнять значение z. К примеру: z=pl.z+0.5 или z=pl.z-0.5. Ничего не помогает??? Попробуйте убрать из Step’а x=pl.x и y=pl.y, тогда ружьё не будет двигаться с игрокам, и вы сможете посмотреть на него со стороны. Только поставьте его в комнате так, чтобы игрок смог его увидеть. Походите вокруг оружия, посмотрите, так ли оно крутится. Может стоит где-нибудь прибавить градусов, где-нибудь отнять. Ружьё слишком большое??? Надо его уменьшить с помощью значений scalx, scaly и scalz. Они как image_xscale и image_yscale.

 

            Ну как?? Пошло?? Есть ружьё?? Надеюсь, что да. Получится должно примерно так:

 

            Это ружейко из DooM II, ракетница, я надыбал вместе с портом ZDooMGL…. Формат *.md2.

 

            А теперь сделаем монстров. Монстры у нас тоже модельками будут. Я возьму из того же дума любимого какодемона. Как делать ИИ я вам объяснять не буду. Просто сделаем монстриков. Итак, создаём объект monster. У него, как и у ружья, в событии Create указываем file=”(имя файла)”, и LoadMesh().  В событии Step мы ставим  функцию Step(). Потом можно ещё «поднять» объект значением z.

Потом расставляем врагов и запускаем. Красиво?? Теперь примерим, какие нам нужны размеры, высота. Это так же как и ружья. Но какой же враг без анимации?? Мы будем использовать анимацию модели, так что подыщите анимированную модель. За анимацию отвечает значение frame. Оно обозначает кадр модели. Сколько кадров в модели и какой нам нужен – смотрите сами. Если поставить отрицательное число, то он сам будет прибавлять на столько, сколько укажете. А вот если нам при отрицательном значении frame надо проигрывать не всю модель а только её часть, то нужно юзать значения start_frame и end_frame. Для вращения берём те же значения, что у оружия. Обычно это rotx, но возможно привередливые модели попросят roty или rotz. И ещё: у объектов, которые вы собираетесь удалить, в событии Destroy надо поставить скрипт Destroy().

 

            Ну как, получилось?? Вот, я покажу, как это выглядит у меня:

            Какодемончики… Прикольные. А чо у них изо рта летает?? Щас расскажу. Это есть пули. Тока как сделать, чтобы они в игрока стреляли, я рассказывать не буду (производственная тайна под названием лень). Итак, создаём новый объект под именем  pul. Далее подбираем рисуночег пули, жедательно формата *.png с альфа каналами, так красивее. Я вот такую сделал:

            Ыы, солнышко. Ничего лудше я сделать не мог, уж извините, не художник. Теперь в объекте control, или где у вас там текстуры грузятся, и загрузить это «солнышко» как текстуру. Не умеете?? Читайте первый урок. Далее ставим у объекта pul значение texture равное номеру текстуры, которую вы загрузили. Далее значениями width и height указываем размеры, для пули хватит 4х4. А вот дальше вспомним про спрайты. Помните у спрайта origin, точка, по которому он центруется?? Так же и тут. Значения originx и originy отвечают за это же, только они обозначаются от 0 до 1. Для центровки надо поставить 0.5 на обоих. Далее следует заключительная функция, создающая спрайт, постоянно повёрнутый к тебе. Пишем функцию Create2D(). Ну, как у всех, в событии Step пишем Step(), ну и Move(zdir,direction,4), чтобы пуля двигалась. Здесь zdir – это направление вверх - вниз, а direction – влево - вправо, как и у pl. Ну и в событии Destroy пишем Destroy().

 

            Итак, пулю мы сделали. Осталось её запустить… У объекта pl в нажатии какой-нибудь клавиши, какой – вам решать, ставим код:

 

 

 

            Тут мы создаём объект пули, И приравниваем ей значения zdir,z и direction как у игрока, только конечно подкорректированными.

Пробуем. Ну как, стреляет?? Надеюсь, что да.

 

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

 

УБЕДИТЕЛЬНАЯ ПРОСЬБА!


Когда будете понтоваццо перед нубами, плиииз, скажите им про етот мануал. Мну просто охота, чтоб его почитали. И обо мне тож скажите! Всем спасибо!

Просьбы и предложения: Мыло - hoha2005@yandex.ru     Ася - 239576775    Скайп - rogowy    Mail.ru агент - someone_93@mail.ru

by Кто-то, 2007г.

 

 

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


Не забывайте про нашу СМС.Копилку, в которую мы собираем благодарности от вас, наши уважаемые посетители. Это значит, что если хотите поддержать наш проект, вы можете отправить нам ваше благотворительно SMS с вашими пожеланиями на указанный номер, который появится, если вы кликните по этому замечательному кошелечку снизу... ;)

sms.копилка 

Внимание!!!
СМС.Копилка расширила зону своего действия. Теперь данная услуга доступна не только жителям России (Skylink, БИ ЛАЙН, ВолгаТелеком, ИНДИГО, МегаФон, МТС, НТК, Связьинфест, СМАРТС, Теле2, Телесет, Уралсвязьинформ), но так же и Украины (Киевстар, Djuice, UMC, Jeans, Life, WellCom), Казахстана (KCell, КарТел). Теперь все жители этих стран, пользующиеся вышеперечисленными операторами мобильной связи, смогут в любое время поддержать наш сайт. Заранее вам благодарны!

Если же у вас имеются счета Webmoney, можете перевести средства в поддержку сайта на один из ниженазванных наших счетов:


WMZ: Z120285363354
WMR: R148765035501

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

Тем более, что 1 марта состоялся юбилей нашего портала - нам исполнилось 5 лет!

Заранее благодарны.


Вот, вроде бы, и все!

Хотелось бы напомнить, самые последние новости из мира игровых конструкторов вы всегда найдете на WWW.GAMECREATING.RU.

Ждите следующих рассылок и не забывайте наведываться на
www.GameCreating.ru

P.S.: Кстати, если хотите поучаствовать в создании последующих рассылок пишите нам на: admin@gamecreating.ru

До скорых встреч
20.07.2007, Xion


В избранное