TNT - 2D игра-головоломка.

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

Модератор: BV

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3820
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

TNT - 2D игра-головоломка.

Сообщение Mikle » 20.02.2018 (Вт) 13:49

Недавно я завершил очередной проект, уже третью подряд 2D игру - TNT.
Задача в игре - собрать на карте все рубли. ГГ перемещается по карте как в платформерах, прыгать не может, но подняться на одну ступеньку можно с помощью реактивного лифта, однако, лифт через некоторое время взрывается, разрушая рядом с собой всё деревянное.

Изображение

Редактор написал Teranas, так же он сделал большую часть карт.
Для графики в игре использован мой SR2D, для звука - dsvb.tlb от The Trick

Игра с исходником. Обновлено 14.03.2018.
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось Mikle 14.03.2018 (Ср) 9:44, всего редактировалось 3 раз(а).

The trick
Постоялец
Постоялец
 
Сообщения: 513
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: TNT - 2D игра-головоломка.

Сообщение The trick » 20.02.2018 (Вт) 21:55

Круто! Следил за конкурсом. Рад что пригодилась либа.
UA6527P

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3820
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: TNT - 2D игра-головоломка.

Сообщение Mikle » 21.02.2018 (Ср) 14:20

Либой пользуюсь постоянно, как и другой, d3d9.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1888
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: TNT - 2D игра-головоломка.

Сообщение ger_kar » 21.02.2018 (Ср) 20:53

Прикольная игра. И подумать надо, а где то и динамика прет, так что только успевай поворачиваться. Вместо того, чтобы работать 3 часа сидел играл, дошел до 8 уровня. Больше всего времени потратил на 5.
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 22.02.2018 (Чт) 6:47

В стартовой заставке ничего не сказано про пробел, однако при нажатии на пробел происходит нечто странное: ГГ оказывается на летающей платформе, но как ей управлять — непонятно.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3820
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: TNT - 2D игра-головоломка.

Сообщение Mikle » 22.02.2018 (Чт) 8:28

Хакер писал(а):В стартовой заставке ничего не сказано про пробел

В стартовой заставке речь об управлении в этой самой заставке, остальное управление описано в ReadMe.
Хакер писал(а):но как ей управлять — непонятно

Никак, убегать, пока не взорвалась.
ger_kar писал(а):дошел до 8 уровня. Больше всего времени потратил на 5

В первоначальный конкурсный релиз входили первые пять уровней, их сложность постепенно возрастает. Остальные уровни позже сделал Tiranas.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 22.02.2018 (Чт) 9:10

Нашёл баг: в некоторых случаях при беге справа налево в момент подбирания рубля ГГ встаёт на месте, словно пользователь отпускает стрелку «влево».
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 22.02.2018 (Чт) 10:39

И вот ещё:
У вас нет доступа для просмотра вложений в этом сообщении.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3820
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: TNT - 2D игра-головоломка.

Сообщение Mikle » 22.02.2018 (Чт) 12:14

Ни один, ни другой баг поймать не могу.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 22.02.2018 (Чт) 12:52

Чит-кодов нет? А то лениво опять 5 раундов проходить из-за креша.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1888
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: TNT - 2D игра-головоломка.

Сообщение ger_kar » 22.02.2018 (Чт) 17:09

Хакер писал(а):Чит-кодов нет? А то лениво опять 5 раундов проходить из-за креша.
Так там же сразу можно поставить нужную карту. В меню можно перебирать карты стрелками влево/вправо.
Я все уже все карты прошел. Крешей никаких не происходило.
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 22.02.2018 (Чт) 17:18

ger_kar писал(а):Так там же сразу можно поставить нужную карту. В меню можно перебирать карты стрелками влево/вправо.

Не заметил, я думал, что это просто подсказка по управлению, и не смотрел на неё детально.

ger_kar писал(а):Я все уже все карты прошел. Крешей никаких не происходило.

Ну 1—5 я прошёл за час, а дальше креш. Процесс так и висит до сих пор под отладчиком, но отладчик не зацепил отладочные символы (версия рантайма не та), поэтому и трассировка стека неправильно реконструирована отладчиком, и чтобы сказать подробно, где сгенерирована ошибка, надо ручками в обратном порядке восстанавливать цепочку событий.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3820
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: TNT - 2D игра-головоломка.

Сообщение Mikle » 22.02.2018 (Чт) 18:21

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

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 22.02.2018 (Чт) 18:24

Mikle писал(а):Вечером, когда попаду домой, могу скинуть исходник, сам бы проверил, но у меня ошибка не ловится.

1 раз вылетела, боюсь, что и не поймаю второй. Тут вопрос в другом: что ты не делаешь обработки ошибок после обращений к DX, но какое-то обращение, судя по всему, сбойнуло.

А что касается игры — игра классная, затягивающая, продуманная по элементам, вызывающим сложность. Мне даже интересно, на дизайн уровней ушло наверное намного больше времени, чем на код самой игры?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1888
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: TNT - 2D игра-головоломка.

Сообщение ger_kar » 22.02.2018 (Чт) 19:36

Кстати да, уровни достаточно продуманы и не просто продуманы, еще и просчитаны. Интересно, а можно ли пройти например 5 уровень различными вариантами, или вариант прохождения только один?
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 22.02.2018 (Чт) 21:31

Ещё раз та же ошибка вылела.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3820
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: TNT - 2D игра-головоломка.

Сообщение Mikle » 23.02.2018 (Пт) 0:30

Хакер писал(а):нтересно, на дизайн уровней ушло наверное намного больше времени, чем на код самой игры?

Побольше, да, но довольно много ушло на контент, который весь свой, кроме цитаты из песни AC/DC и анимации человека-паука.
Хакер писал(а):ты не делаешь обработки ошибок после обращений к DX, но какое-то обращение, судя по всему, сбойнуло.

Тут только DirectSound.
ger_kar писал(а):Интересно, а можно ли пройти например 5 уровень различными вариантами, или вариант прохождения только один?

Возможны мелкие нюансы, общая идея, похоже, только одна.
Вот исходник, я его не выкладывал, так как там конкурсный тяп-ляп, нечего показывать, но, может быть, поможет найти ошибку.
Понадобится tlb: viewtopic.php?f=99&t=49774
У вас нет доступа для просмотра вложений в этом сообщении.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 23.02.2018 (Пт) 10:02

Кстати, серьёзный косяк, который вывел меня из себя — это то, что игра не отображается в панели задач. Когда у меня сто окон на таскбаре (как обычно), переключиться на игру это целое дело, приходится итеративно сворачивать все окна, пока не доберёшься до игры.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1888
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: TNT - 2D игра-головоломка.

Сообщение ger_kar » 23.02.2018 (Пт) 17:06

Вчера играл все ОК, сегодня утром тоже. А вот вечером при очередном прохождении также как у Хакера вываливалась ошибка. Причем целых три раза и в разных местах на разных картах. Разница в том, что по сравнению с предыдущими запусками без ошибок у меня сейчас дополнительно были открыты Winamp, FireFox, Excel. Причем в FireFox на одной из вкладок была открыта страница со встроенными роликом ютюба.
Теперь буду закрывать приложения по очереди и смотреть, будут ли ошибки.
Бороться и искать, найти и перепрятать

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1888
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: TNT - 2D игра-головоломка.

Сообщение ger_kar » 23.02.2018 (Пт) 17:27

Закрыл FireFox и прошел круг. Ошибок не возникало. Другие приложения не закрывал.
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 23.02.2018 (Пт) 19:28

Насколько я понял со слов Майкла и в ходе беглого осмотра кода, там только один фрагмент, повторяющийся 7 раз, может вызывать такую ошибку:

Код: Выделить всё
  DSBBang(BangInd).SetVolume -500
  DSBBang(BangInd).SetFrequency Rnd * 5000 + 30000
  DSBBang(BangInd).SetCurrentPosition 0
  DSBBang(BangInd).Play 0, 0, 0


Код: Выделить всё
  DSBStep(StepInd).SetVolume v
  DSBStep(StepInd).SetFrequency Rnd * 5000 + 40000
  DSBStep(StepInd).SetCurrentPosition 0
  DSBStep(StepInd).Play 0, 0, 0


Код: Выделить всё
  DSBFire(FireInd).SetVolume -700
  DSBFire(FireInd).SetFrequency Rnd * 3000 + 20000
  DSBFire(FireInd).SetCurrentPosition 0
  DSBFire(FireInd).Play 0, 0, 0


Код: Выделить всё
  DSBRub.SetVolume -1000
  DSBRub.SetFrequency 32000
  DSBRub.SetCurrentPosition 0
  DSBRub.Play 0, 0, 0


Код: Выделить всё
  DSBFly.SetVolume -900
  DSBFly.SetFrequency 22000
  DSBFly.SetCurrentPosition 0
  DSBFly.Play 0, 0, 0


Код: Выделить всё
  DSBTNT.SetVolume -700
  DSBTNT.SetFrequency 44100
  DSBTNT.SetCurrentPosition 0
  DSBTNT.Play 0, 0, 0


Код: Выделить всё
  DSBDeath.SetVolume -700
  DSBDeath.SetFrequency 44100
  DSBDeath.SetCurrentPosition 0
  DSBDeath.Play 0, 0, 0


Я окружил эти фрагменты обработкой ошибок, пару раз проходил игру, но ошибку так и не поймал. Тогда я положил на форму таймеры со случайными интервалами в пределах 50—70, которые фигачили звуки с частотой пулемётной очереди, но ошибку тоже словить такой симуляцией не удалось.

Особо много подробностей в случае ловли ошибки мы тоже не получим: только узнаем, на каком методе (один и тот же ли он или всякий раз разный) и на каком объекте (какой-то определённый или всякий раз разный).

Урок же состоит в том, что ошибки от DirectSound надо обрабатывать и замалчивать либо выводить в какую-то игровую консоль, но не стопить весь процесс.

Как пишет документация, эти методы могут вернуть ошибки с кодами:
  • DSERR_CONTROLUNAVAIL
  • DSERR_GENERIC
  • DSERR_INVALIDPARAM
  • DSERR_PRIOLEVELNEEDED
Кроме SetCurrentPosition, которая не может выбросить ошибку DSERR_GENERIC.

Если посмотреть на эти константы кодов ошибок, то мы увидим:
Код: Выделить всё
C:\soft\devtools\vs6\vc6\Include>egrep -r "DSERR_(CONTROLUNAVAIL|GENERIC|INVALIDPARAM|PRIO)" *
DSOUND.H:#define DSERR_CONTROLUNAVAIL            MAKE_DSHRESULT(30)
DSOUND.H:#define DSERR_INVALIDPARAM              E_INVALIDARG
DSOUND.H:#define DSERR_GENERIC                   E_FAIL
DSOUND.H:#define DSERR_PRIOLEVELNEEDED           MAKE_DSHRESULT(70)


E_FAIL это как раз и есть наш код 0x80004005L.

(Кстати, The trick, это камень в твой огород — почему в TLB-шке нет этих констант (DSERR_*)?)

В итоге, получается, что у нас ошибка с кодом DSERR_GENERIC. Один из методов отпадает, остаётся три. Документация даёт вот такое описание для этой ошибки, из которого мало что следует:
MSDN писал(а):DSERR_GENERIC
    An undetermined error occurred inside the DirectSound subsystem.


Почему не удаётся отловить: я уже подумал, а не поменял ли Mikle код в местах, где вариативность питча достигается путём изменения частоты дискретизации. Посмотрел дизасм оригинального EXE-шника — вроде бы ничего не поменялось, всё соответствует выложенным исходникам.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3820
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: TNT - 2D игра-головоломка.

Сообщение Mikle » 24.02.2018 (Сб) 9:04

Хакер писал(а):Документация даёт вот такое описание для этой ошибки, из которого мало что следует

Да уж, как минимум один из трёх методов DirectSound буфера выдаёт ошибку, которую сам же описывает, как "неопределённая".
Выдаёт не при инициализации, не при уничтожении, а посреди игры, когда этот же метод уже был неоднократно успешно использован.
Выдаёт крайне редко и, похоже, не на всех системах. Остаётся только обрамить эти участки On Local Error Resume Next и забыть?

Есть одно предположение:
Некоторые звуковые карты (их драйвера) ведут себя так - при вынимании из гнезд всех разъёмов происходит удаление самого звукового устройства из системы, что видно в диспетчере устройств, у меня в игре проверка на наличие звуковой карты происходит в начале, при инициализации, но случай исчезновения звуковой карты по ходу игры не предусмотрен. Возможно дребезг контактов в разъёме вызывает кратковременное удаление устройства из системы и это даёт ошибку. На своём компьютере проверить не могу - у меня после удаления разъёмов устройство в диспетчере устройств остаётся.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1888
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: TNT - 2D игра-головоломка.

Сообщение ger_kar » 24.02.2018 (Сб) 11:04

У меня для воспроизведения ошибки нужно проделать следующее.
Запустить FireFox, открыть ролик с ютюба, начать просмотр, поставить паузу и идти играть.
При таких манипуляциях ошибка иногда возникает. Причем появляется всегда в разных местах и на разных картах.
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 24.02.2018 (Сб) 16:16

Mikle писал(а):Некоторые звуковые карты (их драйвера) ведут себя так - при вынимании из гнезд всех разъёмов происходит удаление самого звукового устройства из системы, что видно в диспетчере устройств, у меня в игре проверка на наличие звуковой карты происходит в начале, при инициализации, но случай исчезновения звуковой карты по ходу игры не предусмотрен.


Нет, у меня ничего при нормальном извлечении джека не пропадает, а при вставке ещё и появляется окошко с выбором типа вставленного оборудования, так что кратковременное исчезновение+появление джека не осталось бы незамеченным.

Я думаю, что дело в какой-то ситуации в духе нехватки ресурсов или неудовлетворяемом одновременном обращении к ресурсу. В ходе которого ядерная часть даёт код ошибки, который конвертируется в итоге в E_FAIL.

Я вчера начал реверсить и одновременно писать вот такой отчёт (незаконченный):
Тогда иду дизассемлировать код DSound.dll и восстанавливать псевдокод методов.

Во-первых, надо сказать, что реализация интерфейса IDirectSoundBuffer, которую видит стороннее приложение — это шаблонный экземпляр шаблонного класса CImpDirectSoundBuffer<...>, который оборачивает вокруг классов CDirectSoundPrimaryBuffer и CDirectSoundSecondaryBuffer (оба реализуют IDirectSoundBuffer). Обёртка создана видимо для какого-то обобщённого контроля и обобщённой защиты от дурака.

Метод SetVolume:
Код: Выделить всё
HRESULT CImpDirectSoundBuffer<class EncapsulatedBufferClass>::SetVolume(LONG lVolume)
{
   HRESULT hr;
   
   g_pDllLock->Lock();     // CMutexLock::Lock
   if(this == NULL || this->MagicField != DS_MAGIC_DSBF)
   {
      hr = DSERR_INVALIDPARAM;
      goto finish;
   }
   
   hr = this->RealBuffer->IsInit();
   if(FAILED(hr)) goto finish;
   
   if(lVolume < -10000 || lVolume > 0) hr = DSERR_INVALIDPARAM;
   if(FAILED(hr)) goto finish;
   
   hr = this->RealBuffer->SetVolume(lVolume);
   
finish:
   g_pDllLock->Unlock();   // CMutexLock::Unlock
   
   return hr;
}


Здесь поле «RealBuffer» — указатель на оборачиваемый экземпляр CDirectSoundSecondaryBuffer. Метод-обёртка проверяет некоторые вещи и вызывает метод SetVolume оборачиваемого объекта. Вот его реализация:

Код: Выделить всё
HRESULT CDirectSoundSecondaryBuffer::SetVolume(LONG lVolume)
{
   HRESULT hr = DS_OK;
   
   if(!(this->SomeFlags & 0x80)) return DSERR_CONTROLUNAVAIL;
   
   if(this->CurrentVolume != lVolume)
   {
      hr = this->SetAttenuation(lVolume, this->m_Pan);
      if(SUCCEEDED(hr)) this->CurrentVolume = lVolume;
   }
   
   return hr;
}


Как видим, реальный метод SetVolume проверяет некий флаг (поддерживается ли изменение громкости, по видимому), а также не совпадает ли новая громкость со старой, и если не совпадает, то пересчитывает ослабление с учётом панорамы и новой громкости (а так же меняет внутренее свойство объекта, хранящее громкость). Из ошибок пока DSERR_GENERIC/E_FAIL нигде не выбрасывается.

Идем смотреть метод SetAttenuation:


Но вскоре понял, что ни в каких if-блоках проверок юзермодной части DirectSound такой код ошибки не фигурирует, а все обращения так или иначе стекаются к вызову DeviceIoControl и обращению к ядерной части аудиоподсистемы (KS — Kernel Streaming). И я почти уверен, что ноги у сбоя растут оттуда.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3820
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: TNT - 2D игра-головоломка.

Сообщение Mikle » 24.02.2018 (Сб) 18:29

Хакер писал(а):Кстати, серьёзный косяк, который вывел меня из себя — это то, что игра не отображается в панели задач.

Я постоянно забываю о том, что, когда ставишь форме BorderStyle = 0, ShowInTaskbar автоматически делается равнымFalse.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 24.02.2018 (Сб) 19:21

Mikle, ещё один маленький бажок: в момент подбирания последнего рубля он остаётся на карте, когда появляется сообщени о победе и музыкальный проигрыш. А по логике вещей этот последний рубль должен исчезнуть.

ger_kar, у тебя прямо стабильно глюк воспроизводится? Я вооружился отладчиком, окружил методы обработкой ошибок, а ошибку поймать ну никак не могу. Уже раз 6 по кругу всё прошёл. Если стабильно, может устроим сеанс отладки через TeamViewer?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1888
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: TNT - 2D игра-головоломка.

Сообщение ger_kar » 24.02.2018 (Сб) 22:57

Хакер писал(а):ger_kar, у тебя прямо стабильно глюк воспроизводится?
Ну не стабильно прям, а вчера пару раз поймал. И сегодня один раз. Вчера после того как FireFox закрыл глюк не воспроизводился больше. Сегодня сразу с FireFox испытывал. И один раз глюк опять поймался. Можно и через TeamViewer попробовать.
Бороться и искать, найти и перепрятать

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1888
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: TNT - 2D игра-головоломка.

Сообщение ger_kar » 24.02.2018 (Сб) 23:30

Вот прям сейчас взялся проходить игру еще раз создав те условия, которые я упомянул выше. И на 3 карте словил ошибку. И еще заметил такую особенность, что ошибка происходит в момент массовых взрывов.
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16109
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: TNT - 2D игра-головоломка.

Сообщение Хакер » 25.02.2018 (Вс) 7:46

ger_kar писал(а):что ошибка происходит в момент массовых взрывов.


Ну как я и говорю:
Хакер писал(а):Я думаю, что дело в какой-то ситуации в духе нехватки ресурсов или неудовлетворяемом одновременном обращении к ресурсу. В ходе которого ядерная часть даёт код ошибки, который конвертируется в итоге в E_FAIL.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3820
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: TNT - 2D игра-головоломка.

Сообщение Mikle » 25.02.2018 (Вс) 8:37

ger_kar писал(а):Вот прям сейчас взялся проходить игру еще раз создав те условия, которые я упомянул выше. И на 3 карте словил ошибку. И еще заметил такую особенность, что ошибка происходит в момент массовых взрывов.

Запустил в FF видео в ютубе и поставил на паузу, прошёл игру дважды полностью - никакого эффекта.
Сделал тестовую карты для проверки массовых взрывов (там же есть редактор) - тоже нет ошибок.
Карту прилагаю (расширение .map не пропускает форум, заархивировал):
У вас нет доступа для просмотра вложений в этом сообщении.

След.

Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList