Пятница, 15 Ноября 2024, 19:30

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
AnthemДата: Пятница, 10 Апреля 2015, 14:34 | Сообщение # 5321
Д'Артаньян
Сейчас нет на сайте
t111, делай оконный режим 1024х728

Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
skypoДата: Суббота, 11 Апреля 2015, 22:02 | Сообщение # 5322
участник
Сейчас нет на сайте
Цитата t111 ()
не на весь экран будет

в глобальных настройках есть галка "полноэкранный режим". все само подтянется как надо.


Последний готовый проект:
флэппиберд с яйцами "Rescue Bird"(скачать с GooglePlay)
В разработке:
3-в-ряд "Корабельная команда", рогалик "Живой Мир", квест "Экипаж "Солнечной" (ждите на КРИЛ-15!)
Quad69Дата: Воскресенье, 12 Апреля 2015, 11:43 | Сообщение # 5323
заслуженный участник
Сейчас нет на сайте
Куда кидать DLL файлы в gms? Где он их читает?
YellowAfterlifeДата: Понедельник, 13 Апреля 2015, 05:26 | Сообщение # 5324
Сейчас нет на сайте
Цитата maksim1221232 ()
Куда кидать DLL файлы в gms? Где он их читает?

DLL можно класть в "Included Files" (импорт через IDE) но более удобно создать пустое расширение, добавить в него DLL, и добавить интересующие функции для нее через интерфейс (ПКМ на файле в расширении - "Add function"). В таком случае функции не нужно будет привязывать через код.


SleepwalkerДата: Среда, 15 Апреля 2015, 21:13 | Сообщение # 5325
уже был
Сейчас нет на сайте
Всем привет! Я тут новенький, извините, если кому-то мозоль оттопчу своими вопросами.. )

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

1) как реализовать на движке ГМ менюшку строительства и выбор объекта (здания\перса)? Примитивненько -- на спрайт нажал, выпала менюшка -- Шалаш стоит 3 бревна и 5 шкур, большой шалаш стоит 5 бревен и 7 шкур. Потом выбрал нужный вариант (желательно мыхой, но можно и стрелками), нажал кнопку, "поставил" шалаш и пошла стройка (с этим разобрался, по тайм-лайнам можно сделать "преобразование" объектов)

2) как реализовать "скрытый" и "публичный" инвентарь? Ну т.е. логика такая -- человек подошел к дереву, врезался, пошел спрайт рубки дерева, у дерева отнялось 1 ХП, человек развернулся, пошел на склад, выложил 1 единицу дерева. Как сделать привязку этого вот "переноса" к человеку? Я подумывал над "костылем" -- для лесоруба у меня отдельный класс, так что можно просто отслеживать его "приход" к складу и автоматом добавлять +1 к древесине, т.к. к складу он пойдет только после того, как "врежется" в дерево. но кмк это не очень хороший вариант.
А "публичный" инвентарь -- нажал на склад, а там пишется -- на складе 10 дерева 5 мяса 3 шкуры, допустим.. Как это покрасивее сделать?

3) рандомайз генерации спрайтов поверхности кто-то может подкинуть? Но с обязательными условиями, например, спрайт "вода" должна встречаться не реже 5, но не чаще 25 раз на участке 10х10 блоков, допустим.. В общем, если не сложно, просто пример правильного и закомменченного кода, я в С++ маленько разбираюсь, как-то соображу уж)

4) Рандомайз маршрутов зверушек. По задумке, есть в игре олешки, они стадом должны двигаться. Примерно как реализовать, я уже представляю (через таймеры и рандом. движение), но он у меня врезаются в дерево, скалы и тупо замирают на месте. Пробовал и так, и эдак, но ничего не получается внятного. Мбыть кто-то уже решил эти грабли)

5) создание маршрута "к ближайшему спрайту "Х""? Как это сделать? Мне нужно, чтоб лесоруб шел к ближайшему спрайту дерева и рубил его уже.

6) рандомизация ХП неживых объектов. Т.е. чтоб отдельно взятое дерево имело запас от 5 до 30, скажем, ХП, случайным образом.

Вот, кажется, все, что меня беспокоило))
Буду очень признателен за ответы, шлю лучи добра, очищение кармы, открытие чакр и призываю озарение посетить светлые головы всех неравнодушных! biggrin
Quad69Дата: Четверг, 16 Апреля 2015, 14:51 | Сообщение # 5326
заслуженный участник
Сейчас нет на сайте
Sleepwalker,

6. irandom_range(x1,x2) - возвращает рандомное число между x1 и x2
5. Используй поиск пути. В справке всё есть.
4. speed=2;direction=irandom(360)
3. sprite_index=(choose(spr1,spr2,spr3,ит.д)) Условия и самому можно написать
SleepwalkerДата: Четверг, 16 Апреля 2015, 15:04 | Сообщение # 5327
уже был
Сейчас нет на сайте
спасибо, с 5 и 6 уже разобрался, утром "озарение" пришло, вспомнил, что в примерах где-то прямо тут на сайте видел, перекопал и нашел, подправил для себя)

а вот 4 -- мне нужно, чтоб они преемещались на, скажем, 10 клеток, потом замирали на время, потом опять уходили. Я так понял, в
Код
speed=2;direction=irandom(360)
просто добавить таймер, скажем, на 5 секунд ходьбы и 90 секунд простоя, например, верно?

и по третьему пункту -- извиняюсь за тупизну, можно кусок кода полностью, если не трудно? У меня с программированием не так хорошо, как хотелось бы)
AnthemДата: Пятница, 17 Апреля 2015, 14:11 | Сообщение # 5328
Д'Артаньян
Сейчас нет на сайте
Sleepwalker, если движение делать покомпактнее, то
Код
motion_set(random(360), 2);
alarm[0] = random_range(мин.время в шагах, макс.время в шагах)

Добавлено (17 апреля 2015, 14:11)
---------------------------------------------
При компиляции появляется следующая строка:

Код
Warning : resource image_L1 rescaled from 2380,1429 to 1190,714
По какой причине это происходит и как этого избежать?


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
LunarPixelДата: Пятница, 17 Апреля 2015, 16:08 | Сообщение # 5329
старожил
Сейчас нет на сайте
Anthem, в настройках, под ту платформу, под которую компилишь, указывается размер так называемых texture pages. Этот размер там у тебя указан менее чем 2380х1429, потому ужимается до установленных границ. Поставь 4096х4096, тогда проблема не должна возникать. Но, чем больше размер, тем больше нагрузка на видеопамять.

AnthemДата: Пятница, 17 Апреля 2015, 16:35 | Сообщение # 5330
Д'Артаньян
Сейчас нет на сайте
LunarPixel, спасибо за информацию. Фигня в том, что эта опция доступна только в Про-версии. Уменьшу длину до 2048


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры


Сообщение отредактировал Anthem - Пятница, 17 Апреля 2015, 16:36
YellowAfterlifeДата: Пятница, 17 Апреля 2015, 17:35 | Сообщение # 5331
Сейчас нет на сайте
Цитата Anthem ()
LunarPixel, спасибо за информацию. Фигня в том, что эта опция доступна только в Про-версии. Уменьшу длину до 2048

Как другой вариант, можно разбить изображение на две половины - ведь размер текстурных страниц ограничен, а их количество - нет.


AnthemДата: Суббота, 18 Апреля 2015, 18:05 | Сообщение # 5332
Д'Артаньян
Сейчас нет на сайте
YellowAfterlife, спасибо, буду иметь в виду. В данном случае изображение пришлось уменьшить лишь на 10%, я же боялся, что оно до максимально возможного сокращается.

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

Добавлено (18 апреля 2015, 18:05)
---------------------------------------------
Хорошо. Другой вопрос. Можно ли как-то за пределами Степ инициировать действия для события смены переменной? Т.е. чтобы не проверять ее каждый шаг, а совершать действие только после ее изменения


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
LunarPixelДата: Воскресенье, 19 Апреля 2015, 00:02 | Сообщение # 5333
старожил
Сейчас нет на сайте
Anthem, а просто инициировать действия непосредственно в событии, в котором происходит смена переменной, не вариант? Если действий много, можно скрипт завести, ну или, например, вызывать alarm, а в нем уже сами действия выполнять.

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


AnthemДата: Воскресенье, 19 Апреля 2015, 11:43 | Сообщение # 5334
Д'Артаньян
Сейчас нет на сайте
Цитата LunarPixel ()
Anthem, а просто инициировать действия непосредственно в событии, в котором происходит смена переменной, не вариант? Если действий много, можно скрипт завести, ну или, например, вызывать alarm, а в нем уже сами действия выполнять.
В объекте инициаторе я так и делаю, но мне также необходимо модифицировать пару десятков других объектов. Тогда придется написать либо очень длинную строчку, либо скриптом


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
AnthemДата: Среда, 22 Апреля 2015, 15:04 | Сообщение # 5335
Д'Артаньян
Сейчас нет на сайте
Через hspeed u vspeed можно проверять движение или они только для активации оного?

Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
EfimovMaxДата: Среда, 22 Апреля 2015, 15:15 | Сообщение # 5336
заслуженный участник
Сейчас нет на сайте
Цитата Anthem ()
Через hspeed u vspeed можно проверять движение или они только для активации оного?

В смысле? Если они не равны нулю, то объект движется. Соответственно, и конструкция
Код

if hspeed!=0 {объект в движении}

будет работать


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris
AnthemДата: Среда, 22 Апреля 2015, 15:24 | Сообщение # 5337
Д'Артаньян
Сейчас нет на сайте
EfimovMax, а например
Код
if hspeed > 0 {image_angle +=2}
if hspeed < 0 {image_angle -=2}


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
EfimovMaxДата: Среда, 22 Апреля 2015, 15:30 | Сообщение # 5338
заслуженный участник
Сейчас нет на сайте
Anthem, естественно smile
У тебя там шарик крутится? Код отлично подходит для движения круглого объекта


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris


Сообщение отредактировал EfimovMax - Среда, 22 Апреля 2015, 15:32
AnthemДата: Среда, 22 Апреля 2015, 15:38 | Сообщение # 5339
Д'Артаньян
Сейчас нет на сайте
Цитата EfimovMax ()
У тебя там шарик крутится? Код отлично подходит для движения круглого объекта
Нет) Мне нужно заставить машину поворачивать, но такой код не работает
Код
if hspeed < 0
      if image_angle < 12 {image_angle += 2}
      else {if image_angle > 0 {image_angle -= 2}}
if hspeed > 0
      if image_angle > -12 {image_angle -= 2}
      else {if image_angle < 0 {image_angle += 2}}


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
EfimovMaxДата: Среда, 22 Апреля 2015, 15:44 | Сообщение # 5340
заслуженный участник
Сейчас нет на сайте
Цитата Anthem ()
Мне нужно заставить машину поворачивать

А как она у тебя двигается? Во все стороны (как ГТА1-2) или только в одном направлении (как в раннерах на телефоны)?


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг