Game Maker - создание игр | HellRoom Games
Февраль 25, 2017, 05:24:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Обновлены разделы форума: Вопросы по GameMaker: Studio и создан статьи с уроками по GameMaker: Studio
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Несколько советов, о том, как делать опрятные игры  (Прочитано 19257 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Vendet
Гл. Администратор
*

Репутация: 766
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Сообщений: 3963


HellRoom Games


WWW
« : Август 01, 2008, 14:24:53 »

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

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

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

s_player_left

Во-первых обратите внимание что первая часть в названии "s_", указывает на то, что данный ресурс является спрайтом (лично я всегда использую первую букву того или иного ресурса в имени данных) и при создании объекта будет намного проще искать необходимый ресурс.

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

Заключительная часть "left" - любое дополнительное примечание для спрайта.

Вот несколько простых примеров названий спрайтов:
s_player_right
s_boss1_shooting_laser
s_ghost_dead


2. Сортировка
Другая часто встречающаяся ситуация - когда при добавлении различных игровых ресурсов недостаточно правильно используются ГРУППЫ или совсем не используются, в то время как группы могут оказаться очень полезными для 'сортировки' различных игровых элементов, таких как спрайты, звуки, объекты и т.д.

Для добавления группы достаточно в рабочем окне GameMaker на дереве проводника (находящемся в левой части) щелкнуть правой кнопкой мыши.

например ... кликните правой кнопкой на разделе SPRITES.
Из контекстного меню, которое появится при этом, выбираем пункт ADD GROUP и присваиваем данной группе желаемое название.
Теперь Вы можете сохранять, например, все спрайты вашего игрового персонажа в его собственной группе.
Если Вы уже добавили все Ваши спрайты или создали один, но предполагаете что понадобятся еще несколько подобных, то Вы можете щелкнуть на спрайте курсором мыши и просто переместить его в соответствующую его назначению группу.
Все вышесказанное применительно не только для спрайтов, но и для других элементов Game Maker, таких как backgrounds / sounds / objects и т.д.

3. Кодирование
Практикуйтесь в кодинге (сценарии и иконки) и скоро Вы начнете овладевать небольшими уловками, которые ускорят и уменьшат размер файла вашей игры ... ведь, в конце концов, большинство людей использующих модемы, из-за большого размера игры, не захотят тратить целый час на скачивание сомнительного продукта. При стоимости 1 минуты нахождения в сети (40 копеек), многие предпочтут поискать что-нибудь более интересное.

Например, совершенно бессмысленно создавать код...
{
  aaa = 5;
  bbb = 5;
  xxx = aaa + bbb;
  yyy = 50 / 5;
  instance_create(xxx,yyy,player);
}

в то время как данный код может быть исполнен намного короче
{
  instance_create(10,10,player);
}

Также, если Вы написали длинный кусок сценария и забыли про него (а нет гарантии, что не придется вернуться к нему позже, например вы что-то добавили в своей игре и необходимо несколько изменить исходник сценария), но когда Вы возвращаетесь к созданному ранее сценарию, вы не сразу сможете вспомнить, как именно данный код работает. Не проще ли сразу же при написании кода вставлять в исходный текст КОММЕНТАРИИ, благодаря которым вы облегчите читаемость своего кода.

Использование двойного слэша "//" сообщает программе Game Maker, что следующий за ним текст является КОММЕНТАРИЕМ.

например ...

// Установки для игрового персонажа
{
   lives = 3;                                    // устанавливаем количество жизней (3)
   score = 0;                                  // устанавливаем игровой счет (0)
   instance_create(10,10,player);  // создаем игровой персонаж в стартовой позиции
}
Также для данной цели существует иконка COMMENT, которую можно найти в списке действий, во вложении CODE.



Автор © 2001 Chronic
Перевод и адаптация © 2002 Игорь Князев
Записан

Каракен
Новичок
*

Репутация: 0
Offline Offline

Сообщений: 1


« Ответ #1 : Декабрь 20, 2010, 14:39:01 »

VOPERVYH pochemuy y neponel helsy obzivat pecusy po rucke. Это что вызовет какие то проблемы?
ВО ВТОРЫХ зачем группы если есть файлы.
В ТРЕТЬИХ ЭТО СКОЛЬКО ЖЕ НАДО СКРИПТОВ НАПИСАТЬ ЧТОБЫ ОНИ ПОВЛИЯЛИ НА РАЗМЕР ИГРЫ!!!!!!!!! НОВЕЧЬКИ ТАКИХ ИГР НЕ ДЕЛАЮТ!!! ::) ::) ::) ::)
Записан
Hummer
scio me nihil scire
GM Pro user
*

Репутация: 327
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2575


« Ответ #2 : Декабрь 20, 2010, 14:48:28 »

VOPERVYH pochemuy y neponel helsy obzivat pecusy po rucke. Это что вызовет какие то проблемы?
В ТРЕТЬИХ ЭТО СКОЛЬКО ЖЕ НАДО СКРИПТОВ НАПИСАТЬ ЧТОБЫ ОНИ ПОВЛИЯЛИ НА РАЗМЕР ИГРЫ!!!!!!!!! НОВЕЧЬКИ ТАКИХ ИГР НЕ ДЕЛАЮТ!!! ::) ::) ::) ::)

1) да вызывает. ГМ не поддерживает слова на русском. Даже если ты написал название объекта или спрайта, он выдаст ошибку, что не понимает этот символ
3) Эти советы пригодны не только новичкам, но и  профи, а профи делаю большие игры (поверь мне  ;D)
Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
S_Kleer
GM Pro user
*

Репутация: 479
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
2000 сообщений!За постоянность! [50 дней на форуме]За лояльность! [+300 репутации]Настоящий игродел!2 место на HellRoom Jam #5, Контраст2 место в Весеннем конкурсе. Игра ...
API: GameMaker Studio Standard
Сообщений: 2475


Миу!


WWW
« Ответ #3 : Декабрь 20, 2010, 16:22:55 »

Записан

Hummer
scio me nihil scire
GM Pro user
*

Репутация: 327
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2575


« Ответ #4 : Декабрь 20, 2010, 16:36:42 »

Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
S_Kleer
GM Pro user
*

Репутация: 479
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
2000 сообщений!За постоянность! [50 дней на форуме]За лояльность! [+300 репутации]Настоящий игродел!2 место на HellRoom Jam #5, Контраст2 место в Весеннем конкурсе. Игра ...
API: GameMaker Studio Standard
Сообщений: 2475


Миу!


WWW
« Ответ #5 : Декабрь 20, 2010, 16:47:40 »

Записан

BadBoy
Активный участник
*****

Репутация: 66
Offline Offline

Russian Federation Russian Federation

Награды:
За постоянность! [10 дней на форуме]500 сообщений!За участие в Small competition №1 (1 место)
API: 8.0 Pro
Сообщений: 457


« Ответ #6 : Декабрь 24, 2010, 19:27:04 »

А по мне так - ПОЛЕЗНАЯ статья для новичков. +1
Записан
Vendet
Гл. Администратор
*

Репутация: 766
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Сообщений: 3963


HellRoom Games


WWW
« Ответ #7 : Декабрь 24, 2010, 19:47:47 »

Год написания статьи видели? ей уж скоро как 10 лет будет.
А вот то что полезная, это да, так как объекты и вообще все в ГМ будь то спрайты или звуки, надо называть своими именами o_hero а не объект_34
Записан

Hummer
scio me nihil scire
GM Pro user
*

Репутация: 327
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2575


« Ответ #8 : Декабрь 24, 2010, 19:49:24 »

Но всегда есть исключения)
Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
BadBoy
Активный участник
*****

Репутация: 66
Offline Offline

Russian Federation Russian Federation

Награды:
За постоянность! [10 дней на форуме]500 сообщений!За участие в Small competition №1 (1 место)
API: 8.0 Pro
Сообщений: 457


« Ответ #9 : Декабрь 25, 2010, 16:14:37 »

Год написания статьи видели? ей уж скоро как 10 лет будет.
А вот то что полезная, это да, так как объекты и вообще все в ГМ будь то спрайты или звуки, надо называть своими именами o_hero а не объект_34
+1
Записан
kitovras
Новичок
*

Репутация: 0
Offline Offline

Сообщений: 1


« Ответ #10 : Январь 09, 2011, 09:06:01 »

Добавлю к статье ещё один пункт, который ВСЕГДА игнорируется студентами (а тем более неграмотной школотой), но без соблюдения которого код можно смело выбрасывать на помойку -
КОММЕНТИРУЙТЕ!
Небось руки не отвалятся написать пару слов о том, для чего используется переменная или функция...

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

Репутация: 0
Offline Offline

API: 8.0 Pro
Сообщений: 1


« Ответ #11 : Июль 01, 2011, 19:31:05 »

kitovras, абсолютно не согласен. Комментировать нужно тогда, когда пишешь пример для другого человека. Лично Я всегда пойму свой код без каких-либо комментариев.
Статья же хорошая, поддерживаю.
Записан
SOK
Пользователь
***

Репутация: 4
Offline Offline

Пол: Мужской
API: 8.0 Pro
Деятельность: Фотография, Видеомонтаж
Сообщений: 63

Sleeping On Keyboard


« Ответ #12 : Июль 01, 2011, 19:48:48 »

ApKoT, Согласен.
kitovas, Не согласен.  ;D
Записан


— <100500 страниц повествования и объяснений>
— <100500 страниц лютой, бешеной х**ни>
Чем я сейчас занимаюсь.
2DKot
Посетитель
**

Репутация: 4
Offline Offline

API: 7.0 Pro
Сообщений: 34


« Ответ #13 : Июль 02, 2011, 06:00:00 »

kitovras, согласен! Я в прошлом году начал делать один проект, в то время я еще мягко говоря плохо программировал, и половина скриптов у меня была написана через жопу. Через пол года у меня возникло желание уже доделать этот проект до конца, и т.к. прошло уже куча времени, без комментариев я бы в своём коде просто запутался. Да и в сложных задачах помогает комментирование: обычно составление алгоритмов происходит в голове, и какие то мелочи ты можешь не додумать, а составляя комментарии, ты формулируешь свой код русским языком, и уже яснее представляешь как это все работает, и что нужно сделать, чтобы все это работало правильно. Так же комментирование особо запутанных участков с кучей циклов и условий, тупо сэкономит вам время в будущем, если вам прийдется вернуться к этому месту.
Записан
Feanor
Новичок
*

Репутация: 0
Offline Offline

API: 8.0 Pro
Сообщений: 3


« Ответ #14 : Август 02, 2011, 10:33:03 »

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

А теперь замечания:
kitovras - перечитай статью внимательней. Там в самом конце написано о комментариях.
TheApKoT и SOK - комментарии очень полезная и удобная штука. Из того что вы так написали, ясно становится, что вы новички в программировании, ведь абсолютно все профессионалы комментируют свои труды. И вовсе не для кого-либо, а только для себя. Со временем код будет разрастаться на тысячи, а то и на десятки тысяч строк, и на сотни переменных. Сможете ли вы тогда запомнить что, куда и зачем?.. А если запустите код для доработки через пару лет?.. Поэтому комментировать нужно всегда, и как можно чаще. И начинать это делать лучше еще будучи новичком, дабы привить себе такую привычку.
2DKot - пожалуйста, будте культурней и откажитесь от использования брани в комментариях.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  

Vendet | HellRoom Games © 2006-2017 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines