15 марта 2010

отчет №6

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

Итак, как ясно из вступления, программа не заброшена, а совсем наоборот - набирает темпы и выходит на уровень "законченности". хотя, чем ближе планка "вот так вроде хорошо", как возникают новые идеи, которые устанавливают планку "а вот так было бы совсем здорово". Уникальные графические и физические объекты уже появляются почти ежедневно. С одной стороны это неплохо - по идее первые полчаса игры она должна заманивать разнообразностью и свободой. С другой - это может оттолкнуть своей непривычностью. Да и разработка программы с такой системой не является, мягко говоря, быстрой. Но хочется, чтобы своя первая игра не была "это популярно, потому делаем вот такое", а скорее была со знаком "не зря мы это делали", пусть сама программа и не принесет никакой отдачи. Главное, чтобы сидя один перед зеркалом, наедине сам с собой, можно было честно и без зазрения совести сказать "лично мне игра нравится, время было потрачено не зря". Для меня сейчас - это самая главная цель.
хм... что сделано с 22ого февраля? ну... на самом деле я уже давно не записываю в отчеты что-то типа "улучшено взаимодействие таких-то классов"... ибо это такая мелочь, которая происходит несколько раз на дню... но раньше я об этом с радостью делился))) потому самих пунктов в отчете будет немного, но за каждым из них стоит довольно много нового функционала и масса доделок нынешнего двига самой игры. начнем!
  • сделал Side-объекты по краям экрана. то есть теперь физические объекты сталкиваются с границами экрана. сами Side-объекты меняют свое расположение и размеры при resize'е окна с игрой. да и на произвольных разрешениях должно вести себя адекватно.
  • работоспособное главное меню: выбор/создание/удаления профиля, настройки звука и музыки, кнопка "играть" и подменю "выход". осталось подменю "выбор уровня" и "помощь". может в настройки вынесется что-то еще.
  • обрадовался, как построил взаимосвязь графических и физических объектов. в итоге довольно быстро и просто добавилась возможность прилеплять к физике граф. объекты с анимацией и переходными состояниями. используя это, были внедрены разные специфически-анимированные (анимация геймплейная на самом деле) объекты в несколько уровней.
  • по-простому привязал свойство Parent для граф. объектов, что позволило реализовать систему слоёв: по сути графическому объекту меняем порядок рендера, из-за чего оно то прячется за передним слоем, то появляется на переднем плане. а-ля псевдо-3д такое. выглядит неплохо, передвижения по экрану становятся более разнообразными, можно добавить немного динамики. этот механизм замечательно работает с сенсорами, пока используется только в одном уровне. потому как необходим жестко заданный маршрут - иначе сенсорами придется напичкать все возможные проходы.
  • попробовали перейти на новую сцену. сейчас используется от 18 октября 2008ого года. вот здесь можно почитать о том, с какими проблемами я столкнулся... пока откатился на старую версию, потому как на некоторых компьютерах приложение крашится прямо при запуске, используя подгрузку png с помощью модуля YarUnderoaker'а. сегодня-завтра планирую снова попробовать новую сцену, разграничив загрузку dds и png текстур. а в будущем вообще перейти на dds-формат, архивируя сами файлы внутри pak-файла. система пока не отработана, так что будем смотреть как это себя поведет по скорости и объему, занимаемому в памяти и на диске.
  • начал нормально чистить основные скрипты-функции и скрипты-события объектов. а то как-то некультурно все было. надо еще попробовать строить список до и после загрузки уровня, чтобы при переходе на другой уровень автоматически выгружать функции, необходимые только для предыдущего уровня. пока не критично, конечно, но в планах есть.
  • уже набралось где-то уровней 15. согласен, немного. тем более не все из них имеют настроенную базовую систему графических сообщений. тем более, что я понимаю, что придется наворачивать еще и целую хинт-систему для более продвинутых уровней, в которых подсказки нужны будут только по нажатию кнопки "помощь". но мы и не останавливаемся на этих 15ти уровнях. конечно, бывают дни, когда не удается отстраниться от основной работы на необходимое время или же нужно просто сходить в магазин, прогуляться и т.д... по моим прикидкам, в день, занимаясь параллельно базовым программированием игры (меню, физика, граф. объекты), можно еще сотворить 1-2 уровня. почему так мало? ну, сначала нужно продумать саму идею, что нужно делать. далее, прикинуть, какого функционала пока не хватает. затем нарисовать недостающую графику. по готовности графики, ее нужно "обрисовать" физическими телами, настроить все как надо и внедрить в уровень. после этого самое сложное - события. их нужно продумать досконально, потом привязать к объектам. при каждом добавлении чего-либо хорошо бы перегружать уровень, чтобы посмотреть, что тела взаимодействуют как надо. часто, манипулируя объектами и смотря на свою изначальную задумку "в действии", приходит мысль, что можно сделать "еще круче". переделываются события, привязываются объекты, расставляется окружение в виде статичных графических объектов. останавливаюсь, когда меня все устраивает. при этом я понимаю, что необходимо будет поверх всего накручивать хинты. но в этот момент пока не до того.
Вот как-то так. Кстати, еще интересный момент, который меня довольно сильно обрадовал. дело в том, что это первая игра, которую я делаю. потому иногда возникает мысль "ох, как было бы здорово посмотреть, как делают профессионалы"... журналов игроделов довольно немного... но есть... каждый раз, когда проглядываю журнал Wolfire-blog приходит мысль "ну ничего, и мы так сможем". но зависти нет, ибо у них другой жанр и потенциальная аудитория. потому их журнал натолкнуть меня на мысль "ух ты! во как! надо тоже так делать!" никак не может. а вот прочитав сообщение от Smrdis'а я как-то подуспокоился. Дело в том, что я уже давно написал тулзу, импортирующую из FireWorks'а базовые кривые, и строящую по ним полигоны в виде целых кусков скриптов, из-за чего внедрение новых физ. объектов не занимает много времени. Или же недавно прочел, как один игродел рассказывал, что не использовал системы контроля версий и ныне выбирает между имеющимися. В то время как мы уже давно переехали с GoogleCode на ProjectLocker, ибо там защищены исходники и бесплатно использование 500mb для "не более трёх пользователей". нам как раз подходит. В общем, это меня радует, так как я понимаю, что мы не плетемся в конце состава, а медленно и верно движемся в нужном направлении, имея горящий маяк, указывающий курс нашему кораблю. Вот такая странная метафора пришла мне в голову.

Сообщения, схожие по тематике:

5 коммент.:

  1. хм... вот теперь я понимаю, почему ты ушел со сцены))
    круто! на самом деле круто, меня впечатляет проделанное) снимаю шляпу
    _______________________________

    а вот вопрос- есть ли редактор уровней уже ?

    если нет, то было бы логичным его сделать, так как это позволит создавать уровни быстрее и удобнее)
    имхо*

    ОтветитьУдалить
  2. Вопрос, возможно, немного глупый, но есть ли скриншоты?

    ОтветитьУдалить
  3. gltrinix, вопрос хороший, но пока не вижу смысла их выкладывать ;)
    людей привлекать вроде не нужно)) реклама - дело хорошее, правда не хочется портить впечатление о самих головоломках...
    была мысль о неком тизере для небольшого фидбека об управлении и графике, но я в этом нуб, и времени на такого рода видео может угрохаться куча.
    на самом деле разработка уже подзатянулась больше задуманного, поэтому мы сейчас ускоряемся, чтобы порадовать всех как можно раньше ;)

    ОтветитьУдалить
  4. Lampogolovii, чтобы снять видео можно элементарно воспользоваться Fraps, но он снимает несжатое видео. Поэтому после недолгой работы в MS MovieMaker или Adobe Premiere главное сжать в нужный формат и всё =)

    ОтветитьУдалить
  5. gltrinix, у меня почему-то Fraps артефакты по экрану размывает. не знаю почему. с MovieMaker и Abobe Premiere не работал. обычно жму все VirtualDub'ом. в общем, надеюсь через три недели до демки добраться. если не успеем - потрачу несколько дней на тизер))..

    ОтветитьУдалить