singlepost

Создание мира при помощи массивов << На главную или назад  

Здравствуйте, в голову пришла очередная идея, написать ИИ, по принципу анализа мира, отбросив жесткие конкретизированные условия, в планах следующее:
Создать мир, запустить в него существо, мир будет состоять из земли, воды, огня и человекоподобных существ, изначально человек не будет иметь представления об огне, воде, других людях, если он подойдет к огню, испытает что то типа боли, в зависимости от силы боли что ли... он присвоит огню определенный уровень опасности, если у людей не будет еды, и найти ее они не могут, скорее всего они свернут с правильного пути и убьют кого нить сцелью отобрать пищу, при такой реализации уже появляется нечто немного напоминающее наш мир, интересно таким заняться, тем
более что ето только часть всего задуманного, в планах гораздо большее, теоретически я представляю как все ето реализовавывется, проблема только с созданием мира... Из идей есть одно:
сощдать 1 мерный массив который будет содержать значение от 0 до 2-х
0 - трава
1 - огонь
2 - вода (в будущем список расширится)
далее есловие если массив[1]=0 загружаем траву на х,у
следующую картинку загружаем на х+10,y+10 потом +20,+30, через цикл реалтзовать легко, го тогда получается что х,у- ето не клетка с картинкой, а только верхний левый угол картинки, при таком раскладе неудобно проверять столкновение объектов и сканировать массив, на какой клетке что стоит.
Какие методы создания мира вы быпредложили?

206 ответов в теме “Создание мира при помощи массивов”

Страницы: [1] 2 3 4 5 6 7 8 9 10 11 … 12 »

  1. 1
    Саттар Имамов ответил:

    а ля Spore решил сбацать?

  2. 2
    Василий Волкогонов ответил:

    Ну не совсем, Spore ето игра, а у меня программа, в которой можно будет только наблюдать…как вариант сделать 2 или более племен с разными вещами в мире, с разными взглядами и при их спаривании просто кусок записи одного племени складывается с какой то частью другого племени, тоесть смешивание для получения 3-го вида, нечто близкое к споре, но совершенно другое, скорее всего реализовываться будет наGDI графике, никаких спец еффектов и деретиксов не будет, да и людей в игру я не хочу пускать, наше общество только может взять калаш и расстрелять племена вынашиваемые мною месяцами,, а может и годами =)

  3. 3
    Антон Кононов ответил:

    первое. я ниче не понял. например что за такое: "ИИ, по принципу анализа мира, отбросив жесткие конкретизированные условия"

    второе. давай все-таки разделим твою реализацию на два этапа: 1) отрисовка мира, 2) ИИ

    итак.
    отрисовка идет пофигу как. хочешь отрисовывать клеточное поле из двумерного массива – нет проблем. Всякие там х+10 это пропускаем. Еще раз скажу – как там графика будет работать это определиться всегда успеешь.

    насчет ИИ.
    сила боли – это от лукавого. Смотри как сделано в героях: есть клеточная территория. Каждая клетка поля имеет тип (трава, огонь и все такое) и проходимость. Проходимость измеряется в пунктах движения (трава-1, снег-2, лава-2.5, болото-2.8, каменная дорога-0.4, и так далее, цифры тут не реальныеиз героев, а для примера). Обучением ИИ тут и не пахнет. Это простая задача на нахождения пути по клеточному полю, где известен вес (в данном случае проходимость) каждой клетки. Такие алгоритмы можно поискать и скачать уже готовые.

    Развивай далее твою идею. Где все таки обучаемость?

  4. 4
    Василий Волкогонов ответил:

    ну больето образное выражение, у каждого объекта есть атака, жизни, при сближении человека с огнем, огонь атакует с определенно силой и долей рендома, в зависимости от силы человечек будет присваивать определенное количество опасности, например fair[0].warning:=7 конечно опасность будет высчитываться по формулам, которые пока еще не выдуманны, после чего человек заносит себе в память, что fair[0] не есть хорошо, далее рассматриваем другую ситуацию, идет ему на встечу голодный человек, жрать охото пойдука я убью кого нить, встречает вас, избивает пока вы не ощутите опасность id[0].warning:=10, после чего если повезет он убегает, спит, гуляет, что то делает, изучает дальше мир…и тут ситуация, по всюду огонь, единственный выход закрыл маньяк id[0], проверяем уровень опасности всего что рядом, id[0].warning=10 fair[0].warning=7 решение, ломиться через огонь, далее есть желание реализоваться отношения, т.к. ето не отъемлемая часть нашей жизни, пока я вижу ето смутно, поетому буду образно говорить, идут 2 друга вместе, их сила практически удваивается и на встечу маньяк id[0], человечки оценивают свои силы и пытаются его вальнуть, в итоге id[0] вероятно убежит, он записывает в память, что если народ сильнее, то лучше не нападать, последняя часть сложновата для реализации, но вполне реализуема. Чувствуете тут интелект? Если нет ето ничего не изменит =)жесткие конкретизированные условия – ето условие вида fair[0]=нельзя подходить ибо смерть, в моем случае подходить можно, просто ето больно и можно умереть.
    и насчет алгоритма героев, ето точ то мне нудно, по какому примерно запросу искать? Все изгуглил не нашел…

  5. 5
    Сергей Шпикин ответил:

    Корованы можно будет грабить?

  6. 6
    Вячеслав Шиндин ответил:

    хм, можно задать мир состоящий из объектов, каждый объект может взаимодействовать с каждым, можно задать несколько параметризуемых видов взаимодействий, а ИИ будет регулировать эти параметры..
    например взять объект "существо", оно взаимодействует несколькими способами с объектом "мир", каждый из способов регулируется для конкретного "существа"… теперь этот же объект "существо" вступил в контакт с другим объектом "другое существо", между ними появляются определённые зависимости, какие конкретно зависимости появятся, можно отправить другому ИИ, не конкретного об… кароче сами развивайте )) у меня фантазия дурная)

  7. 7
    Вячеслав Шиндин ответил:

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

  8. 8
    Вячеслав Шиндин ответил:

    ой, тема то была про массивы )
    сори за офтоп

  9. 9
    Жека Кирпичев ответил:

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

    Очень рекомендую "Автономный искусственный интеллект" А.А.Жданова.

    Ну, либо ты можешь попробовать все-таки придумать что-то полностью свое, но тогда уж придумывай это до конца, со всеми подробностями, а еще лучше – напиши программу.
    Например, "он записывает в память, что если народ сильнее, то лучше не нападать" – в какой форме он это записывает? Придумай паскалевский тип данных, которым можно было бы представить любое подобное правило. Я серьезно – возьми бумажку, ручку и придумай! И дай бог, чтобы у тебя получилось меньше нескольких тысяч страниц кода :)

    Если ты попытаешься всерьез копнуть глубоко в этой задаче, то ты увидишь, что сделать что-то хоть сколько-нибудь рабочее – исполински, титанически, невообразимо сложно – это только кажется, что "осталось всего-навсего сделать то-то и то-то". Зато будет очень интересно и ты, возможно, многому научишься.

  10. 10
    Вячеслав Шиндин ответил:

    можно ещё почитать про саоорганизующиеся сети Кохонена, сети Петри, можно что-нибудь по фракталам, вейвлетам и т.п)

Страницы: [1] 2 3 4 5 6 7 8 9 10 11 … 12 »

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.