SFML и C++ Уроки \ Разработка игр › Форумы › SFML Project (делимся своими проектами) › диалоги, крафт, инвентарь, Марио
В этой теме 0 ответов, 1 участник, последнее обновление lexpartizan 4 года/лет, 1 месяц назад.
-
АвторСообщения
-
Поскольку цели сделать саму игру не было, а была цель просто реализовать диалоги (что удалось просто блестяще, как по мне) и инвентарь с крафтом и торговлей(тут чуть хуже, есть куда двигаться и всегда можно переделать, но вполне рабочее состояние).
4 концовки + стандартный геймовер.
Есть критичный глюк, но я в нём совсем невиноват. Если падает производительность, например, если тупо потянуть за окно, то “физика” сходит с ума и все персонажи проваливаются сквозь пол. Это, кстати, сделало практически невозможным стандартную отладку, так как при любой остановке процесса все проваливаются сквозь пол и отлавливать уже нечего. Что таки подействовало на мою нервную систему.Отладка была очень непростой.
В конце я торопился и прикручивал уже всё колючей проволокой, то есть говнокодом. Многофайловые проекты я не осилил, так что всё в одном файле. Кроме того, практически везде у меня члены классов паблик, что плохо, ибо геттеры и сеттеры я писать поленился. Несмотря на то, что код неряшлив, писалось это довольно долго. По выходным чуть ли не полгода.
Всё основано на json-файлах и библиотеке rapidjson, что позволило составлять диалоги выбор веток прямо в json-файле. В общем, это может оказаться полезным.
ЗЫ. Маленький хинт: Игра не поощряет честное прохождение. Пользуйтесь её “глюками”. Крафт, фарминг и экранное пространство – путь к победе))
ЗЫ. Инвентарь открывается клавишей I, телефон – клавишей P.Игра и исходник здесь.
https://yadi.sk/d/IvuIovDvZLuvRA
ЗЫ. На вопросы врядли отвечу, ибо ленивый. Но сразу, пока не забыл, напишу, что состояние мышки в классе мышки (клик, нажата, отпущена, координаты курсора) считываются один раз в игровом цикле и больше не изменяются. Например, если в классе инвентаря отлавливать отжатие мышки, то оно может случиться позже, чем обработается ячейка, над которой стоит курсор. И тогда получится, что мы дропнули итем мимо ячейки инвентаря, на пол. В общем, в игровом цикле нажатия мышки и тд не меняются. Этот подход может быть вам полезен. Кроме того, в классе мышки реализовано однократное нажатие, что может составить проблемы для новичков.
-
АвторСообщения
Для ответа в этой теме необходимо авторизоваться.