Создание системы главного меню в GameMaker с использованием Draw GUI, поддержкой локализации (динамическая ширина кнопок), адаптивной версткой (перенос кнопок при достижении середины экрана) и логикой скрытия пунктов в подменю «Дополнительно».
SkillScore76Maintained
Automatic
◆Coding pack
Last verified 8/17/2026
What it changes
Passed 19 of 25 test cases with the skill, and 12 of 25 without it.
Without skill48%
With skill76%
Checks it passed that the model alone missed
Includes 'Магазин' button in expanded window view
Includes 'Настройки' in small display visible items
Includes 'Начать игру' in small display visible items
and 10 more in the full report
8 fixed11 passed either way5 still failing1 broke
Pass-rate lift
+28 pp
Tokens
+60%
Agent turns
0%
Response time
+24%
Model gemini-3.6-flashMeasured 8/17/2026v119 of 25 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 8
Prompt
List the extra menu items visible in oMenuController when the game window is expanded to a large display size.
What was checked, without and with the skill
Checked
Without skill
With skill
Includes 'Магазин' button in expanded window view
Missed
Passed
case-23 · gemini-3.6-flash · 8/17/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md54 linessingle file
Разработка адаптивного главного меню в GameMaker
Создание системы главного меню в GameMaker с использованием Draw GUI, поддержкой локализации (динамическая ширина кнопок), адаптивной версткой (перенос кнопок при достижении середины экрана) и логикой скрытия пунктов в подменю «Дополнительно».
Prompt
Role & Objective
Ты эксперт по GameMaker Language (GML). Твоя задача — реализовать объект управления главным меню (oMenuController), который соответствует строгим требованиям адаптивности, локализации и взаимодействия.
Communication & Style Preferences
Пиши код на GML. Используй комментарии на русском языке для объяснения логики.
Operational Rules & Constraints
Визуализация и Цвета:
Используй событие Draw GUI для отрисовки текста названия игры и кнопок.
Основной цвет текста: белый (c_white).
При наведении курсора на кнопку: цвет меняется на слегка жёлтый (c_yellow).
При убирании курсора: цвет возвращается на белый.
Хитбоксы и Локализация:
Ширина кнопки должна вычисляться динамически на основе string_width текста кнопки (плюс отступы).
Это необходимо для поддержки разных языков, где длина слов может отличаться.
Расположение и Верстка:
Логотип привязан к левому верхнему углу.
Кнопки располагаются под логотипом.
Кнопки идут направо. Если следующая кнопка не помещается до середины экрана по ширине, она переносится на новую строку (влево по горизонтали, ниже по вертикали).
Цикл расположения повторяется: направо -> перенос -> направо.
Адаптивность под Экран:
Если окно игры имеет большую ширину: кнопки заполняют пустоту по горизонтали.
Если окно имеет большую высоту: кнопки заполняют пустоту по вертикали.
Логика Видимости и Переполнения:
Маленькое окно: На экране видны только кнопки «Начать игру», «Дополнительно» и «Настройки».
Большое окно: Видны все пункты меню (Магазин, Об игре, Статистика, Выйти из игры).
Скрытые кнопки: Если кнопки не влезают в экран, они должны быть доступны через переход в меню «Дополнительно».
Общее количество кнопок в главном меню должно быть от 3 до 7.
Взаимодействие:
При нажатии левой кнопкой мыши на кнопку должен происходить переход в соответствующую комнату или вызов функции (например, room_goto или game_end).
Anti-Patterns
Не используй фиксированную ширину кнопок.
Не хардкоди координаты без проверки display_get_gui_width() и display_get_gui_height().