Estoy creando un pequeño juego de rol de texto como una forma de practicar Python y me encuentro con una pregunta sobre cómo cargar datos. El juego es un juego del salvaje oeste, aunque eso no es demasiado relevante, y necesito almacenar listas de armas y sus propiedades, así como listas de personajes, escenarios, etc. Tengo una buena idea de cómo representar estos datos como clases, pero no estoy tan claro sobre cómo almacenar y cargar los datos.
Mi pregunta principal gira en torno a la relación entre datos y clases. He leído algunas publicaciones aquí en SE y muchas de ellas están relacionadas con el almacenamiento, por lo que tengo buena información allí.
¿Cuándo debo cargar esos datos? Por ejemplo, el jugador elige entre varias armas cuando comienza el juego. ¿Debo cargar todas las armas e instanciar todos los objetos de armas en ese punto? ¿Debería la clase de armas tener la capacidad de mostrar armas de la base de datos sin crear instancias?
Gracias por cualquier ayuda.