Создание компьютерной игры похоже на написание книги — в общем случае надо не только много знать из разных областей, но и уметь подходить к процессу творчески. В художественной литературе писатель может работать только со словом, а в компьютерной игре автор работает с мультимедийным множеством звука, видео, интерактивности и нелинейности.
Универсальная игра сочетает в себе три качества — история, творчество, соревнование. Сочетания этих качеств приводят к опыту — воображения, навыка и драмы.
Может показаться что ныне самому создать популярную игру невозможно. Разобраться с самыми передовыми технологиями, продумать сюжет, нарисовать графические основы, воплотить правила в жизнь, озвучить.. для одного человека необъятно. Но не стоит забывать и про растущую открытость технологий, облегчающую весь процесс.
Выбор идеи и типа
Самый простой способ достичь успеха - посмотреть как это делают другие, взять существующие идеи и вылизать их до блеска. Развитием этого этапа занимается сценаристы и дизайнеры. Общую тему для сценария игры можно взять из таких тем как:
фантастика / будущее / космос
фэнтези / мифология / религия
реальность / история / криминал / война / симуляция / строительство / спорт
математические и физические головоломки
художественная литература
Дальше - продумать против чего игрок должен бороться и чем управлять. Это конкретные активные противники (стратегии / стрелялки) или же результат деятельности самого игрока (логические игры). В результате сценария игра так или иначе приводит к жанру и способам управления:
Тестирование софта это процесс, участвующий во всех жизненных циклах его разработки, который занимается проверкой и планированием требований продукта, подготовкой и проведением изменений в разрабатываемой системе. Как следствие — находятся несоответсвия требованиям и ошибки, оцениваются инструменты которые были использованы.
А если отвлечься и рассматривать системно, то роль тестера на самом деле лежит в каждом человеке. Если смотреть на проект как на человека, то роли
управляющего проектом это позвоночник и вегетативная нервная система
программисты это скелет и моторика
аналитики это органы чувств
тестеры это совесть
Quality Assurance часто считается синонимом тестирования, но на самом деле это методика предотвращения ошибок, а не их поиска и исправления. Качество в этом смысле - характеристика сделанного продукта.
Формально говоря, тестер должен проверять даже техническое задание, план проекта и анализ на логичность и понятность, а не только код и интерфейс программы. Тестирование как независимая дисциплина в общем потоке разработки ПО появилась в начале девяностых, когда стали более важны аудитория (клиенты), качество и время разработки.
Важность тестирования ПО особенно важна в критических системах. К примеру аппарат по лучевой терапии Therac (1985) облучил смертельной дозой радиации 6 человек из-за отсутсвия проверки состояния агрегата в коде и валидации. Или марсоход в 1999 году принёс убыток в 125 млн долларов из-за непродуманности единой системы измерения между коммандами разработчиков. И даже в Эстонии при электронных выборах были проблемы из-за плохогонагрузочного тестирования.
Основные принципы тестирования воплощены в небольшом документе ISTQB и в книге «Foundations of software testing». Вся «прелесть» специальности тестера в том что как правило для этого не нужны большие познания в программировании и люди далёкие от web-строительства могут себя попробовать в этой роли, впрочем в смежных с IT системах без хорошооплачиваемого тестирования не обойтись (автомобилестроение, военные технологии). Тестированию посвящены даже некоторые журналы, например TEST Magazine.
В английском есть такое слово как parochialism, которое можно перевести как местничество (со значением высокомерия). Robert C. Martin, достаточно известный чувак написавший пару книг об UML и Java, в одной из своих лекций рассказывает интересный пример из флейм-войн по поводу того как язык программирования smalltalk противопоставлял себя языкам c++ (речь конечно не о самом синтаксисе, а о его носителях, community так сказать). Так вот многие smalltalk'овцы (70-80 гг.) считали свой язык настолько более могущественным что не хотели браться за проекты из реальности (ERP, CMS) и делали для себя привелигированное узкое футуристическое направление. Во многом эта мощь сейчас сравнима с языком ruby. Однако язык превратился в академический (т.е. умер).
Все видели Хауза? Сейчас медицинская тема полезна будет - H1N1 шагает по миру.
Так вот он отличается от обычных докторов тем что якобы "знает всё", а
тем более в своей области изучения мозга. Помощники помогают ему с
более детальным диагностированием других процессов и органов, но
подразумевается что они знают много и постоянно учатся.
Посмотрел вот видеокаст googletechtalks (см. ниже) и поскольку я сам занимаюсь развитием эстонского мед. проекта arst.ee, то просто прореферирую о чём
там бубнил индийский профессор с сотнями публикаций (ну такая уж у них
пузомерка) о своей замечательной программе.
Зачем нужна медицинская экспертная система
Доктора (делающие диагностику) не в состоянии запомнить все
болезни, способы лечения и тестов. Даже по своей специальности это
сложно, надо постоянно учится
Даже если диагноз неверный,
мало кто из докторов будет писать о том как он ошибся. Поэтому нет
данных о количестве таких врачебных ошибок
Мед.работники -
ценный ресурс. В развивающихся странах на пациента может в среднем
отводится по пол часа времени такого диагностика что может быть мало.
frag - очко за убийство игрока в шутерах (пришло из войны во Вьетнаме) gibs - куски плоти разлетающиеся при убийстве противника с значительно большей силой чем остатки жизни camper - игрок ожидающий лёгкой добычи отсиживанием рядом с источником оружия aggro - уровень ненависти монстра к отдельному из атакующих его игроков (de)buff - заклинание или последствия яда/зелья уменьшающие или увеличивающие основные характеристики игрока NPC - компьютерный персонаж который в отличие от обычных монстров (мобов) как правило интерактивен (говорит, продаёт, покупает, даёт квест и тп.) tank - игрок, специализирующийся на melee-атаке, удерживании противника на себе, следовательно большой защите и уровню жизни фармить - убивать не представляющих большой угрозы монстров (мобов) ради наживы
Программирование
foo bar - пустышка (в названии файла), многоцелевые слова-указатели на оперируемые объекты в контексте примера; fubar (из войны во Вьетнаме) - fucked up beyond all repair, нечто неработающее как надо
хак - сделать "что-бы работало", но не очень качественно
крутой хак - наоборот, произведение алгоритмичного искусства, лаконично и эффективно выполняющее свою задачу