В этой статье я расскажу о разработке и эволюции технической части браузерной игры «Пути Истории».
Уделю внимание выбору языка программирования, базы данных, технологии и архитектуры. Расскажу о хостинге.
Пути Истории — это массовая браузерная стратегическая игра. Проект начинался с энтузиазма одного человека и вырос до серьзного проекта с немалой аудиторией.
Агрегатор статей о разработке Flash приложений и Flash игр (Flash Development / Game Development)
Все права принадлежат их авторам
четверг, 2 июня 2011 г.
Браузерная стратегия «Пути Истории». Архитектура и эволюция проекта
воскресенье, 27 февраля 2011 г.
Глобальное хранилище
При разработке всегда хочется создать некий удобный сундучек, куда можно было бы складывать часто используемые вещи, то есть указатели на экземпляры классов или их методов для быстрого доступа к ним. И вот сегодня я хочу поделиться с вами таким сундучком [...]
четверг, 17 февраля 2011 г.
Не программные примеры шаблонов проектирования программного обеспечения
Шаблоны проектирования программного обеспечения уходят корнями в архитектурные шаблоны Кристофера Александера, и в вопросы перехода к объектам. Согласно Александеру, шаблоны повторяют самих себя, поскольку они являются обобщенным решением для задаваемой системы сил. Вопросы перехода к объектам рассматривается в реальном мире для того, чтобы проникнуть в суть взаимоотношений при моделировании программного обеспечения. С такими двойственными корнями, вполне логичным будет найти повторяемость шаблонов проектирования программного обеспечения в объектах реального мира. В этой статье представлен реальный мир, не программные экземпляры каждого шаблона проектирования из книги «Приемы объектно-ориентированного проектирования. Шаблоны проектирования» [13]. В статье также приводятся выводы о не программных примерах как эффективной основе языка шаблонов для взаимообщения и обучения проектированию шаблонов.
1. Введение
В индустрии программного обеспечения существует растущее сообщество сторонников применения шаблонов. Корни перехода к шаблонам можно найти в работах архитектора Кристофера Александера, который описывал шаблоны как обобщенное решение для задаваемой системы сил в мире [1]. Шаблоны Александера можно обнаружить в повседневных структурах. Каждый из шаблонов в «Языке шаблонов» [2], включает в себя картину архетипического примера шаблона.
Поскольку объекты были преобладающим взглядом на мир в то время, когда мир программного обеспечения знакомился с шаблонами, они тоже имеют корни в переходе к объектам [9]. К сожалению примеров шаблонов моделирования программного обеспечения было не так много как у Александера, а они представляли собой более элегантные модели, в отличие от моделей, что люди генерировали в самом начале [13]. Доступ к элегантным моделям часто ограничивался в связи с проприетарным характером большей части программного обеспечения, разработанного сегодня.
Согласно Александеру, реальный мир шаблонов всегда повторяет самого себя, поскольку в соответствии с заданным набором обстоятельств, всегда существует определенные поля взаимосвязей, которые являются наиболее хорошо приспособленными к силам, которые уже существуют [1]. В программном обеспечении, задачи реального мира либо моделируются целиком, либо объекты реального мира сводят к аппаратному программному обеспечению, а программы выводят результаты реального мира [5]. Поскольку шаблоны моделирования программного обеспечения имеют корни как в шаблонах Александера, так и в вопросах перехода к объектам, представляется вполне логичным, что шаблоны моделирования программного обеспечения могут быть найдены и в объектах реального мира. Это не означает, что шаблонам моделирования программного обеспечения необходимы модели объектов реального мира, но взаимосвязи между объектами, которые приспособлены для работы с определенными силами, могут быть обнаружены как в «реальном мире», так и в объектах программного обеспечения. Чтобы проверить эту гипотезу, были найдены примеры из реального мира для каждого из 23 шаблонов «Банды Четырех» [13]. Эти примеры приводятся далее в разделах со 2 по 4.
2. Порождающие шаблоны
Пять порождающих шаблонов были задокументированы группой авторов, называвших себя «Бандой Четырех». Примеры таких порождающих шаблонов могут быть найдены в обрабатывающей промышленности, на предприятиях быстрого питания, в биологии и в политических институтах [...]
пятница, 14 января 2011 г.
Осваиваем Flash. Часть 5.
Всем привет!Давненько я не писал ничего нового, но сегодня я постараюсь восполнить этот пробел. Нам предстоит проделать много работы, так что наберитесь терпения и не торопитесь.
Итак, сегодня я опишу реализацию основного цикла приложения, мы набросаем менеджера сцены, конвейеры рендеринга и обновления, а также разберемся в реализации менеджера образцов.
Без лишних слов, приступим!
- Нам потребуется некоторый универсальный объект на все случаи жизни, таким объектом станет класс S_Node.
- Для управления этими универсальными объектами нам понадобится менеджер сцены S_SceneManager.
- Так как менеджер сцены сам по себе не может хранить объекты, то для этой цели мы опишем менеджера образцов S_InstanceManager и расширим класс S_Node, создав класс S_Instance (потомок класса S_Node). Это связано с тем, что менеджер образцов работает только с объектами типа S_Instance.
вторник, 7 декабря 2010 г.
TowerDefence #4. Готовимся к поиску пути
суббота, 4 декабря 2010 г.
Package organization
Организация кода в пакеты
Словарь
Рефакторинг - Классическая книга описывающая практики рефакторинга - http://www.ozon.ru/context/detail/id/1308678/
DSL - Domain-specific language
Введение
Пакеты это механизм для организации кода и разрешения конфликта уникальности наименования классов. Это техническое определение, но по какому принципу создавать наименования? Какими критериями руководствоваться? И зачем вообще об этом задумываться?
К сожалению этот вопрос слабо освещен в классической литературе. В данной статье я хочу поделиться своим опытом и некоторыми исследованиями по данному вопросу. Первая часть статьи это моя попытка выделить общие принципы. В частности много идей я подчеркнул из презентации Juergen Hoeller, http://www.infoq.com/presentations/code-organization-large-project. Вторая часть статьи - описание вымышленного flex проекта и пошаговое развитие его структуры на основе сформулированных принципов и моего личного опыта.
Общие принципы
Можно сформулировать следующие архитектурные принципы:
- Избегать циклических зависимостей;
- Избегать дублирования;
- Формировать модули;
- Стремиться создавать слабо связанные модули;
- Выбирать модули на основе логической, концептуальной организации (домена)
Далее о каждом их них более подробно [...]
TowerDefence #3. Первый враг
Осваиваем Flash. Часть 3.
Всем привет!Итак, как и было обещано, продолжаем разбираться с разработкой игр на Flash. В этой части мы разберем один из наиболее важных вопросов - проектирование и архитектуру интерактивного приложения.
Эта часть будет полезна не только Flash-разработчику, но и любому, кто собирается серьезно заниматься разработкой компьютерных игр.
Часть третья. Почувствуйте себя архитектором.
