| Разработка и ромхакинг > Ромхакинг и программирование |
| GINCS Studio |
| << < (3/30) > >> |
| 3DSchumacher:
GINCS Studio - бесплатная полнофункциональная среда разработки текстовых приключений для SEGA Megadrive/Genesis с использованием движка GINCS. Я написал эту программу для облегчения страданий при портировании The Longest Journey. Сначала мучался с Notepad++, затем написал свою кастомную подсветку синтаксиса к Visual Studio 10, но это все было не то, одни костыли. Потому решился замутить свою IDE под GINCS, с подсветкой и кейвордами ;) Это первая версия программы, в ней присутствуют недоработки, возможны ошибки и т.д, но уже сейчас в ней можно заниматься созданием полноценных игр. Особенности программы: * Создание нового пустого проекта со всей необходимой структурой и файлами * Загрузка существующего проекта целиком * Подсветка синтаксиса в скриптах * Создание новых скриптов с автоматическим добавлением их в проект * Удаление скриптов из проекта * Список использованных меток в текущем скрипте с быстрым переходом к метке по двойному клику на ней * Список использованных триггеров (не завершено, пока только отображение без сортировки и фильтрации/навигации) * Дерево всего проекта слева * Встроенный просмотрщик (двойной клик на изображении) и конвертер PCX файлов (использован сторонний Irfan View) * Моментальная компиляция и запуск проекта прямо в студии (использован сторонний эмулятор Kega Fusion) Системные требования: * .NET Framework 4.0 * Microsoft Windows XP SP3 (32-bit and 64-bit* editions), Microsoft Windows Vista SP2 (32-bit and 64-bit* editions), Windows 7 (32-bit and 64-bit* editions), Windows 8 (32-bit and 64-bit* editions) * 10 Мб свободного места на диске. * Обязательное отсутствие пробелов в пути к папке с программой. Для тех, кто в танке, поясняю: это значит нельзя запускать с рабочего стола. Желательно копировать папку в корень диска (недоработка сборщика движка GINCS) * - компиляция и запуск проекта в х64 системах пока невозможен, особенность GINCS. Возможно кто-то возьмется перекомпилировать сборщик под х64. Но вы всегда можете скомпилировать проект в виртуальной машине. Скриншот: Скачать можно тут: http://emulation.at.ua/publ/developing/sega_megadrive_genesis/gincs_studio/11-1-0-71 Размер: 3.5 Мб |
| lupus:
Ага, понятно. Короче, работаем пока с тем, что есть, какие-то плюшки возможно будут добавляться по мере допиливания тобой движка. Добавлено позже: 3DSchumacher, отправил тебе свою наработку проекта, что-то затык у меня с организацией меню :( глянь плиз в лс. Добавлено позже: Вроде разобрался. Глянул твою демку, у тебя вместо "пуш эни кей" написано "дебаг меню", значит пока с этим никак. Добавлено позже: Мои первые наработки. Пока совсем мало, только до первой развилки сюжета, но... https://dl.dropboxusercontent.com/u/57975554/gincs/SHG_demo.7z Графику потом надо будет по новой прогнать, мне не везде нравится, как выглядит. Добавлено позже: Обновил демку, теперь там вся первая глава. |
| 3DSchumacher:
lupus, классная демка, продолжай! Я тебе в личку ответил на твои вопросы. Короче двигло будет дорабатываться, это однозначно, так что пока пишем и не паримся, а как будут выходить обновления движка, так и будем править скрипты. Просто конкретные сроки и список изменений я сейчас назвать не могу. Я даже не знаю сколько времени готов на это выделить в ближайшие месяцы... з.ы. ничо так народ оживился ваять квесты на сегу, я не ожидал... думал буду один такой странный ;) |
| lupus:
Перезалил патч, теперь доступно 3/18 глав за Гарри. Для себя оргиназовал "debug menu" для быстрой навигации между главами, но в демке оно отключено. 3DSchumacher, ты упоминал, что при конвертации xnview устанавливаешь сжатие RLE, это как-то помогает выграть в размере? А то у меня только з главы, а ром уже под 700 кило получается. Надо как-то остальное будет впихивать, чтобы в 4 метра уместиться... |
| 3DSchumacher:
lupus, гинкс конвертит картинки в совершенно другой формат и сам их сжимает, так что размер оригинальных картинок ничего не значит. RLE я ставлю чтоб pcx2bkg, входящий в состав гинкс, нормально читал эти файлики. --- Цитата: lupus ---а ром уже под 700 кило получается. Надо как-то остальное будет впихивать, чтобы в 4 метра уместиться... --- Конец цитаты --- а сколько всего глав? Не впихнешь? У меня пролог и первая глава завесили 1.1 метра, и я вполне себе уверен что впихну оставшиеся 11 глав в 3 метра без проблем. Много графики юзается повторно. Локации, морды персонажей в диалогах и т.д. Рекомендация по сжатию графики: там где можно обойтись без дизеринга - не юзай его. Тогда гинкс существенно ужмет картинку ;) |
| lupus:
Всего 18 глав за Гарри и около 10 за Сибил. Дитеринг не юзал вроде. Графика хоть повторно и используется, но её ещё дофигища... |
| 3DSchumacher:
--- Цитата: lupus ---Дитеринг не юзал вроде. --- Конец цитаты --- у тебя даже лого конами с дизерингом. Сделай красный фон сплошным, без точек, выиграешь 1-2 килобайта. И так на всем, где это не портит визуальное качество картинки Лого гинкса - это вапще пиксельный ад для компрессора :) Добавлено позже: эмоции на лицах персонажей в диалогах можно передавать "аватарками", а не полноэкранными изображениями ;) Добавлено позже: Сделал отображение картинок формата pcx под курсором мыши, при наведении на файл в дереве проекта. Думаю так будет намного лучше. Сторонний IrfanView можно выбрасывать, все равно каждый конвертит тем, что ему удобно и к чему он привык, а в самой студии достаточно только возможности быстрого просмотра, так-как при наличии огромного множества файликов в них начинаешь откровенно путаться |
| lupus:
Ага, спасибо за наводку. Теперь понял, что такое дизеринг. Прогоню ещё раз графику через фотошоп, без его использования, посмотрим, что мне это даст в килобайтах. Ещё решил попробовать отбросить правую часть картинок, которая даёт чёрную рамку, там получается кусок 40х160 пикселей, тупо закрашенный чёрным. Какие-то байты на общем количестве картинок по идее выиграю. Использовать аватары имхо в моём случае не вариант. Хочу максимально приближённо перенести, чтобы даже без оригинальной анимации смотрелось нормально. Мини-превью - отличная идея, т.к. приходится часто подглядывать, какую картинку вставлять на нужной странице. Ещё хотел попросить тебя поделиться твоим лого GINCS, оно сделано просто и со вкусом, должно мне тоже места сэкономить. Нам бы кого-то шарящего в кодинге под MD в помощь, того гляди, прикрутили бы нормальный звуковой движок и компрессию данных, вот тогда бы вообще горя не знали. Добавлено позже: Да, блин, забыл ещё что: я себе в фотошопе скрипт наваял, который быстро ресайзит полотно в нужные мне 320х160 и сохраняет как 16 цветный pcx, а потом каждый файл приходится в iview поднять до 24 бит, а затем в 256 цветов и пересохранить, задумался над тем, чтобы это как-то реализовать при помощи bat-ника. Когда для ознакомления качал xnview, там на сайте видел batch_converter, ты не пробовал его юзать? И по студии: сделай плиз, чтобы по кнопке запуска проекта перед этим автоматом сохранялись изменения в открытом скрипте. Или это уже сделано, просто у меня студия старая? Добавлено позже: И ещё вспомнил, добавь плиз в статусную строку позицию курсора и количество выделенных символов, чтобы самому не считать, а то в строке помещиется всего 38 символов и, если при построении менюшек, строки сильно длинные, то получается ужасная конструкция с поломанной структурой. |
| 3DSchumacher:
--- Цитата: lupus ---Прогоню ещё раз графику через фотошоп, без его использования, посмотрим, что мне это даст в килобайтах. --- Конец цитаты --- Совсем без дизеринга не получится, если у тебя не картун стайл картинки. Я делаю так: Конверчу с floid steinberg дизерингом, потом открываю в редакторе, где от дизеринга можно избавится практически безболезненно - заполняю сплошным цветом. Оставляю его только там, где он реально необходим, затем опять копирую в XNView и повторяю операцию по конвертации к 16 цветам. Так как я не добавлял уникальных цветов, то при повторной конвертации визуально ничего не меняется, пересохраняю картинку и радуюсь отыгранным килобайтам ;) --- Цитата: lupus ---Ещё решил попробовать отбросить правую часть картинок, которая даёт чёрную рамку, там получается кусок 40х160 пикселей, тупо закрашенный чёрным. Какие-то байты на общем количестве картинок по идее выиграю. --- Конец цитаты --- совсем мизерные, но выиграешь. Я с этим не парюсь, гинкс не глючит с полноэкранными изображениями 320х224, с остальными бывает выплевывает какие-то левые тайлы. В твоей демке кстати иногда это происходит. Так что советую делать картинки 320х224 с черной рамкой вокруг. Оно в любом случае отлично ужимается до нескольких байт ;) --- Цитата: lupus ---Ещё хотел попросить тебя поделиться твоим лого GINCS, оно сделано просто и со вкусом, должно мне тоже места сэкономить. --- Конец цитаты --- прикрепил --- Цитата: lupus ---Когда для ознакомления качал xnview, там на сайте видел batch_converter, ты не пробовал его юзать? --- Конец цитаты --- пакетный конвертер есть и в самом XNView, пользуюсь постоянно. Скачай лучше его целиком, будет тебе и пакетная конвертация и отличный просмотрщик с кучей настроек и эффектов. Там в меню Tools есть пакетный конвертер с возможностью сохранить скрипт в виде батника или скрипта в его нативном формате. --- Цитата: lupus ---И по студии: сделай плиз, чтобы по кнопке запуска проекта перед этим автоматом сохранялись изменения в открытом скрипте. Или это уже сделано, просто у меня студия старая? --- Конец цитаты --- уже сделано, но эту студию еще не выкладывал, на выходных допилю и выложу --- Цитата: lupus ---И ещё вспомнил, добавь плиз в статусную строку позицию курсора и количество выделенных символов, чтобы самому не считать, а то в строке помещиется всего 38 символов и, если при построении менюшек, строки сильно длинные, то получается ужасная конструкция с поломанной структурой. --- Конец цитаты --- окей. Заодно добавлю автоматический подсчет длинны пунктов меню с варнингом при превышении допустимой длинны еще на стадии ввода текста ;) Добавлено позже: кстати, в гинксе есть ограничение на длину метки. Максимум 16 символов. Остальное он отрезает, и может так произойти, что у тебя перестанет адекватно работать скрипт. Я это только вчера узнал, сам неожиданно попался. Если у тебя есть метка типа oh_shit_this_is_so_long_label1 и oh_shit_this_is_so_long_label2, то он обрежет обе до oh_shit_this_is_ и логика работы нарушится, хотя при компиляции никаких ошибок не будет видно. Пожалуй запилю еще и проверку длинны меток в редактор |
| lupus:
Не, метки у меня все короткие, я вообще стараюсь всё переменные, названия файлов и т.п. делать не более 8 символов. Так что с этим проблем быть не должно. А что известно по родному звуковому движку? Я вчера погуглил, нашёл, что он в оригинале писался под нео-гео, судя по всему его на мд перенесли, т.к. проц один и тот же используется, но вот готовых треков под него я не нашёл. Родные играются, но как-то кривовато (наверное ты об этом говорил, когда упоминал, что звук в гинксе через одео место) да ещё и не вписываются тематически. |
| 3DSchumacher:
lupus, ну звук можно конвертировать. Я брал миди файлик, конвертил его в фруктах в какой-то другой формат, с похожим на mvs расширением, затем еще какой-то сторонней прогой конвертил его в mvs. Получаешь файл без оригинальных инструментов, но со всей нужной структурой, заполнеными паттернами и т.д. Затем вручную проставляешь в mvs tracker нужные инструменты и сохраняешь. Но когда услышал что гинкс даже файлики из примера глючно воспроизводит, и после того как услышал совсем не похожее звучание на то, что я наваял в трекере, я забил на музыку до лучших времен :) |
| Ti_:
--- Цитата: 3DSchumacher от 11 Апрель 2013, 13:05:52 ---Рекомендация по сжатию графики: там где можно обойтись без дизеринга - не юзай его. Тогда гинкс существенно ужмет картинку ;) --- Конец цитаты --- А он сжимает?, И в примере и в роме lupusa тайлы то несжатые :cool: |
| 3DSchumacher:
Ti_, pcx2bkg конвертит в несжатый bkg, а затем bkg конвертится в cbg из которого выбрасываются повторяющиеся тайлы. Такое вот примитивное, но сжатие Добавлено позже: простой пример из моего проекта: 2_ngal.bkg - 27кб 2_NGAL.CBG - 23кб |
| Ti_:
--- Цитата: 3DSchumacher от 11 Апрель 2013, 17:58:33 ---Такое вот примитивное, но сжатие --- Конец цитаты --- Скорее это использование карты тайлов, чем сжатие. Если б не использовал карты, а жал нормальным пакером, было бы в 2раза больше места под картинки :) |
| lupus:
--- Цитата: Ti_ от 11 Апрель 2013, 18:16:17 ---Скорее это использование карты тайлов, чем сжатие. Если б не использовал карты, а жал нормальным пакером, было бы в 2раза больше места под картинки :) --- Конец цитаты --- Ti_, если ты поможешь нам с этим, мы только спасибо скажем. Ибо я вообще не шарю в программировании, а 3DSchumacher не особо разбирается в кодинге для MD. |
| Ti_:
--- Цитата: lupus от 11 Апрель 2013, 18:25:31 ---Ti_, если ты поможешь нам с этим, мы только спасибо скажем. Ибо я вообще не шарю в программировании, а 3DSchumacher не особо разбирается в кодинге для MD. --- Конец цитаты --- Ну я тоже в нем не шарю, поэтому GINCS переделать не смогу. |
| lupus:
Ti_, жаль, очень жаль... 3DSchumacher, спасибо за совет с ресайзом в 320х224 и дитерингом, поигрался я с ним, добавил шума, картинки стали лучше и даже (!) уменьшился размер рома на выходе. Надо теперь прогнать всю графику через эту процедуру. Единственный отрицательный момент появился - теперь есть мерцания при смене графики, зато никакие тайлы не выпадают. Надеюсь у тебя получится это исправить в дальнейшем. Добавлено позже: Отресайзил и прогнал через фильтр всю графику трёх глав, размер рома на выходе получился на 70 кило меньше :) Будем работать дальше. Добавлено позже: 3DSchumacher, ты уже успел использовать триггеры? Способен ли двиг обрабатывать несколько условий, например: Если a=1, b=2, c=3, d=4, то выполняется условие Х, иначе, сброс всех триггеров и перезапуск цикла. Хочу организовать что-то типа такой мини-игры, как в оригинале (4:50), возможно несколько упрощённой: |
| GBA:
--- Цитата: lupus от 11 Апрель 2013, 19:34:17 ---Единственный отрицательный момент появился - теперь есть мерцания при смене графики, зато никакие тайлы не выпадают. Надеюсь у тебя получится это исправить в дальнейшем. --- Конец цитаты --- По-моему вот тут это исправили. |
| lupus:
Были, видели. Пока воздержимся. По ссылке выше - 4 главы за гарри. Посмотрел, как оно на экране псп выглядит - не понравилось. На ноуте выглядит гораздо лучше. Возможно в конце снова буду перерабатывать графику. :lol: |
| 3DSchumacher:
--- Цитата: Ti_ ---Скорее это использование карты тайлов, чем сжатие. Если б не использовал карты, а жал нормальным пакером, было бы в 2раза больше места под картинки :) --- Конец цитаты --- размер имейджа становится меньше, значит сжатие :) А как оно происходит и каким методом - это уже детали, согласись. --- Цитата: lupus ---отрицательный момент появился - теперь есть мерцания при смене графики, зато никакие тайлы не выпадают. Надеюсь у тебя получится это исправить в дальнейшем. --- Конец цитаты --- не отказывайся, GBA, как я понимаю, и есть админ псцд.ру. Так вот, можешь взять из его 0.53 только stub.bin, неприятные мерцания тайлов превратятся в более приятные очистки экрана. Ну еще можешь пользоваться командой #clearbkg, но тогда надо прописывать ее во всех скриптах, зачем... --- Цитата: lupus ---3DSchumacher, ты уже успел использовать триггеры? --- Конец цитаты --- драсте, у меня вся первая глава на них построена, аж целых 38 штук уже задействовано. Как же еще я мог реализовать сбор предметов и их использование ;) . Да даже банальное описание локаций или комментарии Эйприл при посещении какой-то локации впервые, реализованы через триггеры. Чтобы она каждый раз не произносила длинные монологи. Это задолбет кого угодно --- Цитата: lupus ---Если a=1, b=2, c=3, d=4, то выполняется условие Х, иначе, сброс всех триггеров и перезапуск цикла. --- Конец цитаты --- --- Код: ---:something - - - /i #goto some_brainfuck :some_brainfuck #if fl0001 #if fl0002 #if fl0003 #if fl0004 #goto label_x #clear fl0001 #clear fl0002 #clear fl0003 #clear fl0004 #goto something :label_x WIN /i --- Конец кода --- Добавлено позже: --- Цитата: lupus ---Посмотрел, как оно на экране псп выглядит - не понравилось. На ноуте выглядит гораздо лучше. --- Конец цитаты --- ты на пикодрайве тестил? Хотя какая разница, я и не уживлен что оно выглядит ужасно при разрешении 480х272. Тут же как не масштабируй, в любом случае не кратное увеличение, что ужасно Добавлено позже: GBA, может сразу соберешь RDC.EXE, APPLYGFS.EXE и MAKEGFS.EXE под вынь32? Ато я пока паскалевские исходники переделывал для того, чтоб скомпилились под винду и не глючили, потерял 2 дня разработки самой игры. Или ты не компилил исходники, а правил напрямую бинарник? Родина тебя не забудет, и окно Абаут в студии тоже ;) |
| Ti_:
--- Цитата: 3DSchumacher от 12 Апрель 2013, 10:17:46 ---размер имейджа становится меньше, значит сжатие :) А как оно происходит и каким методом - это уже детали, согласись. --- Конец цитаты --- Размер несжатой картинки 320x160 - 25600 кб. В среднем компрессоры сжимают на 50%. То есть до 12,5 Кб. А тут BKG сам по себе 27 кб (25600 + 1600 карта тайлов), так что уменьшение там всего 2кб. Я не говорю что надо переделывать его, да и врядли получится, просто смотрю на вашу борьбу за единицы килобайт, об экономии автор гинкса не подумал. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |