lentinant, дай им доступ к информации об уровне. Они будут знать что представляет из себя поле, т.е. его размерность. Сейчас это куб 6х6. Рандом можно не трогать, но необходима проверка "можно ли идти в ту сторону?". Если нет, то меняем направление. А то было у меня так, что враг просто залип в углу и ждал пока я к нему подойду несколько ходов подряд.
Идея с приоритетом отличная. Только с повышением приоритета я немного не понял: в покинутом только что поле приоритет возрастает или как? Просто если так сделать, то враги будут вообще на месте топтаться, я полагаю. Я бы сделал так: 1. Назначаем всем комнатам одинаковый приоритет. 2. Когда враг замечает игрока (прямоугольный триггер), то поле где находится игрок для данного врага получает повышенный приоритет и алгоритм поиска пути говорит, что теперь это поле - его конечная цель. 3. Допустим враг добрался до игрока. Враг знает (я надеюсь) своё количество оставшихся ходов и смотрит, чтобы у него осталось ходов для минимального отступления, чтоб сразу не огрести.
Я бы ещё добавил врагам слух. Т.е. если игрок атакует врага, то в радиусе, большем радиуса видимости, враги могут "услышать" начавшийся бой. Тогда комната также получает больший приоритет.
Наглядный пример под спойлером
Игрок - крестик, враги - точки. Первый ход за игроком. Он перемещается из d4 в e4 и убивает врага в поле f4. В поле d6 стоит враг. Область его слуха - прямоугольный тригер, который сработает при выполнении следующий условий:
Игрок находится в этой области
Игрок атакует врага
В нашем случае этого не происходит. Допустим, ходы у игрока закончились. Теперь ходят враги. Враг из поля d6 перемещается в d5. Теперь он слышит игрока, не не видит его. Поэтому приоритет полей не изменился. Враг сможет увидеть игрока только тогда, когда тот в "прямой видимости", т.е. не находится в диагоналях области слышимости. Допустим враг опять переместился из d5 в d4. Теперь он видит игрока и знает количество оставшихся ходов. Выбора у него 2: атаковать игрока или сразу отступить.
Если бы враг из c2 переместился в d3, а враг или игрок атаковали бы друг друга, то для него поле агрессора получило бы приоритет +1. Для алгоритма поиска пути это бы значило, что перемещаться нужно именно туда. При достижении целевого поля сначала проверяются все "чувства" врага. Если в поле этих "чувств" попал игрок, то приоритет целевого поля -1 и враг уже стремится к новому полю игрока.
lentinant, я тут ещё прочел, что движения рандомны? Я бы сделал их не рандомными, а динамичными. Т.е. враги будут иметь свои маршруты, которые определяются при старте уровня. Так бы исключился вариант их залипания в углах, например. Ну это чисто моё мнение. В целом мне всё понравилось. Жду продолжения Мой проект: [2D] Storm Quest
Отличная игра получится. Систему боя бы как-то разнообразить или усложнить слегка, иначе будет совсем скучно, ибо враги немного вяло себя ведут и выносятся на раз. Проходится всё чересчур быстро и легко, но поигрался не без удовольствия Мой проект: [2D] Storm Quest
Сообщение отредактировал LoOnyRider - Суббота, 05 Июля 2014, 00:35
Подходит к концу время первой итерации и я решил опубликовать её итоги чуть-чуть раньше намеченного. Итак, что же за эту неделю было сделано?
Набросали вместе с художником примерный вид обучающего уровня.
На всех уровнях будет присутствовать эффект параллакс, что добавит среде живости. Возможно задействуем само окружение.
Написал простой скрипт перемещения персонажа.
Написал классы игровых объектов.
Был переработан персонаж.
Если художник поможет мне с анимацией последнего, то было бы круто. Сейчас анимации просто ужасны и переходы между ними заставляют литься кровь из глазниц реками, шире самой Амазонки.
План на следующую итерацию:
Реализовать добавление объектов со сцены в инвентарь
Набросать меню
Реализовать несколько игровых объектов
Доработать эскиз и детали уровня
Собрать GUI
Итоги будут опубликованы в районе 20 числа.
Пока что это всё. Пишите свои отзывы по текущему состоянию. Мой проект: [2D] Storm Quest
Сообщение отредактировал LoOnyRider - Воскресенье, 13 Июля 2014, 18:06
Получилось так, что я решил поучаствовать в конкурсе Gamiron #8. У меня имеется идея и даже некоторые наработки, однако трезво оценив обстановку и пролистав темы конкурентов понял, что проигрываю в графическом оформлении. Увы, но я действительно не очень хорошо рисую и особо не практиковал данный скилл.
Собственно, зачем мне потребовался художник? Попросту я вряд ли вытяну всё один. Вот полный перечень работ:
Отрисовка спрайта персонажа (+ анимации ожидания, бега и прыжка)
Отрисовка задников
Отрисовка игровых объектов и их иконок
Отрисовка UI элементов
Условия работы:
Удаленка. Связь держим по скайпу.
Весь цикл разработки разделен на итерации. Соответственно в конце каждой необходимо иметь результат работы
Оплата по итогам конкурса
Требования:
Оставим пиксел арт в стороне. Сейчас мне нужен хороший растр или вектор.
Я не буду вас торопить или чего-то сию минутно требовать. Основной объем желательно выполнить к течении 1 итерации (т.е. 2-3 недель), а остальное можно растянуть.
Т.к. я студент и какого-то постоянного дохода у меня пока нет, то оплаты как таковой за ваши труды я предложить в данный момент не могу. Если мы сработаемся, то я готов отдать вплоть до 70% приза и был бы рад продолжить сотрудничество.
Также, если вы всё же решите работать на добровольных началах и ваши арты будут качественными, я не оставлю стараний без вознаграждения.
Нет, я не собираюсь весь объем повесить на вас, ни в коем случае. Просто мне нужна помощь там, где я попросту буксую. Это анимации и иконки. Остальное постараюсь сделать без помощи. Сам я программист и в данный момент пишу весь необходимый для игры функционал.
Тема с идеей тут. Первая итерация заканчивается 6 числа, ожидается отчет о проделанной работе. Мой проект: [2D] Storm Quest
Сообщение отредактировал LoOnyRider - Пятница, 04 Июля 2014, 09:44
Тотализатор вещь хорошая, только делать всё надо не столь официально. Не все будут рады видеть, что на него не особо надеются. Кого-то подстегнет, а у кого-то желание пропадет Мой проект: [2D] Storm Quest
ManushkinBROS, я не стремился сделать что-то из ряда вон выходящее. Что подразумевается под графикой? Если сам персонаж, то здесь [был] представлен только первый вариант. Видно, что пропорции не соблюдены, есть лишние изгибы конечностей + детализация так себе. Но всё это я уже поправил как смог. Да и писал я, что художник я от слова худо Другие детали и итоги работы будут 6 числа.
Благодарю за отзыв. Я всегда рад любой критике, особенно конструктивной) Мой проект: [2D] Storm Quest
Сообщение отредактировал LoOnyRider - Пятница, 11 Июля 2014, 18:37
Описание: Игрок играет за персонажа, которого зовут Майк. Майк - обычный парень, живущий сегодняшним днем, которому захотелось свалить из города на природу и он решил держать путь на северо-запад. В одном из пабов он встречает незнакомца и тот предлагает ему работу на Аляске, помочь с добычей золота. В итоге Майк на неё соглашается, но самолет, который должен был доставить его, разбивается. Пилот и другие пассажиры погибают, а Майк чудом остается жив. Задача игрока - помочь Майку выбраться из неведомой ему местности, выйти к цивилизации и сообщить о случившемся.
Особенности игры:
Персонаж имеет инвентарь и может собирать некоторые предметы
Предметы создаются из подручных для персонажа материалов. Также на уровнях может встретиться какой-либо инструмент, что упростит создание некоторых предметов. А может он и не встретится
Уровня сложности у игры как такового нет, но игроку время от времени придется расходовать имеющийся материал с умом.
Из записей Майка
"День 1. Не знаю смогу ли я выжить в этих чертовых условиях... Всё началось две недели назад, в пабе. Я спокойно сидел и лакал своё любимое пиво, наслаждаясь матчем местной футбольной команды."
- Привет. - окликнул меня мужчина средних лет - Я Джеф. Как дела? - Эм... Привет. Майк. Нормально, у вас? - Тоже ничего. Ты проездом? - Да, держу путь на северо-запад. Хочу отдохнуть от городской суеты, насладиться природой, знаете... - Хорошее дело! - Ага...
"Он оказался довольно приятным человеком! Он рассказал мне о местном городке и его достопримечательностях, где и как можно отдохнуть. Некоторая часть из перечисленного им была мне просто не по карману. Он это понял."
- Слушай. Я тут работника ищу. Мы с ребятами через две недели направляемся на Аляску, заняли там участок и планируем развернуть добычу золота. За прошлый сезон мы собрали довольно много, в этом хотим собрать ещё больше, но нам катастрофически не хватает людей. А ты как раз путь на северо-запад держишь, по пути. - О, интересное предложение. Я подумаю. - Хорошо. Вот мой телефон, - он взял салфетку и написал номер - набери как надумаешь.
"Я чертовски хотел отдохнуть и полюбоваться природой. Встретил этого незнакомца, любезно предложившего мне работу и решил помочь. Я набрал его через неделю. Оказалось, что они довезут меня совершенно бесплатно, но я должен буду помочь им на площадке: следить за шейкерами и прочим оборудованием, пока остальные будут закидывать всё новые и новые порции земли. Почему бы нет? И вот спустя 2 недели я лечу в небольшом самолете с несколькими парнями и мелким инвентарем. Всё было хорошо. Хорошо до определенного момента... Наш самолет внезапно затрясло, инструментарий взлетел вверх. Мы падали..."
Исходя из временных рамок чейнджлог будет публиковаться с периодичностью в две недели, дабы каждое сообщение было информативно, было интересно и вообще. Примерный план первой итерации:
Создать первый игровой уровень.
Создать спрайт персонажа.
Попытаться заставить персонажа правдоподобно пробежаться по уже созданному уровню.
Создание некоторых элементов GUI
Все объекты сцены поделены на 2 типа:
Пассивные
Активные
Пассивные объекты - объекты, с которыми может взаимодействовать персонаж, но не может влиять на их положение. Активные объекты - объекты, на которые непосредственно влияет персонаж. Это могут быть укрытия, элементы конструкции.
Пассивные объекты являются источником ресурсов и конвертируются в активные объекты. Например, игрок может срубить дерево и получить древесину. С помощью этой древесины он сможет развести костер, чтобы согреться. В данном случае костер - пассивный объект, т.к. по логике вещей не подлежит транспортировке. О факелах и лампах речи нет, т.к. роль огня в данной игре - не создание динамического освещения уровня, а просто обогрев персонажа.
Первый игровой уровень включает все простейшие объекты с которыми встретится игрок и показывает принцип взаимодействия с ними. Игрок научится создавать объекты из имеющихся материалов, а также научится преодолевать некоторые препятствия.
Персонаж может перемещаться только в двумерном пространстве и имеет базовый перечень анимаций: бег, ожидание и прыжок. Помимо этого у него будут характеристики, которые будут проявляться на некоторых уровнях (вроде температуры).
Дедлайн первой итерации назначен на 6 июля, т.е. конец текущей недели. Интересен любой отзыв по идее. Всем удачи! Мой проект: [2D] Storm Quest
Сообщение отредактировал LoOnyRider - Среда, 16 Июля 2014, 18:05
Mangredo, идея понятна. Просто проскочило следующее:
ЦитатаMangredo ()
Мы сами строим подземелье.
Это и вызвало некоторый вопрос. Если игрок просто случайным образом получает доступ к конкретной области, это не значит, что игрок создает подземелье. Он просто получает проход в заранее созданную область подземелья.
Если что-то понял не так, то прошу меня простить. Идея очень интересная. Обязательно ознакомлюсь с итогом вашей работы
Сообщение отредактировал LoOnyRider - Воскресенье, 29 Июня 2014, 20:03
Генерация - общее понятие. Генерация уровня может быть разной. Я думаю ТС подразумевал нечто вроде редактора уровней. Сам сделал уровень - сам прошел. Почему бы нет?