Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 20.12.2006, 19:47   #51
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
Смех

AVer, не кипетись, это шутка была, если не увидел в конце смайлик "Смех", то картинки надо включать.

В комманде я работаю уже много лет, как раз я в этом много чего понимаю.

Опять же, не советую использовать GIF-анимацию, когда на поле будет двигаться более 4 объектов, вы увидите все прелести этого выбора в виде иканий, марганий и прочей грязи в анимации, ЭТО ПРОВЕРЕНО!

Вот кидаю вам мою древнюю игру (только EXE), в ней можно вооружить героя и отправить в "квест". То, что получилось не является полноценной игрой, это только желание реализовать бой типа дуэли. Можете поиграться, а кто дракона (картинку не нарисовал) завалит, тот молодец.

Если нужно, то выложу формулы расчета характеристик и пр.

Mr.Dmitry, погоди, не лезит один архив...
Вложения
Тип файла: rar Dark Castle.part1.rar (683.6 Кб, 318 просмотров)
Тип файла: rar Dark Castle.part2.rar (513.0 Кб, 288 просмотров)

Последний раз редактировалось Beermonza; 25.11.2009 в 01:35.
Beermonza вне форума   Ответить с цитированием
Старый 20.12.2006, 19:56   #52
Mr.Dmitry
Форумчанин
 
Аватар для Mr.Dmitry
 
Регистрация: 18.12.2006
Сообщений: 50
Репутация: 10
По умолчанию

Цитата:
Если нужно, то выложу формулы расчета характеристик и пр.
Спасибо чел но формулы расчета характеристик у меня тош есть!
А где Exe файл что то я его не вижу
И если можно исходники кинь тош! чтоб посмотреть что к чему!
Цитата:
Опять же, не советую использовать GIF-анимацию
А что тогда использовать? Програмно все прорисовавать??
Mr.Dmitry вне форума   Ответить с цитированием
Старый 20.12.2006, 20:06   #53
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
Счастье

Mr.Dmitry, программно не надо, посмотри сообщение №88 там все есть, AVer, тоже склоняется к такому методу, а что до BMP-формата, то не обязательно, как в моем примере, грузить каждый кадр, можно и dll слепить или DelphiX использовать.

Сразу стоит сделать так, чтобы все персонажи имели однин и тот же набор характеристик, например (вырезка из игры на VBasic):
'Хар-ки героя-----------------------
ГеройМ(1) = 5 'сила
ГеройМ(2) = 3 'ловкость
ГеройМ(3) = 2 'магия
ГеройМ(4) = 4 'здоровье
ГеройМ(5) = 0 'оружие
ГеройМ(6) = 0 'щит
ГеройМ(7) = 0 'броня
ГеройМ(8) = 0 'шлем
ГеройМ(9) = 0 'сапоги
ГеройМ(10) = 0 'амулет
ГеройМ(11) = 0 'колца к силе
ГеройМ(12) = 0 'кольца к ловкости
ГеройМ(13) = 0 'кольца к магии
ГеройМ(14) = 0 'кольца к здоровью
ГеройМ(15) = (ГеройМ(4) + ГеройМ(1)) * 10 'жизнь
ГеройМ(16) = ГеройМ(3) * 20 'мана
ГеройМ(17) = 100 'золото
'-------------------------------------
Разумеется, это касается и монстров. Баланс достигается изменением базовых хар-ик и вещей.
Кроме основных хар-к аналогичным образом можно реализовать навыки и умения.
Что касается вещей, то система следующая:
'Мечи---------------------------------
МечМ(1, 1) = "Железный меч" 'название
МечМ(1, 2) = Str(3) 'качество (минимальный урон)
МечМ(1, 3) = Str(0) 'дополнительный урон (вложенная магия)
МечМ(1, 4) = Str(7) 'покупка
МечМ(1, 5) = Str(4) 'продажа
'-------------------------------------
Урон от оружия расчитывается так:
Минимальный урон = Качество оружия
Максимальный урон = Сила + Качество

При атаке противника сначала применяется процент парирования (щитом или оружием), а затем (если удар не парирован) урон противника уменьшается на очки брони доспехов (в зависимости от точки приложения удара противника).

По поводу генератора случайных чисел. Во-первых он должен быть один, а во-вторых, иметь более сложный алгоритм выбора сл. числа, иначе простым выбором сл. числа от 1 до 15 можно проследить вполне заметную закономерность. Предлагаю следующий вариант:
---------------------------------------
x = Rnd(1 до 3)
если x = 1 то x =
Rnd(1 до 3)
если x = 2 то x = Rnd(1 до 3)
если x = 3 то x = Rnd(1 до 3)
---------------------------------------
Считается, что:
если Х примет значение 1, то произашел промах (удар не достиг цели); если 2, то удар попал в блок (противник парировал)
здесь (в зависимости от того же сл. числа, того же генератора) начисляется процент пробивания блока;
если 3, то противнику вмазали по самые томаты, здесь от очков повреждения отнимаются очки брони противника.
Аналогично ведет себя и АИ.
При этом Х принимает непредсказуемые значения от скачков по всем значеням до тупого выбора одного до 4-5 раз (чем не мышление средней тупости чела?), ...двух уровней рандома вполне достаточно.
Все (хар-ки персонажей, вещи, магия) должно быть забито в массивы в начале игры. Как хранить собираетесь все это? Лучший вариант в БД, на худой конец в файле произвольного доступа.

Mr.Dmitry, исходников к игре нету, на VB написал давным давно, ...да переложить на Delphi довольно просто, главное утвердится с формулами.

Последний раз редактировалось Stilet; 23.11.2010 в 18:22.
Beermonza вне форума   Ответить с цитированием
Старый 20.12.2006, 21:49   #54
AVer
Андрей
Форумчанин
 
Аватар для AVer
 
Регистрация: 21.11.2006
Сообщений: 457
Репутация: 237

icq: 5311314
По умолчанию

Итак, как я вижу в ход пошли конкретные предложения... А это, как мне кажется, значит что пора бы взяться и за Делфи. Для начала создается объект-игрок с хар-ками указанными в твоем сообщении. Методы будем создавать когда появятся формулы.... Итак все что ты написал в виде кода выглядит так:
Код:
 Type
  TPlayer = object
    Strength:Integer;
    Lovkost:Integer;
    Magic:Integer;
    Health:Integer;
    Weapon:Integer;
    Shit:Integer;
    Armor:Integer;
    Shlem:Integer;
    Sapogi:Integer;
    Amulet:Integer;
    DopStrength:Integer;
    DopLovkost:Integer;
    DopMagic:Integer;
    DopHealth:Integer;
    Life:Integer;
    Mana:Integer;
    Gold:Integer;
    Procedure SetLife;
    Procedure SetMana;
    end;

  TWeapon = object
    Name:String[20];
    Quality:Integer;
    DopDamage:Integer;
    Buy:Integer;
    Sell:Integer;
    end;

Var Weapons:array[1..10] of TWeapon;
    Player:TPlayer;


Function MRandom:Integer;
Var X:Integer;
begin
Randomize;
X:=Random(3);
If X = 1 then
 begin
 Randomize;
 X:=Random(3);
 end else
If X = 2 then
 begin
 Randomize;
 X:=Random(3);
 end else
If X = 3 then
 begin
 Randomize;
 X:=Random(3);
 end;
MRandom:=X;
end;

Function Damage:Integer;
Var Min,Max:Integer;
begin
Min:=Weapons[Player.Weapon].Quality;
Max:=Weapons[Player.Weapon].Quality+Player.Strength;
Randomize;
Damage:=Random(Max-Min)+Min;
end;

Procedure TPlayer.SetLife;
begin
Life:=(Health+Strength)*10;
end;

Procedure TPlayer.SetMana;
begin
Mana:=Magic*20;
end;

Последний раз редактировалось AVer; 20.12.2006 в 22:36.
AVer вне форума   Ответить с цитированием
Старый 20.12.2006, 23:26   #55
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
Лампочка Далее...

AVer, в примитиве все так и есть, потом добавим нюансы. На моем примере (если скачивали) понятно, что сценарий и прочие действия героя не основа игры. Первоначально игра задумывалась как On-Line RPG, новая версия на Delphi и SQL-сервере находится в разработке, идет заполнение БД всем, что касается самой игры и пользователей. Понятно, что кинуть исходники не получится, надо ставить SQL Server 2000, и регистрироваться, но зато можно загрузить сервак нашего уважаемого админа и всем пробовать поуправлять персами. Достаточно будет только обновлять Delphi-приложения и работать с БД.

Что думаете по этому поводу?
Beermonza вне форума   Ответить с цитированием
Старый 20.12.2006, 23:36   #56
AVer
Андрей
Форумчанин
 
Аватар для AVer
 
Регистрация: 21.11.2006
Сообщений: 457
Репутация: 237

icq: 5311314
По умолчанию

Я думаю, что такая мысль имеет место быть, но сейчас немного рано задумываться о реализации онлайн-mode. Сначала нужно проработать все, что может применяться в игре, потом все это связать с графикой, а потом уже думать о сюжете или мультиплеере...
AVer вне форума   Ответить с цитированием
Старый 20.12.2006, 23:41   #57
Mr.Dmitry
Форумчанин
 
Аватар для Mr.Dmitry
 
Регистрация: 18.12.2006
Сообщений: 50
Репутация: 10
По умолчанию

Вот какой вариант предлогал я:

Формирования характеристик
begin
sila:=random(8); //сила героя
atack:=1+sila; //Атака героя зависит от силы + атака от оружия в руках
lovkost:=random(8); //Ловкость
reflex:=3+lovkost; //Рефлекс зависит от ловкости
slohenie:=random(8); // Сложение
hp:=10+sloshenie; // Жизни зависит от сложения
vinoslivost:=1+sloshenie; // Выносливость зависит от сложения применяеться при провекри на усталость и при переносе ранений
CS:=10; // Класс Защиты без брони 10 с броней +Защита от надетой брони
mudrast:=random(8); //Мудрость
volia:=1+mudrost; //Воля зависит от мудрости применяеться для защиты от магии влияющая на разум
intelect:=random(8); //Интелект
Mana:=30+intelect; // Мана зависит от интелекта
harizma:=random(8); Харизма (умение нравиться людям)
end;

Бой
Begin
Atacck:=random(6)+atack; Атака = случ число от 1 до 6 плюс атака
If (atacck<=ClassShield+lovkost) and (atacck<=Attack_Ai) then label1.caption:=“Урон был блокирован”
Если атака <= Классу защиты + Ловкость врага и атака <= Атаки компьютера то удар считаеться не удачным в любом случае
If (Atacck>ClassShield+lovkost ) and then (atacck>Attack_Ai) then
Если атака > Класса защиты + Ловкость врага и атака > Атаки компьютера то удар считаеться удачным
If atacck =>20 then Krit :=true else
krit:=false Если атака => 20 то удао считаеться критическим иначе не кретическим
If krit=true then Если удар кретический то
Uron:=hp_Ai-radom(3)+sila*2 else Урон = жихни врага - случ число от 1 до 3 (в зависимолсти о базового урона оружия) + Сила умножаем на 2
Uron:=hp_Ai-radom(3)+sila; иначе тоже самое только без умножения на 2

Хотя мой вариант вам покажеться сложным но это только на 1 взгляд на самом дел все просто!
Надеюсь более менее доступно обьяснил

Последний раз редактировалось Mr.Dmitry; 20.12.2006 в 23:45.
Mr.Dmitry вне форума   Ответить с цитированием
Старый 20.12.2006, 23:48   #58
AVer
Андрей
Форумчанин
 
Аватар для AVer
 
Регистрация: 21.11.2006
Сообщений: 457
Репутация: 237

icq: 5311314
По умолчанию

Мне кажется это слишком сложно... Хотя все решать Форумчанам... У нас есть два варианта характеристик - выбирайте. Единственное что хочу добавить от себя, это то что модель боя выглядит очень даже ничего, и ее можно применить... В общем смотрите, выбирайте, решайте...
AVer вне форума   Ответить с цитированием
Старый 21.12.2006, 00:26   #59
-=DeS=-
Форумчанин
 
Аватар для -=DeS=-
 
Регистрация: 20.12.2006
Адрес: UNDERGROUND
Сообщений: 135
Репутация: 55

icq: 676975
По умолчанию

А на каком протоколе будут общаться клиент-сервер-клиент? Быстрота передачи и экономия трафика тоже не последняя вещь... а так задумка неплохая!!! Я с вами...
__________________
writeln('Hello Dude!!!');
-=DeS=- вне форума   Ответить с цитированием
Старый 21.12.2006, 13:06   #60
Mr.Dmitry
Форумчанин
 
Аватар для Mr.Dmitry
 
Регистрация: 18.12.2006
Сообщений: 50
Репутация: 10
По умолчанию

Цитата:
А на каком протоколе будут общаться клиент-сервер-клиент? Быстрота передачи и экономия трафика тоже не последняя вещь... а так задумка неплохая!!! Я с вами...
Помойму этот проект пока задумываеться как однопользовательский что будет дальше пока наверно не кто не знает! Если же потом будет добовляться многопользовательский режим то тогда мы и будем думать на каком протоколе они будут общаться и все осальное связаное с этим режимом!
Mr.Dmitry вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уроки по созданию игр для новичков... -=DeS=- Gamedev - cоздание игр: Unity, OpenGL, DirectX 750 14.11.2017 21:26
Музыка программистов - как вы относитесь к АРИИ? Весёлый Жека Свободное общение 46 10.10.2008 22:32
Конкурсы по созданию игр на Delphi mutabor Свободное общение 0 15.06.2007 12:40
Работа по созданию ПО remix Фриланс 3 22.04.2007 11:00


19:02.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.