Доказывает, что автор того видео всё-таки показал действие приза-звёздочки, а не как думали мы.
ЦитатаYams
В процессе боя на арену выпадают (среди обычных) 2 необычных типа "оружия": один тип это щиток в шаре (даёт временную защита от урона) и другой - это белый кристаллик в шаре (автор видео не продемонстрировал его действие, но думаю, что там может быть замораживающее дыхание).
А наши девочки точно смогут редактировать Хранилище сами? Нет, конечно таких IT-шников как они встретишь-то нечасто, но всё-таки?
Тогда TortoiseSVN нужен полюбасу. Кстати, я когда-то пробовал через него редактировать wiki-ветку (нужно указать на неё отдельно, а не как в нашей инструкции) – всё получается, в файлах лежит тот же код, что при веб-редактировании страниц. Правда я не понял, куда сохраняются комментарии на страницах, но видимо не туда, да и не нужны они нам в принципе.
Ещё вспомнил, что забыл показать, что я доказал, что повершинной анимацией обладает не только Спайро. Раньше мне казалось, что у всех анимированных объектов покадровая анимация, а у дракончика повершинная. То есть объекты просто исчезали на несколько мгновений анимации при повреждении, а Спайро именно терял ориентацию вершин, они разбегались в стороны (ну на некоторых глюках это видно явно – его размазывает – например при касании воды в мирах друзей, понятно да почему?) из чего я сделал вывод, что только дракон анимирует вершинки по ключевым кадрам, все же остальные меняют статичные модельки очень часто.
Оказалось, нет! Вот микроскопическое видео, подтверждающее это: http://klimaleksus.narod.ru/Files/S/ben.avi Чистый хак, замена объекта со включённой анимацией, конфликт номеров кадров. Хм, обычно эмулятор вылетает, не ожидал что засниму это с первой же попытки.
Кстати, по поводу двух новых видов оружия у Скорча: там есть небольшая сложность. Я не могу заставить Бентли бросить то что я хочу! Там жуткий рандом, не поддающийся моей власти. Нужно либо узнать, откуда он берёт данные, либо на ран-тайме парсить все объекты, выискивая новые появившиеся оружия, и менять их тип. Менять, кстати, придётся ДВА раза. Вы знали, что стеклянный шарик, и то что крутится в нём – это разные объекты? Шарик главный, он всё даёт. А иконка внутри подчинена ему, перемещается в его координаты, нематериальна, ничего не делает и умирает вместе с ним. А знаете, что ещё удивительнее? Что все пять (+ сам стеклянный шар) объектов имеют один и тот же тип. Они различаются другой переменной, так сказать, «видом» или «подтипом» объекта. Для всего остального эта переменная отвечает за анимационную линию (stand, walk, die, talk…) объекта. Номера раздаются последовательно, но безжалостно вешают эмуль при любом превышении максимального, который нигде не указан. Так что да, я тоже «могу менять анимацию» любых объектов на лету.
Зелёного чудика так и не нашёл, зато обнаружил вторую анимацию оранжевого чудика, как раз очень похожую. Скорее всего где-то есть ещё одна его собственная переменная, меняющая цвет или как это назвать…
Добавлено (22.03.2014, 00:29) --------------------------------------------- alteya, steeldragon, нам нужно собрать и выделить обособленным списком все те фразы, что по нашему мнению, не воспроизводятся в игре. Пока не поздно… Пусть он будет неполный или недостоверный, но отдельно выписывать такие тексты надо.
0) Я в М-Г-У 1) Прожил достойно, спокойно, но экзамен впереди. 1) Думал: что проще, чем точно сдать матан и дифуры? 2) Провалил вдруг один, завалил и другой… 2) …Пусть расклад для меня не впервой, 2) Череда пересдач, словно комом с горы, 2) День за днём я мечусь, закрываю хвосты. 3) Зато друзья хотя бы со мною делят тяжбу, 3) Кто экономику, да москвичам сдавали так же. 2) Только мне не везёт – вот опять незачёт. 3) Когда ответил верно на все вопросы темы, 3) Профессор быстро затопил, ему-то не проблема. 2) Да, я знал, что провал в третий раз уж не айс… 4) Кто поможет сессию закрыть? 4) В деканате жизнь не завершить? 2) Мой совет не забудь, о, студент-новый-курс: 4) За семестр не гоняй балду! 3) Работы в срок готовьте, а на контрольных ловко 3) Копите балл на автомат – и вот вам подготовка. 4) Юзай книгу не в последний день! 1) Мне же, как прежде, с надеждой сил пора собрать в кулак, 1) Бодро и твёрдо сегодня лишь отважный сделать шаг. 2) Я молю в этот раз пусть прочтут мой рассказ, 2) Я готов, я клянусь, только вновь дайте шанс! 0) Скоро …всё решится. but nobody came
aleksusklim, Да, моя учительница по рисованию говорила, что у меня есть способности к рисованию, вот такой шедевр я нарисовал. Правда красиво? ^_^
…У меня такое чувство, что если бы я не обещал однажды больше не принимать участия в конкурсах на форуме, то я мог бы победить во всех трёх категориях))
К делу.
Цитатаnonun
Главное, чтобы твоя работа не выходила за рамки задания)
Поскольку у меня перевод фанфика (и я вообще не хотел анонсировать своё участие заранее, до того как буду хоть сколько-нибудь уверен, что он будет написан в срок), будем же считать, что участвую не я, а сам автор?
Ну сюжет у него, это… кроссовер. Спайро + MLP. Spyro после третьей игры, пони после второго сезона.
Для его участия в конкурсе так ли строго необходима битва с реальным боссом из мира Спайро? Ну просто битва со злодеями их пони там вроде как, будет.
Если босс из Spyro необходим, то стоит ли мне попросить автора (да, фанфик ещё не дописан!) добавить хоть одну сцену такого сражения? Этого будет достаточно? but nobody came
Ух-ты, я нашёл небо! Которое в Super Bonus Round в подуровне с Хантером и гонкой с йети.
Там ж другое небо, помните? А мой SWV отображал его как небо родительского уровня, потому что я не знал, где находится его настоящее.
А теперь выяснил. Я не там искал! Оно не в том суб-субфайле, где хранится земля подуровня, а в том, где объекты и их текст.
Это первый прыжок! По смещению 48, то есть на третьей строке в WinHex. Там число, первый (из двенадцати или восьми у Spyro2) прыжок для поиска таблицы объектов. И для всех, абсолютно всех этих управляющих суб-субфайлов, включая сам уровень (четвёртый суб-субфайл), оно равно «4», то есть прыжок просто через него, отсутствие прыжка. Был логичный вопрос, зачем он нужен…
Так вот оказывается, только (а может и не только, при финальной конвертации всех посмотрю остальные уровни) ради Супер Бонуса, у которого в одном из порталов подуровней другое небо. Ради этого разрабам пришлось не только сделать эту ячейку равной 4 на всех других уровнях и их подуровнях, но и в явном виде прокопировать туда основное небо для тех подуровней этого уровня, где оно не меняется, то есть для всех остальных.
Даже в четвёртый суб-субфайл уровня. Что довольно странно, тогда зачем вообще небо там, где оно по стандарту лежит, если в каждом и даже в основном уровне его копия?
Короче, вместо числа 4 в 170-ом субфайле везде лежит размер неба, а само небо следом. И кстати с размерами, говорил я или нет, но теперь ВСЕ игровые структуры, с которыми я имею дело (земля, небо, списки текстур и объектов) будут начинаться с числа, обозначающего их размер. Чтоб стандартизировать для ручной конвертации, так формат логичнее будет.
А ещё я не хочу описывать или рисовать «расположение данных» в своих исходных файлах, как это было в прошлый раз. Просто писать уже придётся слишком много, лучше потом отдельно опишу подытоживание всего того, что нам уже известно.
И портальное небо в Spyro2 и 3 я тогда так и не доламал… Всё равно это просто квадрат, лучшее что я с ним придумал – собрать из шести таких небес один куб, и в SWV его смотреть. Но пока там совсем ничего не взломано, плюс я не помню в точности, где всё было, а выложить хоть имеющееся уже давно хочется.
И кажется, супер редактора моделей из Spyro1, встроенного в SWV, пока тоже не будет, я тогда так и не смог его до ума довести, кажется steeldragon с этом форматом лучше разобрался, потому что несмотря на все его объяснения, у меня до сих пор что-то проглючивает.
Распаковку «пачки небосводов» я вообще уберу: это небеса перелётов между порталами, и они во-первых в точности равны реальным небесам тех порталов во всех версиях Spyro2 и 3, а во-вторых в них нет абсолютно ничего интересного, ибо это те же самые банальные копии основных небес без чего-либо другого (вроде небес на самих порталах или вот этого из последнего скейттрека, что я там рассчитывал увидеть).
А, ну и насчёт поиска небес теперь. У меня же как раньше было – если передавать только имя файла для сохранения модели земли, то сохраняется лишь первая, как для Spyro2; если со звёздочкой – то все из подуровней. Теперь имя для модели неба тоже можно передавать со звёздочкой. Если её нет, то всё по-старому. А если есть, то напротив каждой земли ищется её небо, и если оно не найдёно, то вместо него копируется основное, а если же обнаружено – то новое.
Добавлено (01.05.2014, 19:38) --------------------------------------------- О-о, я наконец в Spyro1 взломал камеру!
Она нелогичная, хотя и похожа на Spyro3. Первое отличие – все характеристики это четырёхбайтные целые. В Spyro3 это были двухбайтные: X, Y, Z, R, P, W. (Roll, Pitch, yaW) Первые три – координаты, и, чтобы мои из SWV преобразовать для Spyro3, их надо умножать на 4, а для Spyro1 – на 16.
Сначала применяется yaW вокруг глобальной Z оси влево; потом Pitch как отклонение своей головы передней оси вверх или вниз (вокруг Lateral на рисунке), и в конце накладывается Roll – вращение вокруг направляющей оси влево, то есть кручение вокруг линии зрения.
Поскольку моя камера висит на трёх векторах, а не углах, мне пришлось брать арктангенсы и арксинусы, чтобы получить эти три угла. Сначала смотрю проекцию на плоскость вектора, который направлен вперёд – получаю yaW, затем рассматриваю его проекцию на вертикальный вектор – получаю Pitch. Имея эти два угла, поворачиваю на них единичную тройку векторов, и беру их скалярное произведение с настоящими векторами камеры (кроме направленного вперёд вектора) – это и будет Roll.
Все углы надо поделить на 2*pi и умножить на 4096, за переполнением или отрицательными значениями можно не следить, игра скушает.
А вот над Spyro1 я уже неделю потел, и наконец сделал. Там Roll обрабатывается совсем не так, как полагается. Но если он равен нулю (то есть земля внизу, без переворотов вверх тормашками), то остальные углы корректны. Наоборот, если yaW и Pitch нулевые (камера смотрит по оси абсцисс – красная линия в SWV), то Roll работает как полагается. Но когда все три произвольные, получается бред…
Выяснилось, что последний угол поворачивает не вокруг направляющей оси зрения, а тупо вокруг глобальной X оси. В итоге, все углы обозначают уже не те авиационные углы.
Пришлось сначала вычислить Roll – через проекцию латерального вектора на плоскость YZ. Затем повернуть на этот угол единичную тройку векторов, и обработать её по алгоритму получения yaW и Pitch как для Spyro3. И в самом конце повернуть новую единичную тройку векторов на эти три угла (первые два как обычно, а Roll вокруг оси абсцисс) и посмотреть угол между вертикальными (или между латеральными) векторами исходной и итоговой троек – он может оказаться перевёрнут, и тогда надо повторить весь алгоритм заново, но к Roll добавить pi в самом начале.
Фух, осталось ещё для Spyro2 камеру посмотреть, но не думаю, что она чем-то отличается от Spyro3.
Добавлено (09.05.2014, 19:04) --------------------------------------------- Упростил формулы поворота, оставив в них только то, что нужно. Думаю, не лишним будет опубликовать точные формулы:
// fromSWVtoSpyro3 ( camera XYZ, front XYZ, right XYZ) // NewX = X, NewY = Y, NewZ = Z, NewR = R, NewP = P, NewW = W
Вызываю их вот так: fromSWVtoSpyroX(camera.x0,camera.y0,camera.z0,camera.xt,camera.yt,camera.zt,camera.xr,camera.yr,camera.zr);
Первые три аргумента – координаты камеры в масштабе модели мира, потом три – координаты единичного фронтального вектора (куда смотрит камера), затем три – координаты единичного латерального вектора, который находится справа под прямым углом.
На выходе получаю то, что можно сразу передавать в эмулятор.
Вот вспомогательные функции вращения точек вокруг векторов:
// rotate3d_matrix ( angle, vector XYZ )
var ang,cosa,cos1,sina,vx,vy,vz,vxy,vxz,vyz,vxx,vyy,vzz,pi2,pi0;
Теперь мне осталось ещё доработать обратное преобразование координат и углов объектов, чтобы в SWV рисовать их пирамидками.
Добавлено (16.05.2014, 12:07) --------------------------------------------- Я подумал, что не будет ничего плохого, если я выложу тестовую-бета-демо версию: http://klimaleksus.narod.ru/Files/3/SWV_beta.rar
Знаете, моё увлечение «идеальными» переводами песен позволяет сказать конкретно, в чём тут ошибка, и почему здесь ТАК стопорится плавное чтение. Сказать?
Цитатаgitgeg
Уверен, ибо там нет нотки грусти.
Типа он и сам рад, что ли?
Цитатаgitgeg
Извиняюсь, но я не понял, что это за слово :)
Ай, опечатка. А Word тупой, везде вместо «е» спокойно принимает «ё» и не подчеркнул, думая, что я написал «зачем». А я вообще-то имел в виду «зачёт».
То есть: «А вот со смыслом зачёт: я ничего не понял!»
Цитатаgitgeg
"Неба больше нет"
О, однозначно понравилась ломка ритма почти на всём протяжении стиха, например постоянный переход с первого безударного слога на ударный; а также дыры внутри. С ходу не прочитать, но зато можно расставить паузы и акценты так, чтоб аж грянуло!
Цитатаgitgeg
Наша страна стал местом для Ада,
Опечатка: «стала».
Цитатаgitgeg
Вот вам на все мой последний ответ.
Насчёт точек над «ё»: знаете позицию Википедии по этому поводу?
Добавлено (24.05.2014, 19:41) --------------------------------------------- The Big Mill спет мною!
Tellery, респект! Будете достойным конкурентом. Мне понравилось.
По чистой длительности ваша сцена боя больше, чем непосредственный бой (с Рипто, в стиле флешбэка) у меня. А вот весь мой перевод фанфика даже длиннее, чем «В кромешной тьме»! …Его вообще, будут читать? Я-то «В кромешной…» до сих пор не прочёл))
«Тут откуда не возьмись появился Рипто *всхлип*» – пунктуация, «Ведь у Рипто был Котёл» – значительное расхождение с действительностью, «Из котла шёл чёрный дым» – шел/отошел/шёл слишком много раз, «Сильный, Гордый и апрятный» – опечатки, «но чуть-чуть не добежал» – убежал/бежал/добежал/убежал. Три с минусом.
Тогда быть может, на уровне присутствуют какие-то "визарды" без текста, в количестве трех штук - если верить вашему файлу.
Когда доведу SWV до стабильной версии с координатами объектов, то можно будет глянуть.
А так – да, скорее всего это какие-то пустышки, у которых почему-то вырезан текст. Возможно их и самих по сути нет в уровне.
ЦитатаТомас
Автор сего незабвенного эпоса наверняка и не помышлял, что когда-нибудь это выражение станет нарицательным.
А переводится это примерно так: «И вот, Спайро, Спаркс и Флаттер надевают костюмы волшебников, да идут на Арену Рипто»? А выглядит так?
ЦитатаТомас
В нашем случае эти NPC могут отвечать, например, за более-менее глобальное структурное преображение уровня. <…> будут стоять-разминаться на месте, играть свои idle animations. <…> Может быть, разрабы не успели затереть рабочие кодовые названия контроллеров во второй игре. <…> Для этого понадобится всего одна функция. Здесь не нужно управление деревьями <…> Заранее проработанные сценки с чёткой и неуклонной последовательностью анимаций. <…> Поэтому читала много теории, изучала чужие моды, ковырялась в игровых файлах.
Да вы кто вообще такая!? *В хорошем смысле))*
ЦитатаТомас
во второй – с Риптовым порталом намудрили,
Вы даже и это знаете/запомнили …
ЦитатаТомас
У мехов в кодовом плане нет ни малейшей динамики. Ведут они себя всегда одинаково, выглядят тоже. В принципе, вообще ничего сверхъестественного не происходит. Играет одна единственная стабильная и неизменная анимация.
Однако меняется физическая составляющая мира. То есть это не 3D живой объект, это вершинное движение модели мира.
Мне кажется, что за эту часть будет отвечать тот же код (или набор свойств недалеко от самой модели, он мне ещё в CastleSkatepark нехило мешал), который перекрашивает цвета (подводные блики) и анимирует колыхание водяной поверхности. Это доказывает, что игра может вот так просто менять что угодно в графике мира, но одновременно и в его физике.
С мехами это более очевидно, хотя скорее всего процессы независимы, просто графика мехов меняется одновременно с физикой мира, но независимо от неё. Всякие взрывы замков и раскалывания стен – так же технология. Как конкретно работает – не знаю…
ЦитатаТомас
Поэтому мост вполне может всегда оставаться на своём месте. И тогда поначалу он вроде как вдвинут в стену, ну а анимация его «выползания» в любом случае крайне проста.
Да, мосты тоже – часть графики и физики мира. Иногда они по умолчанию вдвинуты, иногда наоборот. Кстати, замораживание живых объектов не влияет на анимацию этого рода. С моим читом например, вода всё равно колыхается, а меха раздвигаются. Однако лишь раз – мех дойдёт до конечного состояния и стоит так (видимо за них действительно отвечает какой-то живой объект), но заморозка в момент движения меха не приводит к его остановке посередине.
Ещё заморозка не влияет на анимацию частиц. Это всякие вспышки (не битьё ваз), дымки и пыль. Например жаровой столб от солнечного семени. При заморозке он перестаёт появляется, а то что уже есть – улетает вверх и исчезает, но не повисает в воздухе. А я помню, что побочным эффектом в MegaTextRip (или ещё где-то) случайно взломал эти систему обработки частиц. Потом надо бы и для неё чит сделать…
ЦитатаТомас
есть у меня сомнения, что само это слово - чисто симская терминология...
В Game Maker всегда неплохо иметь контроллеровый объект, который будет отвечать за глобальные вещи в уровне. Например нажатие на паузу или выход из игры по закрытию окна. Он же (а ещё лучше, когда другой) должен возможно инициализировать стартовые позиции других объектов, хранить какие-то переменные уровня (можно для каждой локации сделать его наследника, если логика уровней различается), отвечать за тайминг и рандом (например если с неба надо изредка сыпать призы, то кто-то же должен за это отвечать). А когда я был ещё большим быдлокодером чем сейчас (когда откровение Game Maker ещё не пришло ко мне), то у меня объект самого персонажа отвечал за всё и вообще всё. Он и нажатия на стрелочки отлавливал, и на эскейп. И поведение в разных уровнях я ещё и через многократные условные проверки во всех событиях программировал. Понятно же, чем это чревато? (И то что попытка что-то добавить, найти или отладить становилась сущим адом это ещё на самое худшее!) Если мне понадобится УБИТЬ этот объект или даже превратить в какой-то другой – то всё, весь игровой код вырубается. Надо либо дополнительные условия ставить, либо дублировать его. Ошибка, которая раз и навсегда научила меня делать «контроллер» – небольшая мультиплеерная игра для двоих на одном компе. Там я сначала запрограммировал синглплеер, и объект персонажа у меня отвечал за ВСЁ; потом когда пришла очередь мультиплеера, я уже не мог просто снять с него копию, потому что у меня все рандомные события стали повторятся по два раза, пришлось делать уже нормальный чисто игровой объект для второго игрока, который отвечал только за персонажа. Но дело всё равно рушилось, когда второй игрок побеждал, уничтожая первый объект… Решение – отделить контроллерную часть, но к тому времени код объекта стал настолько нечитаемым, что я расстроился и просто забил на эту игру, доведя её до более-менее стабильной версии (которая всё равно иногда вылетает по непонятным причинам), которую больше модифицировать ни за что не буду.
Но при этом в SWV ловлю себя на том, что поступаю точно так же. Хоть я и отделил объект «камеру» и объект, который отвечает за загрузку и показ моделей, но они уже всё равно слишком сильно связаны. Просто камера у меня классная, у неё очень хорошее движение, которое хотелось бы иметь отдельно, чтобы потом может быть перенести в другую подобную программу. Но кажется, что легче будет вырезать из SWV всё что не относится к камере, чем пытаться выделить её в чистом виде.
ЦитатаТомас
То есть, взять тех же врагов, например. Соображалка большинства врагов в игре основана на поэтапных «сенсорных» зонах вокруг них. Это можно представить себе как многослойную ауру.
А я знаю как это работает, я овец дрессировал))
Короче, когда объекты далеко, они не рисуются и не обрабатываются. Когда они в поле зрении камеры (и по задумке неактивны) – то часть их кода исполняется (например игра вылетит, если указатель на их код неверен, но останется жить, если повреждены некодовые данные), но он ничего не делает. Пока Спайро не окажется достаточно близко. Потом объект начинает интерактивно реагировать. Для овцы – это путешествие по сети из маяков.
Каждая овца имеет указатель на описание сети маяков, а та – на сами маяки. Поэтому несколько овечек могут бегать по одинаковым или частично пересекающимся сетям – именно так они обретают своё «стадное чувство». Овца может находиться около маяка, либо между ними. Если между, то она будет бежать к выбранному маяку до тех пор, пока не окажется рядом с ним достаточно близко. Потом, если Спайро всё ещё тут, она срочно выбирает другой маяк и бежит к нему. Кажется, направление к дракону не играет никакой роли при выборе – она может развернуться и в лоб ему побежать! Если Спайро рядом нет, то овца остаётся щипать травку. Через некоторое время она может поменять маяк. Следует отметить, что овцы не становятся непосредственно на маяки, их устраивает некоторое расстояние (константное, в несколько диаметров дракончика, а не как waypoints у ботов Контры, где каждая метка обладала радиусом).
Ещё интереснее то, что овца будет пытаться обойти любые непроходимые препятствия, что встретит на своём пути, будь то Спайро, другие овцы, пропасти и стенки. Она будет обходить их, отклоняясь от линии между маяками, но не сильно: если она не может обойти с одной стороны, то будет предпринимать попытки с другой, в общем тыкаться и тыкаться, пока не пробурится как-нибудь. Она не поменяет целевой маяк, пока не окажется радом с ним, так что мои овечки частенько застревали там, где мне не надо.
Они ведь выбирали любой маяк! Если у меня их к примеру, семь – то появляется уже аж 21 путь передвижения овцы. Проверить достижимость не так уж сложно: каждый маяк должен быть в прямой видимости от каждого (и не только по ровной линии, но и с небольшим допуском).
ЦитатаТомас
Стоит подойти чуть ближе – враг поворачивается к дракону, начинает его преследовать или наоборот убегать, при этом Спайро становится для него обычным магнитом.
Мне кажется, что подобная сеть маяков в той или иной степени у всех движущихся врагов. Хотя они и могут руководствоваться физикой мира, но они ведь никуда из своей зоны не убегают! К тому же, овцы без своей сети вообще неработоспособные – прыгают на одном месте.
ЦитатаТомас
Знать бы, возможны ли такие расширения для Спайро, на каком языке он вообще был написан
Формально на Си (это единственное, что вообще компилируется в ассемблер PlaySation), но я уверен, что был некий «движок». Этот движок делит и Краш Бандикут, как мне кажется. И несколько других игр. В то же время например Gex или Croc пользуются совершено другими вещами (там небо текстурированное), а скажем Pandemonium и подавно.
Однако у Spyro кроме этого графическо-физического движка наверное был ещё и механизм, благодаря которому все его ресурсные файлы так отличаются форматом от стандартов SDK. Почти все ресурсы кодированы в собственные представления. Не исключено, что данный механизм уникален, и создан разработчиками только для Spyro.
Цитатаalteya
если просто посмотреть на игру: как все работает, двигается и действует - то все кажется вполне простеньким и незатейливым.
…А ещё есть траектории. Поточечные описания, где именно должен находится объект в каждый миг игры. Применяется для константных и замысловатых путей, например первый бег Хантера, появление Бианки, сталкивание двух носорогов недалеко от начала в Sunny Villa, пути полёта пущенных ракет. Эти списки координат занимают довольно много места в четвёртых суб-субфайлах. Но движение организовано не через ключевые кадры, а именно как постоянное присваивание новых координат из массива.
Формат пока не взламывался глобально – может одну какую-то траекторию я и смог бы извлечь, но пока точно не все стразу.
ЦитатаТомас
А разрабы – они не злые, и даже наоборот.
Ну надо же, хоть кто-то не считает эту идею – обратиться к Бессонным – обречённой изначально.
ЦитатаТомас
Только представьте: если бы шаг за шагом получился полномасштабный редактор для Спайровских игр
Ну для этого кроме модели мира, включая его физику, понадобился бы ещё редактор анимаций персонажей, и конечно их кода. Но до этого пришлось бы по винтикам разобрать весь субфайловый формат, чтобы уметь не модели и текст оттуда вытаскивать, а собирать из ресурсов свои субфайлы. На самом деле до этого пока очень далеко.
Во-вторых, ограничения платформу. Это не ZX Spectrum, слава богу, но всё равно нам пришлось бы превратиться в программистов прошлой эры. Они были очень упорными и экономными. Мы восхищаемся ими примерно так же, как архитекторами египетских пирамид – «Как, не имея почти ничего, им удалось создать ТАКОЕ ?» Это всё равно что пытаться построить ещё одну пирамиду сейчас и вручную…
Например, многие любят писать трекерную музыку под денди – музыку, которую воспроизводит звуковой чип Nintendo по программе. Вот умельцы эту программу и пишут. Потому что невозможно перегнать ни один формат в неё автоматически. Я пытался разобраться в одном из «трекеров», но понял, что никогда наверно не смогу ТАК писать музыку, хоть я и программист…
Но люди поступают по-другому. Вот Story of the Blanks написана на ActionScript3 под Flash, но имитирует работу Nintendo. И это не пустой звук, я декомпилировал и заглядывал в её код и ресурсы – она РЕАЛЬНО имитирует денди, особенно графической частью, там специальная библиотека. Кажется, игра работает с физическими ограничениями платформы, там используется 16-цветная палитра, маленьких размеров графический тайл, и.т.д. Это и не эмуляция, всё просто так выглядит. Музыка там трекерная, но сохранена в mp3. Графика кодово-канальная (или как это назвать, когда вместо картинки просто разными яркими областями закрашены пиксели одного и того же цвета палитры, но без самой палитры), но сохранена в png. Стоит открыть встроенный редактор уровней и что-то поменять в индексе тайла или смещения палитры – как становится понятно, что игра действительно их корректно использует, а не просто рисует «спрайты плохого качества».
ЦитатаТомас
Создавать собственные уровни! Бесконечный Спайро – это мечта!
Короче, я к тому, что при огромном желании, мне кажется, Story of the Blanks можно в точности повторить на денди. Она запустится на Nintendo, непременно запустится, но её пришлось бы переписывать заново с нуля. Потому что то что там сейчас – уже никакими средствами не перенести на денди, хоть оно и выглядит с ним один в один.
А ещё легче сейчас взять любую игру для денди, и портировать на PC не эмуляцией и даже не имитацией – а просто написать такую же игру с очень похожей графикой.
Вот и со Spyro я думаю, следует поступить именно так. Сделать его для компа, написать заново. Возможно, видя код настоящего, зная досконально логику игры и все алгоритмы. Но повторить их под свою платформу.
Главное для этого – выбрать движок. Game Maker не подошёл, я доказал уже. Тут вот пробуют Unity3D, но мне всё ещё кажется, что получится совсем не то.
Если в процессе нашего перевода мы случайно изобретём возможность полностью менять уровни в Spyro, то здорово. А вот писать нового Спайро для компьютера я не стану. Не хочу больше пробовать…
ЦитатаMrModez
если до этого дойдет, то зовите меня для создания "минусовки" фоновой музыки.
Замётано!
ЦитатаТомас
jackie затапливает уровень Aquaria Towers водой; jackie - морским коньком, вслед за которым нужно плыть на скате Хантера в Aquaria Towers;
Ну да, вы меня заинтриговали, я решил взломать этого Чана в Башнях Акварии, да выяснить наконец, что же точно он делает.
Ломал японскую версию (и он там тоже был!), потому что на ней у меня есть savestate как раз на этом уровне.
Ну сначала я просто уничтожил экземпляр объекта с именем «jackie», само это имя и всё что по близости.
Прошёл уровень. Ничего странного. Затопление, конёк, полодка – всё работает. Проверял несколько раз.
Потом вытащил координаты объектов и запихнул в ещё незаконченную SWV, да нашёл там его:
Да это она, ошибки нет. Уничтожение – исчезает, повреждение – перестаёт сохранять или просто зависает игра при приближении к ней.
По прочим игровым свойствам эта Зоя ничем не отличается от других зой на этом же уровне.
В ЧЁМ ПРИКОЛ!?
Зачем же ей было нужно это нелепое имя?
Насчёт других имён не знаю, но кажется я догадываюсь, кто будет «Fairy»…
Добавлено (25.05.2014, 19:27) --------------------------------------------- Тексты сценок, за качество отвечаю: (скачать)
1) «We need a vacation!»
Spyro: Is this rain ever gonna stop? I've forgotten what the sun looks like. We should go on vacation! Somewhere warm... somewhere sunny... Dragon Shores! Yeah! I haven't been there since we kicked Gnasty Gnorc's butt! How about it, Sparx? You up for a vacation at the beach? Last one there is a Gnorc!
2) «I've got a dragon!»
Elora: Is it working, Professor? Professor: Almost... just a few more adjustments to these orbs and... Hunter: Maybe this isn't such a good idea... bringing a dragon here could just make Ripto angrier! Elora: Calm down, Hunter! And stop fidgeting! Hunter: But you saw the Professor's book! They have claws like this, teeth like this, and they spit fire like THIS! They sound much more dangerous than Ripto! Elora: That's exactly the point! A dragon is our only chance of stopping Ripto. And you know it! Professor: It's working... IT'S WORKING! I've got a dragon!! Spyro: Woah... rough landing! Hi! Which way's the... beach? Hey, stop staring! Haven't you guys ever seen a dragon before? Hunter: You're a dragon? Spyro: You got a problem with that, pussycat? Ripto: Well, well... someone forgot to invite me to the party! Are you trying to keep something from me? A dragon?! You brought a dragon to Avalar?! I. Hate. DRAGONS! Ow! Crush, kill it, kill it! Gulp, you imbecile! You ate my scepter! I'll deal with you later! Spyro: Who was that jerk? Elora: That was Ripto! And we have to get rid of him! He's causing all sorts of trouble around here...but I haven't got time to explain. Here, take this magic guide to Avalar. It'll help you begin to understand our worlds. Right now, I have to follow Ripto and see what he's up to! I'll meet you in Summer Forest, okay? Spyro: Hey, wait a minute! How do we get ourselves into these messes, pal?
3) «I'm a faun, you dork!»
Elora: Oh, no... Oh hello! We didn't get a chance to introduce ourselves before; my name is Elora. Spyro: Uh, hi! I'm Spyro... What are you? Some kind of goat? Elora: I'm a faun, you dork! Spyro: Oh! Sorry... Elora: Did you meet the gemcutters in Glimmer? Spyro: Yeah, they gave me a souvenir too! They called it a talisman. Elora: They gave you a talisman? Spyro: What, is it special? I just stuck it in the guidebook you gave me. Elora: There are fourteen talismans in Avalar, and they are all magical! If you can collect enough of them, they can be used to defeat Ripto! Hunter! Where have you been? Hunter: I, uh...got a little lost. Elora: Spyro's going to help us collect the talismans! Spyro: I am? Hunter: He is? Elora: Spyro, look...there's no way you can get to Dragon Shores right now. Ripto and his monsters have taken over the castle here in the Summer Forest. You're going to have to go to Avalar's worlds, and convince the inhabitants to give you their talisman. You can keep them in your guidebook. Hunter: Hey, I can do that! Why doesn't the dragon just torch Ripto? Elora: Hunter, you can't even keep track of your running shoes! How can we trust you with fourteen talismans? If you come across any orbs, they're important too... But I'll tell you about them later. Spyro: Okay, no problem! I'll collect a few talismans, give Ripto the old hotfoot, and be in Dragon Shores by lunchtime!
4) «No dragons, wonderful!»
Elora: Before you get to the castle dungeon Spyro, I thought that you might want to know how Ripto and his monsters arrived in Avalar. You see, last week in the Winter Tundra, the Professor was working on some new super portal technology... Professor: There, that's the last orb in place! Now let's see... all we need are some co-ordinates! Hunter: How about...22-4-75? That's my birthday. Elora: No, Hunter! Don't! Hunter: What? Ripto: Get off me! Get off me, you useless buffoons! Why can't either... of... you... Where are we? Hmm... No dragons. Wonderful! Crush, go back and pack my bags! We're moving in! Say hello to your new king. Elora: Professor, shut it down! Hurry! Professor: Oh my, oh my! I can't see the switch, I think I've broken my glasses! Ripto: Crush! Go through the portal, you idiot! Elora: Tell all your friends to take the orbs and scatter them throughout Avalar! Quickly! Ripto: Noo! Gulp! Crush! Get the orbs now! Ooh... you despicable little creature! I'll kill you! Elora: This is bad news for Avalar. Hunter, why didn't you chase him? Hunter: Uh... yeah, I um... would've gone after him... but didn't he say something about not liking dragons? Elora: Professor, can we catch a dragon to help us? Professor: Yes... yes, I think so! We'll need a world that has an alignment much better suited to intercepting one of these creatures... how about... Glimmer? Elora: Good idea! We'd better go right now!
5) «Bring it on, shorty!»
Ripto: Noo! Crush! You may have been able to defeat that simpleton, but Gulp will be more than a match for you! Spyro: Bring it on, Shorty! Ripto: Gulp! Come here now! Destroy him, and make sure it's painful! What... the roof?! Gulp, get me out of here! So long, dragon! Spyro: What a wuss!
6) «Boo…»
Moneybags: Hmph! That Ripto has caused enough damage! All his meddling has cost me a fortune. If it wasn't for Spyro, I'd be bankrupt! If Ripto were here, I'd give him a piece of my mind. In fact, I'd give him a lot more than that! I was a champion bantumweight boxer at University, and I still know a few moves... Take that! And that! Ripto: Boo! Moneybags: Why you... you...
7) «Gulp, lunch time!»
Ripto: Gulp, we've finally made Avalar ours! You've earned a special reward. Gulp? What is it, boy? Oh, the fairy. Here you go! You singed my cape! Dragon, you are really starting to get on my nerves! Say goodbye, flame-breath! Gulp, lunch time! Gulp, finish him off and you can have all the fairies you can eat! I'm going to enjoy this...!
8) «Spyro, you did it!»
Elora: Spyro, you did it! Spyro: Woah! Elora, where'd you come from? Elora: I was just outside the castle in Autumn Plains...the castle is now free again! There's no sign of Ripto! And since you've been around, the creatures of Avalar are finally starting to get along! Since you've done so much for Avalar, and since I know you've really missed being on vacation... we really wanted to do something nice for you. It's not much, but we hope you like it. Spyro: Wow, this is great! Aren't you gonna join me? Elora: Uh... no. I'd like to, but I've got to go check on the Professor in the Winter Tundra. He's still trying to fix the super portal so we can send you home. Spyro: Oh... that sounds interesting. I think I'll just hang out here for a while and soak up a few rays... Hey, where'd Elora go? I'd better follow her...
9) «You little fools!»
Professor: I think I've finally come up with a way to access the Dragon Worlds from the super portal! This power crystal should give us the extra boost that we need! Just a few more calculations to set it up... I think I have it... excellent! Everything is finally ready! We're going to need a lot more orbs, but with the power crystal boosting it, the super portal should work again. Ripto: Soo... you thought you had gotten rid of me? Well, I'm afraid not! I persuaded that fat bear, Moneybags to sell me a few bombs. Elora: Quick, the power crystal! Ripto: Don't even try it, book-boy! Or you'll be the world's smartest pile of ashes... Ripto: This is just what I need for a new scepter! Elora: Hunter, do something! Quick! Hunter: Uh... Hey, give that back! Well, I tried. Ripto: Ahahahah! You little fools! After I destroy you all with my new scepter, I'm going to rename this place, Riptonia! Bwahahah!!
10) «What? You again?»
Ripto: Gaah! Come back here, you useless animals! Spyro: Hey shorty, maybe I can help! Ripto: What?! You again! Spyro: Yep! If you want to test that power crystal, why don't you try it on me? I'll stand still, I promise. Ripto: Hmm... I like that idea... Dragon, you've just sealed your fate!
11) «Come on, Sparx!»
Elora: I don't think we can ever thank you enough, Spyro! I suppose you have to go now? Spyro: Yeah, I'd better, they'll be missing me in the Dragon Worlds, and I've still got a vacation to take, I need it more than ever now! Elora: Before you go, I think that Moneybags has something he wants to give you. Moneybags: Hmph! I most certainly do not! Elora: Hunter! Spyro, Moneybags is very sorry that he made you pay so much on your way through Avalar, we want you to keep the gems as a reward for helping us. Spyro: Wow, thanks! Sparx, can you grab 'em? Professor: Let me just type in the new co-ordinates... and... there! Spyro, you can now go to Dragon Shores! Spyro: Hey, why don't you guys come with me? I bet you could use a holiday. Elora: I'm afraid we can't, Spyro. Ripto may be gone, but he caused a lot of damage during his short stay. We'll be cleaning up for weeks! Just remember though, that you can always get back to Avalar from Dragon Shores if you want to visit. Spyro: Well, Ok! Come on, Sparx! We've got a lot of vacation to catch up on!
…Сколько ж всего пришлось удалить! Инверторный дроид… but nobody came
Игра не должна себя так вести, хотя по логике всё верно. Но на практике я ещё ни разу с этим не встречался (ни, думаю, кто-либо ещё). Проверить может любой, нужно лишь достаточно терпения.
Короче, Evening Lake > Lost Fleet > подуровень пирата с подлодками > зелёное кислотное озеро.
Проверял только на Платиновой версии, если кто захочет – испытайте GH.
Итак, я залез в кислотное озеро, взяв защиту. У меня был Спаркс второго уровня, то есть синий. Особого ничего не использовал, лишь прочитил себе 150 яиц и 20000 камней. Был ещё взлом высоты на горячих клавишах, но я его не использовал.
Суть в том, что если у дракона кончится защита, пока он плавает по поверхности – его отбросит вверх с обожжённым хвостом (если жив Спаркс; иначе Спайро тонет), если защитf кончится, когда он будет под водой кислотой – он погибнет мгновенно, с анимацией удара током (стрtкоза пропадёт сразу). Интереснее наблюдать, что будет, если защита кончится когда дракон будет находиться физически в жидкости (и плавать), но прямо под её поверхностью, до которой не более одной холки Спайро. Его выбросит вверх (на солидное расстояние сквозь жидкость), но сила прыжка будет как если бы он прыгал с поверхности, то есть он вылетит невысоко, и тут же снова упадёт и обожжёт хвост, и второй прыжок станет уже высоким. Это конечно со Спарксом, а вот если нет стрекозы, то Спайро утонет прямо в воде (находясь ниже поверхности), с анимацией как если бы тонул с поверхности, а не от удара током (который ещё и нереалистичен тем, что падение вниз происходит как если б там была не вода а воздух).
Но это ещё не глюк. Вопрос: что будет, если защита закончится ровно в тот миг, когда Спайро проплывёт сквозь воротца, дающие новую порцию защиты? Ну мой ответ такой: если в момент как пропадёт защита, дракон будет в кислоте – он погибнет (за исключением случая под самой поверхностью, описанного выше, когда лишь теряется один HP стрекозы); факт прохождения через рамку никак на это не влияет, потому что защита автоматически повышается до максимума, и никакого урона не регистрируется. Если же предположить, что оба события (истечение таймера и прохождение ворот) действительно произошли в один игровой миг (фрейм/кадр, 1/60 сек.), то мой ответ ещё проще: что в коде игры обрабатывается раньше, то и случится – если истечение времени, то смерть, если новый таймер, то жизнь.
Глюк обнаружился случайно, хотя я намеренно проходил через рамку в последнее мгновение (я играл без звука и сделал savestate находясь в кислоте с низкой защитой, и просто хотел-таки успеть выбраться оттуда не теряя жизнь). Вот что получилось:
Спайро выжил, но Спаркс пропал!
И как такое возможно? Причём повторюсь, Спаркс был синий, то есть за один раз он никак не может исчезнуть. Ведь урон в игре либо не наносит повреждений, либо отнимает очко стрекозы, либо убивает сходу. Никогда не было так, чтобы потерять Спаркса любого уровня, но при этом самому остаться в живых.
Пришлось повторить опыт, и на это ушло очень много времени, но снижение скорости эмуляции до 15 кадр/сек. мне помогло. Ещё раз на тех же условиях и получилось! Синий Спаркс пропал.
Я сразу подумал о режиме полусмерти, очень загадочном явлении. Кажется, он происходит когда Зоя сохраняет дракона в момент анимации проигрыша (или если через атлас улететь в другой мир одновременно с получением урона, например от лавы), хотя уже точно не помню, надо перечитать посты Йамса. В Spyro1 это срабатывает, если любой противник смертельно ранит Спайро, отбросив его на площадку к замороженному дракону.
В режиме полусмерти нет Спаркса, не нажимается пауза (важно!), не обрабатывается соприкосновение с поверхностью воды, и по-моему, возникает ещё несколько других полезных странностей, вроде бесконечного воздухоплавания на уровне (не уверен).
Но здесь-то пауза нажималась, а соприкосновение с водой обрабатывалось! Это можно назвать режимом четверть-смерти…
Предлагаю всем желающим повторить эксперимент, лучше при других условиях (например, на золотой стрекозе в Greatest Hits).
Надо сказать, что жизнь Спаркса у меня была на горячих клавишах в ArtMoney, но забинденными стояли лишь установка в зелёного и добавление единицы, так что глюк не из-за них.
Я хочу предназначить эту тему для обобщения ВСЕХ вопросов графической части игры – шрифт (не взлом а рисунок), логотип, лого, обложка, текстуры, портреты. И не только Greatest Hits, но и всех-всех других. И японский шрифт + японский логотип, плюс всё что мы задумали насчёт нашего атласа и.т.д. Для Hero’s Tail тоже можно использовать, если там будет что менять.
Короче, эта тема для картинок, которые требуется перерисовать. Ибо сейчас они разбросаны по всем прочим темам, и зарыты очень глубоко… Отныне, если мы ещё надеемся на профессиональную помощь наших художников, для которых нужно весь материал собрать в одном месте, будем копировать сюда запросы на рисование. И собирать всех художников тоже в этой теме.
Я не предлагаю вести обсуждение извлечения или взлома картинок тут, зато сюда можно будет копировать полученный результат, чтобы проще было его обозревать.
Ну а чтобы тема не пустовала, сюда же можно направить новичков – всех тех, кто откликнулся на наши просьбы и хочет помочь, но не знает куда писать. А после знакомства их можно будет направить по назначению.
Изменения: – Стёрто «Created and Developed» – Часть фона после стирания восстановлена (идеально) – Добавлено «Произведено» (как перевод) – Добавлено «Перевод от Spyro Realms» (как подпись)
Вот что я могу сказать:
Круто! Удаление прошло успешно. Русский шрифт для подписи – великолепный! Шрифт для перевода – ужасен, ещё бы Times New Roman поставили… Следите за цветами, не превышайте 256, а также пробно приводите к восьмибитному (в подтверждение того, что цветов хватит, и качество не упадёт) Прожгите его в игру и отскриншотьте, на это стоит посмотреть. Размер шрифта надписей – почему такой маленький!? Вам что, места жалко? Или не было технической возможности (может там текстуры левого угла нет?) Надписи нужно сделать крупнее и выразительнее – красный градиент или более тёмный (из имеющихся красных оттенков) контур. Есть опасения, что данный рисунок не прокатит (по-моему, вы с «паззлом» что-то напутали…) и надпись не помещается в текстуру – тогда придётся либо рисовать поверх оригинального лого, либо сплющить и отодвинуть их текст. Может быть возможно найти ДРУГОЙ их логотип и засандалить вместо этого. Будет очень неожиданно для фанатов! Ещё забавнее – их логотип уменьшить до предела (в уголок и с малым количеством цветов), а на оставшееся место прилепить нашу эмблему сайта! Самую что ни на есть узнаваемую (скорее всего фиолетовую, так что придётся менять палитру).
Нашёл свою цитату:
Цитатаaleksusklim
Однако, взгляните вот сюда: http://i.piccy.info/i5/15/61/1736115/Scr_7.jpg Зачем разработчики оставили СТОЛЬКО свободного места? Мне кажется, специально, чтобы мы смогли написать там: «Перевод от spyro-realms.com». Ради этого стоит взламывать цветовую кодировку?
На скрине больше пустоты, чем в текстуре. И её нельзя ничем зарисовать. А я помню, что во время взлома палитры шрифта однажды повредил все текстуры, и на табличке остались две полосы сверху и снизу чёрные (в то время как всё остальное было в разноцветных точках). Но раз табличка на вид по высоте и так больше чем ваша текстура, значит с «паззлом» всё в порядке, и писать можно везде где хотим. Тем более нужно укрупнить шрифт!
Шрифт для перевода – ужасен, ещё бы Times New Roman поставили…
Да уж... Поищу в дебрях Интернета что-то более подходящее.
Цитата
Технические характеристики: Горизонталь – 381
Да, напутал, оригинал длиннее на 3 пикселя в ширину. Они всё равно абсолютно чёрные, так что невелика потеря.
Цитата
Размер шрифта надписей – почему такой маленький!? [color=#999999]Надписи нужно сделать крупнее и выразительнее – красный градиент или более тёмный (из имеющихся красных оттенков) контур.
Сделаю.
Цитатаaleksusklim
– Часть фона после стирания восстановлена (идеально)
Секретик: это отзеркаленный кусок фона снизу.
Цитатаaleksusklim
Прожгите его в игру и отскриншотьте, на это стоит посмотреть.
Разберусь с частями только, их там 10 штук (а может, и 11... или 12?).
Добавлено (08.03.2013, 12:37) --------------------------------------------- Новое лого и скриншот в игре(немного криво собрано):
Добавлено (08.03.2013, 18:26) --------------------------------------------- Для перерисовки: Надпись "Atlas"