Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 29

Тема: Проклятие химеры

  1. #1

    По умолчанию Проклятие химеры

    Проклятие химеры

    Рабочее название: Проклятие химеры.
    Жанр: JRPG, Рогалик.
    Автор: idleberry (череззаборногузадеришко).
    Движок: RPG maker VX Асе
    Графика: Стандарт
    Музыка и звук: Стандарт
    Время выхода: Примерная дата выхода проекта - 1.04.2021

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

    Особенности:
    • игровая механика
    • нестандартные графические решения через мини скрипты из событий
    • мышка :3


    Недостатки:
    • надо настроить с нуля огромное число противников около 60 штук если не больше.
    • многие решения очень сложные из за убогости движка
    • хз. если вспомню то добавлю...


    Скриншоты и видео:




    Видео не обязательно. Но это плюс.
    попозже добавлю ссылку на видео.


    Ссылка на скачивание проекта:
    версия 0.4а
    https://disk.yandex.ru/d/JsLLJkh6l7pERw
    по ссылке лежит каркас проекта - локации без геймплея.
    проект перешёл на стадию добавления геймплея.
    фактически все нужные локации в игре есть - не хватает только двух финальных локаций с катсценами.
    геймплей должен происходить на зацикленной локации.


    Благодарности:
    всем кто помог со скриптами, особенно: votetot , Phileas , KK20, WhitePaper, Seibur!
    а в будущем возможно тем кто поможет с базой противников ибо их дохрена...

    ================================================== =================

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

    очень нужна помощь со скриптами, поскольку ограниченность движка требует нестандартных решений.

    первая задача, которую нужно решить:
    ищется способ вывести текст скриптом в качестве картинки (через пункт "скрипт" стандартных инструкций события).

    Текущие задачи:
    • Скорректировать текст под персонажа неопределённого пола (выполнено насколько это возможно. пердложения принимаются.)
    • Сделать редактор персонажа (готов в базовой версии)
    • Свести текст к единой стилистике (в целом готово. принимаются правки.)
    • Разобраться с проблемой прерывания событий выводом текста (возможно ли поставить на паузу проигрывание анимации? )
    • сделать графику лифта через скрипт (надо поменять способ позиционирования лифта)
    • Создать базу противников или их генератор
    • Добавить противников на локацию с лифтом (добавить первые два этажа)
    • Сделать двери лифта
    Последний раз редактировалось череззаборногузадеришко; 05.04.2021 в 21:01.

  2. #2
    Бывалый Аватар для Darchan Kaen
    Информация о пользователе
    Регистрация
    17.06.2013
    Адрес
    Одесса
    Сообщений
    851
    Записей в дневнике
    3
    Репутация: 47 Добавить или отнять репутацию

    По умолчанию

    Текст скриптом...Такой вариант не подходит?
    https://yanflychannel.wordpress.com/...ts/gab-window/

  3. #3

    По умолчанию

    сообщения без останавливания https://galvs-scripts.com/2012/10/21...-without-wait/

    картинки под персонажа

    class Spriteset_Map

    def update_pictures
    $game_map.screen.pictures.each do |pic|
    @picture_sprites[pic.number] ||= Sprite_Picture.new(@viewport1, pic)
    @picture_sprites[pic.number].update
    end
    end

    end

  4. #4

    По умолчанию

    нет. вообще ни разу.
    не надо предлагать готовые жирные скрипты пожалуйста. только нужный функционал только строчками только тут.
    но я уже смирился с мыслью что местное сообщество за столько лет так и не обзавелось собственными программистами. так что наверное буду спрашивать на зарубежных сайтах...
    может там повезёт.

    мне в первую очередь нужно понимание скрипта а не сам скрипт.

    из темы по скриптам я вынес следующее:

    s = Sprite.new
    создаём новый спрайт.
    s.bitmap = Graphics.snap_to_bitmap
    кладём в него картинку с экрана
    s.src_rect.set(x0, y0, width, height)
    вырезаем из картинки нужный кусок
    s.x = x
    s.y = y
    координаты вывода картинки

    и всё бы ничего, но:
    1) по завершении скрипта спрайт исчезает.
    2) я не знаю как вместо снимка локации добавить туда графику типа
    fill_rect
    gradient_fill_rect
    draw_text
    и т.п.
    т.е. как правильно обратиться к методам класса битмап чтобы применить их к спрайту?

    мне бы хотелось самостоятельно оперировать с графикой так как мне нужно и выводить результат на экран как картинку. типа как вывод картинки через стандартный оператор события. если можно вывести созданную картинку через стандартную отрисовку картинок было бы неплохо - дальше ей можно управлять уже не скриптом, но при этом я не хочу сохранять изображение в файл... можно ли это как то иначе сделать?

  5. #5

    По умолчанию

    Цитата Сообщение от votetot Посмотреть сообщение
    сообщения без останавливания https://galvs-scripts.com/2012/10/21...-without-wait/

    картинки под персонажа

    class Spriteset_Map

    def update_pictures
    $game_map.screen.pictures.each do |pic|
    @picture_sprites[pic.number] ||= Sprite_Picture.new(@viewport1, pic)
    @picture_sprites[pic.number].update
    end
    end

    end
    ммм... на всякий случай - мне нужны только скрипты работающие из вызова скрипта в событии (без добавления в базу).
    и с пояснениями если можно - мне не всегда легко понять без подсказок что происходит в строчках скрипта.
    в данном случае я понимаю где то половину...

    програмировал на руби я очень давно и было это в руби а не в мейкере...

  6. #6
    Бывалый Аватар для Darchan Kaen
    Информация о пользователе
    Регистрация
    17.06.2013
    Адрес
    Одесса
    Сообщений
    851
    Записей в дневнике
    3
    Репутация: 47 Добавить или отнять репутацию

    По умолчанию

    "без добавления в базу"
    А почему? Если функционал повторяется, удобнее же метод вызвать.
    Просто интересно.

  7. #7

    По умолчанию

    вывести текст можно так ( над персонажем)

    s = Sprite.new
    t = "пример текст"
    s.bitmap = Bitmap.new(256,32)
    s.bitmap.draw_text(s.bitmap.rect, t , 1)
    s.x = $game_player.screen_x - 128
    s.y = $game_player.screen_y - 52
    wait(60)

    но он сам исчезнет, даже если в цикл засунуть будет заметно подёргивание, пропадание в некоторые кадры,
    чтоб засунуть картинку из разных папок

    s.bitmap=Cache.character("$Actor")
    s.bitmap=Cache.tileset("A1")
    s.bitmap=Cache.picture("aaa")
    s.bitmap=Cache.system("IconSet")

    чтоб обрезать s.src_rect.set(72, 504, 24, 24)

    чтобы картинку под персонажей надо лезть в скрипты и переместить слой картинок из @viewport2 в @viewport1
    т е поменять с 2 на 1, по другому не получится

  8. #8

    По умолчанию

    Цитата Сообщение от Darchan Kaen Посмотреть сообщение
    "без добавления в базу"
    А почему? Если функционал повторяется, удобнее же метод вызвать.
    Просто интересно.
    наверное потому что он не повторяется как ни странно. вопервых я хочу использовать это в других проектах, во вторых даже в рамках этого мне нужны разные картинки - где то с тектом где то без... и в основном собранные через методы битмапа...

    но насчёт лифта я пока думаю - его проще скопировать с экрана. но пол у лита надо вставить под персонажа чтобы он по нему ходил, но над тайлами. лит должен висеть на экране неподвижно пока под ним прокручивается зацикленная локация, но персонаж должен стоять на лифте... в нормальных конструкторах я сделал бы это без скриптов но мейкер на такие извращения не особо рассчитан. можно конечно создать чарсет с лифтом и вставить его событием под персонажа... но я не хочу.

  9. #9

    По умолчанию

    Цитата Сообщение от votetot Посмотреть сообщение
    вывести текст можно так ( над персонажем)

    s = Sprite.new
    t = "пример текст"
    s.bitmap = Bitmap.new(256,32)
    s.bitmap.draw_text(s.bitmap.rect, t , 1)
    s.x = $game_player.screen_x - 128
    s.y = $game_player.screen_y - 52
    wait(60)

    но он сам исчезнет, даже если в цикл засунуть будет заметно подёргивание, пропадание в некоторые кадры,
    чтоб засунуть картинку из разных папок

    s.bitmap=Cache.character("$Actor")
    s.bitmap=Cache.tileset("A1")
    s.bitmap=Cache.picture("aaa")
    s.bitmap=Cache.system("IconSet")

    чтоб обрезать s.src_rect.set(72, 504, 24, 24)
    текст к счастью надо выводить над персонажем (пока что :3)
    но вот надо сделать так чтобы он не исчезал. если это вообще возможно. для этого я бы хотел вывести его как одну из стандартных картинок с номером и всем таким.
    но можно ли скормить выводу картинок не файл а графику из переменной?

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

    чтобы картинку под персонажей надо лезть в скрипты и переместить слой картинок из @viewport2 в @viewport1
    т е поменять с 2 на 1, по другому не получится
    а чтобы и над и под? я же в теории могу указать к какому вьюпорту принадлежит спрайт при его создании?
    Последний раз редактировалось череззаборногузадеришко; 15.03.2021 в 22:11.

  10. #10

    По умолчанию

    можно в одном событии вбить картинку в переменную $game_variables[1] = "picture1",
    потом в другом выводить
    pic = $game_variables[1]
    screen.pictures[1].show(pic,
    1,x,y,100,100,255,0)
    по-моему готовые картинки простой и правильный путь, можно еще текст-картинки впихнуть в графику событий, тогда не надо будет лезть в картинки. Если залезть в скрипты некоторым событиям можно закрепить графику на экране, где бы они сами не находились на карте. Чтобы и над и под, части картинок можно изменить self.z чтоб были над должны быть больше 100, если событие над персонажем больше 200

    картинки с 10 по 50 будут над персонажем

    class Sprite_Picture < Sprite

    def update
    update_bitmap
    update_origin

    case (@picture.number)
    when 10...50
    self.x = @picture.x
    self.y = @picture.y
    self.z = @picture.number + 100
    else
    update_position
    end

    update_zoom
    update_other
    end

    end
    Последний раз редактировалось votetot; 15.03.2021 в 22:37.

Страница 1 из 3 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Проклятие химеры