seaman, спасибо) А как другие люди скриптуют уровни? Не пишут же отдельные индивидуальные (только для этого уровня) скрипты на C# (чтобы потом ещё ждать копиляцию на каждый скрипт для каждого уровня отдельно)?
ещё рано, а вот на пенсии самое то начать) вопрос этот реально не имеет смысла, а имеет другой: Нужно ли это вам? и если нужно, то приступайте к изучению)
Мне очень понравился язык Lua, намного лучше С# для меня как дизайнера: 1) меньше строк кода для той же функциональности 2) нет ожидания компиляции 3) удобно кодить уникальные, одноразовые скрипты для уровней
Вот хотел спросить, какую интеграция Lua вы посоветуете для Unity, потому-что там не одна, и я немного запутался, какую лучше выбрать, чтобы не ошибиться с выбором.
Сообщение отредактировал alexsilent - Суббота, 23 Марта 2019, 04:36
Чем больше кнопок управления или сложнее управление - тем меньше тех кто купит/скачает игру на мобилу Чем сложнее игра - тем меньше тех, кто купит/скачает игру на мобилу Чем менее казуальная игра - тем меньше будет игроков на мобилах
Это не всегда закон, но часто выходит что так это и работает...
Можно сделать сложную игру в простой обёртке, хотя это сродни гениальности, нужно долго мучиться и не факт что примут эту игру нормально... но шанс есть 1) Управление должно быть простое в любом случае, нельзя его усложнять (идеальное управление для мобил, только один клик, но это не для всех игр работает) 2) Сложность игры - можно подать в виде меню выбора сложности (по умолчанию должна стоять самая лёгкая) 3) Я придумал идею, как сделать хардкорную игру для казуальщиков, все секретные сложные места будут недоступны простым и неопытным игрокам, они будут думать что это лёгкая игра и проходить её легко, на обычную концовку, но для хардкорщиков будет и второй путь, путь харкдора на который будет даже сложно попасть. 4) игра должна быть с короткими сессиями, потому-что в такие игры часто играют где нибудь в метро или автобусе... но есть много хардкорных игр с короткими сессиями (файтинги, рогалики, шутэмапы), так что это не проблема, главное правильно сбалансировать игру (к сожалению тягомотные игры выпадают из этой категории, те игры, в которые нужно только час базу строить например)
Я до сих пор думаю как сделать нормальную игру на мобилу, потому-что я ненавижу казуальные игры, и решил думать в направлении сделать фальшивую казуальную игру, где казуальщик даже не поймёт, что играл в хардкорную игру, потому-что не вышел на путь хардкора.
Сообщение отредактировал alexsilent - Четверг, 21 Марта 2019, 03:32
Эргалон, то есть AtlasTexture и LargeTexture не работают? (ибо многие отсылают к подобному варианту) насколько я знаю TexturePacker не бесплатный
Я не против даже вручную собрать атлас из всех текстур, но как их потом резать, если они имеют разные размеры?
В Юнити с этим нет проблем, зато мне там не нравится , большая нагрузка и нет встроенных инструментов для создания нормальной пиксельной игры, сверху на это всё дополнительные патчи приходится там добавлять, помимо того что сама Юнька и так нехило жрёт (но те кто любят поиграть в ААА игры этого не замечают, но для инди игроков это может быть критично, ибо чаще машины намного слабее) Но в целом я сюда не об юнити пришёл поговорить, просто подумал Годот будет хорошим заменителем, но тут видимо пока сложно с атласами
Сообщение отредактировал alexsilent - Пятница, 01 Марта 2019, 19:33
Решил я заняться обучением Годота, но у меня тут встал вопрос: как сделать AtlasTexture или LargeTexture? Не гуглятся уроки на ютюбе, и в документации лишь сказано как программировать под это, но не как конвертировать.
Не понимаю как конвертировать из обычной текстуры, хочу использовать AnimatedSprite , но не с отдельными текстурами на каждый кадр (ибо для оптимизации плохо), а с большой текстурой одной, чтоб там все кадры были. Вариант с другим аниматором мне не нравится, там не видно какие кадры используются.
PS у меня версия 3.0.6
Сообщение отредактировал alexsilent - Пятница, 01 Марта 2019, 17:49
В моей игре всё нарисовано спрайтами для 2д персонажей, кроме пару вещей, к которым привязаны кости, для динамических вещей: грудь качается, юбка чуть движется, волосы и прочее... там я использовал 3D меши
И нужно применять маску в особых ситуациях (для прыжков в воду например, чтобы отсекалось всё что под водой, а вид на персонажа сверху-сбоку) но 3д объекты не работают с маской, там даже нет такой опции, как в спрайтах, как можно включить у обычных 3d mesh объектов маску?
Сообщение отредактировал alexsilent - Среда, 09 Января 2019, 17:49
Я проголосовал за арт, хотя по хорошему хочу игровой конкурс, но арт раз в 10 сделать проще, чем игру. Там не нужна отладка, не нужно думать над архитектурой и прочими бесчисленными нюансами, отчего часто я бросаю на половине или раньше. Но в целом, когда настроение хорошее и ничего не отвлекает (особенно по работе), то успеваю и с игрой на конкурс разделаться.
это потому-что Москву, Питер и ещё пару городов считают типа Сочи, без них средняя з/п 20-25 р ну ладно... сейчас бывает и до 35 к доходит иногда, но не так чтобы часто
Добавлено (22 Декабря 2018, 13:40) ---------------------------------------------
Цитатаtacitbob ()
Посоветуйте, по своему опыту, на какое железо стоит ориентироваться, чтобы потом можно было комфортно работать в выше перечисленных программах. Собираюсь работать только с 2D.
Тут зависит от того какое 2D: для пиксельарта можно даже древние модели (ноуты устаревшие на 10-12 лет всё ещё тянут юнити, и тем более констракт и гейм мейкеры), а для игр типа Ori, лучше хотя бы i5 и Морально Устаревшую Видюху на 3-4 года вполне норм брать. А даже пойдёт ещё древнее железо, у нас в Хабаровске в DNS для того чтобы компы продавались урезали в ноутах почти всё, чтобы удешевить, даже SDD по 32 гига пихают, лол...
И если железо будет слабое - Как раз придётся париться с оптимизацией, что является плюсом, профайлер не выход, ибо если на старом железе разработчика пошла игра, то тупо аудитория расширяется, а те кто ориентируются на профайлер, просто предельно допустимые нагрузки считают, им плевать потянет на том железе или нет, но со слабым компом уже точно будешь уверен, что потянет, это плюс для расширения аудитории.
Добавлено (22 Декабря 2018, 13:49) --------------------------------------------- Я и сам думаю какой ноут брать, но мне нужно ещё и 3д, хотя бы морально устаревшее до 2011 года, уровня Скайрим, но даже так цены неприлично кусаются для кошелька из глубинки. PS ПК намного дешевле ноута, но мне мобильность очень важна.
Сообщение отредактировал alexsilent - Суббота, 22 Декабря 2018, 14:09
Byurrer, спасибо, хоть и не помогло! Скачал, а в той программе нет моей версии Asus X555LD, но в целом ладно) скорее у меня причина запыленности или нужно смазать, хотя я разобрал ноут и почистил с верхней стороны, а с нижней стороны я не смог добраться, ибо я боюсь разобрать материнку и тем более там очень хрупкие кристалы, полюбому накосячу. Думаю либо в сервисный центр тащить, либо новый ноут брать, но оно теперь ещё дороже, чем раньше...(
Сообщение отредактировал alexsilent - Суббота, 22 Декабря 2018, 13:15
Кулер на ноуте не работает (хотя иногда включается и жужит сильно) в зависимости от случайных факторов, вот сейчас вентилятор опять перестал крутиться, посмотрел видео как разбирать свой ноут,
https://www.youtube.com/watch?v=0EB0G14HLZY
и это просто жесть, чтобы достать кулер, нужно всё открутить, даже жесткий диск и сидюшник. Думаю Стоит ли самому разбирать, или лучше в сервисный центр тащить?
Есть ли в винде программа для смены скорости кулера или нужно отдельно качать? Но я боюсь качать с левых сайтов, ибо можно наткнуться на вирус или установщик ненужного хлама типа яндекс бара. Кто что посоветует?
Сообщение отредактировал alexsilent - Суббота, 22 Декабря 2018, 09:21
Читаю твиттер одного прикольного чела, он пишет много о крутых шейдерах, и как их писать. Я пытаюсь их переписать на юнити, и кажется мне чего-то недостаёт, я не понимаю, ибо я мог что-то не туда запихать, ибо он пишет не полный код шейдера, а какую-то часть, и я не знаю куда это вставлять.
Вот например шейдер водопада:
А сам автор крутых шейдеров, вот, если вдруг кому будет полезно и больше меня понимает, как эти шейдеры писать: https://twitter.com/minionsart
Сообщение отредактировал alexsilent - Понедельник, 26 Ноября 2018, 10:45
Синглтон на MonoBehaviour может всё то же самое, что может обычный скрипт.
звучит хорошо, если реально так, тогда я попробую понять как оно устроено и переписать свой скрипт под синглтон, только вроде как синглтону не нужен префаб и не нужно находиться на объекте уровня, но тогда не будет работать Awake, тогда кто будет запускать этот скрипт?! нужен ещё один начальный скрипт, который будет запускать этот синглтон, запутаться можно из-за юнити
Сообщение отредактировал alexsilent - Суббота, 03 Ноября 2018, 14:53
Мне уже много раз советовали на синглтоны переходить, но такой вопрос: А синглтон может обрабатывать локальные переменные в функции и есть ли доступ к не статичным переменным? Потому-что мой код может, и мне очень нужны локальные переменные в функции. А также мне нужен цикл Update и FixedUpdate прямо в ядре программы, вот такое у меня основное ядро программы, я только начал переписывать на C#, ибо до этого я всегда писал только на ЯваСкрипте.
Код
/* Этот скрипт - ядро игры, с него будет стартовать вся игра, и тут будут находиться самые важные вещи и данные. На каждом уровне должен быть один такой объект с таким скриптом, чтобы можно было тестировать игру вообще с любого уровня, а не только с начального меню, где можно было бы только один раз разместить этот скрипт, но мы же хотим тестировать игру с любого уровня, поэтому запихаем этот скрипт на каждый уровень игры, ибо без этого скрипта игра не сможет работать. */
// Это загрузка библиотек юнити, я в этом не силён, но оно всегда должно быть тут по умолчанию на каждом скрипте using System.Collections; using System.Collections.Generic; using UnityEngine;
// ***** Начало скрипта ***** public class Global : MonoBehaviour {
// ***** Переменные и Данные ***** public static Global it; // Ссылка на этот скрипт, чтобы легко доставать функции и данные, даже если они не статичные
public string state; // Текущее Состояние Игры public string oldState; // Старое состояние игры с прошлого кадра
// ***** Эта функция автоматически запускается сразу при инициализации объекта в текущем уровне игры ***** void Awake() { if (it) { // Если мы уже запускали этот скрипт, значить это дубликат, который нам не нужен... Destroy(gameObject); // ...и поэтому мы его удаляем, ведь нам нужен один такой объект и скрипт в игре вообще return; // сразу же выходим из этой функции } it = this; // указываем ссылку прямо на этот скрипт, это будет всего один раз за игру, с первого запущенного уровня... // ...и теперь мы можем тырить отсюда переменные и функции, с помощью: "Global.it...", например Global.it.state DontDestroyOnLoad(gameObject); // этот объект не удаляется при загрузке нового уровня (по умолчанию все объекты удаляются) }
// ***** Эта функция автоматически запускается перед первым кадром игры, позже Awake ***** void Start() {
}
// ***** Эта функция автоматически обновляется каждый кадр игры ***** void Update() { GameStates(); // вызываем функцию работы режимов игры }
// ***** Функция работы режимов игры ****** /* Эта функция устроена по типу State Machine (но сделано кодом, а не визуальным способом/плагином), очень удобно для программирования: AI, Выбора режимов, Диалога и других сложных штук в игре, код из-за этого намного упрощается, ибо мы можем переключиться только в один режим игры */ void GameStates() { switch (state) // Выбираем Текущий Режим Игры { case "fade": // Режим затемнения экрана при перезагрузке уровня break; // конец условия case "loading": // Режим загрузки уровня break; // конец условия case "fadeOut": // Режим после загрузки уровня, когда экран высветвляется break; // конец условия case "pause": // Режим паузы break; // конец условия default: // Режим по умолчанию, обычный гемплей игры break; // конец условия } }
}
Добавлено (03 Ноября 2018, 12:11) ---------------------------------------------
Цитатаpixeye ()
Организация сцен Вот тут я пишу про организацию сцен у себя ) неважно как я это реализовывал, но этот подход разумен и позволяет тебе предусмотреть настройку объектов в нужном тебе порядке.
pixeye Спасибо, мне очень нравятся твои видео (хотя я в них мало что понимаю, но мне понравилась идея отделения данных от скриптов) и этот фреймворк, но я не совсем уверен, что смогу пользоваться им, ибо мало что понимаю в скриптейбл объектах и синглтонах.
А ещё я пока не изучал новую загрузку сцен, там теперь новый класс, я ещё даже не пытался вникнуть в это, сегодня завтра буду разбирать, я всегда раньше получал доступ к сцене через Application.loadedLevelName
Сообщение отредактировал alexsilent - Суббота, 03 Ноября 2018, 12:23