Можно ли создавать онлайн игры (2D) на Python PyGame?
Привет! Недавно я посмотрел ролик на YouTube, про вечеринку в Fortnite, тусовка была масштабной, и я вдохновившись этим событием, решил создать 2D игру где можно объединиться с игроками и сражаться с «Боссами», игра конечно должна была быть мультиплеерным, но когда я погуглил, мне выходили только «2D игра на Pygame» и т.д. в котором не было мультиплеера. Так можно ли создать мультиплеерную игру на Python с PyGame, или есть другие фреймворки? И если знаете книги или же курсы по этой теме, прошу скинуть в ответы.
- Вопрос задан более трёх лет назад
- 2129 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 2
Делай добро и бросай его в воду.
А как ты гуглил?
spoiler
(риторический вопрос, являющийся ответом)
Ответ написан более трёх лет назад
Имя Фамилия @alikk_python Автор вопроса

Вот так.
А ты хорошо знаешь английский? Потому что без него будет ну очень туго. Ведь 90% всей информации на английском языке.
И если информации очень много, она структурирована и существует уже много лет, то велик шанс, что попадёшь в те 10%, которые уже переведены на русский (или даже первоисточник на русском).
А если информация относительно нова, и она разрознена по интернету, то собирать её придётся по крупицам. Геймдев — очень стремительно развивающаяся сфера, статьи и гайды начинают протухать уже примерно за пару лет. И python — не самый лучше выбор для нормальной игры, поэтому фанатов и желающих поделиться инфой людей гораздо меньше, чем, скажем, по Unity. Так что без английского в данном случае — никак.
Имя Фамилия @alikk_python Автор вопроса
dollar, Да, вполне хоршо
Алик Питоненко, тогда тебе нужно просто правильно гуглить. 🙂 Путём ввода ключевых слов, а не «свет мой гугл, расскажи, да всю правду доложи». Это и есть ответ на вопрос.
Между прочим, очень полезный навык вообще, а не только для поиска инфы по разработке игр. 😉
Имя Фамилия @alikk_python Автор вопроса
dollar, Есть курсы по «Правильному гуглению»?
Нет, но как то ни парадоксально, можно сделать так:
spoiler

И можно найти не курсы, но какие-то статьи.
Мультиплеер реализуется обычными сокетами. Для начала изучите сетевое программированием и работу сети. Далее можете прочитать цикл статей про сетевое программированием под игры.
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
Как сделать из кода пайтон exe файл?
- 1 подписчик
- час назад
- 59 просмотров

- Python
Как ввести длинный поток байтов?
- 1 подписчик
- 4 часа назад
- 58 просмотров

- Python
- +1 ещё
Как сделать программу для удаленного доступа?
- 2 подписчика
- 4 часа назад
- 146 просмотров
Сервер для Android online игры
Всем привет. Я пишу онлайн игру на мобилку, игра на юнити, сервер думал писать пайтон. Итак, мое понимание о сервере: Сервер — это некий коннектор клиента и базы данных который принимает запросы от игроков, делает все нужные проверки получая данные из базы данных, затем при успехе записывает или изменяет данные в базе и возвращает игроку что он хотел получить от сервера. База данных — также некий, но уже хранилище всех данных игроков, которые сидит и записывает друг повыше. Сервер2 (тот который покупают) — компьютер у которого есть 2 ip адреса, 1 из них его личный, 2 общедоступный. Какой сервер у меня: У меня игра на C#, сервер на Python, база данных — .ini файлы, получаю или записываю данные в базу данных с сервера через ConfigParser. Покажите слепому его ошибки А, и еще я задумался над тем, как работают много серверов в одной игре, как они между собой связаны, и есть ли некая общая база данных. Заранее спасибо 🙂
Отслеживать
задан 4 апр 2022 в 13:02
52 3 3 бронзовых знака
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Сервер — это устройство, которое принимает какие-либо данные и возвращает их кому-то, кто тоже подключён к этому серверу. Если Вы пишете онлайн игру, тогда Вам нужно подключать всех игроков к одному серверу. Большинство из них платные, есть бесплатные, например Lacewing — ссылка
Вы должны каждого игрока при запуске игры подключать к серверу, и отправлять на него, например, координаты персонажа с условием, что эти данные сервер отправит на все устройства подключённые к тому же серверу и тому же каналу. Вы на каждом устройстве получаете эти данные и отображаете игрока.
Создание игры на Python

Игра на Pygame с нуля / Урок #1 – Разработка игр на Python для начинающих
Python – многофункциональный язык, что позволяет создавать сайты, программы и даже игры. Вы научитесь разрабатывать игры на Pygame с нуля на базе языка Питон. Ваша игра будет обладать всем необходимым: интерфейс, меню, анимации, физика, картинки и прочее.
Видеоурок
Полезные ссылки:
- Видео на тему работы компьютера ;
- Курс по языку Python ;
- Официальный сайт Python ;
- Программа PyCharm ;
- Установка PyGame .
Информация про Pygame
Сама библиотека впервые опубликована в 2000 году. Задумка библиотеки состояла в том, чтобы дать возможность любому разработчику построить свою игру при использовании языка программирования Python.
По прошествию времени можно сказать что библиотека оправдала ожидания и сейчас на ее основе вы действительно можете построить игру, при чем сделать это относительно быстро и качество.
Приложения написанные на PyGame могут спокойно работать на Андроид и на ПК. Поддержки iOS здесь нет по причине закрытости самой платформы iOS для сторонних разработчиков. Вы можете прописать код один раз, создать игру и позже запускать ее как на компьютере, так и на Android устройствах.
Как делают игры?
Поскольку в курсе мы будем разрабатывать игры, то логично сперва понять как вообще работают игры на ПК, телефонах или других устройствах.
Ранее мы уже делали видео с детальным разбором того как работает компьютер и каким образом он позволяет отобразить изображение на экран, а впоследствии видео и саму игру. Если вас интересует более детальный разбор, то можете посмотреть данное видео:
Для того чтобы понять что такое игра — нужно понять из чего она состоит. Классическая 2Д игра состоит из множества изображений. Например: основной игрок, задний фон, враги и тому прочее. Если вы начнете динамично менять эти картинки, то получите анимацию, если же вы начнете их двигать в разные координаты, то получите передвижение. То есть в базовом понимании игра состоит из картинок, которые либо сменяются, либо передвигаются.
Также к картинкам добавляются обработчики событий. Тем самым вы можете нажать на картинку, навести на нее мышкой или сделать какое-то другое действие. Отследив действие вы можете выполнить любой функционал при взаимодействии пользователя с объектом в игре.
Это и есть базовое описании процесса отображения игр компьютером.
На что способен Pygame?
Pygame позволяет строить игры разного жанра с разным набором функций. Главное что делает библиотека – позволяет вам отобразить изображение на экране вашего ПК. Отобразив какое-либо изображение вы можете начать двигать его по координатам и вот вы уже получите эффект движения в игре. Или же вы можете начать динамично менять изображения друг за другом и вы получите эффект анимации.
Поэтому основная функция – она позволяет удобно и быстро показать изображение на экране, а далее позволяет выполнять действия с этим изображением.
Это, конечно, лишь часть того что умеет Pygame. Помимо этого вы можете добавлять звуки, создавать твердые объекты, добавлять физику к объектам, отслеживать соприкосновения, выводить текстовую информацию и можете проделывать множество других операций что нужны для построения игры.
Примеры игр
Начать изучать какую-то библиотеку без понимая того что вы сможете на ее основе создать – дело не мотивирующее. Поэтому сперва предлагаем посмотреть на примеры тех игр, что были разработаны на основе языка Питон и библиотеки Pygame.
Такие проекты не могут похвастаться графикой и функциями как в играх класса ААА, но несмотря на это они могут быть интересны с точки зрения своего функционала и действий в игре. Одной из таковых игр является Historical Wargame Simulator. Это игра в жанре стратегии, где у вас набор из множества функций и действий. Смотря на эту игру даже сложно осознать что она создана только за счет языка Python.
Таковых проектов очень много. Все они в основе своей представляют из себя простые игры.
Приведем пример нескольких:
- игра TRUNKMAN с реально крутой графикой и интересной задумкой;
- игра Necrostation выполненная в духе классических олд скульных игр с кучей анимацией;
- игра Gleamshroom, где вам предстоит играть за гриб. В игре нужно преодолевать разные препятствия и в конце добраться до конечной точки;
- игра Planyt – классический платформер со множеством анимаций, красивым дизайном и интересной задумкой;
- игра Explon’t, которая смахивает на жанр платформера. В ней также много графики, красивый дизайн, интересный функционал и насыщенная картинка.
И вот подобных проектов созданных на Pygame очень и очень много. Многие из них представлены на официальном сайте самой библиотеки Pygame, так что можете заценить все эти игры там.
План курса
За курс мы с вами с нуля приступим к изучению библиотеки Pygame. Мы изучим весь процесс построения игр: от пустого экрана и до создания игры с графикой, анимациями, дизайном, звуками и механикой.
По итогу вы разработаете небольшую мобильную игру, где у вас будет основной игрок, враги и множество игровых действий.
Прежде чем перейти к изучению самого курса вам стоит изучить язык Питон . Без базовых знаний этого языка вам будет сложно понять код. Вам не требуется досконально знать язык. Наоборот, вы можете его знать совсем поверхностно и этих знаний вам хватит для прохождения курса по Pygame.
Дополнительные курсы
На нашем сайте вы найдете дополнительные курсы по теме языка Python. Если вас интересует полное изучения языка и его фреймворков, то рекомендуем вашему вниманию программу обучения: « Python разработчик ».
В ходе программы вы изучите сам язык Питон, научитесь работать с базами данных, создавать приложения с графическим интерфейсом, работать с данными, создавать телеграмм ботов и строить полноценные веб сайты на базе фреймворка Джанго.
Задание к уроку
Библиотека PyGame
На что способна библиотека PyGame? Какие функции она предоставляет и что вы можете получить при её использовании?
Посмотреть ответ
Библиотека PyGame дает возможность вам создавать игры как под ПК, так и под Андроид.
Вы можете прописать весь интерфейс программы, всю анимацию, а также весь функционал самой игры используя лишь одну эту библиотеку.
Большое задание по курсу
Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца
Как создать игру на Python с использованием Pygame

Python — один из самых популярных языков программирования, который благодаря своей простоте и универсальности стал основой для множества проектов. Сегодня мы рассмотрим создание игры на Python с использованием библиотеки Pygame.
Что такое Pygame?
Pygame — это набор модулей, предназначенных для написания видеоигр на Python. Он предоставляет возможности для работы с графикой, звуком и управлением, что делает его отличным инструментом для создания простых и средних игр. ️
Установка Pygame
Для начала установим библиотеку Pygame. Откройте терминал и выполните следующую команду:
pip install pygame
Теперь Pygame установлен, и мы можем начать создавать нашу игру!
Создание окна игры
Сначала импортируем библиотеку Pygame и инициализируем ее:
import pygame pygame.init()
Затем создадим окно игры с заданными размерами:
screen = pygame.display.set_mode((800, 600))
Теперь наш игровой экран готов, и мы можем перейти к созданию объектов и управлению игровым процессом.
Python-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT

Создание объектов и управление игровым процессом
Рассмотрим пример создания простой игры, в которой управляемый игроком квадрат должен ловить движущиеся по экрану круги.
- Создадим классы для игрока и кругов:
class Player(pygame.sprite.Sprite): # Код для создания и управления игроком class Circle(pygame.sprite.Sprite): # Код для создания движущихся кругов
- Реализуем в классах методы для отрисовки и обновления состояний объектов:
class Player(pygame.sprite.Sprite): def __init__(self, x, y): # Код для создания игрока def update(self): # Код для обновления состояния игрока class Circle(pygame.sprite.Sprite): def __init__(self, x, y, speed): # Код для создания круга def update(self): # Код для обновления состояния круга
- Создадим группы спрайтов для удобства управления и отрисовки объектов:
player_group = pygame.sprite.Group() circle_group = pygame.sprite.Group()
- Реализуем основной игровой цикл, в котором будут происходить обновление состояний объектов и их отрисовка на экране:
running = True while running: # Обработка событий # Обновление состояний объектов # Отрисовка объектов на экране
После того, как ваша игра будет готова, не забудьте освободить ресурсы и закрыть окно Pygame:
pygame.quit()
Теперь вы знаете основы создания игр на Python с использованием библиотеки Pygame! Этот навык может стать отличным началом для карьеры в сфере Python-разработки. Если вы хотите продолжить развиваться в этом направлении, рекомендую обратиться к хорошей онлайн школе, которая учит специалистов в сфере «Python-разработка».
