![]() |
|
|
![]()
|
|
| &-ray |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 406 Регистрация: 15.4.2003 Где: Казахстан, г Аста на Репутация: нет Всего: нет |
Ты наверно не зарегился. Хорошо, что вовремя восстановил copyright'ы -------------------- "Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б. -------------------- И снова мышь беру я в руки Куда иду? - Конечно в сруки! |
|||
|
||||
| Cashey |
|
||||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
Если б я не зарегистрировался, то не назвал бы это глюком. У меня уже не первый раз: в верхнем углу пишет
А когда в готовом ответе нажимаю "отправить" он иногда выдает "Guest". Это наверное изза того, что я с разных компов вхожу и каждый раз переригистряюсь заново. Да и еще Модераторы вы хоть указывайте куда тему переносите, а то я насилу нашел Это сообщение отредактировал(а) Cashey - 3.9.2003, 22:48 -------------------- библия учит любить ближнего, а камасутра обучает как именно |
||||
|
|||||
| -Vadim- |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 10.8.2003 Репутация: нет Всего: нет |
Я тут начиркал пару строк по основным вопросам поведения AL
Цель: Определение ‘Цели’: Цель это цикл повторяющихся действий, где за каждый проход ‘расстояние’, до цели сокращается на 1 ед. Цикл завершается в тот момент, когда количество проходов становиться равным (начинает удовлетворять) условиям цикла. Пример: цель убить всех противников - поиск врага, оценка ситуации (из чего принимается решение вступать или не вступать в бой) и уничтожение врага (отступление). Алгоритм должен выполняться примерно так: Имеем примерное кол-во врага (важно, что примерное, мы ведь не можем знать, как и он сколько точно (это дело разведки)). Ищем – если находим – если решаем вступить в бой – то вступаем – если убит один противник – то примерное кол-во врага – (-1) и так до тех пор пока кол-во врага приблизительно = 0 или убит юнит выполняющий задание. Инстинкт самосохранения: Совокупность действий направленных на предотвращение или исправление негативных событий, способных замедлить или прекратить выполнение цели (Инстинкт - реакция на раздражители. Инстинкты могут быть приобретаемыми или врожденными (заложенными)) Пример: юнит - это запись полями которой явл. Его части тела которой присваивается цифра зависящая от ее важности. Алгоритм работает так: юнит выполняет цель, в процессе его деятельности (в цикле - цели, (подцикл - оценка) встречается ситуация способная ему навредить (встреча с врагом и т.д.), продолжается выполнение алгоритма ‘выполнение цели’, юнит получает повреждение, алгоритм возвращается назад и пытается предпринять действия направленные на предотвращению получения повреждений, но одновременно и на выполнение цели. Другими словами просто пробует выполнить цель по другому (Важно: в этом деле должна существовать погрешность. Юнит не может миллион раз возвращаться к сохранению, это не правильно. Здесь должен сказываться его опыт. К стати говоря, у людей это выглядит так же (люди на основе своего опыта (то же самое продолжение и возврат алгоритма (описано выше), только в мозгу и виртуально) оценивают опасные для него действия и исходя из приоритетов (ушиб не равен перелому) находят ‘наилучшее’ решение. Наилучшее в кавычках так как мы лишь можем сравнить это действие с уже знакомым нам, но ведь события не могут совпасть точно, и наше решение может быть ошибочным, и по сему мы фактически играем в кости, также сказывается причинно следственная связь )). Ребят если что то не понятно, извините очень сложно объяснить, или вместить все что хотелось бы. К стати можно задать приоритет над выполнением цели выше самосохранения для отдельных юнитов (но лучше определять это динамически в зависимости от куши факторов). Опыт юнитов: Основные моменты игры должны сохраняться постоянно в файл. Если враг побеждает (ну или там, быстрей растраиваеться), то комп извлекает данные из файла и анализирует их (докапывается почему вы выиграли). А затем в ходе игры решает какие ситуации похожи на те (которые он анализировал) и в зависимости от ситуации применяет их). Пример: Идет игра, данные о кол-ве юнитов, о зданиях, о апгрейдах и т.д. записываються в файл. Вы расстроили базу накупили уйму техники и пошли тянуть комп. Встетились две группировки (его и ваша) но он вел свои войска цепочкой в километр, так как они едут с разными скоростями и вы конечно его натянули (жестоко так, по одному) так как собрали всех вместе и просто встретили его (а он не успел подтянуть артелерию). И комп записал данные в файл но уже с пометкой (что из за каких то причинно-следственных связей, он проиграл битву) После он это проанализирует так: Ну там сколько техники у той и др. стороны бла, бла, бла и так далее. И самое главное он должен усвоить, что погиб за 2 сек боя один его юнит, а при таком соотношении сил (все его и все ваши размещ. в опред. квадрате), примерно должно было погибнуть 3 моих юнита. Это произошло из за того, что последний юнит должен был отстать от первого на 18 сек. И чтобы не было так в след. раз он не поведет войска в цепочку. Пример согласен бредовый не рассмотренный, алгоритм совсем ни что, но надеюсь зато понятен. Если кто то заинтересовался могу выслать пояснения, если получу на мыло подобное сообщение о просьбе и о том, что вы хотите понять подробнее. |
|||
|
||||
| Fantasist |
|
||||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Угу. Сщас.
Вот в этом-то и есть самая большая опасность. Если каждый по одиночке еще смог бы что-то сделать (как я в свое время сделал), то вместе практически облом. Ведь опыт нужен не в реализации какой-то программной части кода, а в проектировании и менеджменте всего проекта. Тут коллективный разум не поможет, а наоборот, внесет неразбериху. -------------------- Волны гасят ветер... |
||||
|
|||||
| -Vadim- |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 10.8.2003 Репутация: нет Всего: нет |
Много (и небезосновательно) говориться о необходимости существования политики управления командой, посему: Предлагаю выбрать 1) Координатора 2) Статиста 3) Директора.
1) Координатор – лицо отбирающее идеи в форуме (составляющее некую статистическую отчетность) и связывающееся с отдельными заинтересованными лицами для разъяснения отдельных вопросов. Координатор представляет данные своей работы Статисту. 2) Статист – лицо группирующее статистические данные (идеи) в некий, конечного вида проект. 3) Директор – (если вы не против им буду я) – лицо занимающееся конечным принятием решений об отдельных составляющих проекта (утверждением) на основе имеющихся у него данных от Статиста, а также вынесением вопросов на совет (форум), вопросы, которые в последствии должен обработать координатор. Вы можете предложить здесь свою кандидатуру по вакансиям Координатор и Статист, а также оспорить мою на должности Директора. Вы должны обосновать свое желание (пример: Хочу быть статистом т.к. имею постоянный доступ в Инет.). Позже, совет методом голосования утвердит по его мнению наиболее достойных лиц. Эти вакансии необходимы пока на стадии проектирования (позже уже нужно будет иметь програмерский штаб, но это будет позже, когда мы определимся с направлением идеи). |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: нет Всего: 43 |
Может тогда и начинать зазывать технарей? Если бы вы на работу людей нанимали, то другое дело: что начальство скажет, то работник сделает. А так пока сотрясание воздуха |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
ггг
з.ы. кстати говоря, когда-то давно я писал о проекте совместном, дык вот он еще жив и процветает потихоньку (не торопимся, вся группа цела и здорова, работаем) -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
AL - это аллюминий AI - automatic intellect -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
Так ладно мне эта болтовня надоела. Нужно либо закруглятся либо
начинать работу над проектом. Самозванный директор уже объявился, а концепции игры у нас до сих пор нет. Над чем будем голову ломать? Так вот Fantasist правильно говорит об координаторе. Так вот, первое время им буду я (другие пока не чешутся). Итак, 1) Мы делаем игру (с этим опредилились). 2) Жанр: пошаговая стратегия Теперь отступление игр с таким жанром существует 2 типа: первый - где поле свободное, герой движется по нему свободно (где может пройти) и сражается с теми кто встречается на пути если хочет или не может убежать. Здесь цель игры - кол-во побед. Второй тип - это, поле разделено на три зоны: игрока, его противников и временно свободные. Любое перемещение по территории противника вызывает агрессию со стороны хозяина этой территории. Здесь цель игры - размер контролируемой территории. Классикой первого жанра является Heros, второго Civilization. Мы должны четко определиться с жанром!!! Так вот у меня идея: ВСЕМ ВНИМАНИЕ Название игры: "Путь кольца" Мотив: по книги Дж. Р. Толкиена "Властелин колец" Жанр: видоизмененный King's Baunty, аналогично Heros Цель игры: преодолеть главным героем, имеющим артефакт - кольцо, путь от начальной точки, через все игровые зоны, к Великой горе Орадруин за определенное количество ходов (времени). Особенности: игрок может присоединять к главному герою второстепенных героев, главный герой может воспользоваться кольцом, что бы стать невидимым и уйти от боя, при этом у него есть лимит "сопратевления злой силе", который убывает по мере приближения к Орадруину и при каждом использовании кольца. Когда сопративление истекает герой становится рабом черного властелина и игра заканчивается поражением. У каждого героя, в зависимости от расы (человек, эльф, гном, маг или хоббит), есть особенность при найме войск и их использовании, так у эльфов больше авторитета при найме стреляющих воинов и эти войны имеют бонус в бою, у гномов бонус к воинам с тяжелым оружеем, и так далее. Главный герой не может добровольно предать кольцо, но если он погибает (и кольцо достается противнику), то у игрока есть несколько ходов что бы вернуть кольцо другим героем, и продолжить игру, в этом случае главный герой меняется. Дальше все как обычно: артефакты, места закупки войск, герои противника. Кто-то присоединяется сам, кого-то надо покупать за золото, кого-то за выполнение отдельностоящей миссии. Конкретные детали будем обсуждать уже в процессе работы над каждым блоком в отдельности. Реализация: Игровое поле представляет из себя сетку с наложенным на нее графическим рельефом, герой (объект) создается графически, наделяется рядом свойст и отдается на откуп играющему. Компьютер должен 1) сгенерить на игровом поле расположение гороев врага и наделить их изначальным кол-вом войск согласно уровню. 2) На основании имеющихся (весьма приблизительных) данных об армии героя играющего принять решение вступать в бой или отклониться от него. 3) Каждый герой компьютера, отдельный объект, но подчененный единому разому, т.е. компьютер может объединять своих героев что бы нападать стаей, обменивать героев артифактами и армиями по необходимости, как и в Героях перемещать героев в поисках артифактов, армий и героев играющего. 4) Анализируя свойства армии (кол-во солдат в ней, апгрейд, бонусы) определить кол-во поражений от одного хода в битве. Вот собственно и все. Все решается обычным анализом и никакого искусственного интелекта. И так если идея вас устраивае давайте обозначивайтесь и будем делить модули для проектирования. -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: нет Всего: 112 |
Cashey - вполне прилично и не очень сложно. Я за.
Сделать типа героев... Только прежде чем делить модули, составь их полный список с подробным описанием назначения модуля и какие функции должен осуществлять. И как они будут связаны между собой... -------------------- С уважением, г-н Посол. |
|||
|
||||
| beif |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.8.2003 Где: Россия, Кемерово Репутация: нет Всего: 1 |
Cashey - ты МОЗГ
Я - ЗА! Идея стоящая, координатор хороший, директор тоже. С идеей вроде бы примерно определились... типа "ГЕРОИ". Cashey неплрохо всё описАл. Только я теперь предлагаю всем высказаться ЗА и свалить из форума! Нужно сделать нечто общее и членораздельное... типа целого топика в форуме. И уже в нем обсуждать в каждой теме конкретные задачи реализации... там уже будут и алгоритмы (конкретные: "пришел, увидел, победил", а не так как что писанины много, а смысла почти нет) и примеры кода. Далее нужно (уже после разбития на темы) определиться кто куда и чем занимается, то есть разбиться на группы (один чел может быть во многих группах) и уже группами все это писать. То есть одни пишут AI или просто алгоритмы анализа, другие занимаюся графикой, третьи еще что-то, но каждые в отдельной теме, чтоб не путаться... Вот |
|||
|
||||
| Cashey |
|
||||||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
Скорее King's Baunty. Heros V я думаю мы не потянем.
Ну, полный алгоритм на бумаге, перед написанием кода сейчас, если только, в институтах пишут. А общие фрагменты вот они, пожалйста: Игра будет писаться под винды (если нет возражений), стало быть под DirectX (исходники 8-го у меня есть). Нужно составить во-первых, объекты игрового поля (нарисовать) а именно: квадратики соответствующие одной сетки на поле, с изображением 1. луга, 2. леса, 3. воды, 4.гор, 5. дороги, 6.снега, 7.брода; во-вторых нужно нарисовать опорные пункты: 1.Шир (в виде маленькой страны), 2.Брыль (в виде деревни), 3. Древлепущу, Лотлариен, Фангорн (можно одним ресунком, в виде леса), 4.Дольн, и другие города (в виде белых замков), 5.Минас Моргул, и другие (в виде черных замков), 6. Морию (в виде пещеры в горе), 7.Опорные пункты пополнения войск (в виде чего-нибудь) 8. собственно Великую (Роковую) гору; в третьих, создать объкты героев, - это уже объекты с большим кол-вом св-в, главное из которых внешний вид (а именно рисунок). Нужно нарисовать: героев игрока - хоббитов, эльфов, людей, гномов, и мага; Героев врага - назгулов, орков, урукхайев и черного мага. в четвертых, нарисовать артифакты. в пятых, нарисовать поле для боя (несколько простеньких вариантов). в шестых, нарисовать армии. Так вот, кто умеет и любит рисовать - тому работа уже есть. Далее, создаем пользовательский тип файла (наподобие базы данных) в котором храним все св-ва объектов. Это не сложно. Далее, содаем движок игры, в виде отдельного блока, который и будет манипулировать нашими объектами. Он должен состоять из двух модулей: первый генерит карту из квадратиков-объектов, распологает на ней первичное расположение войск компьютера, артифактов, первичную точку выхода Главного Героя игрока, местонахождения опорных пунктов. Все это не должно быть абсолютно случайным, а должно соответствовать определенным правилам формирования рельефа. Это не так просто как может показаться на первый взгляд. И второй модуль, должен управлять действиями компьютера, как игрока, следить за соблюдением правил. Это я могу взять на себя, хотя возможно мне потребуются помошники. Далее, создаем анимацию: звуки, может мультики какие и пр. Далее, создаем help. Конкретные детали будем обсуждать уже по ходу.
А вот это проще простого, когда все разработчики известны и могут описать все свойства и метода. Обговорим мнемонику и вперед. -------------------- библия учит любить ближнего, а камасутра обучает как именно |
||||||
|
|||||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: нет Всего: 112 |
Я и не просил алгоритм, а конкретное назначение - а то если скажешь : "напиши мне модуль для графики" - что это ? Я, конечно, сам пишу задом наперед - вначале пишу, потом уже думаю, но когда пишешь один, и когда пишут несколько человек - это разное, и думаю тут такой подход не пойдет, т.к. один разработчик не знает о чем думает второй... А то что ты описал какие типы объектов будут - это лишнее. Если сделать графический движок, то уже неважно будет, какие типы местности и городов там будут... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
Так займись! А я себе это так представляю: будет 7 типов местности и в зависимости от того какой тип местности нужно будет принимат решение играющему т.е. через горы можно пройти только с помощью камнетесов, через лес с помощью лесорубов, по дорге полный ход, а по песку ходов меньше ну, и так далее. Недостаточно будет просто иметь их графически, необходимо анализировать какой рельеф на какой клетки игровой сетки находится. Я знаю три способа реализации игрового поля 1. Создается сетка на форме а по верх ее накладывается bmp c уже нарисованным рельефом местности (этот способ достаточно прост, но мне он не нравится, потому что в этом случае постоянный рельеф и играющий к ниму быстро привыкнет, и потом он может просто найти файл рисунка и спокойно изучать карту, что не честно), 2. Что я и предлогаю, создается 7 объектов наделенных всего двумя св=вами 1-рисунок, 2-идентификационный номер и комбинируя ими вырисовывается игровое поле, и 3. Это описать игровое поле программно как в ДОС но мне это не по-душе. Но давайте хотя бы с чего-нибуть начнем, а то под лежачий... -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| -Vadim- |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 10.8.2003 Репутация: нет Всего: нет |
Идея Cashey о сюжете понятна и одобрена. Другие варианты расматриваються, но фактически план Cashey уже утвержден.
1. Что касается нового топика. Я думаю это не целесообразно. 2. У кого есть сайт, куда можно вешать предворительные результаты? 3. Где находиться этот топик, а то у меня только ссылка на него? P.S Я попробую сделать карту, но не факт что справлюсь (очень занят). В конце концов ее можно сотворить вырезая отдельные фрагменты из разных рисунков. Так что все на поиски карты. (и юнитов). Это сообщение отредактировал(а) -Vadim- - 7.9.2003, 02:22 |
||||
|
|||||
![]()
|
| Правила форума "Тестирование программ" | |
|
|
Правила должны соблюдаться всеми без исключения.
Для тех, кто создаёт темы: В данном разделе запрещается размещать программы, которые в той или иной степени могут принести вред потенциальному тестеру программы (например, трояны, вирусы и т.д.)
Для тех, кто тестирует: Описывая результаты тестирования программы, указывайте тип и версию ОС, а также характеристики компьютера и прочую информацию, которая может повлиять на работоспособность. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.Anderson. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разное тестирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |