Pull to refresh

Comments 79

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

Ну и не очень понятно, хачем в подобной казуалке лимит по времени для уровня. Они скорее призваны расслаблять, чем устраивать гонки со временем
По поводу разрешения — в казуалках популярные разрешения — это 640x480, 800x600, 1024x768. 1024x600 для будущих проектов рассмотрим. В данной же игре и так места мало, если еще и до 600 ужаться, то совсем тяжко будет.

По поводу лимита времени на уровень — вы не первый, кто об этом говорит, возможно позже выйдет версия, в которой будет режим без времени.
«Полцарства за принцессу» были вдохновителем? ))
за статью спасибо, интересно
хороших продаж!
Не буду скрывать — на нее смотрели, когда делали, однако хотели сделать лучше, вроде получилось.
Думал, что снова о очередной игре в соц. сети «В».
Рад, что ошибся!
Глаза сломал, пока пытался прочитать слово «непостмортем».
UFO landed and left these words here
bill.realore.ru/robo/?gamecode=roads_of_rome
>Получить ключ в смс-сообщении:
Для получения ключа от полной версии игры «Дороги Рима», отправьте код GAME151 на номер 4161.
Ключ придет в ответном сообщении.
>Электронный платеж:
Чтобы оплатить игру «Дороги Рима» электронными деньгами, введите свой е-mail. После нажатия кпонки «Ok» вы будете перенаправленны на страницу Робокассы, где сможете выбрать способ платежа.

Разве это не то что вам нужно? Как я понял, можно получить ключ через смс, но можно и через робокассу, которая предлагает большой спектр сервисов.
Не получилось, к сожалению, запустить (Win7 x32, 1920x1080, GeForce 8600GT). Вроде запустилось, но тут же свернулось и все. )-:
Даже не знаю что и думать. Раньше таких проблем не наблюдалось.
Свернулось = закрылось?
Свернулось в таскбар. При попытке опять развернуть — 1-3 секунды черный экран и опять сворачивается. При этом, время бесплатной игры идет.

Дрова все свежие. DirectX — может не самый свежий, но точно не древний.
Вряд ли смогу помочь, возможно дело в системе защиты, я к ней отношения не имею.
С NVidia были проблемы с обнаружением поддержки 3D (проблема драйвера), но это приводило к тормозам в игре.
DirectX подошел бы и 7 (для XP разумеется). Но если были патчи для DirectX под Win7, то стоит их поставить.

Вообще проблема драйверов и особенностей Vista/7 — это 90% всех проблем с запуском игры (врочем это справедливо и для многих других игр).
Что ж, жаль. Буду тогда ковыряться и экспериментировать. Спасибо.
Понравилась графика, задумка вроде тоже ничего так, но, как уже прозвучало выше в комментариях, не понравился таймер. Хотелось просто отдохнуть, а получилась гонка за временем…

Отличная статья! Спасибо. Узнал как игры делаются.
Спасибо за Pyro Effects, у меня пока самодельная система частиц. Сейчас, как раз, тоже пишу 2D-игру. Только в качестве фреймворка для рисования использую ClanLib (кроссплатформенный). Там же в куче умные указатели, XML-парсер, работа с потоками, математика, api для шейдеров и т.д.
Я его тоже рассматривал как вариант следующего движка, но он вроде на OpenGL, а последний есть не на всех машинах казуальщиков. В этом основная проблема, если ClanLib доведут до поддержки DirectX, тогда будет классный движок.
А что скажите по поводу системы частиц. Pyro, как я вижу, только под Виндовс. Magic Particles пишут, что там возможно портирование. Но не знаю, как-то хотелось бы нативной поддержки +бесплатное. Может ещё какие-то библиотеки знаете, буду благодарен.
Попробуйте обратиться к разработчикам Pyro — на сайте упоминается о MacOS/iPhone версиях.
Ох… Покажите мне хоть одну машину, где *есть* DirectX, и *нет* OpenGL?..
Точно сейчас не назову, вроде это были какие-то компы с ускорителями от Intel, старые само собой. Но у казуальщиков далеко не новые машины бывают.
Погодите, речь о чем? О том, что есть аппартное ускорение рендеринга Direct3D, но нет такового в OpenGL? На моей памяти такого никогда не было. Были динозавры по нынешним временам типа S3 Virge DX, PowerVR, всевозможных Voodoo и т.п., которые работали вообще через отдельную собственную библиотеку, и к ним робко появлялись OpenGL compatibility layers. Direct3D на них вообще никогда и никак не работал. С некоторых времен вся разработка API драйверов стандартизирована под OpenGL (благо это относительно хороший, адекватный и расширяемый стандарт), а Direct3D всегда работает поверх этих драйверов. Или вы не об этом?..
Я говорю о том, с чем приходилось сталкиваться. На одном проекте команде программистов пришлось переводить движок с OpenGL на DirectX именно по этой причине.
Одно дело теория, другое дело как оно обстоит на практике.
Ну и да, ClanLib не имеет прямого отношения к OpenGL. ClanLib сама работает через некое настраиваемое число backend'ов — в частности, есть вариант работать с ClanLib с SDL.
Как я помню, оттуда выпилили SDL из-за несовместимой лицензии.
Не выпилили, я отделили в отдельный проект.
Мне вот всегда было интересно зачем игре при установке админские прова нужны? Даже ставить дальше не охота стало :(
Потому что в норме у нее не должно быть возможности выполняться из места, куда ей разрешена запись.
Всё это хорошо и интересно, однако хотелось бы задать пару вопросов:
Почему было выбрано всё зависимое от windows? На использование кросс-платформенных библиотек не хватило опыта или времени на изучение? Может была какая-то иная причина?
Для управления задачами почему использовали такой достаточно примитивный способ? Было так мало информации что не было смысла использовать полноценный сервис?
Почему именно отдельное, а не веб-приложение? Рынок таких казуальных приложений сейчас активно переходит в веб(если не перешёл уже).
Использовалась ли система контроля версий?
> Использовалась ли система контроля версий?

По моему без них сейчас пишут только отчаянные одиночки сорвиголовы :) Я даже для домашних мини-проектиков svn использую, чтобы в случае чего не было «мучительно больно»
Код и арт я храню в бесплатном SVN-хранилище

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

По поводу управления задачами. Почему так как есть: я один программист на этом проекте, важно то, что в Google Docs не приходится ожидать загрузки страницы бага/фичи (критично). Если знаете систему, которая имеет минимум функционала, и при этом работает быстро, с минимумом кликов — назовите имя.

Про Windows: изначально было требование PopCap Framework, который только на Windows.
Все остальные библиотеки существуют и на других платформах, либо не привязаны к конкретным платформам.
> Если знаете систему, которая имеет минимум функционала, и при этом работает быстро, с минимумом кликов — назовите имя.

todoist.com (wedoist.com для команды)
>Выпускаются флэш-версии, но они урезаны и несут рекламную функцию
Да, было много таких игр раньше. Сейчас же в индустрии казуальных компьютерных игр всё чуть иначе.
Делая игру на флеш или на html5 canvas, нет нужды работать над многими деталями вроде использования специальных кросс-платформенных библиотек.
А ещё, пользователям нравится «купить и сразу играть». Создание обычного приложения, standalone, будет многого требовать от пользователя: умение установить игру, установить prerequires, переустановить библиотеку, если она глючит(пример — habrahabr.ru/blogs/gdev/105011/#comment_3379125) etc.
Веб не требует у пользователя знаний даже что такое DirectX. Не требует даже знать что такое Windows и куда лучше установить игру.
Вы задумывались над этим?
>производительность, качество
А действительно ли оно нужно такого качества в казуальных играх? Может, имеет смысл отказаться от некоторых «наворотов», которые требуют только лишнее время, а фана пользователю не дают?
>что в Google Docs не приходится ожидать загрузки страницы бага/фичи (критично).
А что есть ожидание? 0.2-1 секунда рендеринга html-страницы на каком-нибудь багтрекере?
Попробуйте RedMine для своих и не только проектов.
>которая имеет минимум функционала, и при этом работает быстро, с минимумом кликов
Практически любая система управления проектом вроде RedMine. Помимо того что работает быстро и не требует и 4 клика чтобы добавить баг, имеет хороший интерфейс(минималистичный достаточно), имеет огромное количество функционала, который можно и не активировать, который поможет во всех аспектах жизни проекта.
>Про Windows: изначально было требование PopCap Framework
Я сначала подумал что это было только пожелание заказчика. В таком случае — да, всё понятно.
Спасибо.
У вас совершенно неверная информация о рынке казуальных игр. Вы участвовали в разработке казуальных игр?

А действительно ли оно нужно такого качества в казуальных играх?

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

А что есть ожидание? 0.2-1 секунда рендеринга html-страницы на каком-нибудь багтрекере?

Если разработка удаленная, то сервер не у меня под столом стоит, и секунда рендеринга страницы было бы хорошим результатом. Многие онлайн-сервисы слишком уж неповоротливы.
Для добавления бага нужно 2 клика максимум (клик на «создать», вписать текст, клик на «ок»), все что будет больше — не подойдет.
Вот как-то так.
Дело в том, что я тоже немного занимаюсь разработкой казуальных игр.
Практика показало что пользователи не интересуются графикой(её качеством) в таковых играх.
2 полигона — орк, текстура 2х2 и на всю карту — не то что я имею ввиду. Вы не верно меня поняли.
Казуалу как-раз интересно не качество воды, которую вы делали. Казуалу интересно не качество дорожки или теней.
Условно, можно ввести порог для графики таких игр. Выше этого порога — лишняяя трата времени и денег. Ниже — хардкор(т.е. интересно хардкорным игрокам, которым точно пофиг на качество, главное — геймплей), потеря аудитории.
>И эти две категории очень слабо пересекаются.
Онлайн-игроки и казуалы? Думается мне, вы не анализировали рынок вообще или просто мало в этом понимаете.
>Многие онлайн-сервисы слишком уж неповоротливы.
Судя по тому, что вы выбираете сервисы вроде xp-dev, вы не умеете искать и находить хорошие сервисы для ваших задач.
Все «модные» системы не заставляют пользователя ждать больше 1 секунды на рендер страницы, а добавление бага никогда не выходит за рамки клик-ввод-ок.
Практика показывает, что игры, в которых «так себе» графика в топ не попадают и издатели ими интересуются слабо (что пропорционально сказывается на продажах). Совсем иное отношение к красивым играм, геймплей конечно важнее, но хорошая графика — это как дополнительный множитель, который может быть как больше единицы, так и меньше.

И если вы считаете, что разбираетесь в рынке каузальных игр, то покажите, пожалуйста, свои казуалки. Пока же все выглядит так, что вы не понимаете рынка _именно_казуальных_ игр, либо путаете казуала с другим игроком.
лучшая система контроля версий — trac
Ээээ. Trac не является VCS:
Trac is an enhanced wiki and issue tracking system for software development projects.
шопопало я написал :(
хотел написать trac — лучшая система управления проектами :)
Раньше использовал его, но перешел на radmin. Это его наследник с множеством улучшений.
а мы столько всего допили в trac сами, что переходить не нашли причин
да нахрен нужны ваши веб-игры
веб никогда не станет ни по отклику, ни по скорости такой же как standalone
а от таких идей как ваши, только всё больше и больше распространяется зараза веб-приложений
wine1.2 полет нормальный. Только пришлось отключить игровой курсор в настройках. Родной не отрисовывался.
Неужто и ускорение подцепилось?
Да, все отлично отрисовывается.
Будет очень интересно почитать следующую статью с методами продвижения игры и результатами продаж.
Да, но вряд ли она появится :)
Я пишу о том, чем занимаюсь. Продвижение и результаты продаж не в моей компетенции.

Но до 9 места в топе BigFishGames игра добиралась.
А у меня курсора не видать. Клацать на кнопки и играть я могу, но как слепой, на ощупь. Win7 x32, ati 1950xt, 1920x1080, directx9.
А можно узнать о бесплатном SVN-хранилище поподробнее? Какое посоветуете?

И такой ламерский вопрос — что такое «твинер»? У меня есть догадки, возможно мы используем для таких вещей другую терминологию, но хотелось бы услышать от вас всё таки что это такое?
1) xp-dev.com (но для новых пользователей только 200MB квота, я просто там давно), но я бы вам рекомендовал попробовать bitbucket.org (там Mercurial), если бы начинал сейчас, то выбрал бы его.

2) «Твинер» — это из флэшовой терминологии. Изменение какого либо параметра по определенной формуле (линейно, с затуханием, по синусу, и множество других вариантов). Точнее не знаю как описать.
xp-dev является примером такого «хранилища», которое сделано плохо.
«Твинер», если вы верно охарактеризовали значение этого слова, это просто State Machine.
Нет, это не State Machine. Есть объект с координатой X=100, вам необходимо, чтобы он переместился за секунду в X=200, но не линейно, а чтобы в конце плавно «притормозил». Вот это и делает твининг/easing.

Чем конкретно плох xp-dev?
xp-dev имеет сравнительно грубое оформление, громозкий дизайн и достаточно плохо качества сервис.

В любом случае «твинер» можно сравнить с современными реализациями State Machine, которые позволяют использовать и такие эффекты как затухание и другие.
xp-dev — нормальный сервис, если использовать только SVN (как я), я даже не захожу на страницу сервиса — у меня нет в этом необходимости.

Последние полгода (а может и год — сложно припомнить уже) не было ни одного «внезапного» отключения сервиса, о всех отключениях предупреждали заранее и было это только глубокой ночью.
Насчет твинера, подкиньте ссылку на такие State Machine.
Правда State Machine слишком громоздок для такого типа задач (имхо), с твинером же гораздо проще работать.
Кстати в игре с помощью твинера сделано: шатание веток и елок в главном меню, в игре: появление/исчезновение ресурсов, исчезновение завалов, переходы между сценами комикса, падение деревьев (как поворот, так и преход в невидимость), появление и исчезновение животных, в диалоге статистики — прилетающий из-за экрана «штамп». Это конечно не все, но первое что вспомнилось.
Делать для этих вещей StateMachine'ы как-то совсем не увлекательно (если только они не позволяют все то же самое «из коробки»).
UFO landed and left these words here
Спасибо, исправил про HGE.

PopCap Framework нравится тем, что АПИ очень логичное, учтено множество особых ситуаций, хотя «в кишках» он местами ужасен, но это лучшее из OpenSource что я видел (из того, что держит DirectX).
UFO landed and left these words here
MicroPather выбран, потому что времени разрабатывать свой поиск пути, а главное отлаживать его, не было. А тут есть такой удобный и готовый.

Работа под Wine не гарантируется (хотя выше писали, что работает).
Игрушка подтормаживает скорее всего из-за того, что работает в программном режиме (без ускорения).

Воду и не планировалось делать шикарной, тем более DirectX7 сильно связывает руки в этом отношении.
>Не слушайте школоту, которая говорит, что такой фреймворк пишется за месяц работы.
В 23 я такое за два месяца написал.
Но было много опыта и до этого — с 16 лет «геймдевом» занимался.
Потом, слава богу, отпустило
У вас было в том движке все перечисленное мною? Т.е. stack-trace, система виджетов, поддержка внешнего файла ресурсов (и ресурсная система в целом), упаковка ресурсов в один файл, переход в программный режим, если ускоритель не обнаружен (или нет драйвера), отлов memory leak'ов, поддержка разных языков, рендеринг битмап шрифтов и т.д.? И все это вы написали за 2 месяца? Т.е. написали за два месяца и после этого не отлаживали движок еще два месяца?
Stack-trace — не знаю что за хрень.
Отловом memory leakом занимались смартPtr и сам по себе VS(CodeСтрашное слово).
Плюс хорошо бы держать разную память в разных пулах( конечный алокатор был nedallow + winie:Alloc), и изредка один из пулов либо грохать, либо смотреть что у него там внутрях.
Поддержка паков была. Любой квакер любит паки. Да.
Поддерживал аш три языка — С++ на котором написал и Lua+Python которые были подрублены во все интересные места.
Рендеринг банальных текстурок шрифта был. Три варианта. Еще и векторный тоже был. И генерациях этих шрифтов, чтобы можно было привычные виндовые в линукс версию экспортировать :)

Была ли поддержка програмного рендера?
Нет. Никак и никогда :) GF2 и не ниже. Сейчас наверное GF4( полные шейдеры) и не ниже. Хрен его знает. У меня не только сейчас VS нету но и сколь угодно полного и рабочего кода с тех времен. Стер год или два назад.
Хинт — на нетбуке эта вот хренова GMA малек медленее GF4 кстати.

Я раньше дураком был — писал дома он нефиг делать какие-то никому ненужные програмки, да вот и набил руку :)

>этого не отлаживали движок еще два месяца
Никаких дебагеров! Берем кофе, VTune, закрываем дверь и просчай человечество…
А я не тратил на это времени, не заморачивался с VTune (кстати в попкапе даже примитивный профайлер есть) и дебагом фреймворка, а писал игру. И считаю это главным в разработке игр — разрабатывать игры, а не движки (иначе это уже разработка движков).

Stack-trace — при падении выдает трэйс стека вызова функций, от начала и до точки падения.

Ну и для казуалок нужно рассчитывать на очень примитивное железо, никаких GF4.
Вот оно главное наше отличие — я могу быстро делать отличные движки.
Ставить их на полочку, смотреть и радоваться.
Вы же не только и не просто делаете, но и сделаете игры.

Но где можно найти сейчас примитивные игры — лично мне до конца не ясно. Есть же свои логические пределы.
Видеокарта с поддержкой всех новомодный чтук. Ну ладно обрезанная по скорости и памяти — 1к рублей.
Гигабайт оперативы, а то и два( места знать надо) — 1к рублей.
2к рублей = один раз хорошо поквасить\один раз средненько сходить в магазин\два месяца кататься на метро\месяц на электричке\4 раза подарить цветы жене\ 8 раз покушать бизнес ланч…
В общем значимо, да не особо
У казуалов бывают не столько дешевые компы, сколько старые. И не всегда принадлежат им, иногда это просто рабочий комп, в который они не могут чего либо добавить, а самому компу уже много лет.
Вот почему такие ограничения по железу.
Стал уважать свою тещю — своевременно апгрейдит железяки :)
понравилось.

1) на ноуте (win 7, i3, широкоформатный дисплей -1300x«не помню сколько» )
не пошло — показывает темный экран, синюю заставку и вылетает в десктоп.
2) на XP3 компе с широкоформатным моником и разрешением (1680x1050) заработало.
3) дождь отвлекает — слишком ярковыражен.
4) индикаторы ресурсов опционально продублировать или переместить вниз — времени не было пялится вверх.

респект.
(1) — если ATI, то должно помочь обновление до последних драйверов, если же Intel или NVidia, то ХЗ.
(3) — специально задумано как помеха для игрока
(4) — подумаем над этим
Спасибо за статью.

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

В связи с этим вопрос.
Если последний язык, который учил — Паскаль в ВУЗе, то что лучше использовать для разработки:
1) Лучше изучить игровой конструктор или продвинутый редактор карт (например, старкрафтовский-2) или все же
2) Сесть за изучение языка программирования (Flash или C#)?
Если как геймдизайнер, то язык не важен (хотя знание скриптовых языков может понадобиться).
Но чтобы пробовать себя в качестве «геймдизайнера» нужно либо устроиться куда-то работать на эту должность, либо найти команду, с которой вы будете работать.

Вообще хороших геймдизов не так уж и много, в связи с чем вопрос: почему вас интересует именно эта роль? Насколько хорошо вы себе представляете работу геймдиза?
> Но чтобы пробовать себя в качестве «геймдизайнера» нужно либо устроиться куда-то работать на эту должность, либо найти команду, с которой вы будете работать.

Живу на периферии, с командой тяжело. Основное время занят обычной работой для пропитания семьи. Так что единственный выход, который я вижу — это «хобби по вечерам».

> Вообще хороших геймдизов не так уж и много, в связи с чем вопрос: почему вас интересует именно эта роль?

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

> Насколько хорошо вы себе представляете работу геймдиза?

Уже как 5 лет читаю Dtf.ru ;)
Если с командой тяжело, то можно попробовать вести разработку самостоятельно, я бы для этого рекомендовал попробовать свои силы на flash:
+ разработка быстрее некуда
+ есть бесплатные инструменты разработки (flashdevelop.org)
— придется изучить Actionscript3, но он не сильно отличается от C# или Java

Для графики можно использовать inkscape — лучший (из бесплатных) инструмент для создания графики мышкой, подходит даже программистам «не художникам».

Звуки и шрифты можно найти на специализированных сайтах.

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

В общем, давно прицеливаюсь на AS3. Вы еще раз подтвердили выбор.

Просто выход Starcraft-вского эдитора, с его большими возможностями, чуть спутал мою уверенность. Плюс, все же хочется «расставлять кораблики», а не становится программистом. :) С другой стороны, флеш штука полезная не только в играх.
Второй раз прохожу игру на айпаде, очень не хватает системы рейтингов для каждого уровня
Планируется ли вторая версия?
Портированием на iPad занимался не я. Насчет версий, вроде как планируется постепенное портирование всех частей. Но 100% гарантии не дам.
«системы рейтингов для каждого уровня» — можете написать подробнее о чем идет речь (можно в личку)?
>можете написать подробнее о чем идет речь (можно в личку)?
С удовольствием, я очень люблю подобные «оптимизационные» игры.
Мне было бы интересно узнать результаты других игроков в разрезе по уровням (сколько времени они затратили на каждый уровень). Т.е. после прохождения уровня результат (затраченное время) постится на сервер и я могу посмотреть какое место среди всех игроков прошедших этот уровень я занял. Еще лучше если бы на таймбаре (слева сверху который) были бы засечки для первого места и моего лучшего времени.

Такая система рейтинга увеличила бы мое время в игре думаю раза в три, ну или пока я не занял бы везде первые места :) Без этого проходить игру во второй, третий и так далее раз уже не так интересно
Only those users with full accounts are able to leave comments. Log in, please.