Разработка и ромхакинг > Ромхакинг
GINCS Studio
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 Мб
3DSchumacher:
да, точно, спасибо, уже добавил .ToLower() шоб всегда искало любые FL... А по поводу #IF FL не понял. Надо чтоб их искало или надо чтоб не искало?
По поводу вылета, там я специально не собирал ее как релиз, так что должно было появится дебуг окно. Впринципе мне достаточно прислать инфу из него. Если повторится - кидай в лс или на почту. Я сам физически не в состоянии отловить все баги
lupus:
Дебаг окна как раз не было, просто вылезло сообщение об ошибке и студая была закрыта.
3DSchumacher:
Хех, хотели студию, компиллящую под 64бит виндой? Их есть у меня! Пока в стадии тестирования, но это вопрос 2-3 дней ;)
И еще кое-чего добавил.
s_d:
Решил серьёзно заняться портированием одной игры.
Скачав последнюю версию программы, сразу столкнулся с проблемой - проект "example" компилится с ошибками (система не может найти указанный файл в папке Temp, if errorlevel 1 goto error, echo error during building).
Что тут можно предпринять?
Win7 32-bit.
3DSchumacher:
s_d, положить студию в папку ближе к корню диска, без пробелов в пути. Например в c:\gincs. Там у автора gincs все на батниках построено, и эти батники генерит компиллер, причем не совсем правильно генерит. Чтобы уйти от этой проблемы мне пришлось полностью переписать компиллер гинкса, так что в 1.6.0 этой проблемы уже нету. Но и 1.6.0 пока ни у кого нет, кроме меня. Ну или почти ни у кого ;)
lupus:
3DSchumacher, отправил тебе в ЛС несколько шрифтов, которые можно добавить для использования в студии.
3DSchumacher:
lupus, спасибо! Добавил в набор. А как там все остальное?
Там, кстати, заметь, новый не только движок, но и компилятор. Так что если будешь переносить свою игру, то заменяй опять все, и stub.bin, который кстати отныне 64кб вместо 128, и все файлы в папке tools
lupus:
Да, я заметил, что stub меньше стал весить, поэтому у меня +64 кило на звуки.
Баги в настройках, про которые я писал исправлены. Пока тестирую, но не очень активно.
Полёт нормальный.
3DSchumacher:
--- Цитата: lupus ---поэтому у меня +64 кило на звуки.
--- Конец цитаты ---
нет, размер рома будет таким-же, просто раньше компиллер дописывал в ром все данные начиная с 65536, а лишнее просто затиралось. Сейчас я реализовал свою версию сборщика файловой системы гинкса (makegfs.exe и applygfs.exe), а заодно и оптимизировал процесс. Теперь все куски компилятора под вин32 :)
Добавлено позже:
отдельное спасибо Ti_ за подсказку о том, как гинц считывает файлы в фс. Я бы не догадался записывать файлы с выравниванием по четным адресам :)
s_d:
--- Цитата: 3DSchumacher от 25 Июля 2013, 09:42:39 ---s_d, положить студию в папку ближе к корню диска, без пробелов в пути. Например в c:\gincs. Там у автора gincs все на батниках построено, и эти батники генерит компиллер, причем не совсем правильно генерит. Чтобы уйти от этой проблемы мне пришлось полностью переписать компиллер гинкса, так что в 1.6.0 этой проблемы уже нету. Но и 1.6.0 пока ни у кого нет, кроме меня. Ну или почти ни у кого ;)
--- Конец цитаты ---
Точно, спасибо. "_" в названии папки и лог компиляции должны были навести на эту мысль.
Пока собрал демку, проверил меню на Genesis с ЭЛТ ТВ - всё идёт нормально.
Жаль что возможности сильно ограничены. Можно хотя бы вспышку на экране сделать или всё жёстко ограничено коммандами, указанными в Help?
Поддержка wav это всяко лучше, чем MVS, но за место в роме тут уже борьба за каждый килобайт.
Ещё вопрос - при импорте картинки в программу была обрезана её нижняя часть. Какой самый оптимальный размер будет для исходника, чтобы ничего не обрезалось?
3DSchumacher:
--- Цитата: s_d ---Пока собрал демку, проверил меню на Genesis с ЭЛТ ТВ - всё идёт нормально.
--- Конец цитаты ---
отлично, значит мы ничего не напортили, железо тянет, спасибо за отчет.
--- Цитата: s_d ---Жаль что возможности сильно ограничены. Можно хотя бы вспышку на экране сделать или всё жёстко ограничено коммандами, указанными в Help?
--- Конец цитаты ---
это движок для создания визуальных новелл, а не край энджин 3 ;). В хелпе описаны все доступные команды. А вспышку какую надо сделать? Ее можно и бэкграундами нарисовать, при желании.
--- Цитата: s_d ---за место в роме тут уже борьба за каждый килобайт
--- Конец цитаты ---
лично мне от этого даже интересней. Любовь к минимализму еще спектрум 48к привил когда-то ;)
s_d:
Поддержка железа это самый ключевой момент вообще (ну, по крайней мере для меня).
Да обыкновеннейшую вспышку а-ля "Resident Evil" или Контра Хард Корпс, в куче Сеговских игр они, я же не о 3Д каком-нибудь спрашиваю, возможности консоли знаю.
В предыдущее сообщение ещё добавил вопрос про размер картинок.
SPOT:
Может и плохая мысль, но всё же выскажу.
Может сделать набор стандартных звуков, какие можно будет подшить при надобности. Просто я думаю у многих со звуком может возникнуть проблема.
3DSchumacher:
--- Цитата: s_d ---Ещё вопрос - при импорте картинки в программу была обрезана её нижняя часть. Какой самый оптимальный размер будет для исходника, чтобы ничего не обрезалось?
--- Конец цитаты ---
ну снизу обычно находится текст, потому рекомендуется делать картинки 320х160, тогда нижняя часть будет аккурат под все 5 строчек текста. Сейчас картинка обрезается до 320х200. В гинксе есть баг, который вылазит на картинках больших чем 200 пикселей по высоте. Причем непредсказуемый, некоторые картинки нормально работают даже при 320х224, а другие приводят к зависанию, потому студия на всякий случай обрезает. То ли они в распакованном виде в память не помещаются, то ли еще что... Если это критично, то можно добавить картинку вручную, в папку pics, не обрезая, и проверить, или с ней будет все нормально. Формат PCX, 8bit, rle, но с максимум 16 уникальными цветами
Добавлено позже:
--- Цитата: SPOT ---Может и плохая мысль, но всё же выскажу.
--- Конец цитаты ---
любые мысли приветствуются ;)
--- Цитата: SPOT ---Может сделать набор стандартных звуков, какие можно будет подшить при надобности. Просто я думаю у многих со звуком может возникнуть проблема.
--- Конец цитаты ---
ну не знаю, нужно ли это... присылайте наборы звуков, посмотрим
Добавлено позже:
--- Цитата: s_d ---Да обыкновеннейшую вспышку
--- Конец цитаты ---
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg flash
#loadbkg flash
#loadbkg flash
#loadbkg flash
#loadbkg flash
#loadbkg flash
#loadbkg flash
#loadbkg flash
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg image
#loadbkg imageimage - картинка без вспышки, flash - та же картинка, но со вспышкой. Если палитра одинаковая, то будет совсем зашибись
s_d:
Инфу про картинки я думаю надо в Help добавить, информация очень нужная.
Баг в последней версии нашёл - при добавлении нового скрипта через программу, она его не видит, приходится перезапускать.
Свап картинок это мысль, хотя я почему-то думал что из-за такого кол-ва запросов игра просто зависнет.
3DSchumacher:
--- Цитата: s_d ---Баг в последней версии нашёл - при добавлении нового скрипта через программу, она его не видит, приходится перезапускать.
--- Конец цитаты ---
достаточно обновить дерево проекта в левой панели, там внизу кнопочка для этого есть. Но я пожалуй это автопилотом сделаю
Добавлено позже:
--- Цитата: s_d ---я почему-то думал что из-за такого кол-ва запросов игра просто зависнет.
--- Конец цитаты ---
гинкс оказался живучее чем все думали :)
s_d:
У меня почему-то не работает Stopmusic, хоть с ван-шотным саундом, хоть с залупленным.
Пример -
запускаю аудио в начале скрипта (#playmusic MENU), трек порядка 30 секунд
перед переходом на другой скрипт (#progcall) - останавливаю (#stopmusic MENU)
в следующем скрипте уже другая музыка запускается в самом начале (#loopmusic intro), но на деле (для быстроты проверяю в эмуляторе) она не играет, продолжается старый трек.
Что-то делаю не так?
Вот ещё мини-баг - опция Build работает только при нажатии соответсвующей иконки (в выпадающем меню опция всегда недоступна). Хотя может это фича?
3DSchumacher:
--- Цитата: s_d ---Что-то делаю не так?
--- Конец цитаты ---
в случае loopmusic звук после stopmusic всегда доигрывает до конца. Если он длинный - будет играть долго, ничего не поделать. Просто как таковой звук не останавливается, только снимается флаг циклического воспроизведения
Добавлено позже:
--- Цитата: s_d ---останавливаю (#stopmusic MENU)
--- Конец цитаты ---
не правильно. просто #stopmusic, без параметров
Добавлено позже:
--- Цитата: s_d ---Хотя может это фича?
--- Конец цитаты ---
таки баг, спасибо
s_d:
Отресайзил нужную картинку в 320x200, средством студии решил даунгрейдить до 16-битной версии, но он и её обрезал (не критично, но это чёрное место мне не нужно, у меня текст поверх картинок).
Чем можно отконвертировать до 16-цветной 8-bit RLE картинки? Не разобрался как такое в Фотошопе делать.
Странно, что звук всегда доигрывает до конца. С чем это связано? В оригинальных играх звук спокойно прерывался нажатием нужной кнопки.
Ti_:
--- Цитата: 3DSchumacher от 25 Июля 2013, 11:46:27 ---То ли они в распакованном виде в память не помещаются, то ли еще что...
--- Конец цитаты ---
Скорее всего так и есть. Так как в gincs вместо того чтобы аккуратно расположить переменные в одном месте,(в конце озу, или хотя бы вначале), некоторые из них хаотично запихнули куда-то прямо в середину. (про что я уже говорил).
Ну а буффер распаковки понятно что сплошным блоком идет, вот как он на них заедет, тогда видать и зависнет.
Навигация
Перейти к полной версии