Гамак — Названия и термины

GameMaker
Обычные ООП-языкиGameMakerОсобенности GM
переменнаяпеременнаяМогут менять свой тип во время исполнения кода
Типов очень мало — вещественные числа, строки, массивы
Традиционных указателей нет
функция (НЕ метод)скриптСкрипты не принадлежат объектам, могут вызываться откуда угодно
Вызванный скрипт выполняется в контексте вызвавшего объекта
У скриптов может быть не более 16 параметров
Параметры скриптов никак не именуются: argument0...argument15, но
для наглядности можно вручную называть полученные аргументы,
записывая их во временные переменные только ради названия.
классобъектВсе объекты могут обращаться ко всем переменным всех объектов
GM-объект описывается как реакции (действия в ответ) на события
GM-объекты могут иметь родителя, наследуя его реакции на события
Унаследованные реакции можно переопределить либо дополнить новыми
объектэкземплярЭкземпляры GM-объектов содержат множество встроенных переменных,
поэтому использовать их в качестве структур данных — плохое решение
(для этого просто заводят множество массивов с похожими названиями)
событиесобытиеСвои события создавать нельзя, но можно назначать номерные
User Events, и вызывать их вручную через event_user(номер).
Впрочем, встроенных событий хватает на очень многие вещи.
обработчик событиядействие событияРаньше ГМ затачивали под то, чтобы в этой колонке складывать несколько
«кнопок», где пользователь задаёт только параметры действий. Однако,
для большей гибкости лучше писать код на GML, а «кнопки» игнорировать.
 исключениенетМеханизма исключений в GM нет, и никогда не было
Впрочем, можно подавлять возникающие ошибки, и игра никогда не вылетит
в традиционном смысле этого слова, если это не аппаратная проблема или
проблема на стороне операционной системы.
Конструктор

Create Event

(ev_create)

Событие, вызываемое сразу при создания объекта, на том же шаге

Модификатор Persistent позволяет объектам «жить вечно», переходя между
разными Комнатами (по смыслу — уровнями), если только их принудительно
не удалить через код скриптов, комнат или других объектов.

Деструктор

Destroy Event

(ev_destroy)

Событие, вызываемое сразу при уничтожении объекта, после конца
выполнения текущего участка кода

При переходе между Комнатами, непостоянные объекты удаляются, но
событие Destroy в них не происходит.

Гамак — Хаб

GameMaker

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

В нём будет содержаться список ссылок на посты, входящие в этот цикл.

Цикл посвящён не разработке игр, не программированию, не гейм-дизайну, не левел-дизайну, а конкретно и именно Гейм Мейкеру. Ориентирован на людей, которые уже программировали что-либо, объяснений базовых понятий программирования и конкретно ООП в нём нет, благо всю недостающую информацию можно бесплатно достать в Интернете, а весь недостающий опыт — наработать.

Кроссплатформенность и работа с 3Д, равно как и с прочими глубокими фишками, в цикл не входит. В него входит минимум, чтобы ввести в курс дела, как мутить всякие простые штуки в 2Д, чтоб было от чего оттолкнуться. ГМовских «кнопок» не будет, только код на GML.

 

Оглавление

Основы

0 - Названия и термины

1 - Структура игры

1а — Кодим клон Aliens X

2 - Как придумать игру и не смочь её сделать
(старый дедовский способ ещё на 58% проще!)

Может быть про дебаг

Может быть что-то ещё

 

Тонкости и нюансы

varенье - «отдельная» локальность
переменных с ключевым словом var

про айдишники ассетов

сёрфейсы

чё там ещё

 

 

Пишите комментарии и предложения, если есть.

games-list

Цех имени DarkDes'а

| Обсуждение | Список Игр | Видео |

 

 

Игры* в порядке разработки

Эпоха**НазваниеОписаниеПримерное Время\Конкурс? Скриншоты?Скачать\Ссылки
1Лети, корабль, лети!Простой shoot'em up сделанный на GameMaker 6 (конвертирован в GM8).2010 Скачать .zip
2Последняя защита

 На самом деле это Shoot'em up и является переработкой «Лети, корабль, лети!», вернее ЛКЛ — это был прототип-игра.

В 3Д, но механика 2Д разумеется.

2011

Раз

Два

Три

 Оригинал потерян.

Запускается и работает с переменным успехом.

 -/-/-Проект по Биологии Некая «обучающая программа», не игра, но были идеи как переделать в нормальную такую игрушку, возможно, в стратегию.2012

Раз

Два

 На Win7 особо не пашет.

Относительно стабильная версия.

3Люк бункера номер 3

Бродим по бункеру и помогаем Люку открыть люк на поверхность.

2014

Gaminator 15

 Gamin.me:Gaminator15 версия
Пост-G15 версия
GamesJamKanobu версия

Читать дальше...

Сделал веселенькую игрушку

Это просто развлекательная игра (считайте прототип, т.к. сделал где-то за день), оцените ее, поиграйте. Если она чего-то стоит, я ее доделаю и постараюсь из нее что-нибудь дельное создать (надеюсь на это). Почему, что и как здесь происходит, объясню, если игра хотябы немного зайдет. Обязательно пишите свое мнение)

Управление: стрелки — передвижение, открыть рот — правая кнопка мыши (будьте осторожны), выстрел окрошками пончика.

Если непонятны особенности управления:

 

На правую кнопку мыши Вы открываете рот, при этом вы можете кушать пончики. Однако если вы откроете рот и попытаетесь съесть камень — вы получите урон. За съеденные пончики у вас увеличивается боезапас, и вы можете «стрелять».

 

Правила: уничтожьте инопланетян — выиграете, потеряете жизни — прогираете, шкала сверху — здоровье, число — кол-во еды.

Музыка: Sour Tennessee Red — John Deley and the 41 Players, музыка без авторских прав,

              https://www.youtube.com/watch?v=Vfc9sAQjJtc

Ghost 1.0

Обзоры игр

Геймплейно это аркадная 2D-стрелялка типа Abuse, с платформерным управлением и прокачкой. Да, пример может не самый подходящий, но это единственная похожая игра по игровой механике, к-я пришла мне на ум — в 2D-стрелялки с видом сбоку я редко играю.


Читать дальше...

Продолжение «Планового подxода»

Блог Дурбека

Приветствую вас, Коленкочане!

Помнится, я говорил что собираюсь углубится в сферу казуалок и HTML5 игр? Так вот, по пришествию полугода, я с уверенностью могу сказать — где-то я точно свернул не туда...

 



Читать дальше...

Бесшовный и (почти) бесконечный космос

Программирование

 

Добрый день, уважаемые коленковчане!

Меня всегда крайне привелкали космические симуляторы (или псевдо-симуляторы) с элементами командно-социального взаимодействия. Не могу похвастаться тем, что я потратил пару месяцев жизни, играя с друзьями в Pulsar: Lost Colony, но сама концепция подобных игр казалась мне крайне привлекательной.

И вот решил я поизучать в свободное время за чашкой кофе всем известный Unity3D. Да чтобы не просто скучно было изучать его, собрались мы с друзьями и решили забабахать свою игру (Миша, Илья, привет вам!).

Начали мы обсуждение космоса, как такового.

Меня лично всегда очень удручала замкнутость и ограниченность космоса в играх. Есть только сектора, в рамках которых можно перемещаться и портал между секторами. Тоска. По сему, решили мы, что космос будет бесшовным и ОГРОМНЫМ.

Основные идеи были следующими:

  • Бесшовный космос в реальном масштабе
  • Космос делится на множество секторов
  • Варп-прыжки между секторами
  • Можно не использовать варп и лететь самому — включил автопилот и пару недель летишь на скорости, близкой к суб-световой, от одной звезды к другой

И естественно первая проблема — это координаты объектов. Масштабы космоса — огромны, а числа в памяти компьютера обладают весьма условной точностью.

Интересно, как это решить? Прошу под кат!


Читать дальше...

Как делать Cмолу

Блог черепахи

Недавно прошел Гаминатор. Там Смоле, игрушке сделаной мной и Cotton'ом посчастливилось занять первое место. Недавно отправили ее на гринлайт, будем доделывать до конца. Думаю, пора выходить и здесь из ридонли. Кое-кто посоветовал написать пост о том, как я делал Смолу, да не просто так, а в технических подробностях.  

Сразу скажу, что люблю выжимать в играх как можно побольше fps, оптимизируя все что нужно и что не нужно. Это с одной стороны хорошо, а с другой иногда залипаю над незначительной проблемой надолго. Следуя из всего этого, пишу на c++, не очень люблю всякие ИДЕ, в общем оптимизирую даже разработку(хотя здесь спорно). Поэтому то что здесь опишу — это чисто субьективные предпочтения. Но кто знает, может кому придется что-нибудь по вкусу.

 


Читать дальше...