диалоги, крафт, инвентарь, Марио

В этой теме 0 ответов, 1 участник, последнее обновление  lexpartizan 9 мес., 1 неделя назад.

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • #5093

    lexpartizan
    Участник
    Сообщений:10

    Зарегистрирован:
    04.06.2018

    Репутация:2

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

    4 концовки + стандартный геймовер.

    Есть критичный глюк, но я в нём совсем невиноват. Если падает производительность, например, если тупо потянуть за окно, то “физика” сходит с ума и все персонажи проваливаются сквозь пол. Это, кстати, сделало практически невозможным стандартную отладку, так как при любой остановке процесса все проваливаются сквозь пол и отлавливать уже нечего. Что таки подействовало на мою нервную систему.Отладка была очень непростой.

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

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

    ЗЫ. Маленький хинт: Игра не поощряет честное прохождение. Пользуйтесь её “глюками”. Крафт, фарминг и экранное пространство – путь к победе))
    ЗЫ. Инвентарь открывается клавишей I, телефон – клавишей P.

    Игра и исходник здесь.

    https://yadi.sk/d/IvuIovDvZLuvRA

    ЗЫ. На вопросы врядли отвечу, ибо ленивый. Но сразу, пока не забыл, напишу, что состояние мышки в классе мышки (клик, нажата, отпущена, координаты курсора) считываются один раз в игровом цикле и больше не изменяются. Например, если в классе инвентаря отлавливать отжатие мышки, то оно может случиться позже, чем обработается ячейка, над которой стоит курсор. И тогда получится, что мы дропнули итем мимо ячейки инвентаря, на пол. В общем, в игровом цикле нажатия мышки и тд не меняются. Этот подход может быть вам полезен. Кроме того, в классе мышки реализовано однократное нажатие, что может составить проблемы для новичков.

Просмотр 1 сообщения - с 1 по 1 (всего 1)

Для ответа в этой теме необходимо авторизоваться.