Результаты поиска
|
|
pixeye | Дата: Четверг, 19 Декабря 2013, 23:16 | Сообщение # 721 | Тема: Dungelot 2 [ НОВАЯ ДЕМКА ] |
Red Winter Software
Сейчас нет на сайте
|
Смотрим, зацениваем музыку внутри игры и лайкаем!:) Разработка завершается, в январе игра выйдет в апстор!!!
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Четверг, 19 Декабря 2013, 23:13 | Сообщение # 722 | Тема: Dungelot 2 [ НОВАЯ ДЕМКА ] |
Red Winter Software
Сейчас нет на сайте
| Цитата Vint ( ) обнаружен баг. Когда монстра убиваешь огненным шаром, то он не умирает. его hp становится 0 и его бесполезно убивать. http://radikall.com/images/2013/12/19/nbfzU.png
Не пали фичи!)))
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Четверг, 19 Декабря 2013, 15:15 | Сообщение # 723 | Тема: Бан лог |
Red Winter Software
Сейчас нет на сайте
| nwsx - 3 дня бан за оскорбление пользователя через систему репутации
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Среда, 18 Декабря 2013, 15:25 | Сообщение # 724 | Тема: Scalibur !ВИДЕО ГЕЙМПЛЕЯ! |
Red Winter Software
Сейчас нет на сайте
| Цитата EfimovMax ( ) К слову, в Rogue Legacy спрайт редкого сундука мне не по нраву, но вот его добыча подана изумительно
Добычу из тех сундуков я скорпировал себе в данжелот сейчас:)))) Сам спрайт сундука конечно там не фонтан, но не вызывает прям отрицательных эмоций:)) От себя модифицировал красивое падение сундучка) он падает, слегка пружинит, пыль расходится и искорки) у тебя тоже ведь могут быть случаи когда сундуки падают с небес?) нажал на плиту, сундук упал) и звук такой пиииииу пух )
Цитата EfimovMax ( ) Карта комнаты, сама миникарта, или структура локации на миникарте?
Питаю слабость к лабиринтам из квадратиков)
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Среда, 18 Декабря 2013, 14:54 | Сообщение # 725 | Тема: Scalibur !ВИДЕО ГЕЙМПЛЕЯ! |
Red Winter Software
Сейчас нет на сайте
| Сам факт наличие такого сундука - гут;) но он не вкусный. Я к тому что у тебя в игре есть много куда более симпатичных вещей. Хочется чтобы такая редкая вещь еще и выглядела на все 100! ) Фантазия уже дорисовывает как я находил редкие сундучки в зельде или вот в недавней rogue legacy:)
Помучь художника вообщем.
И еще. Белые цифры абилок на желтой подложке ну никак не читаемые. Если игра будет на андроидах то вообще катастрофа. Карта прикольная)
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Среда, 18 Декабря 2013, 14:46 | Сообщение # 726 | Тема: Dungelot 2 [ НОВАЯ ДЕМКА ] |
Red Winter Software
Сейчас нет на сайте
| Цитата KopetanUlitko ( ) признавайся за сколько купил
за банку варенья!) ( в несколько тонн: )
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Среда, 18 Декабря 2013, 14:38 | Сообщение # 727 | Тема: Scalibur !ВИДЕО ГЕЙМПЛЕЯ! |
Red Winter Software
Сейчас нет на сайте
| Сундук тестовый так понимаю?) А то жутко выделятся на фоне остального)
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Среда, 18 Декабря 2013, 02:36 | Сообщение # 728 | Тема: Dungelot 2 [ НОВАЯ ДЕМКА ] |
Red Winter Software
Сейчас нет на сайте
| Dungelot в top 5 игр по версии Gamasutra !!! 2013 года. Воодушевляемся перед релизом второй части!!!)
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Понедельник, 16 Декабря 2013, 19:06 | Сообщение # 729 | Тема: Определение лута с сундука |
Red Winter Software
Сейчас нет на сайте
| зачем изобретать велосипед
Код public static int Choose (List<float> probs) { float total = 0; foreach (float elem in probs) total += elem; float randomPoint = UnityEngine.Random.value * total; for (int i=0; i<probs.Count; i++) { if (randomPoint < probs [i]) return i; else randomPoint -= probs [i]; } return (int)(probs.Count - 1); }
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Понедельник, 16 Декабря 2013, 15:42 | Сообщение # 730 | Тема: Dungelot 2 [ НОВАЯ ДЕМКА ] |
Red Winter Software
Сейчас нет на сайте
| Цитата skypo ( ) а для владельцев планшетов будет такое же крохотное игровое поле 5х6? или оно подстраивается под диагональ?
Поле всегда 5 на 6 и величина поля не = геймплей:) На планшетах оно будет выглядить крупнее.
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Понедельник, 16 Декабря 2013, 14:36 | Сообщение # 731 | Тема: Реализация абстрактных элементов геймплея |
Red Winter Software
Сейчас нет на сайте
|
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Понедельник, 16 Декабря 2013, 14:21 | Сообщение # 732 | Тема: Реализация абстрактных элементов геймплея |
Red Winter Software
Сейчас нет на сайте
| Цитата KamiRonin ( ) просто насколько это ТОТ путь каким должны идти все кто пишет крафты?!
Ну тут логика есть. Как считаю я : хочешь усложнить игру? добавь крафт. То есть мы принимаем факт, что если в игре есть крафт, то она уже не такая уж и простая, в ней куча вещей, все как в торчлайтах, диаблах и варкрафтах. А раз то встает вопрос о том, что нужно оперативно работать с большим объемом данных и желательно так, чтобы если что-то убрать не отвалилась вся система. Поэтому возникает необходимость в сильной абстракции и правилах)
Данжелот-1 в этом плане был полный фейл. Будучи "жестко" прописанным 1) мне было трудно чинить баги 2) даже для меня были неочевидны мои решения принятые N времени назад 3) я не починил всех багов, не смог добавить без боли контента, из-за отсутствия абстракций порой код часто дублировался или создавались методы там где они не должны были создаваться. Но вообще все это происходит из-за спешек и усталости)
Результатом в итоге недоволен.
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Понедельник, 16 Декабря 2013, 14:12 | Сообщение # 733 | Тема: Реализация абстрактных элементов геймплея |
Red Winter Software
Сейчас нет на сайте
| Цитата KamiRonin ( ) азве не легче было у Hero сделать метод TakeBlow(int мainSkill, List addEff); который бы вызывал атакующий и передавал туда параметры. а внутри метода у хироу - просто +/- по всем его внутренним наличиям - что-то на основной хит бы ложилось (минусовало или плюсовало урон), а что-то на эффекты?!?!? :-/ в списке эффектов - заморозка, отравление и прочее!!
Есть в этом логика)))) эх. Согласен что конкретно этот метод выгоднее делать от героя, а не от монстра. Но глаз замылен, кода много и иногда уже на автомате пишется лол))
Надеюсь когда нибудь кодить на пару, чтобы такого рода вещи замечались и оперативно правились)
Цитата KamiRonin ( ) ууухх.. какой однако резон, имхо, немного сомнительный!! что каждый день по 20 новых монстров или сабелек появляется?? прям не знаю..
В игре сейчас ~30 монстров 20 из которых я добавил за один день:) Нужно так же учесть, что данжелот2 делается на вырост. Мы использовали примерно 25% от готового контента и всего половину от готовых монстров. Для меня очень важно иметь возможность оперативно добавлять новый контент на поток апдейтов в иос версии.
Игра коммерческая и рассчитывалось все заранее. Я не могу позволить себе потом в феврале где-то мучаться лишний раз в коде добавляя все новые и новые методы.
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Понедельник, 16 Декабря 2013, 14:07 | Сообщение # 734 | Тема: Реализация абстрактных элементов геймплея |
Red Winter Software
Сейчас нет на сайте
| Цитата KamiRonin ( ) молоток!!! так держать! там класс вещи - такой же простой?? ну в смысле - обошелся без индивидуального класса на каждый предмет?
Да - у меня нет ни одного индивидуального класса ни на монстра, ни на героя, ни на вещи, ни на артефакты) это позволяет мне максимально быстро добавлять новый контент на основе имеющихся ресурсов и скриптов. Я просто делаю описательный документ xml файл и это в игре:)
Посути полуручной редактор игры без интерфейса ( вбиваю xml сам ))
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Понедельник, 16 Декабря 2013, 13:37 | Сообщение # 735 | Тема: Реализация абстрактных элементов геймплея |
Red Winter Software
Сейчас нет на сайте
| Цитата KamiRonin ( ) спросить хочу, а там функции кроме выбрал-купил-добавил_скил какие нибудь предусмотрены в работе с объектами? ну - соединение, поломка, апгрейд и тп
Да. У меня был крафт ( сейчас заморожен ) - написал где-то за неделю. Сейчас есть апгрейд вещей по кристалликам. Есть уровень вещи, он влияет на значение шанса успешного апгрейда, есть цена апгрейда в деньгах и кристаллах. Через N уровней нужно использовать другой кристалл ( более редкий ), так же уровень влияет на базовое значение вещи ( атака, хп, защита ) и повышает прочность ( влияет на шанс поломки ) и значение бафа/черты которая присоединена к вещи ( например перк вампиризм N % шанс насосаться крови врага )
Так как изначально в данжелоте 2 я планировал сделать автогенерацию вещи на манер диаблы ( суффиксы, аффиксы ) добавляющие рандомные баффы и свойства, то написал довольно комплексную систему которую в итоге и упростил:)))) Так как оказалось все это для такой игры не так очевидно и фаново.
Однако остов остался. У меня есть отдельно класс свойство вещи ( абстрактный ) который содержит значения связанные со свойством ( id, способ применения, макс значение, текущее значение ) - это было рисково так как немного ограничивает мой выбор действий, но пока хватает с лихвой.
Я использую обширную систему эвентов которые позволили мне очень быстро и легко добавлять новые свойства. Например прослушивание эвента приема значения дамага монстра перед передачей его игроку. Цитата int dmg = calculateDamage (); event_attackDamage (ref dmg); HeroClass.Instance.ApplyDamage (dmg);
Что мне это дает. А вот что. Допустим у меня есть щит который снимает половину урона.
Не в даваясь в подробности, но смысл такой. Я выбираю монстра для атаки - в этот момент он у меня выделенный. При первой активации ( для моей игры это нормально ) прогоняются события инициализации. Учитывая наличие щита будет что то такое
Код void shBlock () { if (MonsterClass.tempInstance == null) return; MonsterClass.tempInstance.event_attackDamage += shBlock_handler; }
А вот в эвент приема дамага конкретного монстра я добавляю этот метод от своего артефакта-щита
Код public void shBlock_handler (ref int val) { if (Random.Range (0f, 100f) > Traits ["shBlock"].baseVal) return; val = Mathf.CeilToInt (val * 0.5f); }
Все очень просто: если условия выполнения допускаются то я просто возвращаю половину значения дамага который должен передать монстр.
Цитата int dmg = calculateDamage (); - допустим тут значение 4 event_attackDamage (ref dmg); - после обработки щитом значение 2 HeroClass.Instance.ApplyDamage (dmg); отправка герою конечного дамага 2
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Понедельник, 16 Декабря 2013, 13:33 | Сообщение # 736 | Тема: Реализация абстрактных элементов геймплея |
Red Winter Software
Сейчас нет на сайте
| Цитата KamiRonin ( ) скрипты классы в C# потому что они всегда классы.
неточно выразился на эмоциях:) Ссори
Цитата KamiRonin ( ) перегруженный условиями скрипт! ведь он должен проверять все сопутствующие условия для каждого вида объекта.
ээ - использованием делегатов можно избавиться от большого кол-ва условий.
Цитата KamiRonin ( ) но разве не нагляднее в каждом предмете иметь свой "механизм" поломки и прочего
У меня сейчас больше 40 предметов. Из них 16 ломаются. Я сомневаюсь что у каждой из 16 вещи будет свой индивидуальный механизм. в 90% будет копипаста. Допустим по какой то причине я изменил правила поломки. Следует из того что ты написал, что мне надо будет 16 раз менять свой код?)
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Понедельник, 16 Декабря 2013, 12:24 | Сообщение # 737 | Тема: Реализация абстрактных элементов геймплея |
Red Winter Software
Сейчас нет на сайте
| ООООЧЕНЬ грубые примеры, но тебе дадут представления в какую сторону копать.
Код public class Item {
public string lootID; public string lootSpriteID; public string lootName; public string lootDescription; public int amount; }
Код public enum ITEMQUALITY { common, unique, rare, epic, legendary }
public class Artifact: Item {
public ITEMQUALITY itemQuality; public static List<Artifact> ArtifactsInStack = new List<Artifact>();
public Artifact(string lootID,string lootSpriteID,string lootName,string lootDescription, int amount, ITEMQUALITY itemQuality = ITEMQUALITY.common ){
this.lootID = lootID; this.lootSpriteID = lootSpriteID; this.lootName = lootName; this.lootDescription = lootDescription; this.amount = amount; this.itemQuality = itemQuality;
ArtifactsInStack.Add(this);
}
}
// Другой класс monobehaviour
Код void Start(){
// создаем новые артефакты new Artifact("sword","sprite_sword,"меч","крутой меч",1); new Artifact("bow","sprite_bow,"лук","крутой лук",1,ITEMQUALITY.epic);
// зачем то выбираем лук Artifact selectedArtifact = Artifact.ArtifactsInStack.Find(item=>item.lootID == "bow");
}
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Понедельник, 16 Декабря 2013, 12:10 | Сообщение # 738 | Тема: Реализация абстрактных элементов геймплея |
Red Winter Software
Сейчас нет на сайте
| Цитата KamiRonin ( ) т.е. скорее всего - на каждый предмет крафта будет свой класс
1) Любая вещь инвентаря есть описание этой вещи. ID картинки, ID описания из файла локализации, Количество.
Ничего более. Ни при каких обстоятельствах не нужно мешать сюда код рендеринга ( очень любят мешать все до кучи )
Это класс-родитель любой вещи. На тот случай если нужно создать МНОГО разных наследуемых типов со своими заморочками ( у меня в данжелоте2 вещи делятся на артефакты со своей логикой, но все они наследуют базовые элементы от абстрактного класса вещи.
Отдельно создается класс инвентаря с кнопками в которые удобно грузится абстрактная информация вещи. В кнопке происходит рендеринг ячейки инвентаря на основе полученных данных вещи и нажатие по вкусу ( можно сделать глобальное нажатие из класса инвентаря ).
Сами же вещи можно хранить в списке. ( Одномерный массив отлично подходит и для поля ячеек, просто чуть чуть надо больше мозгами раскидывать )
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Понедельник, 16 Декабря 2013, 10:32 | Сообщение # 739 | Тема: Определение лута с сундука |
Red Winter Software
Сейчас нет на сайте
| Цитата lentinant ( ) Еще была идея - "принцип пирамиды" (название сам придумал). Имеется список предметов, отсортированных за шансом выпадения, от минимального до максимального. Более того, последний предмет обязан иметь шанс 100 процентов (на самом деле, это скорей показатель приоритета выпадения). Сначала проходит рандом самого редкого предмета. Если рандом не сработал, то берем следующий предмет, и рандомим для него. И так далее. Если же ни один предмет не выпал вплоть до последнего, то тот имеет шанс 100 процентов (самый высокий приоритет), поэтому точно выпадет. Таким образом, он служит гарантией, что игрок точно что-то получит.
Стандартная, правильная реализация.
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
pixeye | Дата: Воскресенье, 15 Декабря 2013, 08:37 | Сообщение # 740 | Тема: Проблема геймплея космосимов похожих на War Thunder |
Red Winter Software
Сейчас нет на сайте
| Начинать надо с того что war thunder это MMO-экшен , а elite относится к жанру elite:) и смысл его был не только в перестрелках но и эксплоринге, торговле . Серии X вообще позволяют создать свою экономическую империю с заводами и шахтами, а с аддонами ввели кучу интересных вещей по типу абордажа кораблей, нового вооружения, типов суден.
Уж игра типо X по определению не заканчивается на самих пострелялках. Можешь пиратствовать, Можешь защищать от пиратов, можешь воевать, торговать, производить и многим это более чем интересно
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |