Разработка и ромхакинг > Ромхакинг и программирование
GINCS Studio
<< < (26/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 Мб
Ti_:

--- Цитата: 3DSchumacher от 22 Ноябрь 2013, 13:02:17 ---но без всинк "рвет" не очень красиво (иногда)

--- Конец цитаты ---
Ну вот смотри:

Лог-файл эмулятора (1кадр). Лог начинается с начала кадра.

Vblank начинается тут: 
строка: 4965

--- Код: ---00:0364  52 B9  ADDQ.L  #1,($00FF97D6) 
--- Конец кода ---

Собственный обработчик vblank в гинце (мне казалось его нету вообще).

Заканчивается тут: строка 5041:

--- Цитата ---00:037E  4E 73  RTE     
--- Конец цитаты ---

После этого сразу запускается, та самая  функция:  00:0C98.  То есть некий всинк есть.

К сожалению и лог сам эмулятор тоже выдает через Ж (вырезаются тонны повторных команд). Но её можно увидеть по и много в начале файла и до 633.

--- Код: ---00:0D00  38 80  MOVE.W  D0,(A4)
--- Конец кода ---
а ещё тут тоже что-то пишет 2001 - уже в середине файла(кадра)

--- Код: ---  00:079E  38 90  MOVE.W  (A0),(A4) 
--- Конец кода ---

А ещё можно заметить что какой-то придурок, включил строчное прервыние, которое по всему логу тоже есть.
--- Код: ---00:0362  4E 73  RTE     
--- Конец кода ---
  - видать чтобы ещё тормозов добавить.
3DSchumacher:
Действительно. Но как-то этот его обработчик вбланк не совсем удачно работает. Точнее выходит, что всинк какбэ работает, но кадр все равно отрисовывается с произвольной позиции, где успело, там и начало. А начиная рисовать, допустим, со средины кадра, вся верняя его половина соответственно превращается в один огромноый артефакт аж пока его не перерисует в следующем кадре, да и то, если успеет. Прерывание строчное отключить не проблема, хотя врят-ли это сильно улучшит ситуацию.
Ti_:

--- Цитата: 3DSchumacher от 22 Ноябрь 2013, 14:12:59 ---Действительно. Но как-то этот его обработчик вбланк не совсем удачно работает. Точнее выходит, что всинк какбэ работает, но кадр все равно отрисовывается с произвольной позиции, где успело, там и начало.

--- Конец цитаты ---
Обработчик обратывает своё, то что ему нужно. Что именно ведемо только Гарольдо. А заканчивает свои дела уже ближе к концу vblank'а.  Пересылка же картинки получается после него - небольшой кусок оставшегося vblank + всё остальное уже во время отрисовки экрана и очень долго не менее 1/3.
3DSchumacher:
Хм... надо попробовать поставить там джамп и посмотреть что будет без этого "обработчика"...
Ti_:

--- Цитата: 3DSchumacher от 22 Ноябрь 2013, 14:42:16 ---Хм... надо попробовать поставить там джамп и посмотреть что будет без этого "обработчика"...

--- Конец цитаты ---
Надо прописать по 0x36A  - 4e73 (rte), возврат , а не джамп.
3DSchumacher:
кака была кака есть, отличий не заметил. Ща посложнее анимацию замучу
Добавлено позже:
Вот пожатая: http://emulation.at.ua/smd/developing/gincs_big_animation_compressed.zip
Вот непожатая: http://emulation.at.ua/smd/developing/gincs_big_animation_noncompressed.zip
артефачат обе атомно, не смотря на то, что все кадры в непожатом виде укладываются в 5 кб
Ti_:

--- Цитата: 3DSchumacher от 22 Ноябрь 2013, 14:56:00 ---артефачат обе атомно, не смотря на то, что все кадры в непожатом виде укладываются в 5 кб

--- Конец цитаты ---
Ну, во-первых 5кб это с dma.  'Процессорно' будет в 2раза меньше, около 2-3кб, и то при том, что каждая строчка будет этим заниматься, например каждая строчка перекидывает 4 байта :

--- Код: ---lea $c00000,a1 ; vdp data
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
и т.д.

--- Конец кода ---

В гинце же это выглядит так, всего 1 строчка перекидывает 2 байта (0xD00), остальные вспомогательно (всякие там счётчики размеров карты, циклы, сброс адреса после каждого ряда и прочее) :


--- Код: ---ROM:00000CAA next_column:                            ; CODE XREF: sub_0_C98+74j
ROM:00000CAA                 cmp.w   arg_6(a6),d4
ROM:00000CAE                 beq.s   loc_0_D0E
ROM:00000CB0                 move.w  d6,d0
ROM:00000CB2                 mulu.w  (word_0_FF97D4).l,d0
ROM:00000CB8                 add.w   arg_0(a6),d0
ROM:00000CBC                 lsl.w   #1,d0
ROM:00000CBE                 add.w   arg_C(a6),d0
ROM:00000CC2                 moveq   #0,d1
ROM:00000CC4                 move.w  d0,d1
ROM:00000CC6                 move.l  d1,d3
ROM:00000CC8                 movea.l #$C00004,a3
ROM:00000CCE                 move.l  d3,d0
ROM:00000CD0                 and.l   #$3FFF,d0
ROM:00000CD6                 add.l   #$4000,d0
ROM:00000CDC                 moveq   #$10,d1
ROM:00000CDE                 lsl.l   d1,d0
ROM:00000CE0                 move.l  d3,d1
ROM:00000CE2                 moveq   #$E,d2
ROM:00000CE4                 lsr.l   d2,d1
ROM:00000CE6                 add.l   d1,d0
ROM:00000CE8                 move.l  d0,(a3)
ROM:00000CEA                 movea.l #$C00000,a4
ROM:00000CF0                 moveq   #0,d5
ROM:00000CF2
ROM:00000CF2 write_line:                             ; CODE XREF: sub_0_C98+6Ej
ROM:00000CF2                 cmp.w   arg_4(a6),d5
ROM:00000CF6                 beq.s   loc_0_D08
ROM:00000CF8                 movea.l d7,a0
ROM:00000CFA                 move.w  (a0),d0
ROM:00000CFC                 add.w   arg_E(a6),d0
ROM:00000D00                 move.w  d0,(a4)         ; vdp_data
ROM:00000D02                 addq.l  #2,d7
ROM:00000D04                 addq.w  #1,d5
ROM:00000D06                 bra.s   write_line
ROM:00000D08 ; ---------------------------------------------------------------------------
ROM:00000D08
ROM:00000D08 loc_0_D08:                              ; CODE XREF: sub_0_C98+5Ej
ROM:00000D08                 addq.w  #1,d6
ROM:00000D0A                 addq.w  #1,d4
ROM:00000D0C                 bra.s   next_column
--- Конец кода ---
Sprill:
Жаль, что нельзя сделать больше цветов в шрифте. Тогда можно было бы сделать иконки предметов, благо в файле FONT полно не нужных символов. Что-то типа этого:

Ti_:

--- Цитата: Sprill от 23 Ноябрь 2013, 18:55:38 ---Жаль, что нельзя сделать больше цветов в шрифте. Тогда можно было бы сделать иконки предметов, благо в файле FONT полно не нужных символов. Что-то типа этого:

--- Конец цитаты ---
Хм, а что собственно мешает сделать больше?
3DSchumacher:
ну шрифт однобитный подгружается. Мешает, как обычно, необходимость переписывать гинкс :)
TiberiyLTim:
Sprill, Так можно сделать и без изменения шрифта - просто задник делай ниже и на каждом фоне рисуй иконки в цветах фона. Либо делай монохромные.
Sprill:

--- Цитата: TiberiyLTim от 24 Ноябрь 2013, 18:39:46 ---Либо делай монохромные.

--- Конец цитаты ---
Скорее всего так и сделают...
Sprill:
Не большая информация по поводу Broken Sword'a: работа идет, но из-за малого количества времени + ещё моя лень, говоря честно, даже не могу точно сказать, когда будет первая версия. Скорее всего январь/февраль следующего года, но не обещаю. Поскольку игра не разбита на этапы/эпизоды, я разобью её приблизительно на 10 или 12 эпизодов. Первый закончится после того, как Джордж спустится в канализацию. После прохождение каждого эпизода, будет выдаваться пароль. Сейчас игра ест 1мб и это только 15-процентов готовой игры. Надеюсь, что всё поместится в 4мб.
Sprill:
3DSchumacher, хочу спросить: планируешь ли сделать команду, как обратный отсчёт? В сломанном мече есть моменты, когда нужно успеть сделать что-то за определённое время. Например: отнести предмет в определённое место как можно быстрее. Если не успел - ничего не получится.
3DSchumacher:
Sprill, нет, никаких существенных изменений в gincs больше не планируется.

По поводу моего бесконечного путешествия: вчера прилетел из тайланда, сутки спал, теперь активно взялся за допиливание. Идет работа со звуками. По сути игра уже давно на финишной прямой, но эта прямая оказалась очень длинной :). Из-за нововведений в гинкс пришлось переписать с нуля большую часть скриптов...
3DSchumacher:
Потихоньку возвращаюсь к разработке Longest Journey, GINCS и B.O.S.S. Думаю, никому не надо объяснять, чем мы все тут в Украине были заняты последние три месяца (ребята Небесной Сотни, мы не забудем)... теперь появилось свободное время... просто решил написать тут, что ничего не заброшено, все проекты расконсервированы, возвращаемся в нормальное русло и рабочий график
TiberiyLTim:
Ждём обновлений среды и ещё больше движка!
lupus:
3DSchumacher, героям слава.
lupus:
Судя по всему, Гарольд воодушевился интересом к GINCS и решил запилить нечто подобное для sms:
http://pscd.ru/news/2320-sozdanie-igr-na-sega-master-system.html
cptPauer:
Держу пари, русских квестов под такой движок не будет. Популярность SMS на просторах СНГ - никакая.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии