![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#51 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
AVer, не кипетись, это шутка была, если не увидел в конце смайлик "Смех", то картинки надо включать.
В комманде я работаю уже много лет, как раз я в этом много чего понимаю. Опять же, не советую использовать GIF-анимацию, когда на поле будет двигаться более 4 объектов, вы увидите все прелести этого выбора в виде иканий, марганий и прочей грязи в анимации, ЭТО ПРОВЕРЕНО! Вот кидаю вам мою древнюю игру (только EXE), в ней можно вооружить героя и отправить в "квест". То, что получилось не является полноценной игрой, это только желание реализовать бой типа дуэли. Можете поиграться, а кто дракона (картинку не нарисовал) завалит, тот молодец. Если нужно, то выложу формулы расчета характеристик и пр. Mr.Dmitry, погоди, не лезит один архив...
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 25.11.2009 в 00:35. |
![]() |
![]() |
![]() |
#52 | ||
Пользователь
Регистрация: 18.12.2006
Сообщений: 50
|
![]() Цитата:
А где Exe файл что то я его не вижу ![]() И если можно исходники кинь тош! чтоб посмотреть что к чему! Цитата:
|
||
![]() |
![]() |
![]() |
#53 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
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 довольно просто, главное утвердится с формулами.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Stilet; 23.11.2010 в 17:22. |
![]() |
![]() |
![]() |
#54 |
Андрей
Форумчанин
Регистрация: 21.11.2006
Сообщений: 457
|
![]()
Итак, как я вижу в ход пошли конкретные предложения... А это, как мне кажется, значит что пора бы взяться и за Делфи. Для начала создается объект-игрок с хар-ками указанными в твоем сообщении. Методы будем создавать когда появятся формулы.... Итак все что ты написал в виде кода выглядит так:
Код:
ICQ: 5311314
[SIGPIC][/SIGPIC] Последний раз редактировалось AVer; 20.12.2006 в 21:36. |
![]() |
![]() |
![]() |
#55 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
AVer, в примитиве все так и есть, потом добавим нюансы. На моем примере (если скачивали) понятно, что сценарий и прочие действия героя не основа игры. Первоначально игра задумывалась как On-Line RPG, новая версия на Delphi и SQL-сервере находится в разработке, идет заполнение БД всем, что касается самой игры и пользователей. Понятно, что кинуть исходники не получится, надо ставить SQL Server 2000, и регистрироваться, но зато можно загрузить сервак нашего уважаемого админа и всем пробовать поуправлять персами. Достаточно будет только обновлять Delphi-приложения и работать с БД.
Что думаете по этому поводу?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#56 |
Андрей
Форумчанин
Регистрация: 21.11.2006
Сообщений: 457
|
![]()
Я думаю, что такая мысль имеет место быть, но сейчас немного рано задумываться о реализации онлайн-mode. Сначала нужно проработать все, что может применяться в игре, потом все это связать с графикой, а потом уже думать о сюжете или мультиплеере...
ICQ: 5311314
[SIGPIC][/SIGPIC] |
![]() |
![]() |
![]() |
#57 |
Пользователь
Регистрация: 18.12.2006
Сообщений: 50
|
![]()
Вот какой вариант предлогал я:
Формирования характеристик 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 в 22:45. |
![]() |
![]() |
![]() |
#58 |
Андрей
Форумчанин
Регистрация: 21.11.2006
Сообщений: 457
|
![]()
Мне кажется это слишком сложно... Хотя все решать Форумчанам... У нас есть два варианта характеристик - выбирайте. Единственное что хочу добавить от себя, это то что модель боя выглядит очень даже ничего, и ее можно применить... В общем смотрите, выбирайте, решайте...
ICQ: 5311314
[SIGPIC][/SIGPIC] |
![]() |
![]() |
![]() |
#59 |
Форумчанин
Регистрация: 20.12.2006
Сообщений: 135
|
![]()
А на каком протоколе будут общаться клиент-сервер-клиент? Быстрота передачи и экономия трафика тоже не последняя вещь... а так задумка неплохая!!! Я с вами...
writeln('Hello Dude!!!');
|
![]() |
![]() |
![]() |
#60 | |
Пользователь
Регистрация: 18.12.2006
Сообщений: 50
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Уроки по созданию игр для новичков... | -=DeS=- | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 750 | 14.11.2017 20:26 |
Музыка программистов - как вы относитесь к АРИИ? | Весёлый Жека | Свободное общение | 46 | 10.10.2008 22:32 |
Конкурсы по созданию игр на Delphi | mutabor | Свободное общение | 0 | 15.06.2007 12:40 |
Работа по созданию ПО | remix | Фриланс | 3 | 22.04.2007 11:00 |