22.02.2008

GraviLens Contest Release

Скачать ГРАВИЛИНЗЫ! (1,7мб)

Напоминаю, игра разрабатывается исключительно на конкурс по экспериментальному геймплею и не является полноценным законченным шедевром. Весь процесс разработки был частично описан здесь. Моя ветка для участия в конкурсе, там буду ждать последние новости и мнение ребят из gdru тусы.

16.02.2008

GraviLens Construction 5

9 дней до конца конкурса. Давно не писал никаких отчётов по GrLens. Учёба началась, только опомнился.

Были проблемы с таймингом на процессорах с несколькими ядрами. Сменил TSC на QPC и ограничил игровой цикл(там же и просчёт тайминга) на одно ядро. Вроде проблема решилась.

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

Добавил персонажу ряд параметров. Энергия луча. Когда вы не стреляете она растёт до максимума. Когда луч распространяется - энергия потиху хавается до остановки луча. Вы отпускаете левую кнопки и луч исчезает - энергия начинает снова расти. Остальные параметры имеют нейтральное значение, и по мере его изменения они стремятся восстановиться к первоначальному состоянию. Длина Лазерной Указки. Здесь всё просто. Есть бонусы с позитивным и негативным эффектом. Одни увеличивают длину, а другие уменьшают. Скорость Луча. Поз/нег. Влияет на скорость распространения луча. Инерция Фотонов. Те же яйца. Параметр отвечает как будет действовать на луч гравиполе.

Дальше про бонусы. Заморозка Времени. Как бы не параметр, но раз уж здесь речь зашла о бонусах - то этот бонус останавливает таймер. Действует некоторое время(появляется иконка будильника и ползунок). Игровые очки я обозвал Кредитами. Ибо просто Очки - это сумасшествие.. особенно выражение "очки в квадрате".. Так что у нас с Кредитами... Есть три типа монеток. 1, 3 и A. Подсчёт кредитов идёт в шестнадцатеричной системе счисления(это так, удар по обыденности мира сего). Плюшки вы получаете сбивая много монет за один выстрел.. Вот как луч их собирает, так они и считаются. За первые три монетки вы получаете нормальную их сумму. Сбивая четвёртую, пятую, шестую, седьмую монетки, вы получаете с каждой монетки кредиты возведённые во вторую степень, то есть в квадрат. Если дальше следуют восьмая-одиннадцатая, вы берёте по кубу с каждой монеты. И так далее.. Правда 1 лучше сбивать вначале, т.к. дальше в цепочке они малозначительны, все знают что 1^n=1..

Цели. Первая цель - собрать определённое кол-во кредитов за установленное время. Вторая - просто добраться до заветной Сферы с надписью exit за установленное время. Но не просто добраться, а попасть в неё своим лучом и успеть активировать.

GUI. Пришло осознание что я со своим английским никак не способен написать текстовку. Пришлось всё сделать на русском. В начале игры добавил выбор: играть сразу или проходить обучение. Уровень начинается с окошка, где пишется название, цель и краткое описание уровня. Заканчивается уровень информационным окном, где выписан ваш результат. Так же здесь присутствуют две кнопочки: пройти ещё раз или двигаться дальше. Конечно если провалился, то двинуться дальше ты не сможешь. Заполнил пустые участки вокруг игровой области. Ещё хочу сделать по краям затемнение, вроде чёрный фейд. Разрешил пулять когда прицел вне игровой области, только если вы навели курсор на кнопку МЕНЮ, то стрельнуть у вас конечно не получится. Кстати в игровом меню доступны лишь главное меню и возврат в игру. Нужно сделать кнопку запускающую уровень заново.

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



Ушёл из одной группы, покинув должность гитариста. Пришёл к друзьям в другую группу осваивать бас-гитару.

02.02.2008

GraviLens Construction 4

Немного про сам процесс разработки. Есть своего рода ресурс, он истощается. По мере его опустошения дальше двигаешься всё медленнее. Когда за всю неделю поспал совсем немного - не остаётся никаких сил. Очень хорошо спится когда реализовано всё что задумано. Потом ты просыпаешься, идёшь на балкон пить чай, возвращаешься мазать листик чернилами и наконец вбиваешь код. Новые идеи касаются не только самой игры: иногда хочется зарефакторить иерархию классов чтобы расширяться дальше было удобно, оптимизировать какие-нибудь баттлнеки, заменить куски необдуманного кода обдуманным. И не раз тратишь время на математические велосипеды. Вся проблема что это всё не сразу вспоминается, а о чём-то вообще и не знаешь.

Нарисовал ещё три вида стенки. Перерисовал монетки, подобрал более тихие звуки. Сделал между фоном и уровнем звёздный параллакс из точек. Сделал счётчик времени. Нарисовал Рефлекторы(гравилинзы которые отражают луч, но не действуют на него силой). Одарил гравилинзы звуками. Сделал прямоугольные участки на уровне, которые работают как гравилинзы, правда ещё не придумал какого вида поле могут создавать прямоугольники... Может линии магнитного поля из полюса в полюс... Исправил в движке баг с кернингом шрифтов(оказалось он у меня не мог быть отрицательным, откуда вытекали последствия такие как сдвиги символов на 254-255 пикселей) Поправил движение луча света, сделал его fps-dependent, увеличил ему скорость.. Сделал космический мусор, типо таких частиц которые отлетают когда луч во что-нить врезается/отражается.

Уровень с рефлекторами - убить Peggle!


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



Некоторые мысли которые требуют реалиации... Конечно нужны time bonuses. Впрочем нужны окошки YOU WIN! и более печальное YOU're LOSER!. Всякие предупреждения типа HURRY UP и поощрения тоже не помешают.. А ну ещё круто было бы сделать множители очков(x1, x2, x3) в зависимости от сбитых бонусов за один выстрел. LONG RANGE поощрение и тд.. И кто бы мне сказал "you're here.. on Earth!"