Game Maker - это один из самых известных и удобных конструкторов игр. Создание игр в нем достаточно простое и не требует предварительного знакомства с каким либо из языков программирования. Игра в GameMaker строится как набор игровых объектов, поведение которых задаётся путём программирования реакции на события. Программировать можно, используя графическое представление программ. Это представление отличается от обычного, например, тем, что для того чтобы начать условный оператор, нужно перетащить на панель действия восьмиугольник с иконкой, обозначающей тип проверки, а затем, возможно, ввести какие-либо значения в появившуюся форму. Имеется в нём и скриптовый язык GML похожий на JavaScript. Рассчитан в основном он на создание двухмерных (2D) игр любых жанров. Также подойдёт для создания различных презентаций и т. п. Начиная с 6-й версии появилась ограниченная возможность работать с 3D. Может быть рекомендован для изучения программирования детьми. Game maker распространяется на условиях Shareware, бесплатная версия ограниченна в функциональности, а при запуске игр показывается лого game makerа. Однако, легкость освоения и программирования на GML постоянно привлекает все новых и новых создателей игр (так называемых игроделов). История создания 1999: Начата работа над Game Maker (первоначально он назывался Animo, потому что сперва была идея сделать простую систему для создания 2-ух мерных анимаций) лето 1999. Первая публичная реализация - версия 1.1. Программа увидела свет 15 ноября, 1999. Эта версия уже имела встроенный язык программирования, но достаточно простенький. В данной версии не использовался DirectX и она не имела самостоятельного движка, и как следствие не позволяла создавать выполнимые программы. Поэтому созданные игры просто запускались в основном окне программы. С тех пор достаточно быстро были созданы версии 1.2, 1.2a, 1.3. Программа была еще мало известна или ее просто очень редко скачивали. Например в Декабре 1999 Game Maker был скачен 366 раз. 2000: Версия 1.4 стала своего рода - первой реализацией заявившей о себе. На нее обратили внимание. Скачивать программу стали чаще: (1000 в Феврале 2000, 1500 в Марте 2000, 2000 в Июне 2000, 8000 в Августе 2000 (после небольшой раскрутки)). Версия 2.0 увидела свет в Сентябре 2000. За весь 2000 программа была скачена с сайта автора приблизительно 40.000 раз. 2001: Вскоре появилась версия 3.0, в которой впервые был использован DirectX для рисования. Затем вышли дополнительные версии 3.1, 3.2 и 3.3 (Апрель 2001). Популярность игрового мотора быстро росла. В Марте 2001 года, программу скачали приблизительно 14.000 раз, а уже в Июне 2001 количество скачиваний увеличилось до 21.000. В январе 2001 автор решил, что должен качественно улучшить Game Maker, программа была полностью переделана (код приложения создавался с нуля), были использованы все знания приобретенные за предыдущие годы. Интерфейс программы был полностью изменен. Новая реализация уже не была совместима со старой версией. Версия 4.0 была выпущена в Июле 2001. Версия 4.1 появилась в декабре 2001 (ее особенность - добавлена поддержка мультиплеера). Популярность программы увеличилась. В декабре 2001 было зафиксировано 32.000 скачивания. За весь 2001 программа была загружена приблизительно 270.000 раз. 2002: Версия 4.2 увидела свет в Апреле 2002. Основная особенность - многократно увеличена стабильность работы. Версия 4.3 появилась в Ноябре 2002. Популярность программы больше чем когда-либо. В настоящее время программу скачивают приблизительно 2.000 раз каждый день. Число просмотров основной авторской страницы возрасло с 2000 в Октябре 2000 года до 70.000 в Октябре 2002 года. 2003: Начиная с января 2003 автор просил пожертвования, потому что затраты для того, чтобы развивать Game Maker и поддерживать сообщество увеличиваются все время. Game Maker теперь имеет собственный домен: http://www.gamemaker.nl Сайт был полностью восстановлен. В апреле появилась версия 5.0 со многими новыми особенностями, в специфических ресурсах файла данных и линиях времени. Также был расширен и улучшен переводчик кода. Программа стала с более хорошими значками и изображениями. Добровольный механизм регистрации был включен, чтобы поддержать развитие, но программа может все еще использоваться бесплатно. В конце августа Game Maker был показан на TechTV, который почти разбил веб сервер сети, поскольку 5000 человек пытались загрузить программу одновременно. В сентябре появилась версия 5.1 со многими новыми особенностями, в особенности входит система частиц и возможность заменять ресурсы «на лету». Множество расширенных особенностей были ограничены для незарегистрированных пользователей, для того, чтобы стимулировать регистрацию. Бесплатная версия, остается с большинством особенностей. Появился новый (платный) форум, который предоставляет еще много особенностей и лучшее управление. Форум быстро стал очень популярным. В декабре появилась версия 5.2 с улучшенной формой дизайна комнаты и дополнительными действиями для частиц. Также были включены функции, чтобы иметь дело со структурами данных. За весь 2003 программа была загружена приблизительно 1.700.000 раз. Так что это - приблизительно 5.000 в день. Программа используется в школах во всем мире как часть их обучения информатики. Также эта программа используется во многих летних лагерях. 2004: В апреле появилась версия 5.3 с улучшенным редактором пути и движением, планирующим функциональные возможности. Справочный файл был конвертирован к современной справке HTML. С апреля началась работа над версией 6.0. Для 6.0 целый графический двигатель был перезаписан, используя Direct3D как основную систему. Это значительно улучшило качество графики и возможностей. Альфа прозрачность теперь быстра и проста, спрайты могут быть цветом, смешанным и вращаемым. Также там продвинуты графические функции, чтобы рисовать, например, отображенные текстурой многоугольники. Добавился ресурс шрифта, учитывая намного более хорошие (и быстрые) тексты, и даже был включен набор функций для 3D графики. Также был перезаписан звуковой движок, отличаясь лучшим качественным звуком и большим количеством вариантов, подобно звуковым эффектам и 3D звукам. Все эти изменения сделали программу не совместимой с предыдущей версией. К сожалению, из-за хакерской деятельности была перезаписана система регистрации и добавлено дополнительное кодирование. Версия 6.0 появилась в октябре 2004. Из-за большой популярности Game Maker форум был переполнен, и стало невозможно использовать общедоступное обслуживание. В ноябре 2004 форум был перемещен на новый сервер, который почти исключительно используется для форума. За 2004 количество загрузок Game Maker составило приблизительно 1.600.000. Почти столько же, сколько и в предыдущем году. Сайт автора посещается приблизительно 10.000 раз в день. 2005: Game Maker использовался как платформа развития для Game4Girls соревнования, организованного Университетом Штата Иллинойс, Urbana-Champaign. Он также использовался как инструмент развития в Atari-sponsored во всемирно известной Школе Персон Дизайна в Нью-Йорке, названном «RetroRedux: The 24 Hour Game Design Jam». В мае 2005 появилась версия Game Maker 6.0 с улучшенным редактором изображений, простым взрывом и механизмом эффектов, рисующий поверхности, много мелких изменений и исправлений ошибки. В июле 2005 Game Maker был показан на G4TV. В течение дня совершилось почти тройное число просмотров страницы сайта (приблизительно 26.000 в день) и число загрузок программы. В августе 2005 число просмотров страниц сайта Game Maker достигло 10.000.000 (с октября 2000). Постоянное число просмотров страниц в день равно 11.000. Также в августе игра, созданная на Game Maker, названная Duch Doom, была показана на G4TV. Они упомянули форум, что почти взорвало сам форум. В один момент было более чем 800 одновременных посетителей. В сентябре 2005 Game Maker был показан в пяти эпизодах датской программы телевидения. Также, в Австралии состоялась однодневная конференция, которая была в значительной степени посвящена использованию Game Maker в образовании. Game Maker используется как инструмент развития на голландском соревновании Make-A-Game для старшекурсников. Более чем 200 команд зарегистрировались в соревновании. 2006: Первые несколько месяцев года были потрачены на окончание книги, вместе с Джекобом Хабгудом. Заголовок книги - The Game Maker’s Apprentice: Game Development for Beginners и будет издано APress. Она появилась в конце июня 2006 и получила большую популярность. Первая печать, выполненная 5.000 копий была распродана в течение приблизительно 3 месяцев. В марте 2006 был сменен сервер на намного больший и более быстрый сервер, чтобы обработать увеличенную загрузку сайта и форума. Число просмотров страниц - теперь приблизительно 25.000 в день. Близко к 200.000 уникальных посетителей в месяц. Сайт использует приблизительно 600 Гбайт пропускной способности в месяц. Загрузки остаются постоянными в пределах 4.000 в день. Начиная с лета проводилась работа над версией 7.0. Главное усовершенствование - механизм расширения, который облегчит добавление дополнительных функциональных возможностей. beta появилась в начале ноября. 2007: 28 февраля была выпущена версия Game Maker 7.0 через новый сайт YoYo Games. В мае 2007 - официальный сайт Game Maker прекращает свое существование. Теперь YoYo Games является официальным представителем Game Maker. Отличия версии 7.0 от 6.1 Страничка с изменениями из Help 7.0 Что Нового Версия 7.0 Game Maker имеет множество важных отличий от версии 6.1. В частности новый механизм расширения. Ниже описаны самые важные изменения. Несовместимости Версия 7.0 использует свой формат файла. В результате файлы теперь имеют расширение .gmk. Новая версия может читать файлы .gm6, созданные в предыдущей версии, они полностью совместимы друг с другом. Есть незначительная несовместимость в использовании переходов между комнатами. В предыдущей версии переходы могли использоваться между фреймами в одной комнате. Теперь это невозможно. Переходы могут использоваться только между комнатами. Их число значительно увеличено. Пакеты Расширения Главное усовершенствование версии 7.0 Game Maker - механизм пакетов расширения. Пакеты расширения могут или добавить новые действия Game Maker, или добавить новые функции, используя DLL или GML файлы. Добавился новый пункт к списку ресурсов, в котором пользователь может указать, какие пакеты расширения он будет использовать. Тогда они сразу интегрируются в систему. Действия показаны в форме объектов, функции - цветным выделением в редакторе скриптов, и в списке функций. Пакеты расширения могут иметь собственные файлы помощи, которые будут автоматически добавлены в специальное меню помощи игры. Также все необходимые файлы автоматически добавятся в игру. По умолчанию доступны три пакета расширения. GM Printing - добавляет множество функций для печати форм, текста, спрайтов, скриншотов и т.д. и содержит диалоги для выбора и работы с принтером. GM Transitions - добавляет более 60 пространственных переходов к программе. GM Windows Dialogs - добавляет функции для создания разных диалогов windows для выбора файлов, вывода сообщений и т.п. Довольно легко самому создавать пакеты расширений. Существуют специально разработанные для этого программы. За подробностями заходите на [3]. Механизм расширений дополняет и повышает возможности существующего механизма DLL библиотек. Публикация игр В панель инструментов добавлена кнопка публикации. При нажатии на нее Вы переместитесь на наш сайт, где Вы можете опубликовать свою игру для всеобщего обозрения. Режим разделения экрана Механизм всплывающих окон был значительно расширен. Всплывающие окна, такие как видео и картинки теперь по умолчанию отображаются в главном окне игры. Это добавляет много новых возможностей, например изменение размера всплывающего окна. Также могут быть использованы и другие графические форматы. А также теперь текстовые файлы могут содержать картинки. Игровая информация. По умолчанию игровая информация показывается в игровом окне и может быть закрыта кнопкой закрытия. Отдельная кнопка для события закрытия программы Теперь возможно отображение события когда кнопка закрытия программы была нажата например проверка нажата ли клавиша Escape. Было добавлено событие в группу Other events (прочие события), которое срабатывает когда пользователь нажимает на кнопку закрытия программы или игры. Так что вы можете назначить различные действия на событие нажатия кнопки закрытия или кнопки Escape на клавиатуре. Переходы комнат Механизм перехода между комнатами изменён и дополнен, он даёт вам больший контроль над переходами и добавляет много новых, таких как затухание экрана, выталкивание картинки, смешивание изображений комнат, повороты, и т.д. Сейчас возможно написание собственного скрипта перехода между комнатами (но это уже более продвинутый уровень). Также предоставлен пакет расширений с множеством различных переходов. Дата-структуры Также увеличилось количество возможных операций с дата-структурами. Например дата-структуры теперь можно копировать, добавлена функция записи дата-структуры в строку и возможность чтения этой строки. Эта строка может быть использована например для сохранения дата-структуры в файл. Также доступно больше функций для такого вида дата-структуры как сетка, такие как копирование и добавление отдельных частей сетки. Включаемые файлы Механизм включаемых файлов в исполняемый файл игры был значительно дополнен. Для каждого файла теперь указывается под каким именем он должен храниться и где он должен храниться. Теперь можно включать файлы и в редактируемую версию игры. Также доступны функции для экспорта файлов в любой момент, а не только во время старта игры. Добавление спрайтов и задних фонов с альфа каналом Теперь доступны функции sprite_add_alpha() и sprite_replace_alpha(), чтобы добавить или заменить спрайт из файла который имеет альфа канал (такие как png файлы) чтобы получить более красивый эффект прозрачности. Аналогичные функции доступны и для фонов. Новый регистрационный механизм Версия 7 использует новый механизм регистрации. Бесплатная и зарегестрированная версия теперь называется Lite и Pro Edition. Улучшен процесс онлайн регистрации который позволяет незамедлительно обновить программу после её оплаты. Регистрационные ключи старых версий 5 и 6 могут быть обменены на коды для активации версии 7. Другие изменения Также сделано большое количество прочих изменений и добавлений. Вот наиболее важные из них. Выбранное направление(я) в действии Move Fixed (фиксированное движение) теперь выделяется красным. Когда игра запущена полоса загрузки теперь показывается значительно раньше. Переменованы все действия для наибольшей благозвучности. При добавлении или замене спрайтов и фонов или когда используется режим разделения экрана, стало доступно множество графических форматов, такие как jpg, tif, bmp, gif, png, и др. В редакторе изображений теперь доступна комманда (Ctrl-A) для выделения всего изображения. На панель инструментов вынесена кнопка для создания исполняемого файла с игрой. В список констант в настройках игры добавлены кнопки для перемещения констант по списку вверх или вниз и для вставки константы перед текущей. Функция message_position(-1,-1) теперь устанавливает окошко с соообщением в центр экрана. Кнопки печати были добавлены в редакторы скрипта и кода. Кнопки для печати и сохранения были добавлены на форму отладочного окна. Было добавлено событие, которое происходит когда образец находится вне вида или пересекает его границу. Форма, показывающая ошибки в игре, была расширена и позволяет копировать содержимое в буфер обмена. Были добавлены следующии функции random_set_seed(seed), random_get_seed(), и randomize(). В редакторе изображений вы теперь можете перейти к следующему/предыдущему кадру спрайта. Глобальные переменные теперь могут быть объявлены используя ключевое слово globalvar. После этого объявления теперь больше не нужно добавлять слово global и ставить после него точку. Во время игры клавиша F9 теперь снимает скриншоты, если эта функция включена в глобальных игровых настройках. Добавлены функции draw_line_width(x1,y1,x2,y2,w) и draw_line_width_color(x1,y1,x2,y2,w,col1,col2) чтобы рисовать линии определённой толщины. d3d_start() и d3d_end() теперь возвращаются независимо от успешности их выполнения.. Вы теперь можете использовать переменную cursor_sprite для автоматического рисования спрайта в позиции курсора. Повышено максимальное число аргументов DLL функций до 16. В опциях в подпункте Other(Другие) вы можете указать версию игры и прочую информацию, которая будет добавлена в исполняемый файл. Добавлены функции sprite_save(ind,subimg,fname) и background_save(ind,fname) для сохранения ресурсов как точечные рисунки. Добавлена переменная program_directory которая хранит путь к папке с исполняемым файлом. Добавлена константа c_orange. Исправленные ошибки Следующие ошибки были исправлены в версии 7.0: Решена проблема приводящая иногда к порче файлов. Версия 7 будет читать файлы которые были ранее помечены как испорченные. Проблема с ограничениями реальных переменных была решена. Это также приводило к проблемам с функциями которые взаимодействовали с датой и временем. Ошибка в таймлайнах была исправлена, приводящая к повторениям моментов. Поразрядное присваивание теперь работает корректно и не выдаёт синтаксических ошибок. show_message() действие и функция теперь показывает сообщение в центре экрана. Использование эффектов снега и взрыва вместе теперь работает корректно. Уязвимость в получении информации из уже запущенной игры была удалена. Окно отладочного режима больше не прыгает в верхнюю часть экрана. Game Maker и созданные игры теперь корректно работают под Windows Vista. Хотя в результате размер файла игры значительно возрастает. Когда происходит копирование текста в редактор кода, шрифт теперь отображается корректно и синтаксис выделяется соответствующим цветом. Фоны больше не теряют своих настроек, когда новое изображение было загружено. Была исправлена ошибка в рисовании заполненных прямоугольников. Игровое окно теперь становиться видимым до того как произойдет событие создания. Исправлена проблема в функции median(). Испралено возможное падение программы из-за изменения размера сетки. Сравнение и поиск значений в сетках теперь работает корректно для строковых переменных. Редактирование не прозрачных спрайтов больше не будет иногда включать прозрачность в режиме предпросмотра. Решена проблема в проверке столкновения с образцами у которых изменили размер. Решена проблема в проверке столкновения с линиями и треугольниками которые имеют координаты с не целыми значениями. Функция file_bin_open теперь создаёт файл если он ещё не существует. Добавлены проверки в функцию object_set_parent во избежания циклов. Исправлена ошибка в действии рикошета с диагональным отскоком. Скорректирована проблема в эффекте дождя когда комната была выше чем 1000 пикселей. Скорректирована проблема когда образцы без спрайтов должны получить событие Outside Room (Вне комнаты). Скорректирована проблема во время перетаскивания действий между формами Объекта и Таймлайна (Теперь зто действие не возможно). Повышена минимальная высота формы для фонов чтобы сделать невозможным исчезания кнопки OK. Скорректирована проблема с адресацией переменных в образце после изменения объекта во время шага. Скорректирована проблема когда (де-)активация образцов без спрайтов могла работать неверно. Скорректирована ошибка в рисовании пути с нулевой длиной. Решена проблема когда действия события выхода внутри блока повторения не завершало это событие. Скорректирована позиция полосы загрузки. Скорректирована ошибка в удалении образцов находящихся вне комнаты в редакторе уровней. Минимальные системные требования: PC (Pentium or higher); 65000 colors (high color, 16-bit); least 800x600 screen resolution; DirectX version 5. Windows 95, 98, 2000,ME,XP или Vista. (Vista начиная с версии 7.0)