     var playerCount: CountableClosedRange<Int> // Possible player counts. Replaced by the player count selected by the user when hosting a game.
     let playingTime: CountableClosedRange<Int>
     let picture: URL?
-    
-    var thumbnail: URL? {
-        guard let picture = picture,
-              let url = URL(string: picture.absoluteString.replacingOccurrences(of: "_md", with: "_t")) else {
-            Log.warning("Failed to generate thumbnail URL for #\(id)")
-            return nil
-        }
-        return url
-    }
+    let thumbnail: URL?
 }
 
 // MARK: - XML

            guard let urlString = try xml.nodes(forXPath: "image").first?.stringValue else {
                return nil
            }
            let urlComponents = urlString.components(separatedBy: ".")
            guard urlComponents.count > 1, let fileExtension = urlComponents.last else {
                Log.warning("Failed to generate picture URL for #\(id)")
                return nil
            }
            let newURLString = urlComponents.dropLast().joined(separator: ".").appending("_md.").appending(fileExtension)
            guard let url = URL(string: newURLString.hasPrefix("//") ? "https:" + newURLString : newURLString) else {
                Log.warning("Failed to generate picture URL for #\(id)")
                return nil
            }
            return url
        }()
        self.init(id: id,
                  name: name,

                  yearPublished: yearPublished,
                  playerCount: playerCount,
                  playingTime: playingTime,
                  picture: picture,
                  thumbnail: thumbnail)
    }
}

