Overdrive Blaster (LD51)

NLTjgyK

Собственно игра.
Долго думал как обойти тему, потому что она мне совершенно не нравилась. До этого участвовал в двух Ludum Dare, на одном из них была тема просто «10 секунд», короче одно по одному. Ночью обдумывал концепт, чет придумал и с утра решил приступить к разработке…

Кратко расскажу о том как все прошло.

читать дальше >>

Ждем игру: Vagante. По стопам Spelunky

Spelunky навсегда останется в моем сердце. Память об этой игре будет жить вместе с памятью десяток, а может сотен игр, от классики денди Mario и Contra до инди-игр Cave Story и Iji. Игра, изменившая мое представление о левелдизайне в платформерах тем, что уровни могут быть не собраны в ручную, а генерироваться при каждом запуске. Это потом, я увидел паттерны повторяющихся кусков уровней, а при первых включениях мир каждый раз казался новым, по настоящему новым. Сколько Spelunky породил последователей никто не возьмется сказать. Было множество инди-игр, обещавших невероятную реиграбельность за счет «Господина Рандома». Но никто из мной просмотренных игр не дал ощущения приключения, которое было в Spelunky. О, этот дух Индианы Джонса! Но этот пост — не ода игры Дерека, этот пост про новую игру. Игру Vagante.

читать дальше >>

Перевод Iji

Привет, ребята, с вами Кситилон, и сегодня мы попытаемся перевести игру

Это рабочий пост о переводе Iji на русский язык (точнее — как минимум второй попытке перевода, а скорее всего — уже третьей), в котором будет только служебная информация, никакого user/player-friendly контента. В комментариях можно обсуждать детали перевода, в посте всё будет строго по техническому ходу проекта.


http://gamin.me/taxonomy/term/2914/12062#comment-107993 — с этого началась движуха.

http://myothehedgefox.livejournal.com/ — журнал автора прошлых попыток перевода.

http://www.zoneofgames.ru/forum/index.php?showtopic=20348&st=0 — та же попытка перевода.

http://www.old-games.ru/forum/showthread.php?t=42889&page=0 — тоже она.

http://www.remar.se/daniel/iji.php — сайт-источник игры, где также есть переводы.


Задача будет достигнута, когда будет получена такая версия Iji, в которой весь отображаемый текст и спрайты-надписи с текстом — на русском языке.

У нас есть:

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

У нас нет:

  • Лицензионного ГМ5.3 для перекомпиляции. Мы используем крякнутый, и не будем испытывать угрызений совести, так как наш проект некоммерческий, не разжигает межнациональной и прочей розни, и в общем всяко попадает под условия использования, известные как "fair use". Помимо того, GM5.3 это типичный пример abandonware, которое уже не купишь официально, при том что даже хотел бы.
  • Возможности просто перекомпилировать под ГМ8.1 — слетит внутренняя логика движка, после 5.3 Овермарс много раз менял движок коллизий, а также имена, параметры, и смысл вызываемых в этом исходнике функций.

Что можно сделать:

  • Взять уже откомпилированную игру и допатчить её до "русского состояния", скажем так. Писать кастомный экстрактор-импортер ресурсов с конвертацией спрайтов в PNG и обратно. Это совсем накладно. После выяснения проблем с длинами текстов это уже совсем неактуально, а делать перевод-огрызок в традициях старых пиратов-русефекаторов я не хочу.
  • Перекомпилировать игру под 5.3, если он появится. Тексты всё равно должны быть вставлены вручную, так как исходник написан совсем без расчёта на локализацию.
  • Портировать исходник на 8.1 либо другую версию ГМ с лицензией. Это потребует вмешательства в код игры, что довольно непросто. Вернёмся к этому варианту в крайнем случае, но пока таких обстоятельств не предвидится.

В абсолютно любом случае, неминуемо нужно будет:

  • Перерисовать спрайтовые шрифты и спрайтовые надписи.
  • Перевести сам текст.

Важная проблема: если перерисовывать спрайты и переводить текст во внешних файлах, нужен кто-то, кто будет долго и муторно вставлять это обратно в исходник. Пока что продолжаю думать над тем, какое конкретно решение принять. Так и будет. Спрайтов на самом деле не так много, как я думал, а с текстами ещё посмотрим, может выйдет написать импортер во внутренний формат GMD.


In script scr_sabot line 191 pos 14: Unknown function or script: screen_gamma
In script scr_nukedraw line 8 pos 74: Wrong number of arguments to function or script.
In script scr_firekey line 786 pos 14: Unknown function or script: sprite_restore
In script scr_mainmenu line 209 pos 10: Unknown function or script: screen_gamma
In script scr_menutext line 204 pos 6: Unknown function or script: draw_text_sprite
In script scr_sabotcreate line 150 pos 2: Unknown function or script: sprite_restore
In script scr_sound line 33 pos 10: Unknown function or script: sound_frequency
In script scr_topmessage line 29 pos 6: Unknown function or script: draw_text_sprite
In script scr_herosabot line 230 pos 30: Wrong number of arguments to function or script.
In script scr_heromain line 59 pos 30: Wrong number of arguments to function or script.
In script scr_huddraw line 69 pos 51: Wrong number of arguments to function or script.
In script scr_sabotcreate4 line 196 pos 6: Unknown function or script: screen_gamma
In script scr_drawshape line 33 pos 6: Unknown function or script: draw_polygon_begin
In script scr_facecreate line 121 pos 6: Unknown function or script: screen_gamma
In script scr_loadingdestination line 5 pos 6: Unknown function or script: screen_gamma
In script scr_drawtime line 21 pos 10: Unknown function or script: draw_text_sprite
In script scr_zcir line 38 pos 14: Unknown function or script: screen_gamma
In script scr_seczmusicplay line 6 pos 10: Unknown function or script: sound_frequency
In script scr_drawunlocks line 46 pos 2: Unknown function or script: draw_text_sprite
In script scr_sabotcreate2 line 10 pos 10: Unknown function or script: sprite_restore
In script scr_sabotcreate3 line 4 pos 2: Unknown function or script: sprite_restore
In script scr_mainload line 7 pos 2: Unknown function or script: sprite_restore
In script scr_shreddersfx line 26 pos 10: Unknown function or script: sound_frequency
In script scr_loadcuts line 3 pos 2: Unknown function or script: sprite_restore
In script scr_loadmusic line 12 pos 60: Wrong number of arguments to function or script.
In script scr_proximaarrow line 51 pos 10: Unknown function or script: draw_polygon_begin
In script scr_voice line 402 pos 14: Unknown function or script: sound_frequency
In script scr_pausemenudraw line 14 pos 2: Unknown function or script: draw_text_sprite
In script scr_turretchargetell line 3 pos 10: Unknown function or script: sound_frequency
In script scr_cleardraw line 27 pos 10: Unknown function or script: screen_gamma

Оффсеты внутренних GM-ресурсов оригинального (официального) исходника Iji iji_16_6.gmd, 16 617 077 байт, изменён 15 января 2011 г., 14:01:34, взятого с сайта автора 16 февраля 2014 г., 20:34:18

0x006A39 snd_wea_imach (первый звук)
0x70D7DD spr_block (первый спрайт)
0x8DDBC6 bg_tile1 (первый фон)
0x995163 scr_knockdown (первый скрипт)
0xAD4F97 tim_getribbon (первый таймер?)
0xAEC3C7 obj_iji (первый объект)
0xC39FFA rom_main (первая комната)

До первого звука идут какие-то невнятные, возможно зашифрованные данные, а также название игры, автора, и годы работы над игрой.
После последней комнаты возможно идёт Game Information (которой здесь нет), и список всех ресурсов игры с их относительными оффсетами и/или идентификаторами (?).

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

Сигнатура, по которой можно искать ресурсы (но не всегда находить именно их) в исходнике ГМ5.3(а?):
0x90 01 00 00
Она может быть признаком либо начала, либо конца (не выяснено) соответствующей структуры данных. В некоторых случаях повторяется в пределах одного ресурса (либо есть ресурсы, которые невозможно идентифицировать через хекс-редактор).

Всего сигнатур в файле 3759. Хотя уникальность сигнатуры в 4 байта и достаточно высока, эта сигнатура используется внутри формата также для других целей, помимо разделения ресурсов — она разделяет ещё и события внутри объектов (возможно и ещё что-то). Кроме того, эти байты могут быть встречены в сыром потоке данных, не являясь метаданными вообще, но соответствуя четырёхбайтовому значению сигнатуры. Поэтому эта величина (3759) вмещает в себя количество всех ресурсов игры, сложенное с количеством событий в объектах, а также количеством неуточнённых разделителей, если таковые есть, и, наконец, с количеством "сырых" неактуальных совпадений с потоками данными ресурсов. В любом случае она преувеличена, и дальнейший анализ этого пока не нужен.

Кроме того, комнаты не разделяются этой сигнатурой. После первой комнаты более 20 этих сигнатур, но они там не имеют функции разделителя. Комнаты разделяются сигнатурой 0x08 02 00 00 16 00 00 00. Что-то неуточнённое внутри них (объекты?) разделяется сигнатурой 0x80 14 00 00, но не всегда. Пока что оставлю этот анализ.

Регулярное выражение для выцепления всех текстов с целью проверки их на влезание в диалоговое окно (три строки по 65 символов и четвёртая — 63 символа (на последних двух расположен элемент интерфейса)):

text[d+]="[^"]*"

И соответствующий приемлемый конструктор с экранированным литералом (дичь, правда?) для объекта BCL .NET (проверено в 2.0):

new global::System.Text.RegularExpressions.Regex("text\\[\\d+\\]=\"[^\"]*\"");

Вспомогательная программа IjiMessageBox для автоматической проверки:

https://dl.dropboxusercontent.com/u/75034586/Translations/Iji/IjiMessageBox.exe

Принимает на вход iji scripts.gml (экспортированные скрипты из исходника), и пишет результат проверки в Result.txt после нажатия кнопки Batch. Либо можно проверять выбранный текст прямо в окне. Или даже переводить прямо там. Поддерживаются два типа разбиения — автоматическое самим компонентом TextBox из WinForms, и моё написанное с нуля "правильное". Естественно, первым типом текст разбивается автоматически при вводе.


Что нужно исключить при фильтровании тупо-забранных-из-кавычек текстов:
scr_sound("...")

Что нужно обязательно забрать:
.textid="..."
.topmessage="..."
loc="..."

(список видимо ещё неполный, но я буду смотреть по остаткам от фильтрации scr_sound, а не забирать только то, что в белом списке)

Подборка инди-игр, сыгранных мной за 2011 год.

         Наконец-то я закончил большой проект, который хотел ещё давно сделать специально для Гамина. Проект в духе, ну вы знаете, все эти известные списки на англо индевых ресурсах в духе «101 мастхэв» или «999 платформеров, которые должен пройти каждый». Вот предлагаю вашему вниманию и свой список игр, в которые я играл на протяжении 2011 года. Итак, леди и джентльмены, дамы и господа, гаминцы и гаминчанки, пристегните ремни, мы отправляемся в пучину инди игр.

читать дальше >>

Man Enough

Man EnoughMan Enough - какая-то бредовая чушь. Но при этом забавная)

Играем в четыре игры сразу. В первой лошадка собирает монетки, вторая чем-то напоминает space invaders, третья даёт возможность поучаствовать в диалоге, а четвёртая - платформер про полуголого парня (картинка слева).

Управление - проще некуда. Стрелки (влево, вправо) и пробел. Другое дело как уследить за всем сразу?)

ARE YOU MAN ENOUGH TO BE A WOMAN?

Hero Core

Hero Core (2,41 мб) — торжество простоты и минимализма. Игра закидывает нас на десятилетия назад, используя всего два цвета: черный и белый. Причем используя так, что картинка сразу же привлекает и очаровывает взгляд. Смотрите сами:

Из ролика ясно, что здешний геймплей довольно обычен — мы бродим по лабиринту, состоящему из множества отдельных «комнат», стреляем в многочисленных врагов и боремся с боссами. За убийство боссов наш герой получает новые способности, позволяющие ему проникнуть в ранее недоступные уголки. Цель — убить главного босса. Псевдо-открытость игры позволяет почти сразу же на него напасть, но без сбора данных 10-ти компьютеров и некоторых апгрейдов мы вряд ли одержим победу.

читать дальше >>

Bear Miner

На сайте Дэниэля Ремара среди его прочих игр выложен scrappack (10 мб) — архив с играми, которые, по выражению Дэниэля, или незаконченные, или паршивые, или и то и другое. Но там есть одна шедевральная игра — Bear Miner. Самый настоящий трэш!

Мы играем за гнома с топором на цепочке, с помощью которого он цепляется за медведя, соревнуясь с остальными гномами в его добыче (что?!).

 scree_3764.gif

«Цепочка» напоминает веревку из [[Garden Gnome Carnage]], да? Впрочем, в Bear Miner’е несколько другой геймплей. Здесь мы можем двигаться во все стороны, а не только вправо и влево, гном не привязан к одному месту, а летает по всему медведю (главное на землю не упасть!). Других гномов (сначала серые, а потом красные точки на миникарте) нужно рубить топором, сбивать своим телом или кидать на них других гномов или пролетающих рядом птиц. Еще можно на некоторое время войти в сверхрежим (это тратит часть пробирки, которую нужно заполнить, чтобы выиграть) и стрелять из ракетницы, хотя мне такая штука не понадобилась.

Вообще, играть стоит уже из-за одного только саундтрека.

  • echa
  • 12 апреля 2010, 03:48
  • Com188
  • 0

IJI

Iji (30 мб) - экшен-платформер,на создание которого автор потратил около 3 лет. Трейлер.

Графике в статике простовата,но в движении смотрится отлично.

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

Геймплей - бегаем, мочим алиенов, решаем головоломки. У главгероини есть 7 скиллов, которые можно улучшать ,собирая энергию оставленную алиенами.

Кстати это одна из немногих игр, в которых сюжет зависит от уровня насилия, римененного игроком на пути к концу уровня.

Графика и анимация в движении отличные. Но и в статике тоже ничего.

Стоит внимания.

Granny and Snowmen и ещё 2 зимние игры

Granny and Snowmen — забавная игра, занявшая третье место в конкурсе Winter Competition от сайта YoYo Games. Почему-то о ней западные сайты ничего не написали. А зря, игра отличная!

granny-and-snowmen-1.jpg

  • жанр: Реактивная Аркада
  • платформа: Windows
  • разработчик: Red System
  • оценка: 4.25
  • скачать (Windows, 12 Мб)
  • видеорежим: Window 800×600 (по-умолчанию), Fullscreen

По правде говоря, это одна из лучших «комнатных» стрелялок в которые я играл. Веселая старушка, ураганно комментируя происходящее на экране («не понятно», «получи милок»), будет бегать за сотнями снеговиков, стреляя в них из дробовиков и ракетниц. Всего в игре 6 видов оружия, разные бонусы, несколько (маловато!) видов противников и 9 уровней. После прохождения всех уровней откроется их генератор, представляющий собой классическую битву на выживание. Игра прекрасно оформлена и собственно за это и получила свою награду: изометрическая ретро графика выше всяких похвал.

читать дальше >>

  • Gyt
  • 22 января 2008, 13:39
  • Com183
  • 0