Skip to content

The game is based on the Pygame library, having the form of a 2.5D game.

License

Notifications You must be signed in to change notification settings

coder-smookki/PyGame-DOOM-1993

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyGame-DOOM-1993

License Version Python Stars

Как запускать проект?

  1. git clone https://github.com/coder-smookki/PyGame-DOOM-1993.git

  2. python -m venv .venv

  3. pip install -r requirements.txt

  4. cd src and python main.py

Какие технологии присутствуют?

  • Python 3.10

  • PyGame

  • Method Ray-Casting

  • Net effect 2.5D

  • Using Sprites


Этапы разработки

1. Создание 2D модели игры

Screenshot_1

На данном этапе был отрисован игрок, его направление и карта

2. Алгоритм "ray casting"

Screenshot_2

Реализован алгоритм ray casting, представляющий собой определенное количество лучей (область видимости игрока), сталкивающихся со стенами карты

3. Проектирование 2.5D и отрисовка миникарты

Screenshot_3

4. Добавление текстур

Screenshot_4

5. Добавление коллизий

Screenshot_19

Были добавлены столкновения со стеной, чтобы игрок не входил в стены и за рамки карты

6. Добавление оружий

Screenshot_5

Добавлена функция смены оружия при прокрутке колесика мыши, а также анимации каждого оружия

7. Добавление звука

Screenshot_20

Была добавлена фоновая музыка, звуки шагов и выстрела оружия

8. Добавление спрайтов врагов. Фиксация уровня жизни и количества потронов

Screenshot_6

9. Финальные окна с подсчетом очков

Screenshot_7

Screenshot_8

10. Добавление стартового окна с настройками и выбором уровней

Screenshot_9

Screenshot_10

Screenshot_11


Смысл игры

Игра DOOM является аналогом игры-шутера DOOM в 2.5D. В игре будет реализовано 5 уровней. Игра идет от первого лица. Игроку неободимо победить противника в перестрелке и попасть на новый уровень. Уровни отличаются сложностью карты (меньше укрытий), количеством врагов.


Releases

No releases published

Packages

No packages published

Languages