На чем написан Steam?
Тимофей Гусев
17.02.2022
На чем написан Steam?
Dark Light
16.02.2022
Это гос тайна!
Ложись спать
и не забудь дяде габи закинуть 500 рублей завтра
MrRudy
16.02.2022
Java и C++, как минимум
Zer0
16.02.2022
На бумаге ручкой
Якуб Пауэлл
16.02.2022
C++, Java и Objective-C
Никита Быстров
16.02.2022
Сергей Бушланов
16.02.2022
На С++
джава вроде самые старые версии
Алекс Куха
16.02.2022
Всем в сад, в вики https://ru.wikipedia.org/. wiki/Steam
Автор ответа признал, что вопрос не является полезным
Highest-precision Army
16.02.2022
Это неважно. Любое современное приложение использует много функционала сверх того, что предоставляет язык.
В столь крупном проекте, в принципе, даже могли бы разработать свою расширенную реализацию любого языка (как это сделали ВКонтакте с PHP), если бы очень захотели.
- Linux ( Debian ) : — Установил Steam, а он не запускается! В чем может быть проблема? Переустанавливал и пробовал разные Переустанавливал и пробовал разные способы для этого решения. Просто установил Steam и он не запускается. В диспетчере задач я вижу что Steam начинает запускаться и снова отключается. В чем может быть проблема? У всех все работает нормально а у меня нет!
- Ошибка Steam: Cloud not connect to steam network. В чем проблема? Steam: Cloud not connect to steam network. Не могу зайти в стим, выдает такую ересть. Смотрел, что надо попробовать зайти в оффлайн режиме, но если видите на скрине — такой возможности нет. Что делать? С интернетом все в порядке.
Читайте, оценивайте и обсуждайте
Теперь можно легко узнать, что другие пользователи Steam думают о товаре, который вы хотите приобрести. С помощью обзоров Steam вы сможете находить полезные отзывы, которые понравились другим игрокам, или написать свой обзор игры, в которую вы уже играли в Steam
Читайте полезные обзоры
Просматривайте самые полезные обзоры от пользователей, ознакомившихся с игрой или программой, которую вы собираетесь приобрести.
Просто найдите обзоры на любой странице в магазине.
Оценивайте обзоры других
Дайте другим пользователям знать, какие обзоры вы посчитали наиболее полезными, голосуя за них.
Вы также можете проголосовать против обзоров, которые не были полезными, или отмечать записи как спам.
Находите интересных авторов
Если вы найдете кого-то, кто пишет отличные обзоры или разделяет ваши вкусовые предпочтения, вы легко сможете просмотреть все обзоры этого пользователя и узнать, какие товары ему понравились.
Пишите собственные обзоры
Пусть сообщество знает ваше мнение об играх, в которые вы играете, и программах, которыми вы пользуетесь.
Чтобы начать, просто откройте в магазине Steam страницу игры, в которую вы играли, или программы, которой вы пользовались в Steam.
Ищите и пишите обзоры на нужном вам языке
Написав обзор, пользователи смогут отметить, на каком языке он написан. Steam автоматически покажет сперва полезные обзоры на том языке, которым пользуетесь вы.
Редактируйте свои обзоры Steam и делитесь ими
Все рекомендации в Steam, которые вы писали до этого, автоматически стали обзорами Steam. Теперь вы сможете отредактировать то, что написали, или сделать обзор видимым для всех, чтобы он смог появиться на странице в магазине.
Частые вопросы
Для пользователей Steam
В: Нужно ли приобрести игру, чтобы написать на неё обзор?
О: Чтобы написать обзор, покупать игру не обязательно — достаточно иметь ее в Steam. Обзор можно будет написать, даже если вы получили игру бесплатно или активировали ее сторонним цифровым ключом. Рядом с обзором будет отображаться продолжительность запуска этой игры или программы.
В: Могу ли я написать отрицательный обзор?
О: Конечно. Если вы недовольны товаром или считаете, что он не дает того, что было обещано, то можно написать обзор и рассказать другим покупателям, почему вы не рекомендуете этот товар.
В: Можно ли сообщать об оскорбительных обзорах?
О: Да. Как и у другого контента в Steam, рядом с обзорами есть кнопка с изображением флажка, которая позволяет сообщить о неподобающем содержании или спаме.
В: Что случилось с рекомендациями, которые я написал для своих друзей?
О: Все рекомендации в Steam, которые вы писали до этого, автоматически стали обзорами Steam. Они помечены как видимые только вашим друзьям. Если хотите, их можно отредактировать и сделать видимыми всем на вашей странице обзоров.
В: Заменяет ли новая система баллы сайта Metacritic?
О: Эти обзоры можно рассматривать как дополнительные сведения. На странице в магазине у игр и программ будут видны и баллы Metacritic, и обзоры Steam.
Для разработчиков
В: Я разработчик игры. Могу ли я отвечать на обзоры?
О: Да, в каждом обзоре есть отдельный раздел для ответа от разработчиков. Кроме того, если вы прокомментируете обзор своего продукта, он будет отмечен как комментарий разработчика.
В: Я — разработчик. Могу ли я удалять обзоры своих продуктов?
О: Напрямую — нет. Если вы обнаружите некорректные или оскорбительные обзоры вашего товара, вы можете отметить их как спам, оскорбление или обзор не по теме. Обзор останется на вашей странице в магазине, но уже в свернутом виде с пометкой о спаме, пока модератор не удалит обзор, либо пока он не снимет отметку о спаме.
В: Моя игра или программа очень сильно изменилась с момента выхода. Отразится ли это в обзорах?
О: Обзоры, попадающие на страницу вашей игры, выбираются из недавно написанных, поэтому они должны отражать текущее состояние вашей игры или программы. Кроме того, если ваша игра была выпущена более, чем 45 дней назад, и на неё в недавнем времени было написано достаточно обзоров, Steam будет показывать рейтинг игры согласно последним обзорам, чтобы пользователи могли знать, что представляет собой игра в ее текущем состоянии.
Сообщите нам, что вы думаете
Оставляйте отзывы, предложения и сообщайте об ошибках
Если у вас есть вопросы, отзывы или вы нашли ошибку в новой системе, пожалуйста, сообщите нам об этом в обсуждениях Steam
На чем написан Steam (десктопный клиент от Valve, в частности на винду)?
В данном треде (https://toster.ru/q/239067) выяснили что батлнет написан на Qt.
Задался вопросом а на чем написан Steam?
- Вопрос задан более трёх лет назад
- 7206 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1
Ответ написан более трёх лет назад
Анонс steampak 0.1.0: Steam и Python
Краткий анонс новой библиотеки, позволяющей играм/приложениям, написанным на Python получать доступ к функциональности, предлагаемой платформой Steam.
Началось всё так: уезжая в отпуск я закинул себе на ноутбук новую версию Steam SDK. Просто так закинул, ради интереса: вдруг что-то в ней появилось. А закончилось тем, что сегодня я выложил на PyPI свежую разработку — steampak. Теперь обо всём по порядку.
Steam — это довольно известный сервис распространения цифрового содержимого (игры, программы, видео) от компании Valve. Компания Valve в девяностых делала его как платформу для распространения и обновления своих игр (Half-Life, Team Fortress, Counter-Strike), но с тех пор многое изменилось и на этой площадке публикуются тысячи продуктов других компаний и независимых разработчиков. Вы загружаете с сайта и ставите себе программу-клиент и через неё получаете доступ цифровому магазину, сообществам по интересам и вашей библиотеке приложений (игр).
Пару-тройку лет назад Valve сумела разглядеть в операционных системах отличных от Windows непаханое поле рынка и, одной из первых, нужно признать, начала направлять туда своих агрономов для подготовки почвы. Сегодня, судя по тому, какое количество игр (в том числе класса AAA) выходит с поддержкой Linux, а также учитывая то, что Valve начала выпускать машинки типа SteamBox, под управлением операционной системы, основанной на Debian, можно сказать, что поле начинает давать всходы.
На площадке Steam, кроме прочего, независимые разработчики и начинающие студии могут воспользоваться сервисом Greenlight — выставить свою игру (или прототип) на обозрение пользователям, и если она их заинтересует, то Valve предложит вам распространять её через Steam.
Для разработчиков игр Valve предлагает платформу Steamworks, через которую можно управлять своими приложениями в Steam. Кроме прочего, с сайта Steamworks можно загрузить архив с инструментарием для разработчика (SDK). Этот инструментарий включает в себя библиотеки для взаимодействия вашей игры с клиентом Steam под разные ОС, пример их использования в виде простенькой «игры» Spacewar и некоторые другие полезности.
Не секрет, что на Python можно писать игры (или использовать его для скриптования), интересные, удачные, достойно выглядящие. А вот бы ещё обучить такие игры взаимодействию со Steam. Среди полезностей, предоставляемых SDK, есть заголовочные .h файлы, описывающие сигнатуры предлагаемых Steam методов. И можно бы, воспользовавшись этой информацией, написать обвязку. Писать обвязки для библиотек, если вы помните, лучше при помощи ctypes, входящего в стандартную поставку Python. Одна загвоздка: Steam-клиент написан на C++, и если «обёртывание» обычных функций особого труда не составляет, то для обращения к атрибуту экземпляра класса ctypes инструментов не предоставляет (по большей части из за того, что ввиду отсутствия строго стандарта разные компиляторы C++ по разному располагают структуры в памяти). Загвоздку можно было бы обойти, путём написания собственной обёртки на C, которая сделала обращение к атрибутам объектов плоским, но это потребовалось бы поддерживать.
И тут в отпуске я обнаружил, что в Steam SDK, начиная с версии 1.32, выпущенной как раз ко дню моего рождения, сделали дополнительный плоский API в стиле C. Вот здесь я и не удержался.
Сразу оговорюсь, что это не перенос API как есть, а попытка переосмысления в парадигме Python. Прежде всего из-за того, что в оригинальном API, который нарабатывался годами, накопилось несколько, мягко говоря, спорных моментов.
Пример использования steampak:
from steampak import SteamApi # Это единая точка вход в API.
# Указываем путь до файла библиотеки.
LIBRARY_PATH = '/home/me/my_steam_game/libsteam_api.so'
# И идентификатор вашей игры, полученный в Steamworks.
# Можно не передавать его параметром, а просто положить
# файл 'steam_appid.txt' с этим идентификатором в директорию с игрой.
APP_ID = 480 # Это ID игры 'Spacewar', она идёт в SDK.
api = SteamApi(LIBRARY_PATH, app_id=APP_ID)
# Выведем имена друзей пользователя:
for user in api.friends():
print(user.name)
# Для интереса получим код страны:
print(api.utils.country_code)
# Поглядим, как у пользователя с достижениями по нашей игре:
for ach_name, ach in api.apps.current.achievements():
print('%s (%s): %s' % (ach.title, ach_name, ach.get_unlock_info()))
# И попробуем получить список игр (приложений) пользователя:
for app_id, app in api.apps.installed():
print('%s: %s' % (app_id, app.name))
# Под занавес не потушить API.
api.shutdown()
Если вам вдруг интересно, зачем я это делал, тем более в отпуске, то ответ состоит из двух частей: 1. разрабатывать на Python интересно везде; 2. я хочу, чтобы в Steam появлялись игры на Python. Только не надо больше «графических романов» в «японском» стиле, а то уже тошнит, правда.
На текущий момент steampak реализует далеко не всё, что умеет оригинальный API. Под большим вопросом стоит поддержка функциональности, использующей обратные вызовы — так Steam-клиент реализует асинхронную работу (опять же из-за того, что обработчиком обратных вызовов ожидается объект C++, а не обычная функция).
Да, вы можете проставить себе все достижения во всех ваших играх, но вы ведь не станете? %)