LINUX.ORG.RU
ФорумTalks

[ruby] Карточная стратегия(?)

 


0

0

Итак, имеется движок карточной стратегии (or whatever it is, в духе Спектромансер, Астрал Мастерс и т.д.) на руби. Qt4 там не используется, хотя на странице и написано (ты было бы для GUI).

Сам движок рабочий, однако GUI как не было, так и нет. Если есть желающие его написать, то, как говорится, милости просим. Впрочем, можете и сами, ибо GPL :}

Количество карт пока несколько меньше того, сколько их должно быть. Да и поскольку делались они больше для примера, то про баланс там особо никто не думал.

Страница: http://serenareem.net/html/other/ruby-ccg.xml
Прямая ссылка: http://serenareem.net/files/ruby-ccg.zip

P.S. если код покажется страшненьким, то не надо его бояться, просто про проектирование мысль пришла уже после того, как… :} Хотя, быть может, ещё не поздно что-нибудь поправить.

Deleted

Ответ на: комментарий от f3ex

А он есть? :) Ходим по карте за ход, применяем карты за ману, вызываем картами существ или кастуем магию. Если в противоположном слоте существа монстра нет, то он бьёт героя. Когда у кого-нибудь из героев HP заканчивается, он проигрывает :)

Deleted
()

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

runtime ★★★★
()

> карточной стратегии (or whatever it is, в духе Спектромансер, Астрал Мастерс и т.д.)

Что за ересь? Упрощённые клоны мотыги штоле?

Sphinx ★★☆☆
()
Ответ на: комментарий от Sphinx

Ересь обыкновенная, пупырчатая. 100 руб за пучок.

Deleted
()

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

EmStudio
()
Ответ на: комментарий от Deleted

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

Арт, конечно же, будет нарисован в инкскейпе в виде ч0рных линий и надписей "тут будет орнамент" или "текстура неба"?

EmStudio
()
Ответ на: комментарий от wyldrodney

> Что, не используешь возможности железа на-полную? Не будет фототекстур?!

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

EmStudio
()
Ответ на: комментарий от EmStudio

Ну, лично мне уже всё равно кто на чём это сделает :} На написание движка меня хватило, а на GUI меня уже не хватает :(

Deleted
()
Ответ на: комментарий от Deleted

> А арт… арт дело наживное :}

Ну я так и думал :D

Скоммуниздь шоле, а то 20к зелени проект скорее всего не насобирает...

EmStudio
()
Ответ на: комментарий от Deleted

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

wyldrodney
()
Ответ на: комментарий от EmStudio

Неофициально всегда можно устроить скомунизженные паки. По крайней мере я себе лично хочу такой, анимешный :) Правда их (на сайте) распространять нельзя :} А вот 20k это вряд ли, пожалуй да.

Deleted
()
Ответ на: комментарий от wyldrodney

Было бы что прорабатывать. В GUI то ещё и конь не валялся, и неизвестно, будет ли он там валяться…

Deleted
()
Ответ на: комментарий от Deleted

Есть идея как это должно выглядеть? Обсуди с кем-нибудь механизм игры, попутно рассказывая как это выглядит. Скорее всего часть деталей ты упустил, и собеседник тебе на них укажет. Также. он подкинет пару идей. После обсуждения можно садиться и рисовать эскиз, благо образ в мыслях должен сохраниться.

Всё просто. Как будет механика игры, нарисовать красивые картинки - дело ... в общем, мелочь) Подобные вопросы решаются быстро, но с одним условием - если их решать.

А "не знаю как это выглядит, придумай за меня..." не работает.

wyldrodney
()
Ответ на: комментарий от wyldrodney

>А "не знаю как это выглядит, придумай за меня..." не работает.

Телепат? Или при чём это? Мне нужно не арт к картам нарисовать, а что бы кто-то сделал гуёвую часть. Управление и прочее. Ну, т.е. может и для себя делать, мой интерес обитает на уровне движка где-то. Или ты про оформление игровое? В нём можно и простыми вещами ограничиться, о них никто не спрашивает.

Deleted
()

Ну я по выходным могу (в остальные дни в универе анальная модерастия так сказать). На Ruby когда-то писал сокет + RoR ковырял долго. На Qt4 писал фронт-энд к avcodec и на C++/Qt4 писал себе программку (обе так и не доделал :( )

Ximik
()
Ответ на: комментарий от Ximik

>обе так и не доделал :(

Знакомо :)

Я вообще не ограничиваю ничем, разве что вопросы задавать можно, если не ясно как оно работает :}

Deleted
()
Ответ на: комментарий от wyldrodney

> Скорее всего часть деталей ты упустил, и собеседник тебе на них укажет. Также. он подкинет пару идей.

Хехе... Я тут взялся за проект, ТЗ которого за 20 страниц. И шоже? Во время быдлокодинга столько всего всплыло, что сейчас половина переписывается, попутно "список фич на следующую серию" уже на пару страниц... Сейчас жду от сетевика новую версию протокола обмена данными. Чую, проект будет долгим...

EmStudio
()
Ответ на: комментарий от Deleted

Ну вот сегодня я допиливал php-двиг библиотеки по такому "ТЗ"

1. сделать чтоб на против каждой книги выводилась дата добавления

2. и чтобы было сразу заливаеш несколько папок с названиями категории а скрипт сразу и категорию ставит и книги в нее

3. о еще сделай общее число отзывов статистику

Ximik
()
Ответ на: комментарий от Deleted

> GUI то ещё и конь не валялся, и неизвестно, будет ли он там валяться…

Накачай разных подобных игрушек, запиши все интересные/отвратительные моменты реализации, на основе этого списка будет видно, что именно следует делать...

EmStudio
()
Ответ на: комментарий от wyldrodney

>Не нервничай

Пока ещё даже и не думаю :}

Deleted
()
Ответ на: комментарий от Ximik

Сейчас я тебя добавлю, на всякий случай :}

Deleted
()
Ответ на: комментарий от wyldrodney

> Ты сам себе строишь проблемы.

Гы, ты не видел этого ТЗ... Все проблемы, которые я нашел, но на которые можно забить - переносятся в следующую версию, которую я буду делать за дополнительное бабло, а вот те, которые обойти нереально, приходитцо исправлять прямо сейчас. Как и те, которые в будущем надо будет переделывать - мне же меньше работы.

EmStudio
()

Что должно быть

Ногами не бить, сами мы не местные ТЗ не писали никогда :} Но основные мысли такие:

1. Либо стартовый экран, либо если просто на Qt / whatever должно быть меню.

Hotseat, сетевая игра, Опции (для обоих игроков), справка о картах (описания как такового нет, так что можно выводить пока список абилок + значение @param и @target, если они есть)

а) опции: имя, класс (заполнять из CCG::Global_data.instance.classes)

2. Собственно GUI для основной битвы.

Hotseat часть проще сделать, наверное. В сетевой так же, но там ещё и с сетью надо руками возиться, в движке для этого нет ничего.

Примерное расположение элементов как в этой, например, игре: http://www.spectromancer.com/img/screens/combat_s.jpg Красивости, фиг с ними, наверное. Ибо арта нет... :} Хотя как по ссылке фон под игровое поле, наверное, найти вполне можно.

аватарки героев грузить с img/avatar, изображения карт с img/card. Их пока нет.

а) со стороны каждого героя должны отображаться имя, класс, HP, мана для всех 5 типов маны (Light, Darkness, Chaos, Law, Psychic)

б) список карт, либо все сразу, либо по типу основной маны, если нет места

в) область на скрине слева внизу - отображает инфу о карте, на которую наведена мышь.

г) под ней - словесное описание предыдущих ходов (такой-то игрок пошёл тем то, такой-то монстр атакует, такой-то погибает и т.д.)

д) поле 6 клеток у каждого героя друг напротив друга. На них играются карты.

е) сооветственно, обновлять все параметры на экране после хода монстров и после использования карты

ё) карты, которые играть невозможно должны быть неактивными и тусклыми см. card_game.heroes[hero_num].enabled_cards[type][index], где card_game это объект CCG::Game, а hero_num 0 или 1.

ж) текущую выбранную карту надо как-то подсвечивать.

з) при атаке существа в слоте просто анимировать движением слота вверх к противоположному вражескому стеку (вместе с картой) и обратно. Ну или ещё как-нибудь, если есть идеи.

и) кроме использования карты (только 1 за ход) игрок может пропустить ход (даже не играя карту) или сдаться.

й) Количество карт: 4x Light, 4x Darkness, 4x Law, 4x Chaos + Psychic: 3x классовые и 1x вне-классовая (раздаются движком) если карт не хватает, то их будет меньше.

к) если hotseat, то оторажаются карты поочерёдно у текущего игрока (заодно и визуально меняются местами слоты монстров)

Пример как вообще заставить работать движок есть в test-run.rb.

// Усё, силы кончились, я отдыхать (z_z)...

Deleted
()
Ответ на: Что должно быть от Deleted

в игре heroes wm есть что-то подобное, сам хотел сделать клона (ибо поругался с ними)

EmStudio
()
Ответ на: Что должно быть от Deleted

Я, помнится, когда-то тоже подумывал сделать клон Astral Tournament. Было это правда давно, ещё под виндой. Тогда я сделал набросок простой менюшки в фотошопе, но на этом всё и законцилось. Сегодня про него вспомнил, и переделал в Гимпе:

http://img16.imageshack.us/img16/8201/menupreview01.png

http://img16.imageshack.us/img16/7610/menupreview02.png

Ежели нужен, могу подарить (все ресурсы там мои, ворованного ничего нет). Не густо, конечно, но иногда лучше что то, чем ничего. Надо ?

runtime ★★★★
()
Ответ на: комментарий от runtime

Ворованного, кроме картинок, конечно же (текстура своя)

runtime ★★★★
()
Ответ на: комментарий от runtime

А ты точно вложения вкладывал какие-то? А то прикреплённых файлов я не вижу. Размер письма ~ 2.5 Kb :}

Deleted
()
Ответ на: комментарий от runtime

Пришло :) Гляну вечерком, спасибо :}

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.