Пятница, 10 Мая 2024, 23:03

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » lentinant [992]
Результаты поиска
lentinantДата: Вторник, 27 Мая 2014, 17:15 | Сообщение # 141 | Тема: Как осуществить движение в бок?
ленивый программист
Сейчас нет на сайте
Camera.main даст вам доступ к камере.

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Воскресенье, 25 Мая 2014, 20:19 | Сообщение # 142 | Тема: Stealth
ленивый программист
Сейчас нет на сайте
Цитата DantorS ()
Но как определить расстояние, ведь пуская raycast и тому подобное не знаешь на какой угол его пускать?

Пустой объект с коллайдером, прикрепленный к персонажу. Расчет вести только с теми персонажами, которые внутри коллайдера.

Добавлено (25.05.2014, 20:19)
---------------------------------------------

Цитата DantorS ()
Для статического варианта хорошо но никак не динамического, тогда придётся непрерывно проверять каждый угол что не есть хорошо. А если просто задать условие маскировки - 1 или больше должен быть слева, 1 или больше справа, спереди.

Ты будешь постоянно считать углы и там, и там. Какая разница?


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Воскресенье, 25 Мая 2014, 19:58 | Сообщение # 143 | Тема: Stealth
ленивый программист
Сейчас нет на сайте
Цитата DantorS ()
Но твой вариант не походит. Нужно чтобы npc окружали игрока. Они же могут просто выстроится в линию. И тогда такая система будет неправдоподобной

В том же Assassin's Creed все npc, в толпе которых можно затеряться, никогда не выстраиваются линиями. Более того, игрок мог просто стать сбоку группы, прямо на глазах у стражников, и все равно считаться частью толпы. Во всяком случае, во второй части игры.

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


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Воскресенье, 25 Мая 2014, 19:46 | Сообщение # 144 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Код
float angle = Vector3.Angle(transform.forward, target.position - transform.position);

где target - transform цели. Сравнивать с каким-то предустановленным значением (углом поля зрения, грубо говоря). Вместо forward можно использовать up и right, а также их версии с минусами, для определения, к какой стороне ближе всего цель.


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Воскресенье, 25 Мая 2014, 19:47
lentinantДата: Воскресенье, 25 Мая 2014, 11:07 | Сообщение # 145 | Тема: Как сделать дырку как в wolfenstein new order?
ленивый программист
Сейчас нет на сайте
Цитата romgerman ()
Каким образом у тебя поедет развёртка? Ты просто вырезаешь кусок меша. Развёртка остаётся на месте.

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

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


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Воскресенье, 25 Мая 2014, 10:59 | Сообщение # 146 | Тема: Collaboration в юнити
ленивый программист
Сейчас нет на сайте
Взаимодействовать с еще неизвестными классами могут помочь делегаты и интерфейсы.

Добавлено (25.05.2014, 10:59)
---------------------------------------------
Вообще, скрипт можно попробовать сделать таким, чтобы не ему приходилось связываться с другими скриптами, а чтобы другим скриптам надо было связываться с ним. Просто на выходе сделать пачку публичных переменных и методов, и расписать к ним инструкцию, мол, в эту переменную засовываете трансформ своего персонажа, а этот метод вызываете для перезагрузки уровня, и т.д..


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Воскресенье, 25 Мая 2014, 10:46 | Сообщение # 147 | Тема: [2D] Circleban [puzzle]
ленивый программист
Сейчас нет на сайте
Новое обновление

  • Добавлены врата. Они открываются нажатием на определенную плиту. Настройка происходит с помощью средней кнопки мыши (как и для плиты; в принципе, все объекты будут настраиваться подобным образом). Подсказки в редакторе пока еще не изменены определенным образом, но управление такое же, как и обычно. Если вратам назначена ключевая плита, в меню настроек есть кнопка выбора, нажав на которую, вы должны выбрать соответственную плиту (нажать левой кнопкой на необходимую плиту; правая кнопка для отмены). Если плита назначена, то вместо кнопки выбора есть кнопка очистки, и кнопка, фокусирующая камеру на соответственной плите. Также эту плиту обозначает красная стрелка. Это в редакторе, в игре нужную плиту надо найти эмпирическим путем. Что будет, если играть с вратами с не назначенной плитой, я не знаю, не пробовал, и вам не советую.
  • Добавлена статистика, или как это называется. Словом, теперь ваши шаги при прохождении уровня считаются, и рекордное для вас значение записывается (хотя пока от этого смысла нету). Также, теперь каждой карте в меню Options можно назначать оптимальное значение шагов для прохождения. В зависимости от этого значения от от вашего результата при прохождении, вам выдаются, как ни странно, звездочки, в числе от нуля до трех штук. Эта вся статистика сохраняется, пусть и локально, и вы можете увидеть в меню выбора уровней, где у вас какой лучший результат, в виде тех же звездочек.
  • В том же Options можно вписать свое имя - оно будет отображаться снизу слева при прохождении уровня. Так что, если кто-то все таки сделает мне уровни, он точно будет упомянут в игре, даже без титров))
  • Также добавлены окно победы (то самое со звездочками) и окно паузы.
  • На кольцах, которые вы сейчас не можете подобрать, отображается большая красная фиговина, чтобы лучше ориентироваться, куда вы можете идти, а куда - нет.
  • Теперь внутреннее помещение уровня заполняется спрайтами, чтобы был какой-то контраст, и лучше видно, где уровень, а где - нет. Фон создается автоматически, и очень рассчитан на то, что стены будут замкнуты. Если вы не замкнете стены, у вас все будет в плитах, и, возможно, игра станет немного подвисать, или что-то перестанет работать. Осторожней с этим. Игнорирует врата.
  • Кольцо теперь нажимает на плиту только тогда, когда вы его сняли. На это были некоторые основания.

А также неопределенное количество багов.

Добавлено (25.05.2014, 02:28)
---------------------------------------------
Добавил версию под андроид. Размеры интерфейса еще не подбирались, поэтому все может быть очень мелко.

Добавлено (25.05.2014, 10:46)
---------------------------------------------
Оу, про билд на андроид написал, а добавить в шапку забыл. Исправлено.


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Воскресенье, 25 Мая 2014, 02:28
lentinantДата: Пятница, 23 Мая 2014, 12:31 | Сообщение # 148 | Тема: joystick для rigidbody2D помогите!!!
ленивый программист
Сейчас нет на сайте
Цитата licher2008 ()
нихрена не помог..

Дело в том, что мне проще расписать все с нуля, чем переделывать чей-то чужой скрипт. Я кратко описал, как обычно реализован джойстик, без всяких CharacterController.

Добавлено (23.05.2014, 12:31)
---------------------------------------------
Окей, если самому вникать лень, попробую разжевать за тебя.

Что такое джойстик? Это элемент управления, позволяющий выбирать направление, и, в некоторых случаях, некий параметр, например, скорость. Обычно представляет собой два кружка: первый - это непосредственно область джойстика (так и буду называть дальше), второй - фигнюшка, которую мы отклоняем (дальше буду называть непосредственно джойстик). Реализация джойстика - это, по сути, реализация отслеживания отклонения джойстика от центра области джойстика. Если джойстик в центре области джойстика, значит, направление нулевое, и скорость тоже нулевая.

Это было вступление. Теперь непосредственно то, что я сказал выше. Мы рисуем на интерфейсе две текстуры в виде кружков, представляющих область джойстика и сам джойстик. Параметры Rect этих текстур не важны, главное, чтобы изначально их центры совпадали. Припустим, центр области находится в векторе origin, а центр джойстика - в векторе pos (изначально равном вектору origin). Также важно знать радиус области джойстика, припустим, R. Для справки, текстура на интерфейсе рисуется методом GUI.DrawTexture. Радиусом круга можно считать половину стороны текстуры (если она квадратная, и круг ровно в нее вписан).

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

Итак, информация о всех прикосновениях к экрану хранится в массиве Input.touches, каждое прикосновение имеет тип Touch. В этом типе есть вектор position, показывающий, где конкретно на экране это касание. Нам надо пересмотреть все касания к экрану с помощью итератора foreach, и проверить, нету ли среди них такого, которое находится в области джойстика, то есть, расстояние между ним и origin будет меньше R. Расстояние можно измерить с помощью метода Vector2.Distance. Если касание внутри области, то мы передвигаем текстуру джойстика таким образом, чтобы ее центр pos совпадал с position касания. Теперь, получается, что направление, в котором мы отклонили джойстик - это вектор
Код
Vector2 direction = origin - pos
Чтобы переместить игровой объект соответственно до этого направления, нам достаточно использовать
Код
transform.Translate (direction)
или, в случае с rigidbody2d,
Код
rigidbody2d.velocity = direction


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

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


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Пятница, 23 Мая 2014, 12:34
lentinantДата: Четверг, 22 Мая 2014, 12:12 | Сообщение # 149 | Тема: joystick для rigidbody2D помогите!!!
ленивый программист
Сейчас нет на сайте
Цитата
Реализация джойстика предельно простая. Припустим, у тебя есть точка на экране, обозначающая центр джойстика - вектор padOrigin. Берем все касания к экрану, и смотрим, есть ли касание, находящееся поблизости этого вектора. Если есть, значит, джойстик нажат. В таком случае, направление геймпада - вектор, полученный вычитанием от точки касания вектора padOrigin. Передвигаем наш объект соответственно к этому вектору (для двухмерной игры со стандартной камерой, для направления можно использовать сразу этот вектор). Длину этого вектора можно использовать для контроля скорости передвижения.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Четверг, 22 Мая 2014, 02:25 | Сообщение # 150 | Тема: F_t_P vs P_t_P
ленивый программист
Сейчас нет на сайте
Разовая покупка - это b2p (buy to play). p2p, как уже выше сказали, подписка. О ее минусах смысла писать тут нет, так как, во первых, к автор не ее имел ввиду, а во вторых, эти минусы очевидны.

Цитата Ranger ()
А секрет прост: Они просто делают качественные/интересные игры.

Схема "лучший метод от пиратства - делать игры, которые хочется купить" не работает в нашем жестоком мире. Люди делятся на два типа - те, которые готовы платить за игру, и те, которые никогда не потратят на игры ни копейки. Получается, в платные приложения будут играть исключительно люди первого типа, в f2p же - представители обоих типов. И для f2p полезны даже те люди, которые не делают внутриигровые покупки - они обеспечивают прирост загрузок, что уже неплохо продвигает игру. Ну и реклама, и всякое такое.

Тот же Каирософт в последнее время перешел на бесплатные игры, что уже о чем-то говорит.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Вторник, 20 Мая 2014, 16:17 | Сообщение # 151 | Тема: Итоги конкурса Gamiron #7
ленивый программист
Сейчас нет на сайте
Товарищи, критерии нужно составлять так, чтобы они подходили для всех игр. Не для всех игр важны длительность прохождения и реиграбельность. Есть много хороших сюжетных игр, в которых ноль реиграбельности, но это же не делает эти игры плохими. Ну а большая длительность, как я уже сказал, может быть как плюсом, так и минусом. FTL можно пройти минут за 20, но это не делает ее плохой игрой. И это касается многих игр.

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Вторник, 20 Мая 2014, 04:31 | Сообщение # 152 | Тема: Итоги конкурса Gamiron #7
ленивый программист
Сейчас нет на сайте
Насчет комментариев - я где-то уже говорил, что в случае набора судейского состава из народа они обязательны, так как только по ним можно понять, подходит ли тот или иной человек на роль судьи.

Добавлено (20.05.2014, 04:31)
---------------------------------------------
Цитата Ordan ()
Иначе отпадает смысл делать игры дольше чем на 5 минут.

Если сама суть игрового процесса предусматривает короткие игровые сессии, зачем искусственно растягивать игру? Оценка подобного параметра заставит разработчиков "лить воду" в игровой процесс, что негативно скажется на его качестве. В итоге мы получим игру, где нас заставляют долго делать что-то нудное. Вам нравится гринд? Мне нет. Если в игре он не нужен, зачем его туда вводить?


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Вторник, 20 Мая 2014, 04:32
lentinantДата: Вторник, 20 Мая 2014, 04:14 | Сообщение # 153 | Тема: Итоги конкурса Gamiron #7
ленивый программист
Сейчас нет на сайте
Цитата Ordan ()
Критерий: длинна геймплэя.

И народ с отличными играми с короткими игровыми сессиями будет терять балы.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Суббота, 17 Мая 2014, 12:07 | Сообщение # 154 | Тема: Что лучше:
ленивый программист
Сейчас нет на сайте
Цитата {Game-Maker}Maxs ()
Я пытался делать мелкие [2D] игры.Но какой опыт они мне дадут если в последующем я буду делать игры в 3D?

В работе с 3D - никакого. А вот если рассматривать игровую логику, то разница между 2D игрой и 3D игрой - только в присутствии третей оси в последней.

Добавлено (17.05.2014, 12:07)
---------------------------------------------

Цитата DantorS ()
А ведь всё начлось с игры крестики-нолики. Так для справке: это самое первая игра.

"Игра" - понятие растяжимое. Кто знает, во что играли наши далекие завернутые в шкуры предки.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Суббота, 17 Мая 2014, 07:59 | Сообщение # 155 | Тема: [2D] Circleban [puzzle]
ленивый программист
Сейчас нет на сайте
Новое обновление
Итак:
Изменения в редакторе:

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

В игре:

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


Пробуем, комментируем (по желанию), помогаем мне отлавливать новых жуков, клепаем крутые уровни.

Добавлено (17.05.2014, 07:59)
---------------------------------------------
Да, нашел косяк - при завершении уровня в редакторе, не возвращает в режим редактирования. Просто нажмите Esc.


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Суббота, 17 Мая 2014, 07:55
lentinantДата: Суббота, 17 Мая 2014, 01:31 | Сообщение # 156 | Тема: Движение png объекта с помощью джойстика
ленивый программист
Сейчас нет на сайте
Объектов png в Unity не бывает. Бывают объекты со спрайтом, и объекты с моделькой в виде квада, на который наложена текстура.

Реализация джойстика предельно простая. Припустим, у тебя есть точка на экране, обозначающая центр джойстика - вектор padOrigin. Берем все касания к экрану, и смотрим, есть ли касание, находящееся поблизости этого вектора. Если есть, значит, джойстик нажат. В таком случае, направление геймпада - вектор, полученный вычитанием от точки касания вектора padOrigin. Передвигаем наш объект соответственно к этому вектору (для двухмерной игры со стандартной камерой, для направления можно использовать сразу этот вектор). Длину этого вектора можно использовать для контроля скорости передвижения.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Суббота, 17 Мая 2014, 01:15 | Сообщение # 157 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Цитата Adom ()
Я знаю что через луч но как ?

Припустим, тебе надо посадить дерево на координатах x, z, но ты не знаешь, какой y (высота террейна). Берешь вектор x, y2, z, где y2 - достаточно большая величина, и делаешь рейкаст от этого вектора вниз (вектор направления 0, -1, 0). На полученной с рейкаста точке и спавнишь свое дерево.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Пятница, 16 Мая 2014, 14:18 | Сообщение # 158 | Тема: Конкурс по разработке игровых проектов "Gamiron №7"
ленивый программист
Сейчас нет на сайте
Цитата Virtualcreature ()
munchkin_iii, Я не понял. Что не так?

Он имеет ввиду, немного странное требование, с учетом того, что все игры публикуются самыми организаторами до начала голосования, чтобы сообщество провело свое голосование.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Пятница, 16 Мая 2014, 04:12 | Сообщение # 159 | Тема: Обращение к child
ленивый программист
Сейчас нет на сайте
GetChild возвращает определенный чайлд. Я так понимаю, все "дети" формируют массив, и самый верхний в иерархии (тот, который под родительским объектом) - в первом элементе массива. Соответственно, трансформ первого чайлда можно получить с помощью GetChild(0)

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Четверг, 15 Мая 2014, 16:45 | Сообщение # 160 | Тема: [2D] Circleban [puzzle]
ленивый программист
Сейчас нет на сайте
Ranger, я попросту раньше не создавал резервные копии в принципе. Не видел смысла. Вот теперь есть опыт, пусть и печальный, в итоге, этот проект создан вообще в папке Dropbox, что гарантирует мне постоянное обновление резервной копии.

Добавлено (15.05.2014, 16:45)
---------------------------------------------
Да и дело не только в исходниках - там ведь и уровни, и контент.


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Четверг, 15 Мая 2014, 16:45
Форум игроделов » Записи участника » lentinant [992]
Поиск:

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