Начал сомневаться в том, правильное ли я выбрал управление для рогалико-хорорной игры, между Айзеком, Машинариумом и Неголодайкой. Не слишком ли упоротое управление?
Брат говорит, что лучше сделать действие на туже кнопку, что и удар, но я не знаю, стоит ли?
Ибо у меня еще можно будет с врагами говорить. Не знаю, можно ли сделать как-то более проще управление?
- 19 сентября 2017, 19:12
- 03
Второе - нормальное. 1-е я бы назвал неудобным. Если с врагами можно говорить, то удар и действие д.быть на разных кнопках.
Спасибо :3 Эти управления сразу есть оба, продублировал кнопки на все, что только можно.
а если делать с WASD то какие кнопки были бы лучше вместо JKL? Или вообще неудобно будет в любом случае?
По-хорошему надо сделать смену управления, чтобы игрок сам мог себе назначить как хочет. То есть проблема не в том, какие кнопки выбрать на какие действия, а в том, как вообще действия связать с инпутом, который дает игрок.
Кнопку, которая вызывает меню, лучше по-умолчанию повесить на системную кнопку типа Esc/Tab, клавиши которые отвечают за действие должны быть отдельно. Ты писал еще про инвентарь - вот его вызов можно повесить на какую-нибудь клавишу, которая рядом с клавишами управления.
nuprahtor , а у меня юнити, и там из стандартного стартового меню можно кнопки поменять, но интерфейс смены кнопок в юнити сделан не очень хорошо, но пока решил так оставить.
И спасибо за детальный разбор управления.
Можно конечно подождать пока юнитеки выкатят новую систему инпута, а можно свою написать, это не так сложно, как кажется.
ты знаешь, как получить код забитой на ось кнопки? С этим, вроде, все плохо щас
На юнитевские оси можно забить, если нужно сделать смену управления. Есть переменная KeyCode - она принимает любое значение клавиши, которое ей назначишь. Можно сделать KeyCode JumpButton, и туда назначить в рантайме любую клавишу, которую игрок захочет. И потом проверять нажатие этой клавиши JumpButton.
Я себе давно еще сделал собственный VirtualInput класс, и теперь в логике просто проверяю на активацию нужного действия - а что внутри самого инпута настроено - роли не играет, там может быть любая клавиша, любая кнопка мыши, кнопка геймпада и т.п.
О , интересная вещь. Спасибо.
Проще всего сделать свой словарь "Условная кнопка-keycode" (что-то типа кастомного класса CustomInput, который будет давать кейкод по названию кнопки методом типа GetKeyCodeFor), и считывать для управления не Input.GetButton(какая-то кнопка), а Input.GetKey(CustomInput.GetKeyCodeFor(какая-то кнопка))
Какая херня. Шёл 2017-й год, а геймдевелоперы всё ещё роутили инпут.
Зато на геймейкере не сидит.
В котором из коробки есть дублирование кнопок, виртуальные клавиши и прочее.
Всяко лучше чем C++, в свою очередь.
Ты на нем ничего своего не сделаешь, будешь только готовое юзать. Ни своего рендера, ни своей физики, ни движка.
На гамаке можно использовать шейдеры и кодить любую свою физику. Что до скорости выполнения кода, у вас все игры, где используется хоть сколько-нибудь сложные алгоритмы, пошаговые - т.е. получается что и тут у вашего самописного двига перед гамаком преимущества нет.
Что-то я не припоминаю, чтобы у СБ хоть в одной игре были находки со звуком или мультиплеер. Все есть, ссылки сами найдете - я гамак не продаю, чтобы его рекламировать. Кому на чем угодно, тот на том и делает. Хотите потратить годы на написание собственного велосипеда - флаг вам в руки, у каждого свое хобби, меня, например, интересует именно разработка игр.
Risk Of Rain
Ну, PUBG на гамаке не сделать
Сто заскиненных персонажей, управляемых игроками, на одной карте и без лагов!
PUBG, без лагов, ахахахахахахахаха
Если из релизнутого, то, например, это http://store.steampowered.com/app/466770/Ghost_Croquet/
Марк Овермарс, нидерландский профессор, который Гамак придумал, специализировался как раз на акустике, и поэтому в каждом ГМе до GM:Studio был 3Д-звук со всеразличными эффектами и эквалайзером.
http://docs.yoyogames.com/source/dadiospice/002_reference/017_obsolete%20functions/obsolete%20sound%20functions.html
Теперь нету, потому что видите ли нам нужна кроссплатформа, давайте выпилим это вообще из движка, хотя Windows это ОС абсолютного большинства геймерских ПК!
Сервер зависит не от Гамака. Принимать и посылать данные может любой движок, тут главное придумать модель синхронизации, и чтоб географически всё слаженно работало и тянуло заданную нагрузку.
Хвалили явно не это удобство.
Наоборот. Ты невнимателен: я написал ГЛАВНОЕ преимущество. Оно в том, что в гамаке ты будешь брать готовое, а на своем будешь писать сам. Писать дольше, руками, с трудом. В этом преимущество.
Ну, это можно понимать как философию на самом деле. Труд сделал из человека геймдевелопера, а современные нажиматели кнопок "сделать код за меня" плавно мутируют обратно в волосатое чучело. Что-то в этом есть. Но не всё.
Можно понимать, а можно и не понимать. Да не важно в общем-то.
Важно игры делать, вот.
Не-а, игры сели делать, когда проблемы добычи средств существования были решены, а свободное время все еще оставалось. Труд создал условия, а игры человека заставляет делать любопытство. Заставляло, так как сейчас у нас за пряник -- "успешность", измеряемая в денежных единицах.
Инструменты становятся сложнее внутри и проще в использовании. Входной порог уменьшается, увеличивается количество "рукожопов", которые со временем формируют культуру "говноедов".
Количество пишущих для себя не уменьшилось, но начинает казаться, что тебя просто смывает "потоками", как было в случае с Гринлайтом. В общем уже можно садиться писать научные манускрипты на эту тему, ну, или игру сделать :)
Я не о секторах экономики, а о том что в XXI веке без труда останешься геймером, и только с трудом будешь геймдевелопером.
Хорошо, принимается, твою мысль освоил.
Спасибо.
Я делаю игры, а не матан. Так уж звёзды на небе стали.
Посмотрим продержишься ли хоть лет двадцать. Вангую что заскучаешь. Ведь брать готовое скучно а гамак это и предлагает.
Гамак использует си-подобный язык, я ему нет равных в своей нише. Двадцать лет я в нём крутиться и не собираюсь, рано или поздно мне понадобится 3Д. Но ближайшие пару лет - точно нет.
Только вот парадокс - свой рендер, физику или движок, я всё равно делать не буду!
Поэтому по возможности используйте движки с открытым кодом. Можно продолжить его развивать самостоятельно, в случае чего, и можно заменить любую часть. Собственно, так они и развиваются: один разработчик что-то улучшил в движке для своего проекта, и это становится доступным другим. А не как Юнити со своим блошиным рынком
Тут интересное дело - Blitz3D стал Open Source когда над ним перестали работать. И Blitzmax. И юнити в свое время станет. А у UE4 исходники уже доступны.
Это хорошо. Только свои изменения к UE4 ты даришь конторе, а не комьюнити
Но ведь все изменения доступны всем людям, которые собирают движок сами
Поэтому - почему именно "поэтому"? И потом, чтобы давать совет, нужно обладать каким-то весом. Это ваши игры? Мне например не интересно делать что-то настолько простое.
Я же написал - по возможности. Открытый код всегда лучше закрытого. Точка.
Если бы я писал открытый код на открытых движках, я бы никогда не создал то, что я создал. Точка. Без запятой.
К слову, мои игры, кому действительно интересно, спокойно декомпилируются в точный до буквы исходный код, и я не стал бы предъявлять за это никому претензий, так как это было бы глупым.
До тех пор, пока новые операционные системы поддерживают старые API, старые движки, их использующие, будут работать. Мой (моей команды) Castle of no Escape 2 сделан на Гейм Мейкере 8.1, последний релиз которого был в 2011 году. Даниэль Ремар вообще использовал Game Maker 7, а иногда и 5, для своих игр, и никаких особых причин куда-либо переходить по факту нет. Возможности Гамака доросли и переросли потолок моих запросов далеко на будущее. На года три точно, и никто на это уже не повлияет.
Game Maker: Studio не очень совместим с 8.1, а в некоторых местах абсолютно несовместим - нидерланский профессор продал его ирландской фирме YoYoGames, зато они добавили в него кроссплатформенность. Синтаксис, си-подобность и общий принцип работы движка при этом остались ровно такими же самыми, и сохраняются вот уже 18 лет, вплоть до новейшей Studio 2.
Даже если вдруг его перестанут обновлять, существующего функционала достаточно чтобы сделать абсолютное большинство игр, что я задумал. Так и чего беспокоиться?
Возражение 2 тут конечно остаётся реальным. Но современному геймдизайнеру надо ну очень сильно постараться увидеть что-то такое, что требует особого движка. В большинстве случаев это какой-нибудь арт-перформанс/демосцена, не ставящая на первое место игру, я таким не занимаюсь и не предвижу себя за этим занятием.
Среди игр на Гамаке полно совершенно не платформеров. И в лучших играх, показанных на официальном шоукейсе, тоже. Хотлайн Майями, Андертейл, и так далее, лень даже объяснять. А я не сделал ни одного платформера на нём.
Что ж, это прискорбно.
Тогда как я в 2006 году начал делать игру на GM6.0, в 2008 бросил. В 2017 открыл в давно устаревшем GM8.1, и всё скомпилировалось в один клик. Импортировал в GM:S, сбилдил под Андроид - ничего не изменилось.
Такие дела.
Я так в своем коде делаю. Храню в таблице "[действие] = кнопка". А потом проверяю "если нажато [действие], то". Так можно легко поменять кнопку в коде и во время игры.
- Я использую словарь.
- А я - таблицу!
- А я - карту!
Хэш и мэп, пограмисты!
С WASD мышь, наверное) И тогда парочку соседних с WASD тоже надо использовать.
Или 4 кнопки M < > ?.
Клавишу меню лучше отдельно от остальных, а вот инвентарь вместе с другими тремя.
С WASD + Мышь я решил покончить, когда сделал демку про пони, почти все требовали убрать такое управление и присобачить джойстик вместо этого, мне так сложно давался этот переход на клавиатура + джойстик и уход от моего любимого WASD + Мышь, но обратно дороги нет, я слишком много провозился с этим)
А еще у меня меню и инвентарь в одном окне находятся, чтоб много окон не разводить на разные кнопки:
Канальи! Грязные консоле-холопы! Тысяча чертей!
Выходи на ПК, не выходи на консоли!
Выходи на ПК, не выходи на консоли!
Проще уже куб сделать
В смысле, куб?
Coub. Взять понравившийся участок ролика до 10 секунд, и зациклить
А. Ну мне не проще. В смысле, лень!
Ксит, в том то и дело, что демка для ПК была, похоже многие наверное сейчас играют на гейпаде, ибо куча народу попросили его, хоть и демка для ПК.
Некоторые игры созданы для того, чтобы играться на геймпаде. Некоторые наоборот. Если это двухмерная игра, то желание поиграть в нее с геймпада вполне можно понять.
Геймпады более продвинуты, чем клавиатура, в плане того, что позволяют улавливать частично нажатые кнопки и частично повернутые стики. Да и с ними можно играть, не слезая с дивана. Кстати, последний раз, когда смотрел Steam Big Picture, подавляющее число игр из моей библиотеки не поддерживало геймпад :(
В PC реалиях такое можно сказать лишь о кнопках-триггерах, которые распознаются как оси и в direct input, и в x-input, фишки второй плейстейшен с аналоговыми кнопками тут не будут работать.
Ну в принципе, я уже перешел на них)
Еще и смотрю почти все обзорщики игр тоже играют с них, если игра позволяет, пришлось покупать первый раз за долгое время геймпад, чтобы тестировать управление.
:3 не опечятка
гейпараде?
Не смешно.
Ну, бывает
почему меню не на еск/ентер?
на эти кнопки тоже есть + Tab, просто еще решил добавить рядом, чтобы была под рукой, инвентарь будет,
Теперь вот думаю... а не слишком ли непривычно получилось?
Нужен полноценный фидбэк? Выкладывай демо, ответим на все что спросишь.
Хорошо :) дособираю некоторые вещи в игре, и выложу специальную демку для гамина :)
Лично я могу ответить даже на те вопросы, которые ты не спросишь.
Точнее, он в основном именно это и делает!
Осуществляет бесплатные консультации престарелым бонвиванам.
V - это какое-то внутриигровое меню или что? Потому что если это просто меню паузы (с опциями и всем таким), то лучше убрать кнопку в сторону (на ескейп повесить, например).
>Брат говорит, что лучше сделать действие на туже кнопку, что и удар, но я не знаю, стоит ли
У нас из-за этой хуйни прототип коне2 до стима вырос.
Только я уже не помню, почему всех бесило навешивание удара и действия на одну кнопку.
Потому что можно было случайно побежать по лестнице вместо чтоб добить последнего врага в комнате.
в Beyond Oasis я иногда вместо того чтобы ударить противника брал вещь, которая была подо мной, хуже всего если в инвентаре не было места, тогда вместо ударов по противнику, я туда-сюда поднимал вещь, а она браться не хотела) проблема решалась, если отойти в сторону, и шанс был не так велик встретить такое, но был.