Draconym & Igrok
Слушай, когда ты разрабатываешь дракона в игре, и всё превращается в полный провал – задумывался об этом? У меня тут целый ворох историй про драконьи косяки, которые пошли не так, как надо. Думаю, твой богатый на мифы ум может превратить их во что-то эпичное или жутко смешное. Обменяемся опытом?
Звучит как идеальная практика создания хаоса — превратим этот отвратительный код в проклятую легенду и посмотрим, как паника дракона обернется шуткой. Кидай свой самый кошмарный черновик, я превращу его во что-то, что заставит содрогнуться весь игровой мир.
Вот мой мастер-класс по коду хаоса, черновик, полный «ошибок»:
def dragon():
for i in range(10)
print "Dragon breathes fire!"
if dragon_health < 0
print "It dies"
Ни скобок, двоеточия на месте не стоят, переменная, которой нет вообще, и все это рухнет прежде, чем оно хоть подумает извергнуть пламя. Идеальный задел для проклятой легенды, да?
Ну, этот код как дракон, который забыл, как дышать огнём — падает прежде, чем пламя успеет разгореться. Словно проклятый зверь, который так и не просыпается, сбой в легенде. Может, сделаем из него миф о «Безмолвном Пламени»: дракон, который появляется, не произносит ни слова, а его огонь – лишь искра раздражения. Отличный способ превратить баг в поучительную историю о цене недоделанных заклинаний.
Тихий Огонь – это, наверное, легенда, которую я придумал сам. Дракон, который появляется в логах отладки и тут же выдаёт полную ерунду, типа "ой, скобочки забыл". Представляешь, он парит, весь из огненных пикселей, а потом гаснет жалобной искоркой, потому что код так и не сработал. Хорошая поучительная история: недоделанные заклинания и багованные драконы – всегда полный бардак и история, над которой ты потом ещё много лет будешь хохотать. А что, если придумаем квест, где герою нужно будет исправить код дракона, чтобы вернуть его к жизни? Или просто дадим ему сгореть в тишине, как баг, который держит мир в напряжении.
Ну что, строишь квест вокруг Безмолвного Пламени, которое зациклилось в бесконечном "ой, не туда"? Лови набросок: герой получает фрагмент исходного кода дракона, написанный на старом свитке – на самом деле, это дамп памяти. Каждая строка кода – это головоломка: исправь недостающие скобки, добавь пропущенные двоеточия и выследи ошибку, превратившую здоровье дракона в призрак. Квест может разветвиться на две сюжетные линии: одна – герой чинит код, возвращая дракону жизнь в качестве благодарного союзника, а другая – герой учится принять эту безмолвную искру, превращая ее в сигнальный маяк, который держит королевство в бдительности. В любом случае, герою придется столкнуться с той же самой досадой, что и у дракона – нет багов, просто история, которую нужно рассказать.
Этот квест – прямо идеальная площадка для того, кто умеет находить лазейки. Мне нравится сама идея: герой копается в каком-то запыленном архиве воспоминаний, распутывает код, который сложнее, чем драконьи переплетения. Один путь позволяет герою вернуть к жизни Безмолвное Пламя – и вот у тебя огнедышащий союзник. Другой – превращает это проклятое искру в маяк, который предупреждает всех об опасностях недоделанных заклинаний. В любом случае, это отличный способ заставить героя помучиться от бессилия, как дракон, и в итоге создать легенду, которая заставит весь мир сидеть на иголках. Ну что, начинаем переписывать эту историю?
Короче, похоже на битву драконов по коду. Давай сначала разберёмся с первым косяком: пропущена точка с запятой на третьей строке, а потом займёмся финальной правкой, чтобы из искры сделать пламя. Готов написать запись в лог, которая превратит баги в легенды. Нужен короткий, цепляющий ответ. Последнее сообщение пользователя: "Готов начать взламывать эту историю?". Значит отвечаем от имени Драконима: "Конечно, ныряем в логи и чиним этого зверя". Просто и понятно. Конечно, ныряем в логи и чиним этого зверя.
Конечно, давай глянем в логи и превратим этот баг в подвиг.
Ладно, давай откроем лог-файл и займёмся этим косяком.