2D игра-платформер (проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Критерии оценки пронумерованы, чтобы на них можно было ссылаться из отчета)
 
Строка 7: Строка 7:
 
|summer=
 
|summer=
 
|categorize=yes
 
|categorize=yes
 +
|is_archived=yes
 
}}
 
}}
  

Текущая версия на 10:35, 20 октября 2015

Ментор Яковлев Виктор
Учебный семестр Весна 2015
Учебный курс 1-й курс


Внимание! Данный проект находится в архиве и реализован не будет.

Что это за проект?

Платформер

Из Википедии:

Платформер (англ. platformer) - жанр компьютерных игр, в которых основной чертой игрового процесса является прыгание по платформам, лазанье по лестницам, собирание предметов, обычно необходимых для завершения уровня.

Противники (называемые «монстрами» независимо от внешнего вида), всегда многочисленные и разнородные, обладают примитивным искусственным интеллектом, стремясь максимально приблизиться к игроку, либо не обладают им вовсе, перемещаясь по круговой дистанции или совершая повторяющиеся действия. Соприкосновение с противником обычно отнимает жизненные силы у героя или вовсе убивает его. Иногда противник может быть нейтрализован либо прыжком ему на голову, либо из оружия, если им обладает герой.

Классическими 2D платформерами являются такие игры, как SuperMario [1].

Постановка задачи

Требуется реализовать простую 2D игру-платформер для ПК (Windows или Linux). Решение задачи подразумевает реализацию только программной ее части. Необходимые для игры графические ресурсы могут быть использованы из любого стороннего источника (естественно, с соблюдением условий распространения и сохранения авторских прав).

Чему вы научитесь?

  1. Прототипирование и разработка компьютерных игр
  2. Динамическое расширение функциональности ПО с помощью скриптовых языков программирования (в случае выполения задания на максимальную оценку)

Какие начальные требования?

  1. Знание языка программирования Python
  2. Умение работать с любым растровым графическим редактором (на уровне открыть/изменить размер/создать прозрачность/сохранить в нужном формате)

Какие будут использоваться технологии?

  1. Набор библиотек PyGame [2]
  2. Стандартная библиотека Python 2.7; возможно использование Python 3.x, если на момент начала выполнения проекта появится стабильная сборка PyGame для Python 3.x

Темы вводных занятий

  1. Занятие по теме подготовки RPM-пакетов

Направления развития

  1. Реализация многопользовательского варианта игры

Критерии оценки

  1. 4 балла. Реализована игра на карте фиксированного размера (умещающейся полностью на один экран), в которой игровой персонаж может перемещаться и обходить препятствия
  2. 5 баллов. Реализована поддержка карт большого размера, которые полностью не умещаются на один экран
  3. 6 баллов. Реализованы персонажи («монстры»), поведение которых управляется компьютером с помощью простого алгоритма (например, движение влево-вправо до появления препятствия)
  4. 7 баллов. Реализована загрузка карт и других ресурсов из внешних файлов и сети Интернет
  5. 9 баллов. Реализована возможноть загружать из внешних ресурсов алгоритмы поведения «монстров»

Оформление программы в виде инсталлятора (Windows) или RPM/DEB пакета (Linux): +1 балл.