276

Re: Программное обеспечение

Нотчь продал, без доработок (о которых шла речь по ссылкам выше) Maincraft за 800 000 000 долларов Микрософт.

Сервер крайне низкопроизводительный, так как много элементов в движке. По сути движек не оптимизирован. С комфортом можно 20-100 игрокам присутствовать на 1 сервере. Но этот софт ушел почти за миллиард, из за количества клиентов по всему миру и множества стихийных частных серверов.

277

Re: Программное обеспечение

В Играх песочницах типа Майнкрафт бывают мини игры.

Вот эта загадывает число и человек должен его угадать пользуясь подсказками: больше или меньше.

https://github.com/Ignat99/ScriptCraft/ … erGuess.js

Вот если в игре выше в обработчике acceptInput заменить условия сравнения числа на условие сравнение координаты (условия сравнения чисел для координат по осям x,y,z). А подсказку больше-меньше заменить на горячо-холодно, то получится хорошо известная игра.

А если убрать подсказку, то получаться прятки.

=============

А вот эта типа салочек, только все бегают за 1 коровой (которая не очень подвижная). Считают кто из игроков больше раз успел дотронуться до коровы.

https://github.com/Ignat99/ScriptCraft/ … clicker.js

А еще можно прятать корову и давать подсказки горячо - холодно.

И т.д.

278

Re: Программное обеспечение

На моем сервере бесплатно первый год. Могу через личную почту прислать ссылку. Адресс есть у меня в профиле. А на следующий, ваш сын может сам себе сервер организовать одной командой.

java -jar BuildTools.jar

Более подробная инструкция по установки (Installation):
https://github.com/Ignat99/ScriptCraft

279

Re: Программное обеспечение

Автор: гость



придумать игру – ОЧЕНЬ ПРОСТО, а “интересную игру” – гуманитарный вопрос, произвольный, я например вообще не играю в игры, для меня все игры не интересные.

Вот пример игры Вам (java):

 
import java.util.*;

public class Program {
    public static void main(String[] args) {

        Random rnd = new Random();
        Scanner keyboard = new Scanner(System.in);

        while (true){
            System.out.println("Угадайте число с 1 до 100");
            int digit = keyboard.nextInt();
            int r = rnd.nextInt(100);
            if(digit!= r)
                 System.out.println("Не угадали((\n правильный ответ - " + r);
            else System.out.println("Пoбеда!");
        }
    }
}
 
import java.util.*;

public class Program {
    public static void main(String[] args) {

        Random rnd = new Random();
        Scanner keyboard = new Scanner(System.in);

        int r = rnd.nextInt(100);

        while (true){
            System.out.println("Угадайте число с 1 до 100");
            int digit = keyboard.nextInt();
            
            if(digit!= r) {
                 // System.out.println("Не угадали((\n правильный ответ - " + r);
                 if ( digit < r ) {
                     System.out.println( '\nНе угадали' + 'too low\n' );
              }
                 if ( digit > r ) {
                     System.out.println( '\nНе угадали' + 'too high\n' );
             }
            }
            else {
              System.out.println("Пoбеда!");
              int r = rnd.nextInt(100);
              // TODO: Так же надо добавить выход и/или поместить в обработчик из основного цикла вызов этой функции.
            }
        }
    }
}

Запятые заменил на плюсы, поменял названия переменных (онтология), сделал стилистическое конвертирование (чтоб отступы были правильные).

Переставил шаги, все можно сделать построив граф программы от ответа. Так же надо добавить выход и/или поместить в обработчик из основного цикла вызов этой функции.

https://github.com/Ignat99/ScriptCraft/ … erGuess.js

Интеллектуальный копи-пасте (с учетом онтологии) и есть ИИ. Китайцы с этим хорошо справляются. Других ИИ и не надо. Индусы то же хорошо.

280

Re: Программное обеспечение

Проект Симулятор боя стоит дороже около 30 мил. руб. денег на 2-3 года.

Сам симулятор будет стоить на 10 человек, порядка 300 000 долларов. На одного 15-30 000 долларов.

-----------------------------

Угадывание случайного числа это выжимка, минимально возможный макет игры, который программисты согласны предоставить вам бесплатно.

Например в Майнкрафте ландшафт генерируется именно использованию устройства псевдо-случайных чисел и фракталов.

Так что, если сами сумеете реализовать (скопировать код, скомпилировать, запустить на сервисе), то считайте, Вы решили все базовые технические проблемы, дальше предел для вас только личные компетенции.

В частности для Майнкрафта генерация сервера делается скачиванием и запуском 1 файла на выполнение.

Дальше добавляете плугин поддержки скриптового языка JS и перезагружаете сервер.

Игра угадывание чисел уже там встроенная.

Дальше можно добавлять код на ваше усмотрение, для тренировки в песочнице.

---------

Для реального боевого тренажера (танкиста или тракториста или машиниста или оператора или пилота) нужны реальные ресурсы.

Так например Нвидео потратила 3 миллиарда долларов! только на проект 1 чипа, который с натяжкой подходит для поставленной вами задачи.

281

Re: Программное обеспечение

Автор: *

Глупости, я бы нашел применение 3 миллиардам, потратил бы в основном на бытовые нужды, купил бы дома, яхты, самолеты, острова, себе жене, сыну родственникам, друзьям и знакомым, стал бы политиком, возможно президентом, помог бы больным и тем кому не так повезло в жизни.

http://gotai.net/forum/default.aspx?pos … 133#214133

Обсуждение тут. Система (на которую потратили 3 миллиарда) будет использоваться для слежки и убийств в городах в итоге. IMHO

https://www.youtube.com/watch?v=pL-c00M2CnI

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

282

Re: Программное обеспечение

В основном люди имеют достаточно рефлексов. Треки передвижения по городам людей, животных очень типовые каждый день.

Набрав статистику легко по 3-4 точкам (когда камера вас засекла) не важно в каком прикиде очень  точно сказать кто вы и с кем встречались.

Сейчас так по мобильным телефонам отслеживают. Хоть каждый день СиМ карту меняй, не поможет.

Мне больше не чего добавить по теме программирования ИИ.

Майнкрафт - любой юниор сможет.
Различные стартапы имя которым легион - всякие миделы и люди с 2-3 годами опыта.
Нвидеа - нужны специальные знания на уровне Сеньера.
Микрософт - требуется уровень Эксперта по развертыванию инфраструктуры на уровне Города.
Собственный ИИ - нужно иметь опыт работы Тим и Проджект лидером несколько лет....

Вероятно без денег и Компании-работодателя только уровень Майнкрафта доступен человеку

283

Re: Программное обеспечение

Сравните ваши чувства при запуске игры,

и то что на самом деле происходит:

https://gist.github.com/rogerallen/91526c9c8be1a82881e0

В данном случае, ваши чувства вас обманывают. Не какого мира программа не строит (как это написано в анатации). Происходит загрузка ресурсов в память (битмапов кубиков и звуков, и развертывание фрактальных рельефов).

Сравним с музыкой - да есть генерируемая компьютером музыка. Да она вызывает чувства у человека. Но чувства человека обманывают (точнее транслируют предыдущий опыт человека, который не релевантен к физике вычислительного процесса)

284

Re: Программное обеспечение

В современных играх упрощенная модель реального мира. Администратор в Майнкрафте может двигать солнце командой /time set 0 - и т.д.
Только в нескольких Индийских сказках была информация о человеке, способном на такое в реальном мире.

От положения солнца в игре зависит освещенность каждого блока. Но в Майнкрафте невозможно использовать энергию солнца через солнечные батареи. Насколько я знаю метода для этого не написано.

И путь написания на каждый чих отдельного метода к существующему классу тупиковый.

Хотя с точки зрения философии (традиционной Йоговской) это просто расширение словаря новыми значениями, понятными создателю.

Ни чего плохого в этом нет. Плохо это только для менее развитых людей, которые не смогли так построить свою жизнь чтоб хватило времени для изучения философии (и большого словаря и онтологий).

В Индии для этого в 40 лет мужчины уходили в Джунглии в пещеру или землянку для построения своей онтологии. Иногда их супруги следовали за ними или оставались со старшим сыном.

Так что местным жучкам не надо гавкать на новые слова. В них может быть смысл.

Хотя методы можно генерировать и автоматически, если есть правильная модель. Так в Майнкрафте есть правильная модель рельефа. И деревень. Поэтому они генерируются автоматом в привязке к рельефу

285

Re: Программное обеспечение

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

Там нет проблем с пакетами, как в Perl или с версиями языка, как в Python, то там приходиться держать на винте кучу говна под видом всех библиотек всех версий NodeJS.

Скала выглядит достойным Академическим сложным (люди с недостаточной подготовкой просто не смогут освоить этот язык) языком по сравнению с Бразильским самопалом для бедных NodeJS.

В этом контексте Питон, Перл, Tcl/Tk выглядят совершенными маргинальско-минималистическими поделками

286

Re: Программное обеспечение

Скала это Джава с важными наворотами, которых нет в других языках (Это как Си++ против Си в прошлом веке.). Дот.нет С# работает на Линукс, но люди предпочитают JS, Go и некоторые старые провокаторы Python. Но самые извращенные изрващенцы тянут аналоги библиотек Python в Perl без изменения пакетного менеджера.

Мне лично все равно какой фреймворк. Лишь бы работало и не было уязвимостей и была безопасность кода на уровне

287

Re: Программное обеспечение

Когда писал свое сообщение, как раз вспоминал про Ерланг. Сделанный в компании Эриксон и кажется подходящий для мульти агентных сетевых систем. Насколько я помню его пик популярности был в районе 2000-ных. Я с ним не работал, поэтому точно не скажу какие особенности особенно ценны.

Сейчас стандартом для игр являются С# и набирает популярность Скала, например Майнкрафт Фордже  - там уже готовый сервер и клиент и инсталятор под несколько основных платформ. Считаю что вполне можно использовать это решение для этапа разработки специализированных библиотек. Кстати на хорошем сервере потянет эта система до 100 сетевых игроков.

https://github.com/MinecraftForge/MinecraftForge

При условии использования хорошего железа будет летать. Так как все операции вынесены на графические и физические акселераторы.

Си в этом случае, используется для написания драйверов по голому железу.

Если вы сказали про БакЭнд то это ряд программ:

SAAS компании improbable.io:
github.com/miekg/dinit
github.com/dave-hillier/disruptor-unity3d
forum.unity3d.com/threads/thread-safe-queue-with-no-allocations.308842
research.microsoft.com/en-us/um/people/pcosta/papers/ballani11towards.pdf

Вот примерно такая технология. Всё таки необходим большой дата — центр. Клиентские компьютеры будут (судя по другим имеющимся у меня ссылкам) будут играть вторичную роль.

https://www.youtube.com/watch?v=pKbQyAqto18
http://habrahabr.ru/post/267527/#comment_8599735
https://groups.google.com/forum/#!topic … 8Ar3wom5CM
-----
https://github.com/improbable-io/etcd
https://github.com/improbable-io/passport-steam

Как вы видите, в одиночку в поддержку Многопользовательского гемплея не стоит да же пытаться вникать, при условии что хочется сделать лучше чем у других и опередить всех конкуретнов

288

Re: Программное обеспечение

Автор: *

Сразу вот так все хотелки реализовать невозможно. Но в идеале к этому будем стремится. Сначала обработка на уровне текста, потом звук (в том числе распознавание интонации), потом обработка видео, когда система сможет понимать не только изменение выражения лица говорящего, но и жесты руками, пожимание плечами и прочее. Так или иначе работы подобные ведутся и что-то можно будет позаимствовать в будущем. Соответственно СИМ со временем сможет быть реализован в виде анимированного 3D персонажа, а в очень отдалённых планах даже реализация автономной антропоморфной платформы.

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

Работают коллективами. Каждый делает свою задачу. Иначе всегда в отстающих.
Есть индивидуальные игры написанные упертыми товарищами за 20 лет, технология графики как раз получается 20 летней давности. И гем-плей их не спасает.

Это я к тому, что если вы ИР делаете, то все остальное надо брать готовое. А если за популярностью стремитесь, то ваш ИР должен быть совместим с популярными платформами (Телеграм, Майнкрафт, Юнити 3Д и я не знаю что еще какие программы распознавания голоса и генерации голоса, потому что я не специалист. Но если будет задача - для этого есть специалисты).

Про голос в Майнкрафте могу сказать : Все звуки регистрируются в файле .minecraft/assets/indexes/1.11.json

Библиотеку найтивную для голоса либо в Джар архив укладывают в
./minecraft/libraries/org/lwjgl/lwjgl/lwjgl-platform/2.9.4/lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar/libopenal.so

http://forum.lwjgl.org/index.php?topic= … 6#msg29156
http://rogerallen.github.io/jetson/2014 … etson-tk1/

Либо можно положить в любую директорию и указать путь в командной строке.

https://gist.github.com/rogerallen/91526c9c8be1a82881e0


Это я просто пример привел экспертного мнения. 1 эксперт в своей области, это и есть ресурс и решение. Это человек который превращает проблему в решение в течении 1 секунды.

И вот такие эксперты нужны по каждой части общего проекта. Если вы эксперт по какой то области, подключайте плоды (ваши решения) к достижениям других экспертов.

В частности Порядка 500 человек только в Сан-Пауло в Бразилии активно развивают ДжаваСкрипт. Как вы думаете какой язык будет более популярен в Мире - ДжаваСкрипт с библиотекой ЯзыкаОбразов или ЯзыкОбразов сам по себе?

Скрипт годится для запуска библиотек написанных на Скала (стандарт расширения Джава) и Си++, С#, Go. Я не советую постоянно крутящийся код в цикле делать на скриптовых языках. Сценарии разового выполнения - советую делать на скриптах

289

Re: Программное обеспечение

Автор: *


Это для серверов Майнкрафт (Java)?

Возможно будет интересно в будущем. Но сейчас у меня на первом плане СИМ-собеседник. Игрушками планировал заняться позже.

Да именно этот движек вероятно будет использоваться в школах и в системах виртуальной реальности типа Микрософт, Нинтендо.

https://github.com/Ignat99/ScriptCraft/ … n-quest.js

Вот в этом файле в самом начале (строки 28-32) можно добавить диалог для Моба и ниже по тексту реакцию на ответы и события events.* (стоки 56, 100). Этот файл на Джава Скрипт.

Есть более продвинутый плугин Citizens2 на Java, там гораздо больше возможностей для создания очень продвинутого Моба и есть командный интерфейс и любые Java библиотеки можно прямо во время запуска сервера загрузить в память. Citizens2 можно расширить вашим Языком Образов и сделать любое количество NPC (не игроков - игроков с ИИ)

290

Re: Программное обеспечение

https://hub.spigotmc.org/javadocs/spigot/

Возможно это АПИ вполне годиться для Языка Образов. Каждый объект бывает пассивный материал и активный МОБ. Есть общий класс Мобов, через который можно вытащить их индивидуальные признаки и состояние.

Там же есть список ништяков - коллекций. Кроме того Моб может оседлать игрок (как ковбой лошадь и взять управление) - получиться объект-коллекция с новыми свойствами.

Бывают плугины типа Ситезен2, который может создать толпу объектов.

Можно комбинировать материалы (кравтить) и да же мобов, получая объекты с новыми свойствами.

Можно "думать", перебирая различные коллекции предметов во время крафтинга.

Есть граф навыков игрока и карта достижений - квест. Так образ меча подобен образу палки, только разница в том, что палка состоит из 3 блоков дерева последовательно. А у меча нижний блок это деревянная ручка а верхние два это могут быть камни для каменного меча.

Похоже для мотыги, кирки, лопаты , но с отличием в геометрии.

Игрок "думает" перебирая и применяя на практике к активному-объекту Мобу в каждой ситуации весь спектр предметов, который ему доступен.

Все что остается сделать, это взять Моб - Player и всю вашу теорию оформить в одном джава классе с ИИ игрока, который не будет уступать человеку.

Это для разминки. А затем можно и свою игру сделать.

Interface Entity

    All Superinterfaces:
        CommandSender, Metadatable, Nameable, Permissible, ServerOperator

    All Known Subinterfaces:
        AbstractHorse, Ageable, Ambient, Animals, AreaEffectCloud, ArmorStand, Arrow, Bat, Blaze, Boat, CaveSpider, ChestedHorse, Chicken, CommandMinecart, ComplexEntityPart, ComplexLivingEntity, Cow, Creature, Creeper, Damageable, Donkey, DragonFireball, Egg, ElderGuardian, EnderCrystal, EnderDragon, EnderDragonPart, Enderman, Endermite, EnderPearl, EnderSignal, Evoker, EvokerFangs, ExperienceOrb, Explosive, ExplosiveMinecart, FallingBlock, Fireball, Firework, Fish, FishHook, Flying, Ghast, Giant, Golem, Guardian, Hanging, HopperMinecart, Horse, HumanEntity, Husk, IronGolem, Item, ItemFrame, LargeFireball, LeashHitch, LightningStrike, LingeringPotion, LivingEntity, Llama, LlamaSpit, MagmaCube, Minecart, Monster, Mule, MushroomCow, NPC, Ocelot, Painting, Pig, PigZombie, Player, PolarBear, PoweredMinecart, Projectile, Rabbit, RideableMinecart, Sheep, Shulker, ShulkerBullet, Silverfish, Skeleton, SkeletonHorse, Slime, SmallFireball, Snowball, Snowman, SpawnerMinecart, SpectralArrow, Spider, SplashPotion, Squid, StorageMinecart, Stray, ThrownExpBottle, ThrownPotion, TippedArrow, TNTPrimed, Vehicle, Vex, Villager, Vindicator, WaterMob, Weather, Witch, Wither, WitherSkeleton, WitherSkull, Wolf, Zombie, ZombieHorse, ZombieVillager

В который входят все активные сущности. Для них определены общие методы воздействия и специфические

291

Re: Программное обеспечение

Похоже Глушкова не читали, возможно и Ежова то же. Программа, а тем более алгоритм это математически неопределенное понятие.

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

Во всех реальных программах, явно задан граф всех переходов состояний, причем, последовательность во времени этих переходов и не повторяемость предполагается.

Либо вы получаете бесконечный цикл или деление на ноль.

Для оборудования пишутся предварительно спецификации в виде тех. задания с последующей формализацией. По другому не как работать не будет. Статистика с однотипными эвристиками не является универсальным алгоритмом

292

Re: Программное обеспечение

Автор: *



Я скажу своему сыну, и он постарается посмотреть про этот сервер !

Сервер из ролика для больших дядей. Для маленьких детей есть другой сервер, через личную почту из моего профиля могу подсказать IP. Там есть простой доступный каждому интерфейс программный. Поэтому есть возможность написать свой ИИ с опорой на уже существующий мир. Сеноры внешние из реального мира, так же можно подклчить. Необходимый брокер MQTT для управления и сбора данных есть на сервере

293

Re: Программное обеспечение

https://github.com/Microsoft/malmo#getting-started

https://www.microsoft.com/en-us/researc … ct-malmo/#

https://blogs.microsoft.com/next/2016/0 … dp1ubwg7bx

https://news.microsoft.com/ru-ru/e-kspe … minecraft/

https://www.youtube.com/watch?v=NepqDx_kW4I

[youtube]NepqDx_kW4I[/youtube]