28 янв. 2008 г.

GraviLens Construction 3.

Вчера ночью после зелёной вечеринки пришёл домой, захотелось сделать звуковое оформление, хотя бы начать. С ходу в TSR был интегрирован BASS и спустя несколько минут появились первые звуковые эффекты. Это было очень здорово.

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

Второй загон с математикой начался когда я захотел сделать Рефлекторы(отражающие гравилинзы). Мне нужно было найти точку пересечения окружности и луча. Отложить от этой точки нормаль и отразить вектор скорости. Пришлось аналитически(на листочке) решать задачу, систему уравнений с векторами, которая потом сводится к обыкновенному квадратному ур-нию. Т.к. точка лежит внутри окружности там очень просто берётся одно решение которое с минусом, потому что у нас t<0.. брр, в общем всё решение для своего конкретного случая я расписал на половине листика А4. Жалко ни фотика, ни сканера нету. Дальше в код, всё работает, я счастлив.

Сложность отследить поведение луча даже на простых уровнях заставила меня сделать на прицельном круге стрелку, которая показывает направление результирующей силы в данной точке и коэффициент дисперсии(когда луч рассеивается). После этого мне даже приятно стало стрелять, т.к. подсознательно было понятно как ведёт себя поле.


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

В принципе и всё. Вот и прошло 7 дней с начала работы. Уже немало сделано, многое ещё впереди. Между тем сдана сессия! С чем я себя уже не раз поздравил.

26 янв. 2008 г.

GraviLens Construction 2.

Добавил гравитационные ключи, эдакие звёздочки, которыми можно отключать объекты которые мешают прохождению луча. Вы сбиваете звезду лучом; она падает на землю; вы левой кнопкой мыши перетаскиваете её на любую из злополучных гравилинз; гравилинза отключается(становится полупрозрачной). Теперь можно стрелять сквозь её. Ключ можно использовать сколько нужно раз. Можно перетянуть ключ обратно на землю или в другую гравилинзу.

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

Изменил немного управление. Раньше использовались две кнопки, левая(таскать) и правая(стрелять). Изменил считаю в лучшую сторону, сейчас всё можно делать только левой кнопкой. Изменил принцип прицеливания: к мышке привязан крестик, за которым бегает кружок. Чтобы стрелять точно, нужно ждать пока кружок сойдётся с крестиком(линзы с зеркалами сошлись..). Луч всегда бьёт сквозь кружочек. Была идея сделать стрельбу случайным образом по направлению между крестиком и кружочком. Ещё осталось добавить ракеты, гранаты..

Усовершенствовал стенки стакана. У них работает коэффициент поглощения энергии, если он >=100%, значит стенка обычная и ничего не отражает, в противном случае power-=absorp;

SCROLL UP! Уровень не ограничивается одним экраном. Подняться выше можно(даже нужно) сбив Подъём Вверх, такой шарик со стрелочкой вверх. Далее кликнув на него мы подымимся вверх на определённое расстояние заданное в параметрах этой вещички. Каждый Подъём Вверх может подымать нас на разное расстояние. Я как дизайнер при разработке уровня и буду таким образом определять продвижение по уровню. Процесс подъёма по уровню будет с 2д-параллаксом.
EXIT? Уровень будет считаться пройденным когда мы собьём Выход, а затем кликнем на него.

23 янв. 2008 г.

GraviLens Construction.

В ночь на 20ое число решился таки начать. Начал далеко. Рисовал гуй в фотошопе, одновременно вставлял и правил всякие баги движка, код которого уже месяц не видел. Нарисовал HERO. Днём 21ого пытался таки делать луч света с невидимой линзой. После небольшого успеха нарисовал какую-то сферу и вставил её, вставил и ещё одну. Вот насколько я помню что получилось к вечеру. Фоновый рисунок и курсор в этой версии были из Монтезумы.. так.. для заполнения пространства.



Дальше больше. Добавил Чёрную Дыру(буквально всасывает) и Звёзды Пульсары(отталкивают луч). Сделал толстый сглаженный луч. По лучу бегает сгусток света(так.. эффекты блин) Пока сбиваются только Бонусы на игровые очки. Сделал dragndrop управление и луч света пока нажата правая кнопка(читайте изменение геймплея ниже). Нарисовал фон и курсоры(стрелочку и руку сжатую расжатую). В общем читать это всё не особо интересно я думаю. Это вроде как отчётик для самого себя. Скриншот из сегодняшней версии.



Далее была чуть пересмотрена сама идея и внесены кой-какие изменения. Герой и прицел перемещаются методом drag'n'drop. Введено время на прохождение уровня. Выстрелы неограничены.
Бонусы. Бонусы на очки - дают очки и висят на уровне, их можно сбить лучом света. Есть Бонус на время, который как оказалось будет добавлять нам времени для прохождения уровня.
Помошники. На уровне можно сбить Гравитационные Ключи. При попадании они летят вниз на землю. Методом dragdrop их можно вставить в любую видимую Гравитационную Линзу на уровне, она деактивируется и становится полупрозрачной. Теперь Луч будет проходить сквозь неё. Таким образом Ключи нужно использовать тактически чтобы обеспечить прохождение уровня или хотя бы сделать его более лёгким.
Была ещё идейка про Световые Компаса, но в игре на время они потеряли свою пользу. На тактическом режиме могут оказать значительную помощи игроку. На уровне висит N-ое кол-во Световых Компасов. Их можно перетаскивать и ставить в разные места. После расположения Героя компасы считаются недолго. Спустя доли секунды компас может не показать стрелку. А может и показать. Если при данном прицеливании наш луч ДОЛЖЕН БУДЕТ пройти сквозь компас или рядом, то покажется стрелка с направлением луча.

3 янв. 2008 г.

GraviLens game.

Ещё одна идея на конкурс. Игровое пространство - стакан, ограниченный по бокам и снизу. Герой может перемещаться по дну стакана. В зависимости от того где находится курсор, слева или справа от героя, при нажатии правой кнопки мыши герой перемещается влево или вправо. При нажатии левой кнопки мыши происходит выстрел луча света. Луч света(или какое-нить излучение, хз) движется по игровому стакану по правилам: отражается от дна и стенок стакана, при попадании в сферу луч дальше не проходит, изгибается гравитационным полем сфер. Перед вами стоит задача собрать максимум спрятанных за планетами бонусов и звёзд за определённое кол-во выстрелов. Бонусы просто дают очки, а звёзды необходимы чтобы пройти на следующий уровень. Экран может скролится вверх-вниз в пределах размещения игровых объектов. Вроде всё основное написал. Идея навеяна явлением движения света в сильном гравитационном поле.

Всякие всячины. Можно сделать фонарик. Фонарик есть HINT. Можно посветить фонариком дабы посмотреть как луч света будет себя вести. У фонарика в отличии от нашего луча длина очень ограниченая, значит посмотреть как луч будет откнонятся можно будет только для близких сфер.
Спектр. Можно сделать чтобы вблизи сфер гравитация так искажала свет, что мало по малу расчипляла его на спектр увеличивая при этом ширину луча. Широкий луч это хорошо, он может больше бонусов захватить, да и радуга это весело.

Накидал в фотошопе наглядный выстрел на котором собраны 5 из 7 звёзд. Ясно что луч на картинке кривоват, но чтобы объяснить механику этого думаю достаточно. Арт говно, сделан за пять минут чтобы показать механику.


(кликабельно)

Есть такое явление в физике, когда луч света отклоняется проходя мимо солнца и других объектов с огромным гравитационным полем. Объекты такие называются гравитационными линзами. "Линзами" их называют потому что эффект напоминает положительную линзу которая также изменяет направление пучка света.

2 янв. 2008 г.

LabyRing game.

Место первым мыслям о новой игре на конкурс по эксперементальному геймплею. В последствии просто мыслям на тему.

Уровень - открытое пространство с любым кол-вом сфер. Сферы задаются любого радиуса.

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

Наш герой - страшный чёрный чувачок. Герой может бежать влево или вправо по кольцу. В зависимости от поверхности кольца он может продвигаться по нему с разной скоростью. Когда герой бежит начинает работать закон сохранения импульса и кольцо начинает вращаться. Герой может попасть на внутреннее кольцо упав в отверстие кольца. Он может делать jump на небольшую высоту, перемещаясь на наружние кольца через отверстия в них. Super jump преодолевает гравитацию внешнего кольца. Rope(верёвка) работает с superjump но возвращает героя обратно к месте откуда он прыгнул.

Задание. Герой должен выполнить какую-нибудь миссию на уровне. Или сделать 1 уровень и просто дать infinity gameplay с переходами на новые экраны со сферами, которые и генерировать можно случайно.

1 янв. 2008 г.

I'd like experimental subquest.

Бонус для игрока это некое поощрение, может быть даже совсем незначительное. Когда бонус висит у игрока над головой, он неявно даёт подквест: достигни этой точки и получишь поощрение в виде игровых очков. Этот подквест может оказаться первопричиной другого серьёзного задания. Собираем монеты в бонусных подквестах на уровнях. Знаем: эти подквесты нужны для ещё одного бонусного подквеста про который написано в правилах. Собери 100 монет и получи дополнительную жизнь. Полезное поощрение. Оно даст нам дополнительные попытки в прохождении игры. Так вот вопрос в эксперименте над подквестами.

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

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

Геометрически бонусы представляются в виде заезженных монеток, кристаллов - что по физике представляют собой точку, окружность или примитивную фигуру. Хочется чего-нибудь оригинального. Есть бонус фабрики, например отталкиваясь от определённой стенки выпадает бонус. Стенка уже не бонус, а фабрика бонусов. Хотелось бы не клепать бесконечно разнообразные бонус-фабрики, а сделать оригинальный бонус на очки, а следствие и оригинальный завязанный на физике или геометрии подквест.