egorpuzyrev / mustached-dubstep

Simple roguelike game. Written on python3 using tkinter and pillow.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

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

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

    Время действия игры: Вы — техник Джон Джонсон, единственный квалифицированный специалист, зная, к чему могут привести последствия, вызвались в одиночку отправиться на технический уровень, где расположена ваша цель. Как позже выяснилось, при взрыве первого реактора произошло радиационное заражение питомника и животные под воздействием излучения мутировали в монстров, которые могут встретиться вам на пути.

Требования:
    Python3 + Tkinter + Pillow
    Для винды есть скомпиленная версия, но за работоспособность не отвечаю.
    Запускать main.py
    
Как играть:
    - Правая кнопка мыши - перемещение по клеткам внутри комнаты. Кнопки N, W, S, E на правой панели - перемещение между комнатами, которое так же может осуществляться посредством нажатия W, A, S, D на клавиатуре (английская раскладка обязательна).
    - Кнопка Use (E на клавиатуре) - использование предмета из первого списка. Колбы пьются, оружие бьется, но только если в комнате есть монстр.Кнопка Pick up - поднять предмет. Для этого необходимо находиться прямо над ним. Цветочки, бочки, стол и бао=ллоны - это просто декорации.
    - Кнопка Door - заваривает двери газовой сваркой (т.е. то же самое, что use cutting torch). На данный момент никак не влияет на игру, т.к. перемещение монстров по комнатам и преследование игрока, которому запиливание должно было помешать, не реализовано.
    - Кнопка Craft крафтит предметы из левого и правого окошка. ПОРЯДОК ВАЖЕН!!! Должно играть большую роль в игре, т.к. с помощью него можно получать более мощное оружие. Рецепты подбираются опытным путем, но можно и взять из исходников.
    - Списки: второй список нужен только для крафта, первый для всего остального. При клике на предмете в боксе под игровым полем выводится сообщение с характеристикой предмета. Параметр charges - кол-во, подбирамеое с карты.
    - Бокс Stats - тут, я думаю все понятно. Советую следить за здоровьем, т.к. при каждом переходе из комнаты в комнату оно, как и остальные характеристики, уменьшается на 1 (радиация и все такое) до минимального значения в единицу - от радиации вы погибнуть не можете, но от монстров запросто. Agility - влияет на уворот от атаки и успешное попадание по противнику. Strength - максимальный возможный урон с руки.
    - Теперь немного о предметах. Изначально у вас имеются фонарик, газовый резак и молоток. Фонариком можно подсвечивать еще не исследованные комнаты, чтобы снизить риск встречи с монстром. И резак и фонарик восстанавливаются при переходе из комнаты в комнату. Молоток - слабое оружие. С ним много рецептов крафта.
    - Боевая система - после попадания в комнату с монстром вы не сможете уйти из нее, пока один из вас двоих не погибнет. Характеристики монстра выводятся один раз в боксе под игровым полем. Для того, чтобы атаковать монстра, необходимо выбрать оружие в первом списке и нажать клавишу Use. Ваше положение в комнате не имеет значения - монстр будет атакован в любом случае, но вы так же каждый раз будете атакованы в ответ. Оружие дает гарантированные очки к атаке (т.е. в любом случае отнимает у противника attack жизней), в то время как атака (и защита), зависящая от agility и strength определяется "броском кубика".
    
    - Цель игры - собрать 4 детали (выглядят одинаково, различаются только цифрами на них), добраться до комнаты с реактором и использовать все эти 3 детали. Заставок и прочиз вещей, раскрывающих историю, к сожалению, на данный момент нет.

    - В планах: отрефакторить код до более читабельного состояния, добавить выбор сложности, добавить звуки, добавить декораций, предметов, рецептов, монстров, добавить NPC, добавить перемещение монстров по комнатам, ну и еще много чего. Если кому-то это будет интересно, то не забью на середине.

About

Simple roguelike game. Written on python3 using tkinter and pillow.

License:MIT License


Languages

Language:Python 100.0%