суббота, 4 июля 2015 г.

Версия 0.6.0 - теперь (руко)пожатая

Или (руко)жопая? Давайте проведём ещё один бета-тест и выясним. Я понимаю что всем уже надоело, но у нас есть реальный шанс что следующая итерация уже будет релизной, если с этой всё пойдёт хорошо.

Скачать десктоп версию (~400mb):
GoogleDisk
или
Mega

Скачать андроид версию (~390mb):
GoogleDisk
или
Mega


Изменения:
+ Картинки пережаты без потери качества, в результате чего игра теперь легче почти в два раза
+ Оптимизация и рефакторинг кода, в том числе под android версию
+ При сворачивании окна игры музыка ставится на паузу
+ В описании новорожденного драона отображается его полное имя

Исправленные баги:
+ Появление драконов-пустышек без модификаций
+ При колдовстве ядовитого тумана на кабак дракон теперь теряет ману и не теряет энергию
+ Некоторые грамматические ошибки
+ Двойной отказ селиться в подгорном царстве
+ Некорректная работа вора
+ Глюки после смерти всех драконов

Найденные баги версии 0.6.0:
- Ошибка при ограблении логова. KeyError: 'servant'

49 комментариев:

  1. Аваст пожаловался на эксешник и уничтожил его. :)

    ОтветитьУдалить
    Ответы
    1. Он давно на ренпи ругается. Происки моралфагов ,не иначе :)

      Удалить
  2. С Меги десктоп версию не качает: требует ключ для дешифровки...

    ОтветитьУдалить
  3. Воровайка ограбил логово и всё. Сервант.

    ОтветитьУдалить
    Ответы
    1. Какое сообщение об ошибке выдаётся? На какой платформе?

      Удалить
  4. I'm sorry, but an uncaught exception occurred.

    While running game code:
    File "game/labels/events/thief_events.rpy", line 75, in script
    $ txt = game.interpolate(random.choice(txt_thief_success[trap]))
    File "game/labels/events/thief_events.rpy", line 75, in
    $ txt = game.interpolate(random.choice(txt_thief_success[trap]))
    KeyError: 'servant'

    -- Full Traceback ------------------------------------------------------------

    Full traceback:
    File "game/labels/events/thief_events.rpy", line 75, in script
    $ txt = game.interpolate(random.choice(txt_thief_success[trap]))
    File "C:\Users\Янус\Desktop\DefilerWings-0.6.x-all\DefilerWings-0.6.x-all\renpy\ast.py", line 785, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
    File "C:\Users\Янус\Desktop\DefilerWings-0.6.x-all\DefilerWings-0.6.x-all\renpy\python.py", line 1448, in py_exec_bytecode
    exec bytecode in globals, locals
    File "game/labels/events/thief_events.rpy", line 75, in
    $ txt = game.interpolate(random.choice(txt_thief_success[trap]))
    KeyError: 'servant'

    Windows-7-6.1.7601-SP1
    Ren'Py 6.99.4.467
    Defiler Wings 0.6.0 b

    ОтветитьУдалить
  5. core.py отсутствует, только core.pyo
    Так задумано? :)
    Где определяется этот список реплик по ловушкам? Не могу найти.

    ОтветитьУдалить
    Ответы
    1. Все, нашел. В списке ключа servant нет. Либо слуги должны игнорироваться при переборе апгрейдов, либо нужна реплика на предмет обхода слуг :)

      Удалить
    2. Вообще слуги не должны защищать логово

      Удалить
    3. Ну там в классе вора идет перебор ВСЕХ апгрейдов и вызов ивента при прохождении. Слуги попадают в
      if data.lair_upgrades[upgrade].protection == 0:
      if renpy.config.debug:
      thief(u"Обошел %s, т.к. он не защищает от меня." % upgrade)

      thief.event("pass_trap", trap=upgrade)

      Как и укрепления (ниже). Надо либо убрать последнюю строку, либо сделать сообщение на слуг, гремлинов и укрепления.

      Удалить
    4. В общем я потестил без последней строки - вроде ровно работает, без багов. Судя по коду тоже проблем быть не должно. Просто лишнее сообщение.

      Удалить
  6. Да, и слуги-гремлины отдельным пунктом

    ОтветитьУдалить
  7. I'm sorry, but an uncaught exception occurred.

    While running game code:
    File "game/labels/events/thief_events.rpy", line 75, in script
    $ txt = game.interpolate(random.choice(txt_thief_success[trap]))
    File "game/labels/events/thief_events.rpy", line 75, in
    $ txt = game.interpolate(random.choice(txt_thief_success[trap]))
    KeyError: 'gremlin_fortification'

    -- Full Traceback ------------------------------------------------------------

    Full traceback:
    File "game/labels/events/thief_events.rpy", line 75, in script
    $ txt = game.interpolate(random.choice(txt_thief_success[trap]))
    File "D:\films\The.Walking.Dead.s03\DefilerWings-0.6.x-all\DefilerWings-0.6.x-all\renpy\ast.py", line 785, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
    File "D:\films\The.Walking.Dead.s03\DefilerWings-0.6.x-all\DefilerWings-0.6.x-all\renpy\python.py", line 1448, in py_exec_bytecode
    exec bytecode in globals, locals
    File "game/labels/events/thief_events.rpy", line 75, in
    $ txt = game.interpolate(random.choice(txt_thief_success[trap]))
    KeyError: 'gremlin_fortification'

    Windows-7-6.1.7601-SP1
    Ren'Py 6.99.4.467
    Defiler Wings 0.6.0 b
    Попытка ограбить

    ОтветитьУдалить
    Ответы
    1. Кстати тут аналогично слугам. На прохождение укреплений сообщения в листе нет.

      Удалить
  8. Можно наколдовать ядовитый туман в трактир даже при нулевой мане. И ничего не теряется.

    ОтветитьУдалить
  9. Охотник снова косячек а именно 3 задание сделай разруху ляг поспи и 1 из 3 пунктов
    1 сожги амбар грабь деревни (делаю нефига владычица не даёт :D)
    2 наводнил выродками (ну история та же с владычицей ей не холодно не жарко)
    3 полное отчаяние отсутствует пункт финансировать террор
    поправьте как то это ибо было и в прошлой версии
    кстати не разу не получалось пройти это задание по первым 2 м пунктам сколько бы я не насиловал и не разорял деревни задание не проканывает

    ОтветитьУдалить
    Ответы
    1. а вот еще что если делаешь разорение то нет варика свалить только до конца грабить или сдохнуть ;) просьба править

      Удалить
    2. Этот комментарий был удален автором.

      Удалить
    3. а вот и штука прикалюха не важно где с кем начал сражаться все обратного пути нет а если сдохнет 1 дракон следом 2 других в той же битве и конец игры

      Удалить
    4. Там с описанием у владычицы скорее косяк. Сжигание мельниц/амбаров и грабеж деревень не снижает уровень мобилизации, оно повышает разруху. В принципе вроде как можно и снизить в итоге, но это нужно долго и упорно разорять, причем аккуратно, не набирая лишней славы. Проще заплатит разбойникам на острове (один платеж - минус единица мобилизации). Ну или шариться по околицам пока не нароллится ивент с лагерем ополчения. Там тоже мобилизацию снижает.

      Удалить
    5. На какой платформе глюк с отступлением? У меня все в порядке.

      Удалить
  10. Кстати еще с прошлого релиза похоже баг (или не баг)? При патрулировании в небе выдается сообщение о замеченном торговом караване, но ничего дальше не происходит.

    ОтветитьУдалить
  11. Еще из той же серии. При полете в небе выдает сообщение о лагере ополченцев внизу. Потом показывает стандартный экран разрухи (тут только разруха и пр.) и все.

    ОтветитьУдалить
    Ответы
    1. Другой вариант - выдал энкаунтер с пастухом.

      Удалить
    2. Теперь грибницы. В общем он переходит к локации деревни, но выдает не конкретный энкаунтер, а случайный.

      Удалить
  12. Не совсем баг, скорее недоработка. Если влететь в город на крыльях и перейти к рыночной площади, то текст как при тайном визите (вы принимаете истинную форму и пр.)

    ОтветитьУдалить
  13. Привет, всем.
    Давно не отписывался, всё как-то руки не доходили.
    Тут есть желающие помочь в разработке так сказать идейного продолжения ВП на другом движке?
    На данный момент нужна помощь с дизайном.
    скайп: nekon_il, если кто заинтересован.
    немного скринов: http://imgur.com/a/Fft3s

    ОтветитьУдалить
    Ответы
    1. Забавно )
      Я вот тоже планирую сейчас "идейное продолжение ВП на другом движке". Посмотрим насколько разойдутся наши мысли )

      Удалить
    2. На ренпи надеюсь? :)

      Удалить
    3. Этот комментарий был удален автором.

      Удалить
    4. Вообще вопрос к Охотнику был, жаль тут дерева нет )

      Удалить
    5. Этот комментарий был удален автором.

      Удалить
  14. Кстати, перепроверь экран предупреждения который выводится при первом запуске игры - в нем как минимум одна опечатка была в версии 5.2

    ОтветитьУдалить
  15. I'm sorry, but an uncaught exception occurred.

    While running game code:
    File "renpy/common/00layout.rpy", line 76, in script
    if layout.invoke_yesno_prompt(None, layout.QUIT):
    File "renpy/common/00layout.rpy", line 76, in
    if layout.invoke_yesno_prompt(None, layout.QUIT):
    File "renpy/common/00layout.rpy", line 465, in invoke_yesno_prompt
    rv = layout.yesno_prompt(*args)
    File "renpy/common/00action_file.rpy", line 261, in __call__
    renpy.save(fn, extra_info=save_name)
    PicklingError: Can't pickle : attribute lookup __builtin__.module failed

    -- Full Traceback ------------------------------------------------------------

    Full traceback:
    File "renpy/common/00layout.rpy", line 76, in script
    if layout.invoke_yesno_prompt(None, layout.QUIT):
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\ast.py", line 1593, in execute
    if renpy.python.py_eval(condition):
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\python.py", line 1482, in py_eval
    return eval(py_compile(source, 'eval'), globals, locals)
    File "renpy/common/00layout.rpy", line 76, in
    if layout.invoke_yesno_prompt(None, layout.QUIT):
    File "renpy/common/00layout.rpy", line 465, in invoke_yesno_prompt
    rv = layout.yesno_prompt(*args)

    ОтветитьУдалить
  16. File "renpy/common/_layout/screen_yesno_prompt.rpym", line 29, in yesno_prompt
    return ui.interact()
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\ui.py", line 277, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\core.py", line 2276, in interact
    repeat, rv = self.interact_core(preloads=preloads, **kwargs)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\core.py", line 2907, in interact_core
    rv = root_widget.event(ev, x, y, 0)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\layout.py", line 877, in event
    rv = i.event(ev, x - xo, y - yo, cst)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\layout.py", line 877, in event
    rv = i.event(ev, x - xo, y - yo, cst)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\layout.py", line 877, in event
    rv = i.event(ev, x - xo, y - yo, cst)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\screen.py", line 625, in event
    rv = self.child.event(ev, x, y, st)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\layout.py", line 877, in event
    rv = i.event(ev, x - xo, y - yo, cst)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\layout.py", line 188, in event
    rv = d.event(ev, x - xo, y - yo, st)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\layout.py", line 877, in event
    rv = i.event(ev, x - xo, y - yo, cst)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\layout.py", line 877, in event
    rv = i.event(ev, x - xo, y - yo, cst)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\behavior.py", line 785, in event
    return handle_click(self.clicked)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\behavior.py", line 728, in handle_click
    rv = run(action)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\behavior.py", line 283, in run
    new_rv = run(i, *args, **kwargs)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\display\behavior.py", line 290, in run
    return var(*args, **kwargs)
    File "renpy/common/00action_file.rpy", line 261, in __call__
    renpy.save(fn, extra_info=save_name)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\loadsave.py", line 275, in save
    dump((roots, renpy.game.log), logf)
    File "D:\Draivers\game\Delirium\DefilerWings-0.5.0-all\renpy\loadsave.py", line 43, in dump
    cPickle.dump(o, f, cPickle.HIGHEST_PROTOCOL)
    PicklingError: Can't pickle : attribute lookup __builtin__.module failed

    Windows-7-6.1.7601-SP1
    Ren'Py 6.99.4.467
    Defiler Wings 0.5.0 b

    ОтветитьУдалить
  17. GGWP, так обидно((( начинал заново из-за этого несколько раз (((

    ОтветитьУдалить
    Ответы
    1. Судя по логу - это старая версия, 0.5.0
      Скачай патч до 0.5.2 (в предыдущем посте), там эта ошибка исправлена.
      Если Охотник не будет против - выложу хотфикс для последней 0.6.0 чтобы исправить баг с вором.

      Удалить
    2. Не то чтобы против, но мы и сами пофиксим.
      Если руки чешутся - валяй )

      Удалить
    3. Не то чтобы чешутся, но народу поиграть хочется, я думаю, да и тестировать надо дальше )

      Удалить
  18. Застрял на задании по обустройству логова. Все перечисленное сделал, но не засчитывается. Есть и охрана и слуги, и ловушки и укрепления. Чего не хватает?

    ОтветитьУдалить
    Ответы
    1. Может логово не сменил? Стартовый овраг в зачет не идет.

      Удалить
    2. А, вон оно как. Спасибо.

      Удалить
    3. Этот комментарий был удален автором.

      Удалить
    4. Никак не могу найти логово, в горах никого не могу убить, а что-то попроще не могу найти, подскажите, куда можно еще переехать.

      Удалить
    5. Найди на дороге жилище рыцаря

      Удалить
  19. Выкладываю хотфикс на вора. Там один файл. Просто положить в \game\pythoncode\characters с заменой существующего. Правит только критический баг вора, приводящий к вылету. Ссылка:
    https://drive.google.com/file/d/0B2a5QEthhNGwTmF5dmliU0FibTQ/view?usp=sharing

    ОтветитьУдалить