Ruby RL

Форум для проектов, находящихся на стадии Альфа и Бета. В них ещё не реализована вся задуманная автором функциональность, а значит идёт активная разработка.

Модераторы: Sanja, Максим Кич

Аватара пользователя
Феникc
Сообщения: 679
Зарегистрирован: 27 ноя 2010, 15:01
Откуда: Челябинск

Re: Ruby RL

Сообщение Феникc » 10 мар 2011, 17:45

Ещё заметил. Скорей всего это особенность интерпретатора, не знаю. Если зажать клавишу направления мех не бежит в ту сторону, а замирает и потом оказывается сразу в той стороне.

Код: Выделить всё

.............        ............
.............        ............
м............ ->     ...........м
.............        ............
.............        ............
Хотя это скорей всего ты знаешь.
Всё вышесказанное - ИМХО, если не указано обратное.

Аватара пользователя
kipar
Сообщения: 2120
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Ruby RL

Сообщение kipar » 10 мар 2011, 19:41

Да, я это знаю и это главная проблема которую я не знаю как устранить. Я просто делаю

Код: Выделить всё

loop{
  #Отрисовка экрана
  с = Ncurses.getch()
  case (c)
   #Отработка клавиш
  end
  #Обработка системы тайминга
}
Других функций для считывания символа в Ncurses нет, пробовал устанавливать всякие параметры, но они проблему не решают, пробовал менять блоки кода местами - тоже не помогает. Вряд ли Ruby настолько ущербен, скорее дело в моих кривых руках или в работе данного порта ncurses. В общем, буду в последний день с этим разбираться.


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

Аватара пользователя
kipar
Сообщения: 2120
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Ruby RL

Сообщение kipar » 11 мар 2011, 07:27

Нда, за день 3 сделал примерно половину запланированного, сейчас с утра слегка допилил, в общем боевая часть по большей части готова (не хватает правда режима прицельной стрельбы).
Ну и ракеты чересчур круты...почему-то. После того как мехи научились убегать с помощью cannon их так просто не достать.
screen0.PNG
screen0.PNG (15.75 КБ) 6367 просмотров
lib.zip
(13.58 КБ) 197 скачиваний

Аватара пользователя
kipar
Сообщения: 2120
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Ruby RL

Сообщение kipar » 11 мар 2011, 20:36

Так, день 4 можно считать завершен.

Сделал 24 типа мехов, окна покупки и продажи мехов, выбор миссий и постепенное нарастание сложности. Бои правда скучноваты, да и интерфейс окошек неудобный. Но с интерфейсом понятно что делать - надо сделать выбор из меню стрелками, а не цифрами. А что с играбельностью делать не знаю. Может, надо усложнить боевую систему. Ах да, забыл стрельбу по конечностям сделать. Но все равно этого мало. Терраформинг... Другие типы миссий... Сюжет... В общем у меня есть еще два дня на размышление.

Начинаю понимать, в чем подвох Ruby и прочих подобных интерпретирующих языков. Простота написания кода провоцирует(во всяком случае меня) писать плохой код :) .

Рефакторинг конечно никто не отменял, но у меня уже образовалась приличная каша из глобальных переменных и излишних полей - в паскале я себе подобного стараюсь не позволять.
screen0.PNG
screen0.PNG (16.81 КБ) 6338 просмотров
lib.zip
(22.27 КБ) 193 скачивания

JustHarry
Сообщения: 655
Зарегистрирован: 30 июл 2010, 17:13

Re: Ruby RL

Сообщение JustHarry » 12 мар 2011, 09:53

Плохо то, что после 2 пройденных миссий можно скупить всех(!) мехов, и миссии превращаются в избиение младенцев(10 мехов-союзников против 2-3 врагов, все бои сводятся к нажатию цифры 5). Или там потом замесы начнутся после N пройденных миссий?

Ну а вообще:
1) Разделение мехов на классы и подклассы выражается только в вооружении, хотя артиллеристы должны стрелять ракетами дальше, а на лазеры должен быть небольшой штраф, танки должны двигать медленнее, быстрые мехи быстрее, и т.д. Это здорово обогатит тактику... если бы ИИ умел работать в команде, было бы круто! Kipar, а hot-seat режим для игры за одну команду сделать не можешь? Ну то есть один игрок управляет одним мехом(ами), второй другим(ими) (по очереди). Было бы неплохо, хотя сейчас играть и правда не очень интересно.

2) Мех иногда генерится прям в скале, его сразу не видно, кажется, как будто игра зависла. (у меня тоже такая ерунда)

3) Меню удобное, да только жалко вооружение нельзя покупать, обычно в играх такого жанра у каждой вундервафли много вариаций, то есть не просто Лазеры, а лазеры малого действия, лазеры средней дальности, и т.д.

4) Очень понравилась фича с ракетами, летящими несколько ходов. Только я не понял, они самонаводящиеся, или нет?

Пока круто, жду продолжения!

Аватара пользователя
kipar
Сообщения: 2120
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Ruby RL

Сообщение kipar » 12 мар 2011, 10:32

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

1)У них еще разная броня и разная скорость(от 0.8 до 1.4, но видимо надо увеличить разрыв). Просто этих параметров не видно.
Hot-seat...вроде несложно, но сначала все-таки надо допилить боевую систему.

2)пофиксил

3)да, теперь мне ясно что тремя типами оружия не обойтись. Но как сделать разнообразие в оружии и при этом не слишком усложнить реализацию пока не знаю. Хотя... есть идея!
Вешаем оружие разных модификаций, а потом объединяем его в группы (скажем до 4-х. Ну или сколько в верхней строке уместится). Стрелять будем кнопками 1-4, группы будут сокращенно отображаться в верхней строке. Осталось сделать
- окно разбиения оружия на группы,
- окно навешивания оружия (без покупки\продажи оружия думаю пока обойтись, просто заполняем слоты и считаем, что все оружие доступно в свободной продаже)
- индивидуальную перезарядку для каждой пушки (а в верхней строке отображать сколько орудий уже перезарядилось)
- придумать овер 9к модификаций оружия

4) да, они наводятся на цель, хотя могут по дороге врезаться в стену или другого меха. Ну и их можно полностью\частично сбить из пушки или лазера.

Спасибо за отзыв!

JustHarry
Сообщения: 655
Зарегистрирован: 30 июл 2010, 17:13

Re: Ruby RL

Сообщение JustHarry » 12 мар 2011, 11:12

- придумать овер 9к модификаций оружия
Лучше сделать два бегунка на урон и дальность,(радиус поражения? цвет? шанс критикала? величину перезарядки? прочность?) пушки и пусть игрок сам настраивает параметры оружия. И пушка с +100% дальности и урона будет стоит в 4(5,6,100) раз дороже, чем обычная. И не нужно придумывать кучу названий, игрок сам настроит себе вооружение как захочет(как позволят деньги). Стоит только отбалансить цены, и придумать префиксы-суффиксы для вещей, типа
дальность
+100% - perfectly ranged
+50% - good ranged
+0% - ---
-50% - ...
-100% - ...
урон
+100% - big fucking gun
+50% - awesome gun
+0% - ---
-50% - bullshit gun
-100% - asshole gun

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

UPD:
Алсо, вот:
Скрытый текст: ПОКАЗАТЬ
LRM (Long Range Missiles) – ракеты дальнего радиуса действия, обладающие системой захвата цели. Действуют на расстоянии до 800 метров. Это оружие эффективно только при многократном применении за небольшой отрезок времени, т.к. одиночный залп даже из LR M20 обычно не наносит противнику сильных повреждений. При этом помните, что запас этого оружия у вас ограничен. Кроме того, ракеты в большинстве случаев поражают врага в корпус, что снижает вероятность захватить Мех в качестве трофея и поживиться его начинкой.

SRM (Short Range Missiles) – ракеты малого радиуса действия. Эти ракеты более мощные, чем LRM, но эффективны только на коротком расстоянии и не имеют системы захвата цели (т.е. летят строго по прямой).

Streak SRM – установка залпового огня ракетами малого радиуса действия. Имеет систему захвата цели. В остальном идентична обычной SRM.

ER Laser (Extended Range Laser) – лазер с увеличенным радиусом действия. Бывают трех типов: малые (Small), средние (Medium) и большие (Large). Малые практически бесполезны, а вот большие и средние весьма эффективны. Средние рекомендуется использовать на средних и ближних дистанциях, поскольку наносят солидный урон и быстро перезаряжаются. Большие лазеры очень сильно греются, но отлично зарекомендовали себя при обстреле далеко стоящих целей (лазерный луч распространяется со скоростью света, так что увернуться враг не успевает). Одно плохо – перезаряжаются долго.


PPC (Particle Projection Cannon) – пушка-ускоритель частиц. Наносит сильные повреждения противнику и на время выводит из строя системы наведения оружия. РРС – самое дальнобойное оружие в игре, способное поражать цель на расстоянии до 900 метров. К сожалению, летит молния из РРС достаточно медленно и враг может от нее увернуться.

Flamer – огнемет. Перегревает противника, после чего тот не сможет стрелять (а если выстрелит, то неминуемо взорвется). К сожалению, действует только на очень близком расстоянии.

AC (AutoCannon) – автоматическая пушка. Быстро перезаряжается, не греется. Идеальное оружие для ближнего боя.

Gauss Rifle – Гауссовое ружье. По своей сути – электромагнитный ускоритель. С помощью электромагнитного поля снаряд разгоняется в стволе до значительных скоростей. Бьет гораздо дальше АС, не греется, перезаряжается медленно.

Machine Gun – пулемет. По большому счету, бесполезен, однако при использовании сразу 6–8 установок может пригодиться на начальных этапах

Heat Sink – теплоотвод. Служит для ускорения охлаждения реактора. Бывает двух видов – одинарный и двойной (Double). Двойной занимает в два раза больше места, чем одинарный, зато весит как один одинарный и охлаждает реактор в два раза быстрее.

MASC (Miomer Acceleration) – увеличивает на короткое время скорость Меха . Частое применение этого устройства приводит к отказу ног Меха и общему перегреву системы.

Artemis IV – увеличивает вероятность попадания ракет, позволяя точнее «вести» цель.

AMS (Anti-Missile System) – сбивает часть ракет, пущенных по вам.

CASE (Container Adhesive Security Enhancement) – контейнер, который оберегает внутреннюю структуру и системы Меха в случае взрыва боезапаса (при попадании в него выстрела противника).

Jump Jets – прыжковые реактивные двигатели. Позволят запрыгивать на горы и перелетать через препятствия, а также уклоня ться от ракет.
Если нет такого списка, конечно. Это чуть-чуть обрезанная копипаста с какого-то сайта.

Аватара пользователя
kipar
Сообщения: 2120
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Ruby RL

Сообщение kipar » 12 мар 2011, 11:55

Так как ты предлагаешь сделать конечно проще.
Но боюсь это особенно на бой не повлияет - все будут брать какой-то один вариант (+100% урон +0%дальность), и дальше все останется как было. Хотя если балансировать не деньгами, а остальными параметрами, то что-то в этом есть. Потому что выдержать баланс до такой степени, чтоб деньги оставались ограничивающим фактором на всем протяжении игры я не могу.
Скрытый текст: ПОКАЗАТЬ
эхехе, копипаста из МехВарриор 3 :) собственно кроме МехВарриор и GearHead у меня других источников для вдохновения и нет, так что что-то подобное и буду делать
Хотя мой вариант по большому счету сводится к тому же самому - слишком мало параметров, которые можно регулировать. На самом деле твой вариант даже лучше, потому что не маскирует эти параметры.

Надо думать дальше.
Параметры:
Урон - очевидно самый нужный. Ну, точнее урон / перезарядку(=ДПС)
Дальность - либо по максимуму (и тогда убегать от всех) либо по минимуму (и тогда всех догонять).
Критикалы - сводятся к урону, так что нафиг их
Точность - выбор между точным и слабым vs. грубым но сильным расово неверен. Но как дополнительный параметр сгодится. Высокая точность позволит более эффективно бить по заданным частям тела.

Бронебойность - уже теплее, но потребует придумывания новых формул для брони. Пока забьем

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

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

JustHarry
Сообщения: 655
Зарегистрирован: 30 июл 2010, 17:13

Re: Ruby RL

Сообщение JustHarry » 12 мар 2011, 12:29

Патроны, перегрев, масса - нафиг, только добавляют микроменеджмент
Можно на потом оставить. Хотя если делаешь вариант 1лазер\1пушка\1ракетница то все эти проблемы пропадают сами собой.
Но боюсь это особенно на бой не повлияет - все будут брать какой-то один вариант (+100% урон +0%дальность), и дальше все останется как было. Хотя если балансировать не деньгами, а остальными параметрами, то что-то в этом есть. Потому что выдержать баланс до такой степени, чтоб деньги оставались ограничивающим фактором на всем протяжении игры я не могу.
Класс игры у каждого свой, я рассчитываю, что кроме этих параметров будут другие. Алсо, разумеется, нужно ограничивать игрока другими параметрами. Штрафы на одну пушку превращаются в бонусы для другой: например артиллеристу не нужны пушки и лазеры, он пушке ставит на -100% урон\дальность и т.д и загоняет в бонусы к ракетнице. Лазерам поднимает с -100% до -50% урон и дальность, на всякий случай. То есть, можно улучшать пушки не за деньги, а путем перебалансировки вооружения. За деньги апгрейд только в плюс, но очень дорогой, чтобы его брали только на самые важные миссии.

Алсо, у каждого меха должны быть свои модификаторы к урону\дальности для каждого вида оружия. (у артиллериста штраф на бл.бой -50% к урону, +50% дальность ракет и -50% урон ракет, но радиус ракет +1) и т.д.

И еще: сделай, пожалуйста стрельбу ракетами не только в радиусе видимости, но и вслепую, по наводке курсором. Артиллерия же!

Аватара пользователя
Феникc
Сообщения: 679
Зарегистрирован: 27 ноя 2010, 15:01
Откуда: Челябинск

Re: Ruby RL

Сообщение Феникc » 12 мар 2011, 15:27

То есть, можно улучшать пушки не за деньги, а путем перебалансировки вооружения. За деньги апгрейд только в плюс, но очень дорогой, чтобы его брали только на самые важные миссии.
Играю сейчас в Jet's and Guns. Там на каждую миссию нужны свои пушки, НО, так как новая пушка и б/у стоят одинаково, заниматься подбором довольно увлекательно.
Я это к чему? Можно сделать так, что в каждой миссии будут свои противники (артиллеристы/ближний бой и т.д.) и за деньги выдавать информацию по предполагаемым типам противников. И игрок будет соответственно подбирать вооружение. Правда здесь-то в отличии от Jet's and Guns permadeath и подбирать оружие нужно аккуратно.
Всё вышесказанное - ИМХО, если не указано обратное.

Аватара пользователя
kipar
Сообщения: 2120
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Ruby RL

Сообщение kipar » 13 мар 2011, 23:46

Почти финальный релиз... пофиксил разные глюки, сделал возможность выигрыша, поигрался с балансом.
Собственно осталось сделать только эти самые "твики" мехов. Но предчувствую, что завтра особо времени не будет, так что когда их сделаю - не знаю.
lib.zip
(522.91 КБ) 198 скачиваний

Аватара пользователя
Феникc
Сообщения: 679
Зарегистрирован: 27 ноя 2010, 15:01
Откуда: Челябинск

Re: Ruby RL

Сообщение Феникc » 14 мар 2011, 05:35

=D> Игра отличная. Правда, играть интересно. Особенно когда враг подходит вплотную, а пушки то и нету...

А теперь ложка дегтя.
  • Союзники палят по врагу, даже если в радиусе поражения свои.
  • Надо было как-то заблокировать, что-ли, твики. Я случайно нажал тройку с раскачанным мехом, пришлось начинать сначала.
  • Ну и мелочь, в меню выбора миссии в поле enemies approx пишется, к примеру, 123tons (без пробела)
  • Ещё мелочь, когда кол-во денег меньше миллиона, первая десятичная точка все равно пишется, например так: .256.256
Всё вышесказанное - ИМХО, если не указано обратное.

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: Ruby RL

Сообщение Jolly Roger » 14 мар 2011, 08:29

Выглядит вкусно!
Этот ваш Ruby под виндой есть? или это чисто красноглазая приблуда?
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.

Аватара пользователя
kipar
Сообщения: 2120
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Ruby RL

Сообщение kipar » 14 мар 2011, 09:51

В последнем архиве есть все что нужно для запуска под виндой. Я сам под виндой сижу :) под линуксом и не пробовал запускать.

Аватара пользователя
kipar
Сообщения: 2120
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Ruby RL

Сообщение kipar » 19 мар 2011, 11:12

Наконец-то руки дошли поправить баги и добавить модификацию мехов. Правда модификаций всего 9, лол - больше не влезает в меню, а буквы или стрелочки сделаю в следующий раз.
Союзники палят по врагу, даже если в радиусе поражения свои.
Надо было как-то заблокировать, что-ли, твики. Я случайно нажал тройку с раскачанным мехом, пришлось начинать сначала.
Ну и мелочь, в меню выбора миссии в поле enemies approx пишется, к примеру, 123tons (без пробела)
Ещё мелочь, когда кол-во денег меньше миллиона, первая десятичная точка все равно пишется, например так: .256.256
Все пофиксил, кроме первого. Потому что я и сам палю по союзникам - нефиг лезть под ракеты :)

Да, перевел все на стандартный curses вместо ncurses - теперь могу не зависеть от левой библиотеки ncurses.so, которую так и не смог откомпилировать под ruby 1.9
Плюсы:
1. сам собой исправился глюк с зажиманием кнопок - теперь все перерисовывается корректно.
2. совместим с Ruby 1.9 (и говорят, Ruby 1.9 работает быстрее чем CPython)
Минусы:
1. перестали работать клавиши стрелок. Так что теперь для движения можно использовать только нумпад.
2. Теперь для запуска потребуется установить сам Ruby. Потому что двумя длл-ками ограничится почему-то не удалось.
Вложения
rubyrl1.0.zip
(40.35 КБ) 193 скачивания

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей