Братец Ву рэди эн вэйтинг
Привет, уважаемые и горячо любимые мои разработчики, игростроители, девелоперы и геймдизайнеры!
Приглашаю тех из вас, у кого уже есть или почти совсем есть что показать, и о чем рассказать широкой общественности (в узких рамках инди темы) писать мне инди письма на инди почту brotherwooo@gmail.com (жив ли ты, Сергей, моей мечты, Бобров?).
@представьте что здесь вставлена очень красивая, красочная и с большим юмором подобранная КДПВ@
Я с вами с нашим удовольствием побеседую, поиграю в доктора в вашу игру, а если это окажется весело и интересно протранслирую на своем ютуп канале, ссылку на который, дабы не захламлять эфир рекламой, давать не буду.
Спасибо за внимание!
Скучавший по вам,
Братец Ву
- 15 октября 2013, 14:53
- 024
PS
На ютуб хотелось бы выложить и беседу и игру соответственно.
Рассказать обо всех не обещаю - чаще, чем раз в неделю/две бесед не будет.
Привет! Я жив, и даже помаленьку пишу очередную игру.
Правда, видео немного не сейчас. Тут, понимаешь, один игрок обнаружил критический баг. А я уже второй день не знаю, где его искать.
Привет! Рад видеть :) как исправишь - обязательно пиши в ящик.
Я этот баг отловить и воспроизвести не могу. Поэтому, чёрт его знает, исправлю ли.
Спасибо, что не забываешь!
Не я ли был этим злодеем? ;D
Баг у rabbit_messiah.
У него при смерти игрока каким-то образом сэйвы портятся уже второй раз.
Этакая неожиданная пермасмерть. :)
Учитывая, что и я сам, и десяток игроков такого бага не получали, я думаю, он что-то делал нестандартно. Но вот что именно?
о_0 Да уж, нежданчик.
Переполнение локаций предметами, м.б.?
Недопустимые значения здоровья/опыта?
Уже исключил. На локации его смерти было примерно 15 существ и 13 предметов, на локации воскрешения 1 существо и 1 предмет. При том, что максимум сейчас - 350. При том, что там проверяется, есть ли свободное место, и даже 350 предметов бага не вызовут.
Вряд ли. не должны никакие значения существа приводить к тому, что оно не появляется на локации воскрешения.
А проблема именно в этом. Сейчас, если погиб, то теряешь предметы и свой труп, и появляешься на локации воскрешения. Так вот, этого не произошло. На месте респауна существа главгероя нет. О_0
Между локациями существо переносится через некий механизм предохранения. Но он простой. И он работает, иначе бы при каждом переходе по лестнице игрок бы исчезал. :) Но при перемещении после смерти существа, вот, у него существо игрока исчезало. Чёрт знает что.
В плюсах подобные необъяснимые проблемы чаще всего кроются в размерах типов и их неявном приведении. Особенно, когда речь о сохранениях/загрузках, особенно когда речь о разных машинах.
Так могло бы быть, если бы я брал указатель на класс и тупо копировал память в файл. Естественно, я так не делал уже лет десять.
Нет, тут чисто. Вот где чисто, так это в системе загрузки и записи файлов. Очень многоуровневая структура, данные разбираются, помечаются тегами, формируется текст. На каждом этапе всё аккуратно, считаются контрольные суммы.
Вообще реализация удобной записи данных - в движке. А его я писал _особенно_ аккуратно и чисто. Например, специально компилировал его под разными компилями, и вычищал любые warnings. Так как разные компили разные предупреждения дают.
Опять же, внутренняя структура движка, где и формируется то, что пишется в файл, отделена от системного апи. Поэтому правильность его работы на разных машинах гарантируется. Как гарантируется надёжность int'а на x86 архитектуре. На любом проце, любой оси, будет идентично.
А есть какая-то возможность посмотреть на код? Хотя бы загрузки/записи файла? Просто я люблю такие детективные истории.
Мой опыт подсказывает, что ошибка как раз там, где больше всего уверен в правильности.
Так сам сэйв то правильный.
Данные неверные в нём. А данные игра обнулила. Вот там и искать надо. А не в сэйве.
Лень вырезать. Там много. Около 50-100 кило текста.
Навскиду, если предположить, что дело не в машинах, а "вина" на игроке, то может быть что-то с наследованием. Как вариант, у потомка неверно переопределен виртуальный метод родителя (ошибка в названии, параметрах или забыт const) и, как следствие, где-то в коде вызывается не тот метод, который ожидется. Ошибка по невнимательности, очень распространенная. Компилятор такие вещи не увидит. Только статический анализатор.
Но это, конечно, гадание на кофейной гуще. Жаль, что нет открытого репо.
В том, что это "ошибка по моей невнимательности" согласен. В том и дело, что не понятно, где она. :)
Я сейчас доработал участок кода, отвечающий за смерть игрока. Посмотрим, появится ли эта ошибка у rabbit_messiah в ближайшие пару дней.
Сейвы небось в бинарном формате самописном?
Обижаешь, в самописном текстовом. :) А почему спрашиваешь?
Ну, в текстовом проще разобраться возможно.
А есть какая тулза для удобного просмотра сейвов?
Так сэйвы то уже запорчены. Это ж рогалик, мать его. Тут сэйв при выходе из игры, а не по запросу.
То есть, если глюкануло, и ты вышел из игры - всё, лежит уже запорченый сэйв. А сэйва _перед_ глюком нет. Потому что игрок не может записываться и загружаться по желанию.
Игрок-то не может, но сделать техническую возможность для тестирования - почему нет? :)
Поприветствуем первый конструктивный комментарий в ветке.
Я их у себя уже посмотрел. И вот написал, что неясно.
Между этажами существа переносятся через спец-механизм переноса. В случае смерти существо игрока переносится в респаун-этаж. И в случае смерти у игрока уже два раза этот механизм давал сбой. При том, что по лестницам между этажами он ходит свободно, глюков нет.
А ещё сейвы портятся, если их копировать с запущенной игры. Чтобы химичить с загрузкой\сохранением мне приходилось выходить из игры. ;)
Проклятые офтопщики! :)
Привет, Козинака!
Привет-привет! :) Мягких игрушек не лечил?
Я вчера прекрасно провёл вечерок в их компании.
Пока нет. Обращу внимание, сам ничего нового не натворил, случаем?
Пока нет. Но пытаюсь. :)
Воспользовался твоим советом :) Спасибо!
http://www.youtube.com/watch?v=6NgBX6ysRLQ
Супер! Добавил твой обзор в описание игры в базу.
Спасибо, коллега, смотреть за вашей работой с удавом было познавательно. :)
Досмотрел до конца, живи долго и процветай )
Мне очень понравилась игра, и твоя манера повествования. )
Спасибо за видео :) Просмотрел 2 раза подрят, второй раз смотрел уже с знакомыми)
А теперь поиграй в игру и поставь ей оценку. Пока её в рейтинг скорее всего даже не пускают из-за малого количества голосов.
Господи, кто-то за этим рейтингом следит?)
Судя по плюсам к постам, на гамине активных посетителей десятка три. Пусть даж четыре.
В таком малом коллективе все эти рейтинги имеют нулевую ценность.
Не забывай о тех, кто сайт читает, но ничего не пишет – их в разы больше.
Я тешу себя мыслью об армии анонимных читателей. :)
Сколько их? пять, десять, и они даже ничего не догадываются о той жизни что творится внутри сайта.
И думают что посты пишут специально обученные люди, а не воля рандомного случая )
Доказательства их существования есть? Я чего то в них не верю.
Да вон, внизу страницы доказательства.
А, ну да, ну да. Позабыл про счётчик.
Но это случайные. Люди ищут игру, где скачать, кликают по результатам гугла. На сайте они 20 секунд, от прихода с гугла, до клика на ссылку скачать.
Есть эта армия анонимов, или нет её, они мимо движухи сайта.
Я один из них. Зарегистрировался 2.5 года назад и с тех пор написал где-то 10-15 комментариев. Так что такие читатели действительно существуют.
И я. Только пишу и того меньше
Играл сразу же после просмотра, вылечил овечку Долли и попытался вылечить доктора Ву но я подумал что это очередной больной, и короче вместо него лечили меня)
Вдохновения!
Только вчера тебя вспоминали, и тут, как на заказ, показался. Плодотворной тебе работы.
С нетерпением жду новых выпусков Задротской кухни =)
Привет! Рад твоему появлению. Запиши меня на весну пожалуйста, раньше никак. :D
записал!
Привет. Рад твоему возвращению и появлению здесь, у нас, в особенности.)
Привет ! Написал письмо )
Круто ) Прям костер разводи, и пельмени ставь на огонь. )
Кстати, и меня примерно на весну запиши. Предварительно. :)