xorbis (enthusiast) 01/29/06 09:05 PM
|
|
Что-то с версией 1.5 не то - после каждого
пройденного уровня выдает сообщение "Congratulations! You
win.", или что-то в этом роде (что-то я ее раньше вообще не
припомню), и выходит в меню. Но пока не исправляйте - я тут
исходники V1.4+ :) посмотрел - есть несколько идей, которые
проще самому реализовать, чем описывать, чего именно нужно.
Как сделаю - вышлю Вам файлы и список изменений. Так что, если
не понравится что-то - обратно переделать будет несложно.
Заодно, наверное, остальные уровни первой части доделаю (75шт.
всего).
P.S.: опять появилась проблема с
неравномерностью движения при нажатой/отпущенной любой кнопке
на больших скоростях (~40). Вроде, уже все ОК было в V1.2?
Почему опять могло начаться? В общем, попробую глянуть заодно
- но, возможно, сам и не разберусь.
|
razoff (enthusiast) 01/29/06 09:52 PM
|
|
> проще самому реализовать, чем описывать,
чего именно нужно. Как сделаю - вышлю Вам файлы и список
изменений.
Лучше тогда править исходники 1.5. Заметно
отличаются.
O'Razoff
|
xorbis (enthusiast) 01/30/06 02:33 AM
|
|
>Лучше тогда править исходники 1.5. Заметно
отличаются.
Дык - не в лучшую сторону отличаются пока.
:) По крайней мере - по видимым проявлениям. Хотя, если нутро
там действительно лучше - подправьте глюк с окончанием уровня,
который я выше описал. Такую табличку (и последующий выход в
меню заодно) лучше делать для самого последнего уровня. А я
тогда все свои изменения V1.4+ (на данный момент идеально
работающей, кстати - правда, потестить толком не успел еще,
только-только из-под SDK вышла!) уже перенесу в Вашу - их хоть
и прилично, но пока все помню, где чего менял. Вот, что уже
сделано:
- исправлен глюк с кладами - теперь берутся
ВСЕГДА.
- исправлен (вроде) глюк с неравномерностью
движения.
- исправлены... ну, не глюки, конечно, а...
ну, пусть будут "неудобства". В общем, исправил эти самые
"неудобства" при падении. Теперь, если человек падает,
допустим, на лестницу или канат, и нажата кнопка "вниз" - он и
бежит вниз (а не в сторону последнего горизонтального
перемещения, как это было). Имеется, правда, безобидный
побочный эффект - при падении на пол, если нажать кнопку
"вниз", человек начинает бежать "на месте" (т.е., "мерцает").
Можно и подправить - только возиться неохота, играть не
мешает. Да и своих "родных" подобных глюков в игре хватает -
тогда уж все надо вылавливать, по логике...
-
подкорректировано меню. В основном, ускорена навигация (+/- 50
и +/-5 levels) - так сказать, задел на будущие 150 уровней.
Плюс - показывается, что сохранение произведено, и меню
закрывается только при выходе (исчезло мерцание окна при
нажатии). - введена переменная end_level, и все расчеты
теперь ведутся относительно нее - т.е., при добавлении новых
уровней только ее и нужно менять в программе.
-
добавлен учет оставшихся ящиков (в свободном месте статусной
строки, справа наверху). Иногда бывает полезно знать, сколько
эти гады штук с собой таскают...
Вроде, все... Планы
на ближайшее будущее:
- добавить инициализацию
случайных чисел - уж больно одинаково все сейчас происходит
каждый раз.
- исправить (если найду) глюк с людоедами.
Глюк такой: если людоед падает на голову другого, стоящего в
яме - он никуда не бежит, падение не считается завершенным.
- доделать остальные уровни из первой части (75 всего
будет).
Так что, исправляйте свою версию 1.5, а я к
ней приделаю свои изменения, и вышлю Вам обратно с подробными
комментариями, что и где менял (проконтроллировать меня не
помешает - а то опыта мало, мне только дай волю - такого там
натворю... :) ).
|
razoff (enthusiast) 01/30/06 09:27 AM
|
|
>- введена переменная end_level, и все
расчеты теперь ведутся относительно нее - т.е., при добавлении
новых уровней только ее и нужно менять в программе.
Поздно. Называется она MAXLEVEL.
>Так
что, исправляйте свою версию 1.5,
Так
забирайте.
O'Razoff
|
xorbis (enthusiast) 01/30/06 09:57 PM
|
|
Хм... Что-то в числе просмотров мне
подсказывает, что ветка посещается гораздо активнее, чем это
кажется со стороны... А не хочет-ли кто-нибудь выйти из тени и
поучаствовать в доработке игры? Например, уровни делать нужно
- я сам еще о-о-о-чень долго буду их набивать. Соответственно,
и полная версия выйдет еще о-о-о-чень нескоро. Если вообще
выйдет...
В общем, если кто проявит сознательность и
заинтересованность - могу выслать все необходимое, как то:
- эмулятор ZX-Spectrum + Lode Runner, ч.1-3 (по 75
уровней каждая, между прочим!). - Редактор уровней (в
принципе, лежит на http://pvrunner.narod.ru).
P.S.:
Да, особо приветствуются удачные уровни, сделанные
самостоятельно - т.е., не творчески позаимствованные :) из
Lode Runner.
|
razoff (enthusiast) 02/05/06 09:35 AM
|
|
Выложил версию 2.0 с дополнительными уровнями,
исправлениями алгоритма плюс кнопочно-оконный
интерфейс.
O'Razoff
|
xorbis (enthusiast) 02/05/06 11:05 PM
|
|
Да, новая менюшка - впечатляет! Я, конечно,
слегка схалтурил с этим делом - не хотелось сильно все
переделывать. А без этого сложно было добавить что-то новое,
чтобы оно еще и смотрелось нормально.
На выходных
отловил еще несколько глюков с людоедами, как то:
-
при падении в яму, вырытую во 2-м и более слое стены людоед
"не долетает" до дна, а замирает, чуть углубившись в яму
(из-за проверки на нахождение в яме - она показывает, что он и
так уже там, и падать больше не нужно). Лечится выравниванием
падения по границе символа.
- при забегании на самый
верх "тупиковой" лестницы (когда и слева, и справа идут
стены), людоед "подвисал " (если человек находился выше по
Y-координате) - до тех пор, пока человек не спускался ниже.
Добавлена "история" движения на один шаг назад - если на
лестнице разница между текущим и прошлым шагом нулевая,
вертикальное направление инвертируется.
- глюк с
падением в одноместную "природную" (не вырытую) яму (описывал
выше). До конца пока не исправлен - людоед, пробегающий выше,
уже не "подвисает", но кое-что еще нужно доработать.
Ну, и с управлением нужно еще повозиться - и будет
новая (надеюсь, окончательная - не считая добавления уровней)
версия.
Кстати, наблюдается такой момент (сам вряд-ли
разберусь). Некоторые переменные во время выключения (off)
меняют свое значение. Например, бегу по лестнице, нажимаю
"off", включаю снова, нажимаю "вверх" - а человек пытается
бежать горизонтально (в направлении последнего перемещения).
Несколько раз так накалывался - "спрыгивал" с лестницы в самый
неподходящий момент. Почему такое может происходить?
P.S.: описал примерно (может, вниз бежал, а не вверх,
и т.д.) - только саму суть глюка. Если это важно - могу найти,
в каком именно уровне, и при каких обстоятельствах
наблюдается.
|
xorbis (enthusiast) 02/06/06 12:27 PM
|
|
Похоже, я поторопился - до окончательной версии
еще далеко. Игра по-прежнему богата не сюрпризы. И если в
общем и целом все работает нормально, то в разных не совсем
обычных ситуациях неожиданностей еще хватает.
Например, не далее, чем сегодня, обнаружил, что,
оказывается, совершенно невозможно попасть с лестницы на
канат, находящийся прямо под ней - не цепляется.
Соответственно, невозможно на данный момент пойти уровень 49
(точнее - его правую верхнюю часть).
Есть и довольно
любопыные глюки... или - просто моменты (не знаю, было-ли так
задумано изначально). Например - оказывается, людоеды в
некоторых случаях "давят" друг друга не хуже зарастающей
стены! Пронаблюдать этот момент можно, например, в уровне 45.
Там, в левой нижней части, есть "двухместный" канат
(ограниченный стенами), загнать на который двух людоедов не
составляет особого труда. Ну, а третий, соответственно, падает
на голову одному из первых двух, и, в лучших традициях игры,
"подвисает". Теперь - самое интересное: проходим сверху вниз
правую часть уровня. Как только оказываемся ниже уровня
висящих людоедов (обязательно нужно при этом быть подальше от
них в горизонтальном направлении - иначе просто спрыгнут с
каната), тот, который сверху, начинает "проседать" какими-то
странными рывками - впечатление такое, что именно "давит"
того, что снизу. И, что самое интересное - нижний людоед,
действительно, "погибает" (с последующим появлением вверху
экрана)! Что это - глюк, или специально запланированное
действие? Если глюк - то довольно необычный, если так и было
задумано - то слишком уж идеальные условия должны сложиться,
чтобы все это увидеть... Да и с кладом в этом случае не все
ясно: куда он денется, если будет находиться у "задавленного"
людоеда? Хотя, скорее всего - у него и останется. По крайней
мере - если замуровать людоеда не в сверху, а в толще стены
(во втором и ниже слое), клад он не выбрасывает, погибает
вместе с ним (и появляется сверху, соответственно, тоже). И на
том спасибо - а то пришлось бы потом из стены доставать!
Кстати, насчет "толщи стены" - там тоже много
интересного. Похоже, некоторые части алгоритма вообще не
рассчитаны на то, что в ней тоже может что-то происходить -
соответственно, опять же, возникает куча глюков. Про один я
уже упоминал - когда людоед отказывается до конца падать в
яму, вырытую не в верхнем слое. Еще интересный момент -
оказывается, человек не обязательно погибает, если его
замуровывает в толще стены! Т.е., обычно, конечно, погибает -
но несколько раз у меня оставался жив, и на управление
отзывался. Происходило это после того, как в этой же толще
перед этим был замурован людоед (???). Даже не спрашивайте,
какая тут связь - сам не представляю. Может, гляну напоследок
- интересно, все-таки. Но, в принципе - глюк безобидный, можно
и оставить, как есть.
Так что, похоже, чем дальше в
лес - тем глубже влез... Изучаю
дальше.
|
razoff (enthusiast) 02/14/06 10:44 AM
|
|
Выложил версию 2.1 с дополнительными уровнями,
исправлениями алгоритма.
O'Razoff
| |