Cómo hacer un cliente de juego similar a Steam

Si está buscando un lugar para comenzar, sugeriría comenzar con la construcción de un servidor web básico. Algo que toma solicitudes http y devuelve vistas HTML.

Como mencionó que ya tiene experiencia con C #, le sugiero que comience con ASP.net MVC Music Store Tutorial

Esto lo llevará a través de los primeros pasos para poner en funcionamiento un servidor web ASP MVC y le dará una base sobre la cual construir.

Por supuesto, Steam es una aplicación y no solo un sitio web, por lo que eventualmente necesitará servir JSON en lugar de HTML y reunir las vistas en el lado del cliente con algún tipo de biblioteca de JavaScript como Angular.

La tienda de Steam funciona igual en su página web que en la aplicación, por lo que puede apostar que están usando el mismo marco frontend dentro de la aplicación que en la web para mostrar la tienda.

También tiene que lidiar con el lado de la aplicación. Probablemente esté buscando una aplicación C ++ o Java para esto porque C # realmente solo funcionará en Windows.

Tengo que presentar la tienda de la misma manera que lo hace el sitio web, y tiene toneladas de características adicionales.

Es casi seguro que el chat es un servicio web de bases de socket separadas, y luego también tiene que servir y descargar los juegos, instalarlos en la computadora del usuario y cifrarlos / descifrarlos.

También tienen una API completa para que los desarrolladores de juegos vinculen sus juegos con los servicios de Steam.

Esto es, por supuesto, mucho más de una persona puede construir razonablemente por su cuenta.