На этой неделе я предлагаю вам разобраться в относительно большом проекте на Питоне, почитать код, постичь архитектуру. Проект - игрушка Ulmo's Adventure. Её порт под третий Питон находится в этом репозитории. Оригинальный репозиторий: http://code.google.com/p/rpg-world/
Запускать надо файл play.py в корне.
Наша основная задача - понять как он работает. Вопросы на понимание:
-
Как устроена анимация персонажей?
-
Как устроено хранение карты? Как устроено считывание карты?
-
Как устроено то, что отображается только часть карты? Как устроено слежение камеры за персонажем? Как устроены переходы между локациями?
-
Почему когда персонаж утыкается в край дерева, его вежливо сносят до тех пор, пока он не сможет идти дальше?
Что можно захотеть научиться сделать:
-
Дописать новую локацию к игре.
-
Научить игрока стрелять пульками. Разбросать пульки по карте и научить его их собирать.
-
Добавить нового врага, который стреляет пульками в тебя.
-
Научить персонажа прыгать с одного уровня земли на другой.
-
Научиться сохранять состояние игры по нажатию Ctrl+S в файл. Восстанавливать состояние можно нажатием Ctrl+R даже после перезапуска игры.