| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование игр, графики и искусственного интеллекта > Игрушка для программистов |
| Автор: Gorcer 23.7.2006, 03:31 |
| Здарова народ! Давно вертится мысль разработать игрушку в которую можно засовывать своих персонажей, причём персонажи создаваться будут не в линейном интерфейсе игры, а на любом языке программирования, компилится в DLL и подключатся в игру. Что это будет за игра? В голове всегда вертелся остров на котором живут всякие твари и подчиняются законам сисетмы, например закону гравитации.....тоесть нельзя создать сверх монстра серовго волка со сверх большими зубами, зубы отвалятся и волк умрёт. Я вижу игру исключительно online' овскую. Вы регестрируетесь, качаетет шаблон на выбраном языке программирования, делаете DLL-монстра, отсылаете и наблюдаете за его развитием на этом острове. Что это будут за монстры? Монстры будут описаны как классы с заранее определёными методами и свойствами, например пользователю будет предлагаться класс шаблон (например TCreature) он наследуя его (TGrayWolf = class(TCreature)) переопределяет основные методы, пришивая какойто свой функционал. Модели монстра также можно делать свои в 3dmax'е или собирать монстра из разных запчастей. Для того чтобы пользователь не создавал сверх сильных гигантов с кучей конечностей, ему при регистрации в системе будет выдаваться какаянить экспа начальная (опыт типа) и в процессе своей жизнедеятельности экспа будет расти, эта экспа будет влиять на возможности монстра, например её можно использовать в описании ног монстра для увеличения скорости перемещения, программист сам решает как распоряжаться этой экспой, тоесть где её прописывать. Если хитрый программист внесёт слишком большие параметры (сила, количество конечностей) у монстра откажет произвольная конечность. кто что думает, идея крайне сырая и хотелось бы её развить и даже в будущем совместными усилиями чтото разработать..... |
| Автор: Академик 23.7.2006, 13:15 |
| IMHO Слишком широко шагаешь. Идея конечно хорошая, но до реализации дело не дойдет. |
| Автор: Gorcer 23.7.2006, 14:06 |
| Академик, зануда, ты хоть сам чегонить добился в своей жизни? или всегда твои идеи заканчивались мыслью что до реализации не дойдёт. ты бы хоть написал почему не дойдёт, ты ведь ничего не знаешь о моих возможностях..... |
| Автор: Meeer 23.7.2006, 18:43 |
| Gorcer, остынь, чего ты так кричишь на Академика? Идея, по моему, реальная, но надо продумать все детали (например, если там, например, будет человек-зверушек 500 или 1000, то до каких размеров тогда будет доходить сам остров, или если я захочу сделать вообще безногого зверя, например змей или птица, или дельфин). Тогда нужно делать нлесколько островов, и нейтралов(всякую другую живность). А до реализации дело может не дойти, потому-что эту игрушку надо писать командой, а сам ты будет лет пять ее продумывать (это я утрирую) Вот так |
| Автор: Ch0bits 23.7.2006, 19:57 |
| Gorcer То что это реально никто не сомневатся. Только предварительно требует тщательного планирования и разработки спецификации на "зверушку". Времени уйдёт море, а у кого оно есть? Думаю начать стоит, а потом открыть проект например на sourceforge.net, если идея людям понравится, то и разработчики сами появятся. П.С. Задумка сильно смахивает на Terrarium, только там мир исключительно насекомых и растений, тоже по сети, но всё на C# пишется. |
| Автор: powerOn 23.7.2006, 21:36 |
| Можно еще поковырять в сторону каких-нибудь боевых роботов. Например, Вы реализуете интерфейсы и абстрактные классы поведения боевого робота или танка, а потом этот робот подключается к сражению. Ну там один на один или куча на кучу, неважно. Там уже в чистом сражении и выявлять эффективные алгоритмы... Роботов можно разным оружием снабжать и прочей ерундой... ИМНО, очень интересно бы было... |
| Автор: arilou 23.7.2006, 21:56 |
| http://forum.vingrad.ru/index.php?showtopic=56087 почитайте |
| Автор: Exekutor 24.7.2006, 08:07 |
| Gorcer, идея неплохая, как я уже сказал в пм. Если хочешь что бы управлял ИИ то опять же - ИИ, наверное, должен быть встроен в самого зверя. Т. е. человек пишет зверюгу, снабжает ее своим разработанным ИИ и отпускает в "лес". Чья зверюга дольше протянет - тот и победил. Мне кажется это интересно, но таое уже есть. Называется, вроде бы, Terrarium. Хотя могу ошибаться. |
| Автор: Sister 24.7.2006, 23:42 |
| У меня была похожая идея, но только исключительно для стратегий, когда войска при помощи заложенного в них игроком-программистом кода сами воюют. Основная мысль - соединение программирования и игры - очень интересная! Если ВСЕ тщательно продумать, думаю, игрушка будет иметь успех среди программеров... которым делать нечего!!! ))) |
| Автор: Gorcer 27.7.2006, 13:28 |
| Идея с роботами не менее интересна чем с монстрами...давай её тоже прорабатывать! .....пока длился мой бан я тут о многом подумал, поэксперементировал и понял что если внедрять реальную физику то можно уйти в ступор:-(.......или нужен хороший специалист физик на добровольных началах:-) с другой стороны можно всё упростить и сделать чтото типа РОБОКОТА (посмотрел, впечатлило и очень понравилось) только 3д движок и чтоб поразнообразней униты были, чтоб и летающие были и плавающие....ну и код описания юнита будет канечно занимать больше одной страницы (как в робокоте) для начала можно внести один класс - "Tходячий_монст", у него обязательно будут ноги как средство передвижения и тело как место для крепления прочих органов, вплоть до органов размножения..... каждый орган имеет силу, которая напрямую зависит от имеющейся экспы,.......можно например сделать 10 слабых маленьких рук или однин большой и сильный.....руку!:-) все эти руки представляются в описании класса как массив элементов (типа "THand") с которыми можно делать что угодно. также для решения проблем с перенаселением предлагаю внести в игру монстров занимающихся развитием инфраструктуры, они будут также запрограммированы как и все остальные, но их основная задача будет заключаться в строительстве шахт, проведении раскопок, добыче камня и песка из недр острова и отсыпка новых островов. давайте придумаем как будет происходить бой между существами, а то я както слабо вижу эту картину. |
| Автор: Exekutor 28.7.2006, 07:04 |
| Нужно сперва определиться что это будут за существа... Составить их список и список их возможностей |
| Автор: Sardar 28.7.2006, 12:14 | ||
Писать зверский ИИ под 1 игрока мало кому понравиться ИМХО. Дургое дело если:
Графика по барабану, 2D "под наклоном" (2-3 по моему называеться, карта ромбами) и красивые анимации достаточны. Суть в разнообразии "инструментов" (типы юнит, типы технологий и сбораюнит под задачу, хорошо продуманные плюсы и минусы) и главное в сценарии боя. Хардкорщики смогут програмить целые баталии на несколько дней. Для ясности:
И так побежали P.S. замечаем что написание не эффективного скрипта может заставить свой ИИ жутко тормозить, нодругие ИИ работают в своих тредах, потому у них будет элементарное преимущество в "скорости мышления", это тоже стимул писать хорошо |
| Автор: Никто 28.7.2006, 15:23 |
| А почему бы не сделать как в Теккене,количество вживленного железа в теле не должно превышать установленную норму.При этом игрок может собирать из готовых деталей.Кто захочет,может загрузить и свои.Еще я предлагаю дать возможность выбирать,свой ИИ или готовый. |
| Автор: maxim1000 28.7.2006, 17:12 |
| у меня когда-то была тоже была идея в эту сторону только там можно было ещё и конструировать роботов, которые будут воевать: брать шасси, навешивать какой-нибудь источник энергии, что-то типа процессора, всякие устройства типа сканеров, оружие и пр. даже где-то тут описывал, но давно это было |
| Автор: Gorcer 29.7.2006, 02:40 |
| Согласен, идея с командой роботов выглядет ещё интересней. Я тоже считаю что модульность должна быть, есть делать чтото креативное, то креативное во всём ИМХО! У каждого юнита будут свои атрибуты, они будут накладываться исходя из конфигурации. И конфигурация юнита должна быть жёстко завязана с кодом, тоесть если на роботе стоит ракетница, то в классе мы можем ссылаться на неё как на атрибут класса. Также думаю стоит сделать центр управления, такойже робот который будет выдавать простейшие команды - патрулирование, разведка ближайших местностей, поиск ресурсов и оперировать будет имеющимися в наличии юнитами. так например командный центр определяет что ресурсы подходят к концу, он перебирает массив всех роботов и ищет самого быстрого, потом определяет вероятность появления в заданном направлении врагов и выделяет патруль который будет ездить неподалёку и прекрывать на случай нападения врагов. |
| Автор: Fighter 29.7.2006, 04:53 |
| Вообще идеи здесь хорошие, но вот одно дело - высказывать свои идеи, другое дело - что то делать. Я не впадаю в гордыню, но я начинаю делать. Может быть я не широко шагаю, но шаги я делаю. У меня все просто: на экране вы видите два прямоугольника (это два врага). Каждый из них должен убить другого как можно больше раз. Наворотов в графике там нет. Возможность вариантов игры "AIvsAI", "HumanvsAI", а в дальнейшем может быть "HumanvsHuman". Я предполагаю, что на своём пути я встречу много трудностей, поэтому я буду за помощью обращаться к вам. Пишу я проект на Delphi, но я постараюсь сделать так, чтобы сишники и по возможности вэбэшники не остались в стороне. Первый рабочий вариант постараюсь выложить через 2-3 недели. |
| Автор: maxim1000 29.7.2006, 11:04 |
| кстати, нашёл давнее обсуждение сходных идей: http://forum.vingrad.ru/index.php?showtopic=7140&view=all |
| Автор: Gorcer 29.7.2006, 11:52 |
| Господа мы нашли первого инициативного участника проекта - програмиста Fighter'а. Fighter, замечательно, в виду отсутствия времени в это время года я буду всегда с тобой только морально + могу давать идеи и решать проблемы связанные с разработкой алгоритмов. надеюсь тебе понравились идеи изложенные в этом топике и ты чтонибудь из этого в будущем попытаешься реализовать, я присоединиться к работе смогу только с началом зимы. |
| Автор: Exekutor 29.7.2006, 14:24 |
| Пока времени у меня мало. Свободное время только после 18:00 и то не всегда. Но я тоже хотел бы чем-нибудь помоч. |
| Автор: Fighter 30.7.2006, 01:56 | ||
Спасибо Но я хочу сказать, что я не собираюсь (да и вряд ли смогу) создать 3Д графику и т.д. и т.п. Не идет у меня пока что 3D графика. У меня все будет по минимуму. А потом, если проект завоюет немного популярности, то по желанию юзеров (может быть, скорее программистов) я выложу исходник своего проекта и если у кого будет желание - пусть изменяет как ему нравится, пусть даже 3D графику туда вставляет - я буду только рад. А сейчас я делаю упор на то, чтобы как можно быстрее сделать что-нибудь рабочее. Но я хочу сказать, что я в разработке AI не мастер, так что наверное на начальном этапе мне потребуется помощь программистов, которые напишут AI. Собственно интерфейс у меня уже более-менее готов (осталось доделать форму выбора AI'шной DLL), но непосредственно сам AI я не представляю как делать. Так что наверное в ближайшее время (на следующей неделе не гарантирую, но вот на послеследующих я даю вероятность 98%) я постараюсь выложить так сказать свой "SDK", чтобы программисты могли сделать свой AI, который я смогу включать в начальный Release приложения (ссылку на автора гарантирую). Я буду создавать SDK не только для дельфистов, как я писал выше, но и для сишников и для вэбэшников, для того, чтобы и те и другие могли писать AI (на счет вэбэ я пробую и думаю, но вот С++ - 100%). Но мне скорее всего потребуется помощь, так что ждите топиков в соответствующих разделах форума. |
| Автор: Кнером 30.7.2006, 12:22 |
| Я DLL'ки делать не умею Интересует вопрос, не проще ли будет создать простой криптовой мини язык на русском? Я предполагаю, что проще будет создать скриптовой язык, чем разрабатывать систему чтобы можно было писать код на нескольких языках. Он будет как раз заточен для игры. Два года назад видел игрушку на Java. Если ничего не путаю. Суть ее: создаете некий организм. Например, нарисовали пустой квадрат из тонких линий. Он помещается в какую-то среду обитания. Причем она все время разная, можно ее настраивать (притяжение, местность и т.д.). Описываете характеристики своего чада и запускаете. Квадрат начинает жить своею жизнью. Начинает перемещаться. Со временем он начинает изменяться, углы его срезаются, чтобы быстрее двигаться. Если ему не удется забраться куда-то, вы останавливаете процесс игры, создаете ему руку. Все теперь он сможет забираться. Это я помню как ролик. Очень было красиво, получались монстры всякие. Была вся эта чтука написана на Java. В ней был свой язык простой. Если найду это творение, покажу. Так же год назад видел очень много 3Д игр. В которых например есть две машинки, или танчика. Вы пишите на С/С++ или встроенном языке их действия. Например, поиск второго подобного создания. Или проще, припоркаваться в определенном месте. Видел такие же 2Д, но их на пальцах можно пересчитать. И это прошу заметить не мелкослоновый террариум был! Сейчас на робо-форумах хотят создать мини робота универсального. В которого можно будет загружать свою программу (ИИ), опысвать его действия. Хотят внедрить в школы. Была еще программа/игра, что-то вроде виртуальной машины для роботов. Можно было создавать своего робота и писать там сразу его ИИ. Можно было проводить бои. Программа предназначена для создания макетов роботов, чтобы не сжигать микросхемы и еще что-то... Помойму программе 2 года... Еще чего-то было. |
| Автор: Никто 30.7.2006, 12:55 | ||
Щас про трансформеров пойдет. |
| Автор: Fighter 31.7.2006, 05:02 | ||||
Была, была, была. Все в прошедшем времени. А сейчас я хочу представить вам на суд первый вариант программы. Точнее не программы а так называемого SDK для программы. Посмотрим, что будет дальше. Если начнете писать ИИ, то тогда я все это скомпоную и затем выложу полную версию. Если вы забросите это все, то и я тогда заброшу - shift-del. Блин, ну не поверите, я не могу сюда загрузить файл - не знаю как. ПОМОГИТЕ!!! Добавлено @ 05:08 Если что, можете писать на мыло - я скину. |
| Автор: arilou 31.7.2006, 09:51 | ||
Надо нажать кнопку "Ответить", справа над панелью быстрого ответа. Там будет возможность закачать файл. |
| Автор: Romikgy 31.7.2006, 11:23 | ||
Или нажать предварительный просмотр, там тоже есть |
| Автор: Fighter 1.8.2006, 00:14 |
| Вот я нажал "Ответить". Появилась новая страничка. Внизу, после того, как вводить текст там есть такое поле: вы можете загрузить файл в это сообщение и т.д. Нажимаю "Обзор...", нахожу у себя на харде файл и жму ОК а далее жму "Отправить". И вот что получилось. Добавлено @ 00:15 Я нашёл, он писал ошибку - я не могу закачивать такой тип файлов. В общем, скачиваем этот файл и дописываем в конце расширение .rar, распаковываем и смотрим. |
| Автор: Fighter 1.8.2006, 02:11 |
| Надеюсь в ближайшее время я получу или работающие DLL'ки с интеллектом, или совет - выкинуть это все и зашифделить. |
| Автор: Никто 1.8.2006, 15:01 |
| Меня волнуют такие вопросы. 1)Что делается с проигравшим. 2)Что получает победивший монстр. 3)Что еще должны делать монстры. 4)Это игра для программистов или пользователей. |
| Автор: Fighter 3.8.2006, 00:55 |
Вообще этот вопрос я подробно не прорабатывал (потому что считал что он не так уж и важен, потому что здесь важен сам интеллект), но если будет положено развитие, то тогда я уточню детали о том, что будет делаться с проиграшим. Пока что для отладки игры мне нужен AI, вот можно сказать я обратился к вам за помощью и заодно вы можете постепенно начинать писать AI. В данном случае еще можно будет проработать вопросы насчет SDK (может быть кто-то мне предложит идею кардинально поменять структуру AI. Собственно здесь почти такой же ответ, что и на вопрос выше. Немножко не понял смысл вопроса. Но скажу, что данная игра создается под 2D, а поэтому особо большого набора команд у монстров нет (на самом деле два прямоугольника монстрами нельзя назвать). Монстры могут перемещаться влево вправо и стрелять, вот и все. Конечно это игра для программистов. |
| Автор: Кнером 3.8.2006, 09:19 |
| Fighter, мне не понятно, как мой мостр видит и определяет, что это враг. Если они находятся на одной линии, тогда они друг друга видят и можно стрелять? Или когда подходят близко друг к другу и находятся на одной линии? |
| Автор: Никто 3.8.2006, 17:21 | ||||
Ходить,спать,есть,пить.
Тогда зачем делать ИИ.Другое дело-сделать минимальный ИИ.Так это относительно просто.Только я не пойму как будут проходить бои,по реакции или как. |
| Автор: Fighter 4.8.2006, 02:35 |
| Ладно, думаю что мне все-таки придется самому написать ИИ и выложить его исходник вместе с самой игрой. Вот только тогда наверное всем будет все ясно. Но я еще раз повторю, что графики у меня там фактически никакой нет, я писал это все на Delphi и если говорить чисто программистским языком, то у меня на форме каждый враг - это Shape, снаряды - тоже Shape. |
| Автор: Кнером 4.8.2006, 08:50 | ||
Громко звучит...
Это не важно. Эти мульки в последнюю очередь. А разница не столь велика. Ты пиши, а мы разберемся. Ты просто привиди пример своего робота и боя с противником. |
| Автор: Никто 4.8.2006, 12:50 |
| Я могу дать один вариант ИИ на псевдокоде,я пишу на C.Поэтому придется самому переводить.Только мне надо знать.Как монстр определяет пулю,скорость пули,какая скорость самого монстра. |
| Автор: Кнером 4.8.2006, 12:58 |
| Никто, а как определяет монстра знать не нужно? |
| Автор: Sardar 4.8.2006, 13:38 |
| Способность юнитов избегать огня и нападать толпой это одно, а вот проводить организованный бой целой армией в нескольких местах одновременно, "задумываясь" о целях и приоритетах немного другое. Пока не врубаюсь как описать формально (спрограммить) второе... |
| Автор: Кнером 4.8.2006, 13:53 |
| Sardar, второе не сильно отличается от первого. Можно взять аналог из реальной жизни. Например как в армии, только по чинам не знаю, не служил. Например, у каждой группы, должен быть начальник. Начальник отвечает загруппу, а группа в свою очередь подчиняется командам своего начальник. Т.е. если напали на вторую группу, первые не придут на помощь если не прикажет начальник. Начальники общаются между собой так же как и в первом случаи простая группа нападающих. Вариант 1. Просто нападающая группа. В ней, каждый может общаться с любым. Если напали, то идут в бой все. Команды может быть будет отдовать тот у кого есть приоретет. Или кто как может. Вариант 2. С командиром. Командиры решают куда идти, как нападать, кому помогать. Таким образом "армия" будет иметь тактику. Одни заходят с лева, другие с права. Третьи ждут. Если у первого проблемы, то командир третьей грппы отдает приказ помочь первым и направляет. - Ребята, приведите код на Си или дельфи, чтобы я понял как писать код и работать с СДК. Мааааленький примерчик. |
| Автор: Никто 4.8.2006, 14:24 | ||||
Конечно,нужно.
Пока планируется,что по одному монстру на каждой противостоящей стороне.Потом,когда все это получится,переходить на отряды.При этом каждый монстр должен отвечать за свою функцию.Пользователь сам определяет тактику. |
| Автор: Sardar 4.8.2006, 14:31 | ||||
Человек кинет пару дешёвых, но сильно бронированных юнит на эту ораву, те бросяться, всю ораву накрываем чем нибудь мощным (ракетным залпом например). Не пойдёт...
А если командира завалят, то остальные встанут? Ну допустим будут адоптированны другим командиром, а я возьми их всех и замочи, армия встала? Также как командиру управлять юнитами? Будут паттерны вносимые один раз человеком, не будет адоптации к изменяемой ситуации. С анализировав все паттерны строиться "скрипт" (заметь, не ИИ, а скрипт) который с 100% вероятностью выигрывает. ИМХО тут каждый юнит должен обладать своей логикой + глобальная карта приоритетов, где каждый юнит высчитывает свою "пользу" (например нет смысла дёргаться если время похода слишком долгое или растратим топливо, или точно не известно нет ли засады). Логика строиться из набора выражений, например для нового юнита сброшеного с воздуха: если приоритет текущей позиции всё таки выше, значит опросим всех рядом, выберем наиболее эффективного для нас противника (ракетница выберет большого монстра, не окружённого нашими юнитами ближнего боя). Катим туда, стреляем, по пути сравниваем что же сейчас сделать более эффективней (в расчёт принимаеться всё, время на смену боеприпасов, поездка, "жизнь" врага (не дёргаться если его прямо сейчас добьют)). Таким образом будет один большой организм как муравьи, эффективно уничтожающие любого противника, подстраиваясь в принципе под любую тактику в лоб. А вот стратегически думать, брать "крепость", вычислить выгоду не внося это всё заранее паттерном в ИИ, вот это я не врубаюсь как сделать, как начать даже (описать мысль). |
| Автор: Fighter 6.8.2006, 01:28 | ||
Ты на псевдокоде. Ну, ты тогда выложи сюда. Может быть кто-нибудь увидит, посмотрит и возьмется за твой псевдокод. Вообще, можно непосредственно по SDK вопросы задавать, непосредственно о написании, а то тут одни только общие вопросы. Добавлено @ 01:30 Да, интернет у меня в ночное время, так что извините, отвечаю тогда когда вылезаю (иногда даже не доживаю до интернета) - но отвечаю сразу же как оказываюсь в интернете, так что если я сегодня не отвечал - значит я и не вылезал. |
| Автор: Кнером 8.8.2006, 10:06 | ||||||
Этот вариант в начале темы предлагали. Я его просто еще раз озвучил. Предложи свой вариант. Вообще, напримере армии, следующий по званию становится командиром. Убили, следующий и т.д.
В армии как раз учат не думать, а точнее отчают. Там учат выполнять приказы. Сказали бежать, в атаку, значит ты должен бежать, а не размышлять о том, сколько бежать, хватит ли боевого запаса и т.д.
Это кто решает? Сброшенный юнит, все или всё таки командир? |
| Автор: Sardar 8.8.2006, 11:42 | ||
Нету идей
Тут свои ньюансы, в коде это значит они будут обладать в принципе идеентичной логикой, система выбирает наиболее вероятного лидера и отдаёт управление ему. Если какой то юнит, не лидер, нарвёться на проблему, он должен спросить командира что делать, это время, особенно во время жёсткого боя, потери. ИМХО все юниты должны "думать" одновременно, но просчитывать свои приоритеты действий изходя из целей глобального маштаба (карта, куда все докладывают состояния горячих точек и интересных обьектов). Юнит автономен, нарвался на проблему:
Такой ИИ будет самообучаться. По сути это просто система накопления знаний, но в виду своей очевидности (БД с алгоритмами и т.д.) станет не эффективной когда база разрастётся в обьёмах. Вот тут и нужен инновационный подход... Нейронные сети? Как сказал ранее каждый юнит свободен делать что захочет, но "хочет" он из глобальных приоритетов, которые обращаються в конкретные действия. Нарвался он на монстра, сравнил сколько народу вокруге, сравнил что есть важного в округе, если самое важное это сам юнит (мы где то на територии, баз рядом нет), то просто убегаем, помечая проблему на карте. Если же вокруг есть что нибудь более приоритетное, то на карте помечаем большую проблему и ждём подкрепления. А вообще медленно это всё будет работать, тут нужен какое-то, на первый взгляд не очевидное, решение... |
| Автор: arilou 8.8.2006, 14:15 |
Все игродельщики в один голос говорят, что нейронные сети не подходят, потому что 1) Очень сложно обучать 2) Очень сложно отлаживать - представьте себе, у вас заглючило поведение юнита. Как будете отлаживать нейронную сеть |
| Автор: Никто 8.8.2006, 15:01 | ||
Я имею в виду сам алгоритм.Про само понятие псевдокода я могу только догадываться.Расскажи о возможностях монстров.И как инициализируется карта. |
| Автор: Кнером 8.8.2006, 18:09 | ||||||||
Не верю! Ты просто не хочешь думать.
Что именно просчитывать с начало и для чего? А зачем при каждом шаге осуществлять просчёты? Понимание приходит со временем. Я в нескольких темах, выдвинул мысль о том, как снять нагрузку в большом мире.
Какая еще система? Кто это выбирает? Боец тренируется, наращивает боевой потенциал. Поэтому назначается командиром. Никакие другие бойцы не выбирают. Система, список правил. Лидер может быть и дураком, противником и т.д., а не только идеальным и послушным.
На какую проблему? На мину что ли? Так от него ничего не останется. Маленькие задачи, юнит должен уметь решать сам. Если есть важная информация, он её должен сообщить старшему по званию. Да же если он обратится, командир может решить, что чёрт с ним и бросит на произвол. Интересно чему, как и на основании чего. Чуть что, так сразу нейронные сети. Это сложно, плюс много математики, это не каждый осилит. И я пока не вижу смысла использовать в данной игре нейронные сети. Хотел написать год назад игру квадратики. Вместо картинок, анимации, разных цветов точки. Бои квадратиков, кто выживет. И не нужно рисовать ничего. |
| Автор: Sardar 8.8.2006, 19:17 | ||||
Потому что так просто, на каждом шаге решить чего делать дальше, адаптивные алгоритмы поначалу кажуться сложней, но позволяют "не дёргаться" если что-нибудь в мире резко меняеться. Насчёт "понимание приходит со временем" не понял, это про алгоритмы или про меня?
Поделись ссылками, не нашёл. Так всё таки обучаемый ИИ или список правил? По любому вычислеия будут на едином компе, поэтому введение некого "общего разума", витающего над юнитами подобно юзеру сделать удобно, в отличии от реальных машинок/роботов, каждый со своим процем. Проблема есть то, чего юнит сам "захавать" не может, например целый танк с не плохим оружием, когда ты "на половину" повреждён. При чём танк явно двигаеться в сторону наших строений, там где наших юнит мало. Да хотя бы простым выводам [вражеский юнит определённого типа, наш юнит определённого типа, результат боя], наоснове этого будет выбирать юнит "по задаче". В реальности связи сложней, учитываеться масса действий, от чего всё и тормозит... хотя с академической точки зрения интересно, лишь бы "за конечное время". Т.к. сам не осилил |
| Автор: Кнером 9.8.2006, 15:54 | ||||||||||
На первом шаге юнит решил, что он далеко от цели, поэтому стрелять не будет. На следующем шаге он снова это вычисляет? В определенный промежуток времени, достаточно нескольких вычислений. Некоторые вещи вообще вычислять не требуется.
Если ты что-то не понял, поймешь чуть позже. Про всех. Что-то и я не смог найти. В конце сообщения напишу.
Трудно сказать.
Каждый со своим процом, это значит разгрузка главного проца. Что ты подразумеваешь под общим разумом? Помойму говорили о том, что написал алгоритм, запихнул и смотришь. Никаких внесений до окончания сделать нельзя.
Я об этом написал. Важность определяет командир.
Если каждый юнит будет использовать такие правила и всё знать, то уже изначально это будет не интересно. Представь, юнит определил, что он слабее и начинает удирать. Вот так вот они и будут носиться по карте. А если он не сможет определить, он попробует сунутся в бой. А если знать у кого какая мощь, то можно узнать сколько времени потребуется для завершения боя. Скукота. То же не осилил. Написал курсовик на 5. Вроде всё понятно, а в целом каша в голове. - Игра в точки. Черное поле. Размер не важен. Минимальное число расс(точек) две. Минумум, что имеет каждая расса: - свой определенный цвет или не имеет, просто для красоты - главного/важака (всем заправляет, принимает решения, куда и как развиваться) - ученого/исследователя (разрабатывают оружие и технологии) - охотников/слабых военных (кушать добывают) - военных - разведчиков (ищут ресурсы и врага, догладывают инфу, служат глазами) На поле разбросаны ресурсы и различные предметы. Цель завладеть всеми рассами. Это либо уничтожить, либо подчинить. У точек существует инстинкт самосохранения и прочего. Например, на одну точку напали, если есть связь, зовет напомощь. Либо добегает до ближайщих и на определённом расстоянии зовет на помощь. Если какой-то юнит собирается прогуляться, он может пойти не один, ходят группой, ищут. Что-то еще было, не помню. В место роботов, точки. |
| Автор: Fighter 13.8.2006, 04:13 |
| Давайте непосредственно к интеллекту перейдем!!! |
| Автор: Kity 22.8.2006, 12:57 |
| Что-то слишком просто у вас с ИИ получается. Я над проблемой бъюсь уже не первый год и пока не нашла подхода к решению интеллектуальных задач. А если использовать стандартный подход с "правилами", то получится не очень то интересно. Кстати сначала надо бы определиться будет ли ИИ решать интеллектуальные задачи или будет просто работать по жестко заданой схеме. |
| Автор: Кнером 22.8.2006, 13:51 | ||||||
А почему должно быть сложно? Мир и так сложен. Нужно упрощать, упрощать и упрощать. Иначе жить не возможно будет.
А я знаю человека, который дописывает свою ОС с ИИ.
Согласен. Будет просто убитый, заезжанный, плоский шаблон. Но правила должны быть. У робота с ИИ должны быть правила. Иначе как он будет принимать решения? Kity, ткни пожайлуста, где написано про правила? Может быть шла речь про шаблон?
Как я понял, по жестоко заданной схеме. Нам до ИИ рости и рости. |
| Автор: Kity 24.8.2006, 07:46 | ||||
Вообще-то я думаю, что не должно быть сложно. Но мне кажется, что в построении ИИ движение идет немного не в ту сторону.
Где-то выше при описании взаимодействия юнитов. Посмотри сам. Если не найдешь я найду и подскажу |
| Автор: Кнером 24.8.2006, 08:02 | ||
Будет здорово, если ты поделишься своими мыслями. Добавлено @ 08:05 Kity, человек живет по правилам и некоторым шаблонам. |
| Автор: Kity 24.8.2006, 08:12 |
| Что касается моих мыслей, то скорее всего чуть позже выскажусь в кратце. А относительно правил - да, большинство. Но есть редкие исключения (себя я отношу к ним же), которые подвергают сомнению большую часть (если не все) высказываний, утверждений и т.п. Причем проверяют "на прочность" постоянно, даже то что уже проверяли раньше. Я думаю, что человеку проще в нашей суматошной жизни жить по правилам и шаблонам. Но мне лично так не нравится. Я люблю разнообразие. |
| Автор: Кнером 24.8.2006, 08:47 | ||
Kity, а как ни крути, ты всё равно живешь по правилам и шаблонам. Они только чередуются, немного изменяются. В какой-то момент ты от этого удаляешься и забываешь про это. Например, любовь. Про всё забывается, жизнь кажется другой и т.д.
Шаблоны для того и создают, чтобы легче жилось. |
| Автор: Kity 24.8.2006, 09:01 |
Согласна Добавлено @ 09:11 Относительно моих собственных идей. Кратко они заключаются в следующем. Разработчики ИИ стараются зделать "аналог" человека. Но на самом деле решения человека основываются на его потребностях. А если предположить, что человек это как пустой компьютер с операционкой и он сам начинает себя программировать, то и компьютер должен быть на подобное способен. Но только потребности у компьютера совсем не те. Вот если рассмотреть "базу" человека, что ему дано при рождении, и по аналогии построить "базу" для компьютера, тогда можно попробовать запустить ИИ. Но это в САМОМ приближенном варианте. Я давно интересуюсь этой проблемой и даже диссертацию начинала делать. Но по ряду причин не защитилась. Кстати я даже не смогла найти определения интеллектуальной задачи, что было для меня крайне удивительно (может плохо искать умею |
| Автор: Fighter 30.8.2006, 20:32 |
| Может быть попробуем написать ИИ к тому что я уже написал? |
| Автор: Никто 31.8.2006, 10:52 |
| Fighter,извини,я щас не могу,времени нет. |
| Автор: Fighter 2.9.2006, 01:34 |
Хорошо, давайте забудем пока об этом топике до неопределенного времени, до тех пор пока не найдется тот, у кого есть время и кое-чего в голове, чтобы сделать ИИ, а то так фразами кидаться можно до бесконечности, фразами типа "Да вот давайте сделаем так, что у нас на карте война, есть много отрядов, в каждом отряде там есть тот кто подчиняется главному, все подчиняются только ему..." "... Да я вообще думаю нужно на нейронные сети переходить..." Я тоже покидался бы такими же фразами с вами, но только у меня нет времени на это и я стараюсь использовать время на пользу. Так что подождем до поры до времени. |
| Автор: Fighter 10.9.2006, 00:21 |
| Ну чё, появилось у кого время или так до сиз пор ни у кого времени нет? |
| Автор: Кнером 11.9.2006, 17:00 |
| Fighter, может быть твою игрушку взять мне в качестве курсовика? А так, к сожалению, времени нет. |
| Автор: Fighter 12.9.2006, 01:47 |
Ну если серьезно - то возьми - я не обижусь и за авторские права гавкать на тебя не буду. Ты вообще скачивал это все и смотрел у себя на компе? |
| Автор: Кнером 13.9.2006, 18:42 |
| Fighter, а как же, пробывал написать, но ничего интересного не получилось. Времени как такового нет. А я серьёзно, я сейчас выбирают тему для курсовика. Хочу чтобы была связано хоть как-то с роботами... |
| Автор: Fighter 16.9.2006, 05:06 |
Из-за структуры моей программы или из-за самого себя? |
| Автор: Кнером 16.9.2006, 05:37 |
| Fighter, из-за себя. |
| Автор: Fighter 18.9.2006, 00:50 |
| Хмм, ну неужели нет больше никого кто смог бы что-то написать. Я честно признаюсь, что сам неахти в этом интеллекте, но походу дела, придется скоро начинать экспериментировать. Блин, ну неужели никому не интересно запустить в ход битву между интеллектами? |
| Автор: Romikgy 18.9.2006, 00:57 |
какими? |
| Автор: Fighter 18.9.2006, 05:43 |
| Ну, например, ты напишешь интеллект и я напишу и мы их запустим в программе в моей. |
| Автор: Romikgy 18.9.2006, 08:45 |
| правила для интелекта нужны. (а то ты напишешь один скажем наземный, а я напишу так что мой юнит сможет летать , и знаешь че я с воздуха смогу сделать |
| Автор: Кнером 18.9.2006, 20:20 |
| Romikgy, мы об этом ранее говорили. Но автор это решил проигнорировать. |
| Автор: Einforen 21.9.2006, 16:05 |
| Есть подобная игра. http://www.stonepiano.freeuk.com/botwar/botwar.htm Её можно взять за пример. Скажу честно, я в неёне играл, но прочитав эту тему заинтересовался. |
| Автор: Fighter 23.9.2006, 00:56 | ||||
Говоря так, вы прямо говорите мне о том, что мою программу вы не смотрели и ничего делать не начинали. В моей реализации нет различий между воздухом и землей, т.е. не сможете вы написать для воздуха или для земли, все интеллекты пишутся в одной плоскости, если вы считаете это воздух - пусть будет воздух, я считаю это земля - для меня это земля будет. Ну, для того чтобы все знали я еще раз вкратце расскажу концепцию программы если её трудно скачать. Итак, Появляется форма, в которой вы выбираете dll'ки для игроков. 1 игрок снизу формы, 2 игрок сверху формы. Далее это форма на которой надо выбирать ди эл элки скрывается, открывается другая форма на которой появляются 2 прямоугольничка, которыми управляет ваша или моя или вашего соседа ди эл элка. Они стреляют "пулями", пока "пуля" не достигнет границы экрана - новую пускать нельзя, другими словами одновременно не может лететь две "пули" от одного танка (ну или космического корабля, называйте как хотите, а то я не удивлюсь, если я услышу такие слова, что для танка нужно отдельную физику писать, да и вообще интеллект для танка должен быть особенный, он должен отличаться от интеллекта разносчика пиzzы). Все ваши заслуги скромненько приплюсовываются в label (чтобы на меня не посыпались грубости я напишу реализацию приплюсовывания лэйблов)
|
| Автор: arilou 3.10.2006, 17:08 |
| Fighter, предлагаю тему не закрывать, а пусть висит. Кому интересно, тот напишет. all, прежде чем высказывать свое мнение или сомнение, скачайте программу и прочитайте readme. |
| Автор: DarlkElfTen 5.10.2006, 08:48 |
| много буковок в комментах ниасилил но смысл понятен..вывод: нечто типа spore)) удачи.. кстати, какие проблемы с ИИ может смогу помочь? |
| Автор: Fighter 6.10.2006, 01:06 |
| Это я щас выкладываю исходники еще раз, чтобы вы не искали на этом топике откуда что скачивать. |
| Автор: DarlkElfTen 6.10.2006, 15:28 | ||
уна спроект примерно о том же..я тош заинтересовался.. |
| Автор: Dottik 1.12.2006, 01:14 |
| заинтересовался... попробую оживить тему, но нужна ваша помощь накидал черновик проги+маленький сдк+короткий мануал, вобщем тестируйте, жду вашик мыслей, идей.... |
| Автор: Dottik 1.12.2006, 21:34 |
| Улучшеная версия, мануал читать со старой. После этого я перестаю выкладывать сюда материал, так как вижу, что тема умерла, если кому станет интересно , пишите и продолжим... |
| Автор: FelikZ 4.12.2006, 20:42 |
| Привет Dottik! Прикольный проект, было б неплохо добавить несколько вещей для расширения возможности написания ИИ:
|
| Автор: Dottik 5.12.2006, 00:02 |
| FelikZ, приятно слышать хоть какието отзывы Да это был черновик, я сейчас проектирую более серйозную версию, где эти и многие другие идеи будут реализированы. Спасибо за советы, я все прийму ко вниманию! Пишите, если появятся новые идеи |
| Автор: DarlkElfTen 19.12.2006, 22:18 |
| заинтересовало дам потом пару идей!!! поделюсь.. зы: посматрите "Башни" Пишете на си++ ? |
| Автор: DragonFire 19.12.2006, 23:49 |
| Что-то в этом есть)) Отчет о глюках: 1) Поставил игроку 1 задержку 25, игроку 2- 1. Танки стреляют друг в друга но не попадают и так до бесконечность. 2) Если ввести 0 то ошибка. А вот в прикол с движением не въехал... Че танк отеъхать пытается, а потом на это дело зибивает и дохнет?) |