ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Nebular | страница 5 |
|
|
|
Канал Игры Мечты: «Nebular» |
|
|
Velonski
89 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 4(53) Репутация: 13 Сообщения: 86 Откуда: Екатеринбург Зарегистрирован: 24.05.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
WDR. : |
А с вторым типом массы неестественно смотрятся лёгкие истребители, прущие как танки под тяжёлым обстрелом.
|
Осторожнее с типами массы, т.к. от него зависит эффект столкновений. Если тип массы мелкого кораблика будет равен типу массы крупной станции, то при столкновении оба этих объекта отскочат друг от друга, что неправильно. Также тип массы влияет на поведение компьютерных пилотов: корабль с большим типом массы не рассматривает корабли с меньшим типом в качестве препятствий и смело летит сквозь них, т.е. расталкивает в стороны.
WDR. : |
Скорость вычисляется по более простой формуле сила/масса(кажется, по Ньютону это правильно,масса - характеристика универсальная).
|
Хорошо, допустим у нас есть снаряд с силой 1000 и корабль с массой 200. Тогда начальная скорость отталкивания корабля будет равна 1000/200=5 единиц скорости игры. Так?
WDR. : |
Касаемо новых параметров: может, сделать параметр доп.свойства, указывающий кол-во таковых, а после писать сами эти свойства вперемежку с их параметром(в скобках для наглядности):...
|
Только что появилась идея делать файлы-аддоны к файлам-описаниям. Например, есть файл-описание battlenod.chs, к нему можно приложить дополнительный файл-аддон battlenod.c00, а в самой программе прописать алгоритм поиска файлов-аддонов с теми же именами, но с расширениями c00, c01, c02 и т.д. Если такой файл-аддон находится, то из него считыватются дополнительные параметры, и взаимодействие объектов происходит посредством новых закономерностей. Если файла-аддона нет, то механизм взаимодействия остается прежним.
Так можно избавиться от необходимости менять старые файлы-описаний, а все новые параметры прописывать в файлах-аддонах.
WDR. : |
...сплэш(радиус)(было-бы интересно взглянуть на сплэш в космосе),ускорение снаряда во время полёта(ускорение),баффы вроде замедления корабля при попадании...
|
Похоже, у меня пробелы в знаниях. Что такое сплэш и баффы?
|
|
|
WDR.
85 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 1(6) Репутация: 18 Сообщения: 160
Зарегистрирован: 21.11.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
Velonski : |
Что такое сплэш и баффы?
|
Сплэш(Splash)- урон в некотором радиусе от места взрыва, например - гранаты, ракетницы и прочее.
Бафф(Buff) - эффект, действующий на что-либо некоторое время.Например,выстрелил по кораблю из пушки, и он на несколько секунд замедляется, например.Или получает после выстрела урон некоторое время.
Velonski : |
Хорошо, допустим у нас есть снаряд с силой 1000 и корабль с массой 200. Тогда начальная скорость отталкивания корабля будет равна 1000/200=5 единиц скорости игры. Так?
|
Забыл упомянуть коэффициент для балланса.
Корабли с массой 200 и 2000 ,k = 100 и снаряд с силой 1000:
первая скорость 1000/200 * 100 = 500, вторая - 1000/2000 * 100 = 50.
Velonski : |
Осторожнее с типами массы, т.к. от него зависит эффект столкновений. Если тип массы мелкого кораблика будет равен типу массы крупной станции, то при столкновении оба этих объекта отскочат друг от друга, что неправильно. Также тип массы влияет на поведение компьютерных пилотов: корабль с большим типом массы не рассматривает корабли с меньшим типом в качестве препятствий и смело летит сквозь них, т.е. расталкивает в стороны.
|
Может, сделать обычную массу а тип массы оставить для ИИ?
Последний раз редактировалось: WDR. (17:53 24-02-2011), всего редактировалось 1 раз |
|
|
Velonski
89 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 4(53) Репутация: 13 Сообщения: 86 Откуда: Екатеринбург Зарегистрирован: 24.05.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
WDR. : |
Может, сделать обычную массу а тип массы оставить для ИИ?
|
Раз уж придумали новый механизм взаимодействия со снарядами, то придется менять и взаимодействие кораблей друг с другом. Можно сделать следующим образом: если сталкиваются корабли с массой 200 и 2000, то первый отлетит назад со скоростью (2000/200)*k, а второй - (200/2000)*k.
|
|
|
WDR.
85 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 1(6) Репутация: 18 Сообщения: 160
Зарегистрирован: 21.11.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
Velonski : |
Можно сделать следующим образом: если сталкиваются корабли с массой 200 и 2000, то первый отлетит назад со скоростью (2000/200)*k, а второй - (200/2000)*k.
|
При таком раскладе при даже лёгком касании с крейсером дрон улетит далеко-о-о-о...
Предлагаю: скорость после столкновения 1-го корабля = ((скорость 2-го корабля(до аварии)* массу 2-го) + (скорость 1-го корабля * массу 1-го))*k / массу 1-го.
Дрон - 20кг, 500м/с ;корабль - 200кг,300м/с .
Дрон улетит на (300 * 200 + 500 * 20)* 0.20 / 20 = 700,
Корабль - (300 * 200 + 500 * 20) * 0.2 / 200 = 70
Если бы корабль стоял, то дрон - (500 * 20) * 0.2 / 20 = 100
корабль - 10.
Но это не Ньютон.
Как сейчас работают столкновения?
|
|
|
Guest
2075 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Серебряная медаль SETI@Home, EG team (182208 credits)](/conference/images/ranks/medals/seti_silver_new.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) ![Заслуженный писатель (+50 EGP)](/conference/images/ranks/medals/writer.gif) ![Член Клуба Пилотов](/conference/images/ranks/medals/club_member.gif) ![Писатель года 2006 (+50 EGP)](/conference/images/ranks/medals/writer3.gif) ![Меценат](/conference/images/ranks/medals/mecenat.gif) ![Знаток игр 2010 года (+50 EGP)](/conference/images/ranks/medals/kdi_znatok_god.png) ![Заслуженный знаток игр (+25 EGP)](/conference/images/ranks/medals/kdi_znatok.png) ![Почетный охотник за ошибками (+40 EGP)](/conference/images/ranks/medals/bug-hunt.gif) ![Исследователь космических миров (+25 EGP)](/conference/images/ranks/medals/space1.gif) ![Знаток игр 2014 года (+50 EGP)](/conference/images/ranks/medals/kdi_znatok_god.png) ![Кербонавт года 2015 (+50 EGP)](/conference/images/ranks/medals/ksp_year.png) ![Знаток игр 2015 года (+50 EGP)](/conference/images/ranks/medals/kdi_znatok_god.png) Рейтинг канала: 5(167) Репутация: 376 Сообщения: 27975 Откуда: Моск. Зарегистрирован: 12.10.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
А почему вы так принципиально рассматриваете исключительно абсолютно упругое взаимодействие идеально твёрдых тел в сферическом вакууме? Тогда как при столкновении реальных масс в 200 и 2000 кг (я уж про тонны не говорю) дофигищща энергии уходит во всякое прочее, а на собственно кинетику не так уж много.
Вводили бы исключение импульса в виде дамага - и кинетику гасить, и столкновения наказывать... Только занулять нельзя - прилипать начнут.
_________________ Трещит земля как пустой орех
Как щепка трещит броня |
|
|
Velonski
89 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 4(53) Репутация: 13 Сообщения: 86 Откуда: Екатеринбург Зарегистрирован: 24.05.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
WDR. : |
Как сейчас работают столкновения?
|
Сейчас скорость отталкивания для каждого из 2-х кораблей при их столкновении равна для каждого скорость 1-ого корабля + скорость 2-ого корабля. Эта скорость постепенно снижается от 100% до 0% по мере того, как переменная-таймер эффекта столкновения приближается к цифре 0. Если тип массы 1-ого корабля превышает тип массы 2-ого, то на 1-ый корабль эффект столкновения не распространяется, и наоборот.
Всё легко и просто. Конечно, это не соответствует реальности, но создает иллюзию более или менее правдоподобной физики.
Может быть не стоит усложнять расчеты, и оставить всё как есть? Неужели текущая физика не удовлетворяет требованиям аркадного симулятора?
У меня создалось впечатление, что мне удалось вполне удачно скопировать физику, характерную для Freelancer и X-Tension. Именно на эти две игры я и ориентировался.
Guest : |
Вводили бы исключение импульса в виде дамага - и кинетику гасить, и столкновения наказывать...
|
Нельзя в Nebular наказывать за столкновения повреждениями корабля: боевые действия происходят на слишком коротких дистанциях, и космические "ДТП" - очень частое явление. Во Freelancer, насколько я знаю, за столкновения не наказывают (кроме попыток влететь в планету).
PS: Пора бы мне уже написать длинное сообщение о работе триггеров. Мой метод написания скриптов для миссий не такой уж хороший, даже примитивный, но я считаю его вполне пригодным для освоения.
Последний раз редактировалось: Velonski (19:12 25-02-2011), всего редактировалось 1 раз |
|
|
WDR.
85 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 1(6) Репутация: 18 Сообщения: 160
Зарегистрирован: 21.11.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
Guest : |
А почему вы так принципиально рассматриваете исключительно абсолютно упругое взаимодействие идеально твёрдых тел в сферическом вакууме? Тогда как при столкновении реальных масс в 200 и 2000 кг (я уж про тонны не говорю) дофигищща энергии уходит во всякое прочее, а на собственно кинетику не так уж много.
|
Для таких ситуаций(уход энергии куда-то(или для баланса)) я и ввожу k.
Velonski : |
Сейчас скорость отталкивания для каждого из 2-х кораблей при их столкновении равна для каждого скорость 1-ого корабля + скорость 2-ого корабля. Эта скорость постепенно снижается от 100% до 0% по мере того, как переменная-таймер эффекта столкновения приближается к цифре 0. Если тип массы 1-ого корабля превышает тип массы 2-ого, то на 1-ый корабль эффект столкновения не распространяется, и наоборот.
|
Предлагаю (Скорость1 + Скорость2)/Массу. Не на много сложнее исходной формулы, суть та же, да и сравнение типов масс выполнять не надо.
Velonski : |
У меня создалось впечатление, что мне удалось вполне удачно скопировать физику, характерную для Freelancer и X-Tension. Именно на эти две игры я и ориентировался.
|
Физика в целом выглядит аккуратно, никаких багов и кривостей не замечено, кроме неудобства стрельбы из мощного оружия по слабым врагам. Но да, согласен, физика уровня X-T/Freelancer.
добавлено спустя 1 минуту:
Velonski : |
Нельзя в Nebular наказывать за столкновения повреждениями корабля:
|
Может, давать немного урона, чтоб часто врезаться неповадно было?
И вот, предлагаю свою версию выхлопов.
Cкрытый текст (кликните здесь для просмотра)
|
Последний раз редактировалось: WDR. (11:40 26-02-2011), всего редактировалось 3 раз(а) |
|
|
KrIM
90 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 3(41) Репутация: 12 Сообщения: 200 Откуда: Russia, St.-Petersburg Зарегистрирован: 26.12.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
Velonski, я все хотел спросить, а почему в качестве движка был выбран Dark Basic? Ну то, что он простой это и так понятно. Та же Unity позволяет больше, не слишком трудна (там норм скриптовый движок и полный форум бесплатных примеров)...
Кстати, скачал последнюю версию - смотрится аккуратно и забавно, но не хватает стиля, это я как дизайнер и моделлер говорю Но станция мне очень понравилась, вернее её текстуры. Не понравилось другое - планеты слишком быстро вращаются. Не чувствуется, что это величественный и таинственный космос. Все замедлить, увеличить размер планет и будет хорошо, естественно, это все на мой взгляд.
_________________ Бесконечность и ещё дальше! (с)
Последний раз редактировалось: KrIM (01:15 26-02-2011), всего редактировалось 1 раз |
|
|
Velonski
89 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 4(53) Репутация: 13 Сообщения: 86 Откуда: Екатеринбург Зарегистрирован: 24.05.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
WDR. : |
И вот, предлагаю свою версию выхлопов.
|
Красиво, забираю для новой версии.
KrIM : |
Velonski, я все хотел спросить, а почему в качестве движка был выбран Dark Basic
|
Работа над игрой началась в начале 2007 года, и тогда я ещё ничего не знал о Unity (он, кстати, в то время уже существовал?). А сейчас уже поздно метаться и переводить игру на новый движок: как показывает опыт Duke Nukem Forever, это ничем хорошим не кончается.
Единственное, что можно сделать - начать разработку с нуля, взяв из старой игры сюжет и медиа-ресурсы.
KrIM : |
Но станция мне очень понравилась, вернее её текстуры.
|
Станция не моя, я её просто "оживил". Она принадлежит NiK2009, как и ряд других моделек в игре. Мои - те, что с плохими текстурами и малым количеством полигонов: Дикобраз, Плантатор, Шипова, Куат, Петала, Колосанис.
KrIM : |
Все замедлить, увеличить размер планет и будет хорошо, естественно, это все на мой взгляд.
|
Надо подумать над этим, но вообще возможности игры теоретически позволяют помимо всего прочего создавать статичное окружение с большими неподвижными планетами в стиле Homeplanet и Freespace (это когда небесные тела висят на заднем плане и долететь до них нельзя).
|
|
|
Kann
64 EGP
![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) Рейтинг канала: 3(45) Репутация: 7 Сообщения: 232 Откуда: Москва Зарегистрирован: 11.04.2008
![Вы не можете голосовать](images/tool_cool.gif) |
|
Velonski : |
Надо подумать над этим, но вообще возможности игры теоретически позволяют помимо всего прочего создавать статичное окружение с большими неподвижными планетами в стиле Homeplanet и Freespace (это когда небесные тела висят на заднем плане и долететь до них нельзя).
|
теоретически вы можете воссоздать практически бесконечно большие пространства, проблема в том что у вас уже много чего готово, и переделка не целесообразна... на счет того как воссоздать эффект огромных объектов, тут можно использовать скалирование, на своем опыте могу сказать что дает очень неплохие результаты
|
|
|
Guest
2075 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Серебряная медаль SETI@Home, EG team (182208 credits)](/conference/images/ranks/medals/seti_silver_new.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) ![Заслуженный писатель (+50 EGP)](/conference/images/ranks/medals/writer.gif) ![Член Клуба Пилотов](/conference/images/ranks/medals/club_member.gif) ![Писатель года 2006 (+50 EGP)](/conference/images/ranks/medals/writer3.gif) ![Меценат](/conference/images/ranks/medals/mecenat.gif) ![Знаток игр 2010 года (+50 EGP)](/conference/images/ranks/medals/kdi_znatok_god.png) ![Заслуженный знаток игр (+25 EGP)](/conference/images/ranks/medals/kdi_znatok.png) ![Почетный охотник за ошибками (+40 EGP)](/conference/images/ranks/medals/bug-hunt.gif) ![Исследователь космических миров (+25 EGP)](/conference/images/ranks/medals/space1.gif) ![Знаток игр 2014 года (+50 EGP)](/conference/images/ranks/medals/kdi_znatok_god.png) ![Кербонавт года 2015 (+50 EGP)](/conference/images/ranks/medals/ksp_year.png) ![Знаток игр 2015 года (+50 EGP)](/conference/images/ranks/medals/kdi_znatok_god.png) Рейтинг канала: 5(167) Репутация: 376 Сообщения: 27975 Откуда: Моск. Зарегистрирован: 12.10.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
WDR. : |
предлагаю свою версию выхлопов.
|
Ядрён коромысел! Сделайте меня развидеть это! А по цвету с окружающим пространсвом балансировать не пробовали?
_________________ Трещит земля как пустой орех
Как щепка трещит броня |
|
|
Velonski
89 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 4(53) Репутация: 13 Сообщения: 86 Откуда: Екатеринбург Зарегистрирован: 24.05.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
Guest : |
А по цвету с окружающим пространсвом балансировать не пробовали?
|
Имеется в виду какой-то графический эффект, изменяющий изображения выхлопов в зависимости от цвета окружения в игре?
Или вопрос касается самих изображений и того, как они были нарисованы?
|
|
|
KrIM
90 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 3(41) Репутация: 12 Сообщения: 200 Откуда: Russia, St.-Petersburg Зарегистрирован: 26.12.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
Velonski, очевидно второе. В текстурах перебор со свечением и стрейками. Посмотрите примеры как в других играх он сделан.
_________________ Бесконечность и ещё дальше! (с) |
|
|
WDR.
85 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 1(6) Репутация: 18 Сообщения: 160
Зарегистрирован: 21.11.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
Guest : |
с окружающим пространсвом
|
Если учесть, что фон в игре может быть не только синего цвета - бесполезное занятие. И разве не может быть красного свечения в синем пространстве(то, что по цвету не подходит - другой вопрос)? Может, оттенки сделать бледнее? Но, думается мне, разрыв мозга и глаз яркостью и контрастностью тут уместен.
KrIM : |
В текстурах перебор со стрейками
|
Да, стрейки островатые. Смягчу.
Это уже по вкусу. Но да, чуть затемнить стоит.
|
|
|
Velonski
89 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 4(53) Репутация: 13 Сообщения: 86 Откуда: Екатеринбург Зарегистрирован: 24.05.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
Соорудил небольшое обновление для игры до версии 0.82.
Ссылка: Nebular v0.8 > 0.82 Skirmish Demo Patch (можно найти также в титульном сообщении темы).
Это всё тот же самораспаковывающийся ZIP-архив, только ставить его нужно уже на ранее установленную игру версии 0.8 (просто укажите ту же директорию).
Список изменений:
- исправлена ошибка, приводившая к "вылету" игры при смене разрешения экрана и включения/выключения оконного режима;
- восстановлен контроль за глобальным освещением игровой сцены;
Cкрытый текст (кликните здесь для просмотра)
В самом конце текстового файла miscreate.chs в директории data/mission/skirmish есть следующая конструкция:
************* Trigger 3 Ambient control
29
* set ambient rgb color 1,2,3
100
100
100
* ambinet color vel
255
*
Все строчки с цифрами 100 - это RGB значения глобального освещения. Если все они будут равны 0, то космос станет по-настоящему тёмным. Если 255 - вся игровая сцена будет иметь равномерное освещение без всяких теней подобно первым версиям игры.
|
- эффект затемнения экрана теперь не замедляет игру и работает в оконном режиме;
- исправления искусственного интеллекта: крупные корабли теперь притормаживают перед мелкими кораблями, которых атакуют, а не таранят их, как раньше;
- в "Боевой симулятор" добавлена функция сохранения состава кораблей и других объектов, участвующих в битве, чтобы затем восстановить их при следующем старте миссии (появился соответствующий 5-ый пункт в меню Глобальные настройки БСМ);
- добавлены медиа-ресурсы от пилота WDR.;
- другие мелкие исправления.
В качестве эксперимента включил в игру новые характеристики: уже обсуждаемые в этой теме массу для кораблей и силу для снарядов. Но наделил я ими в качестве демонстрации только, соответственно, корабль Дрон и орудия Леонид корабля Интерсеп. Сделано это с помощью своеобразных файлов-аддонов: в папке data/charsship это файл drone.chs.add, а в папке data/charsgun это файл leonid2.chs.add.
В файле drone.chs.add записано следующее:
ship_physik_massa
500
ship_physik_massa - имя переменной, а 500 - её значение.
Примерно то же самое и в файле leonid2.chs.add, только имя переменной другое:
gun_force
75
Таким образом, теперь, если выстрелить по дрону из орудий Интерсепа, он не отскочит так сильно как раньше, так как его масса значительно превосходит силу снарядов. Попадания же всех остальных орудий и во все остальные корабли будут просчитываться по старой схеме (в зависимости от ущерба), т.к. значения ship_physik_massa и gun_force для них не объявлены. Это позволяет сохранить совместимость между разными версиями игры и дать возможность для её пошагового обновления.
Пробовал сделать в игре механизм столкновения, который зависел бы от значений массы отдельных кораблей, но получилось как-то «криво»: корабли либо отскакивали друг от друга с такой силой, что улетали «за горизонт», либо с многочисленными звуками удара пролетали друг друга насквозь, окутавшись вспышками защитного поля. Пришлось всё вернуть на место, как-нибудь потом поэкспериментирую.
Файлы drone.chs.add и leonid2.chs.add демонстрируют также и новый способ записи и хранения различной информации, которую игра считывает и передаёт в свои переменные. Теперь программа просматривает файл в поисках известных ей имён переменных и, если находит их, записывает следующую после них строчку в качестве значения соответствующей ячейки памяти.
Сейчас почти во всех файлах, описывающих объекты игры и события миссий, значения переменных зависят от порядка расположения строчек, то есть, например, в файле описания станции Бэтлнод
Cкрытый текст (кликните здесь для просмотра)
* Ship mesh
battlenod.3ds
* Ship texture
texture\battlenod.tga
* Object Type
type_bstation.png
* Ship mesh name
ship_battlenod.png
* Ship gib model
gib.x
* Gib texture
texture\gibT1.tga
* Engine image
-1
* Explos image
explos1A.tga
* Shield image
shield3.tga
* Light texture image
texture\battlenod_l.tga
* Engine sound
-1
...
|
первая строка текста, не помеченная звёздочкой - это название файла 3D-модели, вторая строка - файл с текстурой, третья - файл с графическим текстом, обозначающим тип объекта и т.д. Все строчки, помеченные звёздочкой - комментарии, помогающие не запутаться во всём этом.
Стоит случайно прописать лишнюю строку или что-то удалить, и порядок считывания нарушиться, что приведёт к весьма плачевным последствиям. Рано или поздно я сделаю более удобный язык описания, или же соберу полноценный редактор всего и вся в игре, который исключит ошибки, которых трудно избежать при ручном наборе всевозможных файлов миссий и игровых объектов.
|
|
|
Velonski
89 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 4(53) Репутация: 13 Сообщения: 86 Откуда: Екатеринбург Зарегистрирован: 24.05.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
Записки долгостроя
Относительно недавно появилась новость про парня, который делал свою игру на протяжении 13 лет. Игра доступна на своём официальном сайте.
Разработка Nebular началась в 2007 г., так что до рекорда парня, упомянутого в вышеуказанной заметке, я ещё не дошёл (всего-то семь лет), однако уже пора призадуматься и окинуть грустным взглядом весь путь, который преодолел этот многострадальный проект.
Началось всё, как это, наверное, обычно бывает, с желания сделать свой навороченный космический симулятор, наподобие Elite (Freelancer, Freespace, X-Tension, Homeplanet). Попытка сделать это до 2007 года закончилась недоигрой Free Orient, в которой был некий космос с космическим кораблём и, в общем-то, всё.
Само собой, никто кроме меня эту игру не видел, тем более в те времена безлимитный доступ в Интернет был чем-то крайне недостижимым и фантастическим (вот бы посмеялись надо мной, если бы в своей наивности попытался бы опубликовать это). Однако уже был Dark Basic, с помощью которого легко получалось рисовать свой собственный интерактивный космос.
В итоге, Free Orient, конечно, закончился ничем, но дал лично мне некоторый опыт.
Главной проблемой для меня тогда была система ориентации объектов в пространстве относительно друг друга. Она была нужна для того, чтобы у игрока был радар, а управляемые компьютером корабли могли правильно выбирать направление полета и избегать столкновений с препятствиями.
К сожалению, в то время я не смог решить эту задачу.
После провала с Free Orient возникло понимание того, что полноценный космический симулятор - это слишком сложно. Мысль была правильная, и возник проект под рабочим названием Opergun (он же Gun operator, он же Оператор пушки).
Согласно первоначальному замыслу, в Opergun игрок должен был взять на себя роль оператора космической пушки, защищающей некоторую населённую планету от падения на поверхность всевозможного мусора и прочих враждебных проявлений фантастического космоса. Космическая пушка просто висела неподвижно в пространстве и стреляла по пролетающим мимо объектам. Стрельба осуществлялась снарядами, игрок мог менять скорость полёта снаряда и даже задавать траекторию его движения.
По сути, Opergun представлял собой космический тир. Простая незамысловатая игра должна была стать идеальным вариантом для первого удачного игрового проекта.
Однажды мне показалось, что пушка, которая висит на одном месте - это слишком скучно. Будет совсем неплохо, если научить её перемещаться. А раз уж были задуманы столь серьёзные изменения, то нужно сделать так, чтобы вражеские космические корабли, которые игроку предстояло отстреливать наряду с астероидами, летали не только в заранее заданном направлении, но и пробовали уворачиваться от снарядов игрока.
В общем, по прошествии некоторого времени я понял, что у меня получается не тир, а старый добрый космический симулятор: стационарная пушка стала кораблём, способным без всяких ограничений перемещаться по бесконечной игровой сцене.
К тому времени я уже был знаком с серией игр Starwraith, последняя из которых носит, например, название Evochron Mercenary. Эти игры были почти единственными примерами реализации космического симулятора на языке Dark Basic, поэтому вызывали большой интерес с моей стороны.
В Starwraith проблема ориентации была решена, хоть механизм не был реалистичным, но он работал, и игроки обычно не замечали некоторых странностей в поведении управляемых компьютером кораблей. Я "просёк фишку" и впоследствии использовал такой же механизм в Opergun.
В ходе дальнейших разработок алгоритм ориентации был усовершенствован и стал нормальным, т.е. объекты стали вращаться относительно положения своей оси, которая вращалась вместе с ними. Это позволило, в том числе, реализовать в игре "Elite-подобный" радар.
Сюжет, какой он есть сейчас, появился лишь тогда, когда Opergun переименовался в Nebular. До этого для меня совсем не было важно, из-за чего корабли должны летать и уничтожать друг друга. Сам процесс вызывал удовольствие.
Однако игры с сюжетом мне обычно доставляют больше удовольствия, чем без него. Тем более всегда есть желание сделать свой собственный Вавилон-5 или что-нибудь в этом роде.
Что именно заставило меня придумать историю про супер-туманность, я не знаю. Но предполагаю, что в этом "виноват" Freespace 2, где были миссии в туманности, которые мне очень нравились. Захотелось создать мир, где туманность будет повсюду, этакий авиасимулятор без земной тверди и с бесконечным облачным покровом, куда не кинь взгляд.
Правда, поначалу сюжет был не настолько глобальным, чтобы менять законы физики и космоса. До того, как я заболел туманностями, была идея сделать всё происходящее в рамках пространства вокруг некой планеты, на которой располагалась бы отдалённая земная колония, переживающая нелёгкие времена: ресурсов мало, население растёт, крепнет сепаратизм, зреет революция и т.п. Планета носила название Фириди, а колония на её поверхности находилась под контролем промышленной корпорации Фириди-Форм. Игроку предстояло принять участие в революционных событиях, в ходе которых на планете образовалось бы новое правительство, и колония обрела независимость от Земли.
В целом, ничего оригинального. В какой-то мере, это даже чуть ли не прямое заимствование из Tachyon: The Fringe и серии игр Red Faction (не шедевр, но я обожаю все игры этой серии и любые другие, в которых затронута тема непростой жизни предполагаемой марсианской колонии).
Затем возникла идея расширить действие игры до масштаба звездной системы, где в состоянии гражданской войны живёт отрезанная от метрополии часть человечества, разделённая на несколько фракций (администраты, анархисты, независимые, пираты). Предполагалось, что игрок будет перемещаться по звездной системе в режиме открытого мира и выполнять задания разных фракций, что в конечном итоге приведёт к победе одной из них и окончанию игры.
И, наконец, в конце концов, сюжетная составляющая игры стала рассказывать игроку о мире большой туманности, т.е. игра превратилась в Nebular.
Так и получилось то, что получилось - аркадная космическая леталка (космосим без претензии на реализм) под названием сначала - Opergun, затем - Nebular.
Что бы не случилось, я не собираюсь и крайне не желаю прекращать работу над Nebular, замораживать проект или ставить на нём крест. Однако использование Dark Basic и даже Dark Basic Pro, боюсь, больше не имеет смысла: техническая отсталость и отсутствие мультиплатформенности (в частности, абсолютная невозможность запустить любые созданные игры в Linux через Wine) ощущается слишком сильно. Пока что игра до сих пор запускается даже в Windows 8, за что я очень благодарен Microsoft, которая старается сохранять совместимость каждой своей новой ОС со старыми программами (не всегда, конечно, это у неё получается). Windows 8 при запуске Nebular сообщает, что для работы игры нужны отсутствующие в системе файлы DirectX, но не заставляет пользователя самому их искать, а скачивает и устанавливает всё необходимое автоматически.
К сожалению, придётся выбрать новый игровой движок, и переписать игру с нуля. Но, с учётом опыта и созданного контента, это будет уже, я предполагаю, легче сделать, чем семь лет назад. Надеюсь, у меня получится.
Ниже предлагаю вашему вниманию более конкретную историю проекта Nebular в виде различных версий игры и скриншотов из них. У всех версий Opergun есть одна общая черта - полное отсутствие звукового сопровождения и внутриигровых меню. При запуске всегда сразу же стартует заранее прописанная в коде игровая сцена. Звук, меню и внешние файлы со скриптами миссий я "прикрутил" к игре уже только тогда, когда она сменила название на Nebular.
Opergun 0.1
Cкрытый текст (кликните здесь для просмотра)
Скриншоты
Cкрытый текст (кликните здесь для просмотра)
|
То, с чего всё начиналось. Тут был только один единственный корабль, которым управлял игрок, и задний план, изображающий космос. Плюс индикаторы движения (белые полосы, которые возникают, когда корабль куда-либо двигается). Красная планета задумывалась как та самая Фириди, из первоначальной версии сюжета.
|
Opergun 0.2
Cкрытый текст (кликните здесь для просмотра)
Скриншоты
Cкрытый текст (кликните здесь для просмотра)
|
Почти то же самое, что и версия 0.1, но здесь я хорошо поупражнялся в создании более или менее красивого лицевого дисплея. На том, что представлен на скриншотах, есть кнопки, которые подсвечивались при нажатии соответствующих клавиш. Помимо дисплея, был улучшен вид окружающего пространства, а также в космосе появилось препятствие, в которое корабль игрока мог врезаться (и отскочить). Этим препятствием стала станция, которая вместе с другими немногими объектами, созданными к тому времени, стала позже частью контента Nebular.
|
Opergun 0.3 - 0.5
Cкрытый текст (кликните здесь для просмотра)
Эти версии я, похоже, безвозвратно потерял на одном из умерших жёстких дисков. Надеюсь, что когда-нибудь найду все пропавшие исходники, ведь там можно было увидеть мои ранние попытки создать корабли и прочие объекты, управляемые искусственным интеллектом, а также первые механизмы столкновений. Например, первый механизм столкновений действовал просто: один из столкнувшихся кораблей, а именно тот, у которого был наименьший уровень "здоровья", сразу взрывался. Если уровень "здоровья" был одинаковым у обоих столкнувшихся - взрывались оба.
|
Opergun 0.6
Cкрытый текст (кликните здесь для просмотра)
Скриншоты
Cкрытый текст (кликните здесь для просмотра)
|
То, что уже мне было бы не стыдно показать на каком-нибудь Интернет-форуме. Здесь уже есть то, во что можно играть и даже получить некоторое удовольствие от игрового процесса. В версии 0.6 работает на полную катушку лицевой дисплей с радаром и метками дружественных и вражеских объектов. Помимо игрока игрока в игровом космосе есть корабли, управляемые искусственным интеллектом, которые умеют отличать своих от чужих, находить вражеские цели, атаковать, избегать столкновений и уворачиваться от вражеских атак.
Версию 0.6 можно опробовать в действии. Игра запускается в окне 800*600. Для управления используются следующие клавиши:
- стрелки клавиатуры - для поворотов;
- A и Z - для увеличения и уменьшения скорости;
- TAB - для форсажа;
- E - для захвата цели в центре экрана;
- Q и W - перебор целей, отмеченных на экране радара (находящихся в радиусе видимости);
- пробел - для выстрела из орудий.
Нажатие на клавишу ESC приводит к немедленному выходу из игры.
ZIP-архив с EXE-файлом игры (размер: 1.01 Мб)
|
Opergun 0.7
Cкрытый текст (кликните здесь для просмотра)
Скриншоты
Cкрытый текст (кликните здесь для просмотра)
|
Эксперимент, в ходе которого я попробовал реализовать в игре лучевое оружие, как в Elite. Получилось неплохо, но возник ряд глюков и других сложностей, из-за которых я вернул в игру оружие, использующее исключительно снаряды. Кстати, начиная с этой версии в игре стал действовать "нормальный" механизм ориентации объектов в пространстве, доказательством чего служит Elite-подобный радар , показывающий положение объектов относительно собственной оси координат игрока, с учётом вращения корабля.
Версию 0.7 можно опробовать в действии. Игра запускается в окне 800*600. Для управления используются следующие клавиши:
- стрелки клавиатуры - для поворотов;
- A и Z - для увеличения и уменьшения скорости;
- TAB - для форсажа;
- E - для захвата цели в центре экрана;
- Q и W - перебор целей, отмеченных на экране радара (находящихся в радиусе видимости);
- пробел - для выстрела из орудий.
Нажатие на клавишу ESC приводит к немедленному выходу из игры.
ZIP-архив с EXE-файлом игры (размер: 1.93 Мб)
|
Opergun 0.9
Cкрытый текст (кликните здесь для просмотра)
Скриншоты
Cкрытый текст (кликните здесь для просмотра)
|
Последняя версия Opergun, которая уже максимально похожа на Nebular. Тут можно увидеть, что вместо того, чтобы делать просто аркадный космосим, я приступил к созданию космосима с открытым миром. Игрок может свободно перемещаться в рамках одной звездной системы, где случайным образом генерируются корабли разных фракций, создающие иллюзию искусственной жизни (они сражаются между собой, летают между планетами и станциями, выходят из гиперпространства в случайных точках). Игроку доступны информационные экраны, где он может посмотреть информацию о своём корабле, о его грузе, о своей репутации, о выбранных в качестве цели объектах.
Версию 0.9 можно опробовать в действии. Игра запускается в окне 800*600. Для управления используются следующие клавиши:
- стрелки клавиатуры - для поворотов;
- W и S - для увеличения и уменьшения скорости;
- TAB - для форсажа;
- J - включение J-двигателя;
- E - для захвата цели в центре экрана;
- < и > - перебор целей, отмеченных на экране радара (находящихся в радиусе видимости);
- [ и ] - увеличение/уменьшение радиуса охвата радара;
- пробел - для выстрела из орудий;
- F1 - просмотр информации о собственном корабле;
- F2 - просмотр информации о выбранной цели;
- F3 - просмотр информации о грузе на борту своего корабля;
- F4 - просмотр информации о фракциях и уровнях отношений с ними.
Отключение информационного экрана осуществляется по нажатию клавиши ENTER. Управление курсором на некоторых информационных экранах осуществляется стрелками, выбор пунктов - с помощью клавиши ПРОБЕЛ.
После запуска игры радиус охвата радара стоит на минимуме, рекомендуется сразу же увеличить его, чтобы лучше ориентироваться.
Нажатие на клавишу ESC приводит к немедленному выходу из игры.
ZIP-архив с EXE-файлом игры (размер: 1.86 Мб)
|
Opergun 0.95
Cкрытый текст (кликните здесь для просмотра)
Скриншоты
Cкрытый текст (кликните здесь для просмотра)
|
Тот же самый открытый мир, но с небольшими усовершенствованиями. Появились новые объекты: пространственные разрывы, через которые улетают и прилетают корабли. Планеты могут принадлежать одной из фракций, иметь оружие и стрелять по пролетающим рядом врагам. Корабли могут иметь на своём борту груз и, в случае уничтожения, иногда оставляют после себя контейнеры (подбирать их нельзя). Из-за странного глюка случайные корабли перестали генерироваться путём выхода из гиперпространства, лишь иногда на радаре можно увидеть мигающие синие метки, которые через некоторое время исчезают.
Версию 0.95 можно опробовать в действии. Игра запускается в окне 800*600. Для управления используются следующие клавиши:
- стрелки клавиатуры - для поворотов;
- W и S - для увеличения и уменьшения скорости;
- TAB - для форсажа;
- J - включение J-двигателя;
- E - для захвата цели в центре экрана;
- < и > - перебор целей, отмеченных на экране радара (находящихся в радиусе видимости);
- [ и ] - увеличение/уменьшение радиуса охвата радара;
- пробел - для выстрела из орудий;
- F1 - просмотр информации о собственном корабле;
- F2 - просмотр информации о выбранной цели;
- F3 - просмотр информации о грузе на борту своего корабля;
- F4 - просмотр информации о фракциях и уровнях отношений с ними;
- F5 - просмотр информации о грузе на борту выбранной цели.
Отключение информационного экрана осуществляется по нажатию клавиши ENTER. Управление курсором на некоторых информационных экранах осуществляется стрелками, выбор пунктов - с помощью клавиши ПРОБЕЛ.
После запуска игры радиус охвата радара стоит на минимуме, рекомендуется сразу же увеличить его, чтобы лучше ориентироваться.
Нажатие на клавишу ESC приводит к немедленному выходу из игры.
ZIP-архив с EXE-файлом игры (размер: 1.94 Мб)
|
PS: Новые записки о Nebular, о его настоящем и прошлом, скоро последуют.
|
|
|
Sh.Tac.
151 EGP
![Бронзовая звезда (+25 EGP)](/conference/images/ranks/medals/bronze.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) Рейтинг канала: 5(108) Репутация: 14 Сообщения: 1426
Зарегистрирован: 27.07.2005
![Вы не можете голосовать](images/tool_cool.gif) |
|
мемуары это очень опасно
показывать другим свои достижения является мотивацией, после постмортема она исчезает, не доделал, но показал же и рассказал уже, можно не доделывать
_________________ This is what you get ...
(c) Radiohead |
|
|
Velonski
89 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 4(53) Репутация: 13 Сообщения: 86 Откуда: Екатеринбург Зарегистрирован: 24.05.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
Sh.Tac. : |
мемуары это очень опасно Улыбка
|
Согласен, слишком похоже на некое прощальное слово, но на самом деле подготовка этой исторической справки вновь восстановила у меня желание тратить свободное время на Nebular после долгого перерыва. Рыться в старых исходниках, восстанавливая их работоспособность, запускать тестовые игровые этапы - всё это было так клёво.
Перерыв в разработке игры был по-настоящему долгим, так что изменения не очень-то впечатляющие, но в скором времени будет, что показать интересного.
|
|
|
Velonski
89 EGP
![Ветеран Elite-Games (10 лет)](/conference/images/ranks/medals/veteran10.png) Рейтинг канала: 4(53) Репутация: 13 Сообщения: 86 Откуда: Екатеринбург Зарегистрирован: 24.05.2009
![Вы не можете голосовать](images/tool_cool.gif) |
|
Остаётся примерно полтора часа до Нового Года. Не смог удержаться...
Поздравляю всех с наступающим праздником!
Желаю всем, кто когда-либо был в этом канале, завершить свои проекты.
Не унывайте, не сдавайтесь! Просто делайте!
Делайте даже тогда, когда кажется, что проект безнадёжно устарел и не нужен никому, кроме вас.
В конце концов, это же игра мечты.
PS: Проект "Nebular" собирается вернутся на форум в 2019-ом.
Cкрытый текст (кликните здесь для просмотра)
|
Последний раз редактировалось: Velonski (07:05 02-01-2019), всего редактировалось 1 раз |
|
|
Zachesa
151 EGP
![Бронзовая звезда (+25 EGP)](/conference/images/ranks/medals/bronze.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1415 Откуда: Хабаровск Зарегистрирован: 12.11.2007
![Вы не можете голосовать](images/tool_cool.gif) |
|
Velonski : |
Проект "Nebular" собирается вернутся на форум в 2019-ом.
|
Главное ни когда не сдаваться!
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
|
|
|
Канал Игры Мечты: «Nebular» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: О как! Модеров блокируют по два разА на дню... а что же ждет простых флудеров... (задумался Santier)
|
» Nebular | страница 5 |
|