Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2007, 20:50   #1
Spass
Пользователь
 
Аватар для Spass
 
Регистрация: 07.06.2007
Сообщений: 14
По умолчанию FTBRPG в разработке (обсуждение, анализ и содействие)

FTBRPG - пошаговая ролевая игра в стиле фентези (fantasy turn-based role-playing game)

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

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

Теперь о самой игре

1)Предисловие или причины создания (если у вас туго с юмором то этот раздел пропускаем )
Сколько раз играя в очередную игрушку вы подлавливали себя на мысли что, будь вы на месте разработчиков то сделали бы все совсем не так: и то глупо, и это неудобно юзать, а вот тут вообще монстры тупят, на спецэффектах схалтурили, работа фичей совершенно не поддается логическому осмыслению и т.д.? Но все равно продолжали играть за неимением ничего лучшего, скрепя зубами проходили игру, закрывая глаза на глюки и ляпы. Конечно все не так уж и мрачно, выходят еще хорошие игры, с играбельным геймплеем и интересной начинкой, но у меня порой закрадывается подозрение что большинство разработчиков твердо уверовали в то, что игры они делают для дураков и запихивать в игру больше 3 характеристик считается издевательством и ущемлением нас - глупых и немощных игроков (чтобы мы, чего хорошего, не запутались, и не решили что игра слишком сложна для понимания, и играть в нее могут лишь избранные индивиды с IQ150+ или инопланетяне).
Поразмыслив над этим было найдено оригинальное но вполне логичное решение - а почему бы самому не сделать игру (к моей величайшей радости оказалось что я еще и программировать умею ), и какие причины отказаться от этой заманчивой идеи? А нет их, причин этих, потому и начал творить.
Для начала было перечитано немеряно статей других игроделов, что да как, и где лежат грабли, что делать можно, а куда лучше не соваться. Все это в совокупности с многочасовыми прогулками на свежем воздухе и размышлениями дали свой результат.

2)Основные концепции игры
Были выработаны следующие аксиомы игры, от которых и будет весь танец:
-игра будет ролевая (тут даже без обсуждений, мне просто нравится этот жанр), для начала с расчетом на сингл.
-игра будет 3D. Все больше и больше современных игр делаются трехмерными, спрайты уступают место объемным моделям, как в свое время вытеснили бегающие пиксели, псевдографику на ANSII-символах и текстовые игры (Отрицать не буду, все это есть и по сей день, но в плане играбельности и сложности реализации уступают 3D). Плюсом к этому выбору также есть то что я довольно неплохо знаком с OpenGL, слепить модельку монстра и заставить его бегать по карте особой трудности не вызывает, есть знакомый моделлер, конвертировать умею, в общем все пучком .
-стилистика игры будет фентезийная. За основу взята скандинавская мифология, мир будет с довольно холодным, суровым климатом.
-сложная механика игры. как вы наверно могли заметить в первом разделе мне очень уж досадно за то что в большинстве игр делают очень примитивные расчеты, создавая разнообразие только за счет рандомайза. Из хороших игровых систем можно назвать только AD&D (Балдурсы, Невервинтеры и т.д.) и GURPS(серия Fallоut и «Трудно быть богом»), да и те меня не полностью устраивают, было решено сделать свою игровую систему.
-пошаговые бои. Мне нравится принимать обдуманные решения в игре, особенно в ролевых играх, выжимать клавиши соревнуясь в скорости реакции с компьютером в данном случае я считаю неуместным, для этих целей выпускаются куча хороших екшенов, а вот RPG качественных на пальцах пересчитать можно .

Для начала хватит, я реально замахался все это писать.

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

Жду ваших мнений, с ув. Спас.
Spass вне форума Ответить с цитированием
Старый 11.06.2007, 11:17   #2
Romanus
Кодер
Форумчанин
 
Регистрация: 27.01.2007
Сообщений: 271
По умолчанию

Spass пишет:
разработчиков твердо уверовали в то, что игры они делают для дураков и запихивать в игру больше 3 характеристик считается издевательством и ущемлением нас - глупых и немощных игроков (чтобы мы, чего хорошего, не запутались, и не решили что игра слишком сложна для понимания, и играть в нее могут лишь избранные индивиды с IQ150+ или инопланетяне).

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

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

Примитивными расчеты, хм ну я не знаю в тем системах которые ты написал тоже не сильно крутые расчеты. Ты лучше напиши что ты за крутые алгоритмы придумал.

Да и на будущее хороших экшенов тоже можно пересчитать по пальцам.
Romanus вне форума Ответить с цитированием
Старый 12.06.2007, 00:29   #3
Spass
Пользователь
 
Аватар для Spass
 
Регистрация: 07.06.2007
Сообщений: 14
По умолчанию

Romanus пишет:
А как много ты видел людей которые после 2 часов блужданий в трех соснах продолжали в них блуждать. Не все геймеры настолько умны а большинству вообще не хочется ум прикладывать.

Сложность начинки и то как сама начинка подана в игре это разные вещи. Конечно мало кто будет играть в игру если она интуитивно непонятна, но если после 2 часов игры игрок знает все "тонкости" игры то это как раз и свидетельствует о том что игра по сути проста.

Насчет сложности просчетов если не против приведу кусочек кода по расчету характеристик связаных с атакой:
Код:
 
// пересчет на атаку //
if Hand1Slot=nil then begin
 if Hand2Slot=nil then StyleWeapon:=0 // безоружен //
 else if TItem(Hand2Slot).Group=1 then StyleWeapon:=3 // оружие в левой руке //
 else StyleWeapon:=1; // безоружен+щит //
end else case TWeaponProperty(TItem(Hand1Slot).Properties).HandType of
 0,1:if Hand2Slot=nil then begin
      if TWeaponProperty(TItem(Hand1Slot).Properties).HandType=0
      then StyleWeapon:=2 else StyleWeapon:=6; // однор./полуторн. оружие в правой //
     end else begin
      if TItem(Hand2Slot).Group=1 then StyleWeapon:=4 // два оружия //
      else StyleWeapon:=5; // оружие+щит //
     end;
 2:StyleWeapon:=6 // двуручное оружие //
end;
if StyleWeapon in [0,1,3] then
begin
 Hand1DamageK:=0;
 Hand1DamageR:=0;
 Hand1DamageD:=SCFDIW[1]*WHand*0.6;
 Hand1Speed:=SCFDIW[3]*sqrt(8*SCFDIW[1]/WHand);
 Hand1Accuracy:=SCFDIW[4];
 Hand1Power:=SCFDIW[1];
end;
if StyleWeapon in [2,4,5] then
begin
 Hand1DamageK:=TWeaponProperty(TItem(Hand1Slot).Properties).DamageK*SCFDIW[1]
   *sqrt(WHand+TItem(Hand1Slot).Weight);
 Hand1DamageR:=TWeaponProperty(TItem(Hand1Slot).Properties).DamageR*SCFDIW[1]
   *sqrt(WHand+TItem(Hand1Slot).Weight);
 Hand1DamageD:=TWeaponProperty(TItem(Hand1Slot).Properties).DamageD*SCFDIW[1]
   *sqrt(WHand+TItem(Hand1Slot).Weight);
 Hand1Speed:=SCFDIW[3]*sqrt(TWeaponProperty(TItem(Hand1Slot).Properties).Balans
   *8*SCFDIW[1]/(WHand+TItem(Hand1Slot).Weight));
 Hand1Power:=SCFDIW[1]*sqrt((WHand+TItem(Hand1Slot).Weight)
   /(8*TWeaponProperty(TItem(Hand1Slot).Properties).Balans));
 Hand1Accuracy:=SCFDIW[4];
end;
if StyleWeapon in [3,4] then
begin
 Hand2DamageK:=TWeaponProperty(TItem(Hand2Slot).Properties).DamageK*SCFDIW[1]
   *sqrt(WHand+TItem(Hand2Slot).Weight);
 Hand2DamageR:=TWeaponProperty(TItem(Hand2Slot).Properties).DamageR*SCFDIW[1]
   *sqrt(WHand+TItem(Hand2Slot).Weight);
 Hand2DamageD:=TWeaponProperty(TItem(Hand2Slot).Properties).DamageD*SCFDIW[1]
   *sqrt(WHand+TItem(Hand2Slot).Weight);
 Hand2Speed:=SCFDIW[3]*sqrt(TWeaponProperty(TItem(Hand2Slot).Properties).Balans
   *8*SCFDIW[1]/(WHand+TItem(Hand2Slot).Weight));
 Hand2Power:=SCFDIW[1]*sqrt((WHand+TItem(Hand2Slot).Weight)
   /(8*TWeaponProperty(TItem(Hand2Slot).Properties).Balans));
 Hand2Accuracy:=sqrt(SCFDIW[4]);
end;
if StyleWeapon=6 then
begin
 Hand1DamageK:=TWeaponProperty(TItem(Hand1Slot).Properties).DamageK*SCFDIW[1]
   *sqrt(2*WHand+TItem(Hand1Slot).Weight);
 Hand1DamageR:=TWeaponProperty(TItem(Hand1Slot).Properties).DamageR*SCFDIW[1]
   *sqrt(2*WHand+TItem(Hand1Slot).Weight);
 Hand1DamageD:=TWeaponProperty(TItem(Hand1Slot).Properties).DamageD*SCFDIW[1]
   *sqrt(2*WHand+TItem(Hand1Slot).Weight);
 Hand1Speed:=SCFDIW[3]*sqrt(TWeaponProperty(TItem(Hand1Slot).Properties).Balans
   *16{8*2}*SCFDIW[1]/(2*WHand+TItem(Hand1Slot).Weight));
 Hand1Power:=SCFDIW[1]*sqrt((2*WHand+TItem(Hand1Slot).Weight)
   /(4{8/2}*TWeaponProperty(TItem(Hand1Slot).Properties).Balans));
 Hand1Accuracy:=SCFDIW[4];
end;
if StyleWeapon=3 then Hand1Speed:=0;
if StyleWeapon in [0,2,5,6] then Hand2Speed:=0;
причем дальше эти показатели модифицируются (навыками по владению оружием, по стилю ведения боя, наложеными эффектами и статусами и т. д.) и только после этого они участвуют в расчетах боя

Небольшие наброски:
когда доделаю - выложу рабочий вариант

ЗЫ:алгоритмы выкладывать не против, но только в том случае если есть заинтересованость и это действительно кому-то нужно.
ЗЫЫ:справка на будущее: я не делаю игру для игроков которым "вообще не хочется ум прикладывать".
Spass вне форума Ответить с цитированием
Старый 12.06.2007, 18:58   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

1) лучше бы использовать константы на типы оружия например, т.к. сам в этих нулях и единицах запутаешься
2) расчеты везьде одинаковы, разве что меняеца "рука" для подсчетов. Не лучше ли просто создать указатель на руку и в начале его установить на нужную руку? Ну и соответственно потом будет один расчет для этого указателя
да и вообще если чложность расчетов заключается в нахождениях корней и т.п. то это глупость. Играбельность не прямо пропорциональна длине формул...
pu4koff вне форума Ответить с цитированием
Старый 12.06.2007, 21:24   #5
Spass
Пользователь
 
Аватар для Spass
 
Регистрация: 07.06.2007
Сообщений: 14
По умолчанию

2pu4koff постараюсь ответить на все вопросы
1) особой запутаности у меня не возникает т. к. все дублируется в тетради (чтото вроде диздока) где все очень даже подробно расписано.
2) расчеты на правую и левую руку не одинаковы (левая рука немного "косее" но ей проще парировать удары), хотя показатели и одинаковые и их действительно можно было сгрупировать. А насчет сложности расчетов вопрос даже не в сложности а в том чтобы результат был более достоверным (и соответственно более ожидаемым для игрока). Например неужели увеличение силы персонажа на приведет к тому что махать мечем ему станет проще (т. е. скорость атаки увеличивается), а теперь скажи много ты знаешь игр где это учтено и сколько игр ты можешь назвать где такого учета нет?
Spass вне форума Ответить с цитированием
Старый 12.06.2007, 22:49   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

ну как тебе сказать... всего не учтешь, да и мы два человека со своими мнениями и их при себе собственно и оставим...
ты делаешь игру, как тебе хочется, только как всегда всего, что хочется реализовать не получится... так что успехов
ЗЫ. в данном случае ты сам себе руководитель, а в серьезных проектах программер "отсебятину" внести не сможет... сказали ему что скорость зависит от ловкости, значит так и будет, т.к. издатели заплатят денюжку только за такую игру, а не с супер реалистичной системой
pu4koff вне форума Ответить с цитированием
Старый 14.06.2007, 03:34   #7
Spass
Пользователь
 
Аватар для Spass
 
Регистрация: 07.06.2007
Сообщений: 14
По умолчанию

2pu4koff спасибо, бум старатся .

Выкладываю на ваш суд таблицу зависимости характеристик от расы/пола игрока :
крайний левый столбец показывает "баланс" расы (находится обычным умножением всех характеристик). Все характеристики считаются относительно Мужчин (100%).
*не думайте что я обделил девушек (т.к. уровень баланса у них ниже), просто это компенсируется их более лекой комплекцией (им проще избегать ударов и т.д.)

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

Хотелось бы услышать ваше мнение: то как вы представляете себе эти расы (а может хотели-бы увидеть какую-нибуть другую расу), и соответственно насколько у них отличаются характеристики. Вобщем придираемся к чему угодно, только аргументируйте пжлста .
Spass вне форума Ответить с цитированием
Старый 14.06.2007, 16:27   #8
Romanus
Кодер
Форумчанин
 
Регистрация: 27.01.2007
Сообщений: 271
По умолчанию

А что женщин гномов нету, написал бы "Гнома"(сущест.) фэнтезийное название гномьей женщины. Вопрос что в самой нижней строке таблицы которая на черном фоне.
Вопрос а вот ты написал мне код атаки а в сколько тиков игрового времени растягивается удар.
Romanus вне форума Ответить с цитированием
Старый 14.06.2007, 23:15   #9
Spass
Пользователь
 
Аватар для Spass
 
Регистрация: 07.06.2007
Сообщений: 14
По умолчанию

2Romanus
1)Насчет добавления гномих, как я уже и писал пришлось убрать тех кого я себе плохо представляю, я не вижу в них особености которая существенно отличает их от остальных, каждый персонаж ведь должен быть интересным (но если ты распишешь гному на характеристики и хотябы поверхностно их опишешь я думаю вполне можно будет их добавить).

2)Значения в нижней строке это среднее арифметическое столбцов. По ним видно что человек не находится абсолютно посередине (так например он сильнее среднего значения).

3) Насколько я понял под тиками ты имел ввиду некоторые игровые интервалы времени, в таком случае формула такая:
затраты времени на один удар(действие)=1/Скорость атаки(скорость выполнения действия)
простые подсчеты показывают что при скорости 200% нужно 0.5 тика а при скорости 80% - 1.25 тика, вобщемто вполне логично


PS: То что я пока выложил только табличку вовсе не значит что кроме нее у меня больше ничего не зделано, у меня хватит инфы зафлудить здесь страниц на 10. Просто тогда боюсь я не успею ответить на все вопросы, обсуждения во многом будут поверхностными, поэтому и выкладываю постепенно, маленькими кусочками
Spass вне форума Ответить с цитированием
Старый 02.07.2007, 06:39   #10
Spass
Пользователь
 
Аватар для Spass
 
Регистрация: 07.06.2007
Сообщений: 14
По умолчанию

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

за пару дней слепил базовую модель Графический движок.rar весит 14.2к (екзешник+исходники)
жду советов и критики , а может кому и пригодится - пользуйтесь на здоровье.

ЗЫ: управление камерой на стрелочках, F1 и F2 - смена расширения.
Spass вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анализ словосочетаний. PUH Помощь студентам 19 11.06.2008 01:53
Задание на анализ и разбор xml файла JazonDinAlt Помощь студентам 3 04.05.2008 16:08
Обсуждение DelphiX mager Gamedev - cоздание игр: Unity, OpenGL, DirectX 19 13.07.2007 02:57