Similar presentations:
Презентация Microsoft PowerPoint
1. Визуальная новелла + сайт
It’s not a police matterПреподаватель:
Кузьмин
Алексей
Дмитриевич
Студент: Кашин
Дмитрий
Сергеевич
Заказчик: Сергей
Мишуров – mishurov37 (telegram)
Академия ITtop 2026
2. Введение
В игровой индустриинет ни одной ААА или
инди игры про
закулисье (backrooms) с
сюжетом и какой либо
драммой. Пора это
исправить!
3. Архитектура
Код разделён на три независимыхслоя. API-файлы принимают запросы
и возвращают JSON, но сами с базой
не работают. Модуль авторизации
управляет только сессиями.
4. Инженерные решения
PHP — серверная логика,генерация HTML, работа с базой
данных
SQL — хранение данных
(пользователи, комментарии,
сообщения чата)
JavaScript (Vanilla, без фреймворков) —
динамика на клиенте:
переключение вкладок,
отправка форм, обновление
чата
HTML — распространённый язык
разметки
CSS — стилизация, адаптивная
вёрстка
5.
База данных6. Prepared Statements
Данные пользователя передаютсяв запрос отдельно от SQL-команды
через ?, поэтому злоумышленник не
может сломать или подменить
запрос к базе данных.
7. Хэширование пароля
В базе данных хранится не сам пароль, аего необратимый bcrypt-хэш. Даже если база
утечёт — восстановить пароли из хэшей
невозможно.
8. Fetch API
JavaScript отправляет данные насервер и получает ответ в фоне —
страница при этом не
перезагружается, пользователь
остаётся на месте.
9. Сессии
После входа данныепользователя сохраняются в
$_SESSION и доступны на всех
страницах без повторных
запросов к базе. При выходе —
удаляются.
10. Защита от XSS
Если пользователь напишет вкомментарии <script>alert('взлом')</script
> — браузер не выполнит это как
код, а отобразит как обычный
текст. Требуется
экранирование
11. Polling в чате
Чат должен показывать новыесообщения в реальном времени.
Для этого используется polling —
каждые три секунды JavaScript
автоматически запрашивает у
сервера новые сообщения через
setInterval.
12. Переключение разделов
Весь сайт — это одна страница. Всеразделы загружены в браузер сразу и
просто скрыты через CSS. При клике на
вкладку одна скрывается, другая
показывается — без обращения к серверу.
13. Валидация данных
На сервереданные
проходят
отдельную
валидацию:
приводятся к
нужным типам,
очищаются от
управляющих
символов,
проверяются
на
допустимые
значения.
Только после
этого они
передаются в
базу данных.
14. Переходы, отображение контента
Игра строится в основном напоследовательной смене
спрайтов, музыки, текста и
другого контента.
15. Заключение
Тема закулисья —неизведанная ниша, а
движок RenPy — простой
инструмент для
воплощения фантазий в
геймдев. Minecraft может
оказаться не просто
игрой в умелых руках.
Помните, что если вы будете недостаточно аккуратны, то попадёте
туда, и выбраться во 2й раз врят ли получится…
internet