Всем привет!
Рады сообщить, что «Я знаю всё» теперь доступна в Steam!
Сыграйте в эту викторину с поддержкой мультиплеера в одиночку, с другом или против компьютера, узнайте новые факты и протестируйте свою эрудицию!
Советы по созданию многопользовательской игры : как помочь людям играть со своими друзьями
Хорошо известно, что полагаться на мультиплеер — это очень трудный и опасный путь для любого инди-разработчика, особенно небольшого. Но, в любом случае, это был очень интересный опыт для нас, и мы рады, что игроки не игнорируют эту часть игры. Единственное, что вам очень важно помнить — всегда включайте в вашу игру возможность для игрока пригласить своего друга в игру, например, как показано на скриншоте ниже:
Эта кнопка откроет стандартный диалог Steam, который может быть использован, чтобы пригласить вашего друга в игру при помощи соответствующей кнопки.
Когда вы это сделаете, ваш друг получит сообщение с уведомлением и сможет подключиться к игре и поиграть с вами:
Почему это важно? Почему просто не сделать список доступных игр? Всё очень просто: люди могут чувствовать себя некомфортно, ожидая оппонента неопределённое, часто достаточно долгое время. Конечно, это не проблема, если у вас есть большое сообщество игроков и, следовательно, большой онлайн, в этом случае вы сможете найти оппонента довольно быстро. Но это критично для маленьких инди-команд, где типичный онлайн вашей игры будет, вероятно, менее 10 человек. В нашем случае публичный список игр, в которых люди ждут оппонента, постоянно пуст, но люди всё же играют со своими друзьями, приглашая их в свои игры, о чём свидетельствует пополняющаяся таблица лидеров сетевой игры:
Версия «Я знаю всё» с открытым исходным кодом
Также я хотел бы поделиться с вами ещё одной новостью: несмотря на то, что полная база вопросов нашей игры доступна только в Steam-версии, вы также можете взглянуть на версию игры с открытым исходным кодом!
Игра сделана на движке Godot. Версия с открытым кодом отличается от Steam-версии только базой вопросов (она содержит лишь несколько тестовых вопросов), весь остальной код такой же. Если вы работаете в Godot, мне кажется, что этот код может помочь вам, особенно если вы делаете игру для Steam.
Эта игра поддерживает многие функции Steam, такие как:
- Доски лидеров Steam
- Достижения Steam
- Поддержка многопользовательской игры при помощи P2P Steam API
Кроме того, эта игра кроссплатформенная (Windows, Mac и Linux) и поддерживает контроллер.
Эта игра использует несколько библиотек для Godot с открытым кодом:
- GodotSteam (Интеграция со Steam)
- GDSQLite (Поддержка базы данных SQLite)
Также эта игра может помочь вам с:
- Созданием пользовательских интерфейсов на движке Godot
- Переводом вашей игры на другие языки с использованием принятого в Godot подхода (файл interface.csv, содержащий перевод элементов интерфейса)
- Использованием в вашем проекте GDNative библиотек
- Созданием эффектов с использованием системы частиц (таких как салют)
- Использованием контроллера в вашей игре
- Различными хаками и трюками (например, получением полного пути к рабочей папке игры, чтобы иметь возможность использовать внешние файлы за пределами pck файла)
Надеюсь, этам информация была полезной для вас! В заключение, оставлю несколько ссылок на нашу игру.
Страница «Я знаю всё» в Steam: https://store.steampowered.com/app/1040310/I_Know_Everything/
Исходный код «Я знаю всё» на Github: https://github.com/Antokolos/know-everything-os