Иллюстрированная и отредактированная стенограмма Плейлист видео YouTube: HAR 2009: Lightning Talk Friday. Видео выступления в конце.

Я Дон Хопкинс, это онлайн-проект Micropolis.

Я расскажу вам краткую историю, а затем попробую пройти слайды до демонстрации.

История

Перенос SimCity на Unix

Я начал работать над SimCity примерно в 1992 году.

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

Поэтому, когда у меня появилась возможность портировать SimCity на рабочую станцию ​​Sun, я ухватился за это и сделал его версию, используя оконную систему NeWS, оконную систему Джеймса Гослинга на основе PostScript.

А потом я разработал X11 версию SimCity, которая была многопользовательской. Мы продавали это как продукт для Unix. Потом контракт на этом истек.

Версия для NeWS и X11 поддерживала расширенные функции пользовательского интерфейса, такие как несколько анимированных карт и редакторов, а также круговые меню. Версия X11 поддерживала совместную работу нескольких игроков, общий текстовый чат и рисование, а также диалоги голосования. А рабочие станции Unix могли запускать моделирование на порядки быстрее, чем домашние компьютеры, что превратило SimCity в игру с быстрым движением!

Работа с Уиллом Райтом в Maxis

Позже я перешел в Maxis, чтобы работать над The Sims с Уиллом Райтом.

Я раскопал этот код SimCity, и несколько лет назад мы уговорили Electronic Arts сделать его открытым исходным кодом под GPLv3.

Аргумент, а не аргумент: на самом деле им это было очень приятно - то, что убедило их в том, что это хорошая идея, был проект Один ноутбук на ребенка.

Освобождение SimCity под GPLv3 для OLPC

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

И SimCity - это, по сути, типичная конструктивистская образовательная игра.

Но его нужно было раскрыть, чтобы было еще лучше.

Поэтому мы убедили Electronic Arts открыть его, перелицензируя исходный код Unix SimCity под лицензией бесплатного программного обеспечения GPLv3, чтобы мы могли адаптировать его для OLPC и открыть еще больше! Если вам интересно, как нам это удалось, Хаим Гинголд рассказывает все в своей драматической закулисной истории SimCity с открытым исходным кодом в своей докторской диссертации по игровому дизайну.

OLPC - о конструктивном образовании

Этот проект OLPC основан на идеях Сеймура Паперта о обучении детей программированию, даже когда они очень маленькие, и на идеях Алана Кея о Dynabook и объектно-ориентированном программировании и как дети учатся ».

Одна из важных вещей в конструкционизме - это то, что дети помогают друг другу, общаются и учатся друг у друга.

Я адаптировал старую версию SimCity для X11 / Unix к Детскому ноутбуку OLPC XO-I. Исходная версия X11 поддерживала многопользовательский режим, но я отключил эту функцию, чтобы упростить игру, потому что она плохо масштабировалась, была сложной в настройке и плохо спроектированной. Игры OLPC для детей должны быть очень простыми в использовании.

Что нам действительно нужно было сделать, так это создать новую версию с гораздо лучшим пользовательским интерфейсом, предназначенным для использования преимуществ функций совместной работы OLPC и платформ социальных сетей, таких как Facebook. Он должен иметь значимое, масштабируемое и простое в использовании взаимодействие с несколькими игроками.

К счастью, проект OLPC решил использовать Python в качестве официального языка сценариев. Python - это мощный, простой в изучении язык, который широко используется в образовании. Он также очень полезен в качестве языка веб-программирования для реализации многопользовательского игрового сервера.

Но позвольте мне продолжить:

Цели проекта Micropolis

  • Разработайте увлекательную образовательную веб-игру на основе исходного исходного кода SimCity.
  • Ориентация на конструктивистское образование.
  • Создан на основе бесплатного программного обеспечения с открытым исходным кодом.
  • Работает на сервере, играет в браузере.
  • Поддерживает совместную, демократичную многопользовательскую игру.

Цели: мы хотим создать увлекательную игру, основанную на исходном коде.

«Конструктивистское образование» - это общая тема, но не совсем очевидно, как это на самом деле проявляется в игре, и чтобы понять это, нужно провести много экспериментов, проб и ошибок.

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

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

Достижения на данный момент

  • Портирована и отправлена ​​версия Micropolis TC L / Tk / X11 на One Laptop Per Child XO-I.
  • Разработал кроссплатформенную настольную версию Micropolis на основе GTK / Python.
  • Разработал интернационализированную веб-версию Micropolis с открытым исходным кодом.
  • Клиент на базе OpenLaszlo / Flash.
  • Сервер на базе TurboGears / Python / C ++.
  • Обновлен, переработан и задокументирован код.
  • Создал прочную основу и открытую основу для разработки обучающей совместной многопользовательской игры.

Итак, что было сделано: во-первых, мы взяли старую версию TCL / Tk / X11, очистили ее, прошли через службу контроля качества EA и поставили на Один ноутбук на ребенка.

Затем мы урезали код, перевели его на C ++, затем очистили, реорганизовали и удалили весь пользовательский интерфейс. Затем мы начали создавать поверх этого новый пользовательский интерфейс.

Мне очень помогли талантливые люди. Джон Гилмор поддерживал меня в течение многих лет во время разработки SimCity и сопровождал его через сложный юридический процесс перелицензирования под GPLv3.

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

Том Тьон А Лой - художник, который также помогает в этом проекте. Я покажу вам несколько идей, которые мы собрали, о том, в каком направлении оно будет развиваться в будущем.

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

OLPC - это то, на чем люди должны сосредоточиться, и привлечь к работе множество людей, чтобы это произошло. Но мы хотим, чтобы Micropolis работал на как можно большем количестве различных платформ.

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

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

Программное обеспечение с открытым исходным кодом

  • Micropolis построен с использованием тщательно подобранного, хорошо зарекомендовавшего себя, широко поддерживаемого набора кроссплатформенных инструментов и библиотек с открытым исходным кодом.
  • Сам Micropolis и его модуль TileEngine имеют открытый исходный код (GPL3). Клиент работает на фирменном проигрывателе Adobe Flash. Приложив немного больше усилий, клиент также будет работать в стандартных браузерах, благодаря OpenLaszlo.
  • Linux. Apache. MySQL. Python. Каир. Панго. GTK. GCC. SWIG. PyCairo. PyGTK. TurboGears. Генши. SQLAlchemy. CherryPy. ПьяМФ. AMFast. Пирог-меню. OpenLaszlo. Красный5. Ява. Кот. MediaWiki. PHP. Подрывная деятельность. Doxygen.

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

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

Итак, я выделил тайловый движок SimCity, спрайты и звук, и попытался заставить их работать для других целей.

Веб-сервер и клиент

  • Сервер: Linux, Apache, MySQL, Python, TurboGears, SWIG, C ++
  • Портативный кроссплатформенный код C ++ и Python.
  • Linux и Unix
  • Mac OS X
  • Windows (в настоящее время не поддерживается, но жизнеспособна)
  • Развертывается на стандартном сервере Fedora Linux, то есть на сервере Amazon Elastic Computing Server и т. Д.
  • Клиент: OpenLaszlo, XML, JavaScript, AMF
  • Веб-клиент работает в проигрывателе Adobe Flash, который широко поддерживается большинством веб-браузеров и операционных систем.

Архитектура веб-версии заключается в том, что есть ядро ​​C ++ MicropolisEngine, которое вставлено в язык программирования Python в качестве модуля расширения. Затем Python используется для написания сценариев более высоких уровней игры, графики и веб-сервера. Пользовательский интерфейс реализован в клиенте, который написан на OpenLaszlo и работает на Flash в веб-браузере.

Я использую SWIG, инструмент для создания оболочек для библиотек и встраивания их в язык расширений. И это позволяет вам перенести вашу библиотеку на множество разных языков расширения. Итак, сейчас это Python, но это может быть Lua, Java или что-то еще.

Слой оболочки SWIG вокруг игрового движка C ++ является связующим звеном, связывающим классы C ++ игры с Python. Таким образом, C ++ может вызывать Python, а Python может вызывать C ++, и они могут обращаться к структурам данных друг друга и изменять их. Одна хорошая вещь в SWIG - то, что вы можете создать подклассы своих классов C ++ в Python, а затем просто написать все сценарии на хорошем языке.

Это все с открытым исходным кодом.

Веб-сервер использует HTTP и Adobe AMF, что-то вроде двоичного JSON для Flash.

Сейчас я делаю клиент на другом языке сценариев с открытым исходным кодом, который называется OpenLaszlo. Это похоже на JavaScript и XML, которые компилируются во Flash. Но он также будет компилироваться в общий DHTML.

Веб-демонстрация Micropolis (SimCity)

Демонстрация Micropolis (SimCity), работающего на внутреннем веб-сервере Python, с клиентом OpenLaszlo / Flash, включая круговые меню, и роботами PacMan, которые поглощают трафик.

Прямо сейчас я сосредотачиваюсь только на том, чтобы заставить работать интерфейс Flash, и как только краска высохнет, я могу выполнять части, относящиеся к Flash, с использованием Canvas и DHTML и подобных хороших открытых стандартов.

Намерение состоит в том, чтобы сделать его независимым от Flash, но Flash - это самый быстрый способ заставить его работать в первую очередь.

Еще у меня есть пользовательский интерфейс на основе сценариев Python GTK для рабочего стола.

Интернационализация

  • Весь текст поступает из файлов локализации Unicode XML, поэтому текст может быть переведен для поддержки различных языков и стран.
  • В настоящее время поддерживает английский и голландский, но другие языки легко добавить, учитывая ресурсы для перевода.
  • Веб-инструменты для удобного просмотра и редактирования переводов.
  • Это очень важная функция, поскольку изначально мы работаем с голландской системой образования и намерены поддерживать многие другие языки в будущем.

Еще одна важная вещь - интернационализировать его и убрать все нити. Мне бы очень хотелось, чтобы волонтеры помогли перевести его на другие языки. Для этого я сделал небольшой веб-инструмент. Мы делаем это для голландской образовательной системы при поддержке Кенниснета.

Многопользовательская совместная работа

  • Спроектировал, разработал и поставил многопользовательскую версию SimCity для X11 в 1993 году для компании DUX Software, продемонстрированной в Амстердаме на выставке INTERCHI ‘93.
  • Micropolis был систематически переработан с учетом многопользовательского сотрудничества и конструкционистского образования.
  • В настоящее время закладываются основы для поддержки многопользовательского режима и онлайн-сообщества, а в первую очередь запускается и запускается одиночная игра.
  • Учетные записи пользователей. Спасенные города. Общие города. Чат. Роботы и аватары. Базовая интеграция с MediaWiki. Сеанс клиент / сервер, обмен сообщениями и система моделирования.

Ранее я сделал многопользовательскую версию этого для X11. Но X11 плохо масштабируется, и это был своего рода эксперимент.

Но он действительно проверил некоторые идеи сделать из нее совместную, кооперативную игру, а не соревновательную.

Я не хотел испортить игру, но хотел наложить поверх нее еще одну социальную игру.

Мы все делим одни и те же деньги, мы пытаемся достичь одних и тех же целей, поэтому, если кто-то сделает что-то, что вас бесит, вы рассердитесь на них и не будете играть с ними. Это будет происходить на более высоком уровне, чем игра.

Есть голосование за дорогостоящие вещи, например, строительство атомной электростанции или изменение налогов. А недорогие вещи просто бесплатны.

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

Конструктивистское образование

  • Первоначальная игра SimCity была образцовой конструктивистской образовательной игрой, которая успешно использовалась во многих классах, но это был закрытый коммерческий продукт, специально не предназначенный для поддержки образования.
  • Поскольку Micropolis - это SimCity с открытым исходным кодом, мы можем открывать, обновлять, визуализировать, документировать и расширять его замечательными способами, в частности, для поддержки конструкционистского образования, социальных сетей и совместной демократической игры.

Я что-то добавляю, например, интегрирую с MediaWiki.

Одна из важных вещей в конструктивистском образовании - побудить людей помогать друг другу и болтать.

Я хочу научить этому языку. Не только как быть хорошим мэром. Это не цель. Это как написать о том, чем вы хотите заниматься, и убедить других проголосовать за это.

Я думаю, было бы неплохо встроить это в такие вещи, как Facebook и MediaWiki, потому что вы пишете рассказы и газеты и ведете блог.

В The Sims 1 (и более поздних версиях) было что-то под названием The Sims Exchange, где, когда вы сохраняете файл игры, он также записывает кучу веб-файлов, которые описывают ваш дом, вашу семью, историю, о которой вы рассказали. их с картинками. А затем загружает это в Интернет.

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

Эти события в игре дают вам возможность щелкнуть по нему, открыть и написать, как вы его понимаете. А затем автоматически поместите его на вики-страницу или в блог.

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

Конечная цель - сделать его чем-то вроде TiVo для SimCity. У вас есть все эти снимки файлов сохранения, а затем вы можете выполнять ускоренную перемотку вперед и назад, воспроизводя внесенные вами изменения.

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

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

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

Алан Кей сказал несколько действительно замечательных вещей о проекте по внедрению SimCity с открытым исходным кодом в OLPC:

Одна из самых замечательных возможностей этого предприятия заключается в том, что оно объединит очень беглых дизайнеров из многих компьютерных миров (больше миров, чем обычно объединяется в игру) на службе у детей. Мы действительно должны попытаться это осуществить! - Алан Кей

Ищу добровольцев. Я никогда не думал, что буду работать прямо или косвенно с Аланом Кэем, поэтому мне просто пришло в голову, что он этим интересовался. И он меня очень меня поддерживает.

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

Это уже было сделано в 80-х на Apple] [, и это была игра под названием Robot Odyssey, разработанная Уорреном Робинеттом, создавшим Atari Adventure. Так было и раньше. Оказывается, это одна из любимых игр Алана Кея, и что он ждет, когда упадет второй ботинок.

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

Что я пытаюсь сделать - о, мне лучше перейти к демоверсии - так это сделать в SimCity. И с визуальным языком программирования, который является всего лишь слоем поверх Python. У нас уже есть Python. Мне нравится Python. Он хорошо спроектирован. Я не собираюсь изобретать что-то другое, я просто хочу дать вам наглядный способ добраться до всего, что может делать Python, а это что угодно.

Образовательные приложения

  • Поощряйте творческий подход к письму, ведя блог, твиттер, болтая, обсуждая, писая и публикуя газетные статьи о событиях и проблемах в городе.
  • Обучайте демократическим процессам. Написание предложений. Агитация за поддержку. Обсуждение и обсуждение вопросов. Голосование по законопроектам.

  • Публикуйте вики-страницы с интерактивными аннотированными картами, графиком событий и творческими статьями о городах.
  • Откройте симулятор, чтобы включить программируемые зоны, инструменты, роботов, аватары, события, политики, учебные программы и т. Д.
  • Учите старших детей программировать на Python и C ++. Реализуйте язык программирования визуального поведения (например, Robot Odyssey и SimAntics). Учите детей младшего возраста мыслить логически и программировать роботов (например, черепахи с логотипом или Lego Robotics).

Как конструктивное образование проявляется в чем-то вроде SimCity?

Креативное письмо, ведение блога, твиттер и чат: и все эти социальные вещи, которыми занимаются люди.

Демократия. Написание предложений. Пытаюсь найти кого-нибудь, кто поддержит ваше предложение. Публикация вещей в вики.

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

Открытие, чтобы разрешить программирование плагинов. Первый шаг - посмотреть на код, чтобы увидеть, как он работает. А затем настройте его и измените, а затем создайте совершенно новую вещь.

Дети старшего возраста и взрослые могут использовать существующие примеры для изучения программирования на Python и C ++.

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

Это версия третья. У меня сейчас только первая версия.

Следующие шаги

  • Общая городская библиотека. Рейтинги. Пометка. Журналы. Обсуждения. Связывание. Просмотр истории. Совместное использование. Голосование. Профили. Друзья.
  • Текстовый, голосовой и видеочат. Внутриигровой чат с аватарками на карте. Встроенный видеоплеер для помощи, руководств и уроков. Интегрированный HTML-фрейм для синхронизированного просмотра веб-страниц.
  • Интеграция с MediaWiki для поддержки творческого письма учащихся и разработки учебных программ преподавателями.
  • Интеграция PayPal. Пожертвования, подписки и микроплатежи за виртуальные деньги, читы, высокоскоростное моделирование, дополнительное хранилище, сбор средств и т. Д.

У меня запущены веб-сервер и клиент в браузере. Я хочу добавить города, теги, журналы, обсуждения - ну, знаете, всю социальную сеть. Мне приходит в голову, что, может быть, мне просто стоит позволить Facebook заниматься множеством этих вещей. Я просто сделаю приложение Facebook.

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

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

PayPay, чтобы мы могли оплатить все процессорное время, которое требуется.

Социальная сеть

Том Тьон А Лой сделал эти модели того, как SimCity может выглядеть в такой социальной сети, как Facebook.

Личность

Важно то, что у вас должна быть личность. Он знает о тебе. Вы являетесь частью сообщества реальных людей.

Голосование

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

Гражданин

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

Журнал

У вас могут быть эти ссылки на файлы сохранения и на людей, говорящих что-то. Я хочу сделать так, чтобы одна игра длилась неделю и делала много маленьких шагов.

Сообщество

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

Идея в том, что я хочу иметь возможность писать на Python скрипты для церквей и других зон. И создавайте для них новые зоны и контент даже без программирования. Другой плагин - это персонаж или агент плагина. Как монстр или вертолет, с программируемым поведением.

Чат

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

Если вы что-то отложите, откроется интерфейс, который говорит: «Эй, Дон хочет это сделать. Вы за это голосуете? Да или нет." А затем поговорите с этим в чате, где вы сможете обсудить проблему.

Приседающие

А потом представьте, что в вашу игру могут войти другие люди, и они обнаруживают: «Эй, эта зона не развита. Мы собираемся открыть здесь кофейню! "

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

Демо Micropolis

(Это расшифровка видео, которое вы можете посмотреть ниже…)

Есть инструмент для перевода.

Исходный код, дизайн и документация находятся в Google Code.

Ах, это робот! Я хотел показать код. Вот как работает PacMan. Он идет по дороге.

Итак, я написал плагин-робота, которого можно поставить в город.

Я лучше перейду к собственно работающему коду.

Это разные сценарии, которые мы можем загрузить или сгенерировать случайным образом. Здесь мы остановимся в одном из моих любимых городов. Я создал этот город.

Это изящная разновидность ленивого плиточного просмотра. На сервере есть плитки размером 120 на 100, и мы сообщаем серверу, где мы смотрим. И он отправляет только те плитки, которые нам нужно увидеть.

Все, что происходит в городе, фиксируется, и есть чат.

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

Это история.

Вот что хорошо: мы можем сильно поднять налоги. Это было так забавно, потому что налоги в Нидерландах намного превышают 20%.

Мы можем посмотреть на наложение карты плотности населения.

Хорошо, теперь вот и авария. А когда происходит авария, в окне уведомлений говорится: «Привет, авария!», И отображается изображение в режиме реального времени, на которое вы можете нажать, чтобы перейти туда.

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

Я хочу добавить больше образовательных материалов. Как церковь говорит: «Эй, а вы знали, что саентологи этому верят?» и «Щелкните здесь, чтобы узнать больше!». Мы можем думать о церквях как о внутриигровой рекламе.

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

Есть регулировка скорости. Я могу сделать это супер быстро. И все просто ушли. Это больше похоже на твич-игру.

Позвольте мне обмануть. Хорошо, что это? Я только что добавил это, поэтому не совсем уверен. Вы идете «! Вера 1000». Это заставляет их хотеть намного больше церквей. Вау! Хорошо, у меня много церквей. Вот и налоговая база.

Я запрограммировал подключаемую церковь с подключаемым агентом: Церковь Пакмании и PacBot. Церковь порождает PacBots на дороге рядом с ней, которые съедают трафик на дорогах (конечно, снижая загрязнение и повышая свой счет). Поэтому, естественно, Церковь Пакмании генерирует много трафика, чтобы привлечь и накормить PacBots. У меня тоже будет опция «Налогообложение церквей». Если я снизлю налоги, тогда будет приходить больше людей, и церкви будут их нанимать, и они все поедут в церковь. Так что тогда у PacBots будет намного больше трафика.

О, у меня кончились деньги. Позвольте мне поскорее заняться роботами. Итак, это PacBot. Вы можете уложить его. Ой, у меня кончились деньги! Самый быстрый способ - просто обновить экран и начать все заново.

Пойдем прямо, избавимся от этого. О, пирожные, верно! Если вы нажмете… (появляется курсор «Taartmenu» на голландском!) Мне нужно поговорить с моим переводчиком.

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

А еще есть подменю для зонирования парков и тому подобное. Это дает вам удобный интерфейс для быстрых жестов.

Мне нужен был PacBot. Итак, если вы нажмете на него, это будет запускать код Python, который смотрит на карту и ищет трафик, и он идет вверх, вверх, вверх, вверх, вверх. Видеть?

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

Самое замечательное в этом: это еще одна игра, расположенная на вершине. Вы можете сделать свой лабиринт PacBot, а затем вы можете пытать их. Они сойдут с ума, здесь как лев в клетке. Ах, поймал! Ах! Он синий. Давай доставим его сюда. Он не обрадуется этому. Куда он пошел? Ой, есть меню, чтобы от него избавиться, так что, кажется, я удалил его. Вот, положим туда. Он там просто сходит с ума.

Подожди, а где мы были? Очень быстро. Где мой айфон? Я оставил телефон здесь? Вы этого не видите, так что вам придется мне поверить.

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

В конце концов, я хочу сделать всю игру на iPhone, Andriod и других устройствах. Первый шаг - просто присутствовать и болтать там.

Одна интересная вещь: Micropolis - это GPLv3. Таким образом, вы не можете установить его на iPhone из-за пункта о запрете TiVoization, который запрещает использование аппаратных ограничений, чтобы пользователи не могли запускать модифицированные версии программного обеспечения на этом оборудовании.

Но можно запустить симуляцию на сервере, а клиент будет отображать и взаимодействовать на iPhone. Я думаю, что более интересно запустить симуляцию на сервере, чтобы обеспечить социальное взаимодействие; В любом случае, уже есть настоящая однопользовательская SimCity, работающая на iPhone.

Любые вопросы?

Q: Какой чит-код для получения денег?

Майк: Война!

Дон: Вот для чего нужны церкви.

Я призываю вас написать сценарий вашей собственной церкви и подключить ее. У меня полностью будет Летающий спагетти-монстр, и он фактически превратит все другие церкви в церкви Летающего спагетти-монстра, так что это будет спорный вопрос. , и войны не будет.

Диктор: Пожалуйста, поблагодарите мистера Хопкинса за прекрасное решение проблемы с трафиком.

Первоисточник Видео HAR 2009: Молниеносные переговоры Пятница: Micropolis Online: Constructionist Educational Open Source SimCity

Обсуждение начинается в 7:20 в следующем видео и продолжается в следующих трех видео:

Демонстрация начинается в следующем видео в 6:05 и продолжается в финальном видео.