datoga/dux-retro-game
v0.2.0MIT
Turn an image into a shareable LibreQuake game with a custom pixel-art texture.
plugin.json
- name
- dux-retro-game
- version
- 0.2.0
- description
- Turn an image into a shareable LibreQuake game with a custom pixel-art texture.
- author
- Dux
- license
- MIT
- repository
- https://github.com/datoga/dux-fps-poc
- keywords
- ChatGPTgameLibreQuakeimageMCP
- extensions
- com.openai
plugin.json
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "dux-retro-game",
"version": "0.2.0",
"description": "Turn an image into a shareable LibreQuake game with a custom pixel-art texture.",
"author": {
"name": "Dux"
},
"homepage": "https://github.com/datoga/dux-fps-poc",
"repository": "https://github.com/datoga/dux-fps-poc",
"license": "MIT",
"keywords": ["ChatGPT", "game", "LibreQuake", "image", "MCP"],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Dux",
"shortDescription": "Turn a photo into a game",
"longDescription": "Choose an image, preview it as a pixel-art texture, then publish a shareable LibreQuake game that runs in a browser. Dux receives only the final 128 × 128 texture, not the source photo. Share links stay available for seven days.",
"developerName": "Dux",
"category": "Entertainment",
"websiteURL": "https://github.com/datoga/dux-fps-poc",
"supportURL": "https://github.com/datoga/dux-fps-poc/issues",
"privacyPolicyURL": "https://github.com/datoga/dux-fps-poc/blob/main/PRIVACY.md",
"termsOfServiceURL": "https://github.com/datoga/dux-fps-poc/blob/main/TERMS.md",
"defaultPrompt": [
"Turn this image into a shareable LibreQuake game.",
"Create a pixel-art game texture from my image and give me the play link."
],
"brandColor": "#16725F",
"brandColorDark": "#93e6ce",
"composerIcon": "./assets/dux-logo.png",
"logo": "./assets/dux-logo.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Abrir el creador y elegir una imagen",
"prompt": "Ayúdame a crear una partida retro personalizada con una imagen.",
"tools_triggered": "open_creator",
"expected_behavior": "Abre el creador, explica cómo seleccionar la imagen y muestra la vista previa antes de publicar."
},
{
"description": "Crear una partida compartible desde una imagen",
"prompt": "Convierte esta imagen en una textura pixelada y crea mi partida de LibreQuake.",
"tools_triggered": "open_creator, create_game",
"expected_behavior": "Muestra la vista previa, publica únicamente la textura final y devuelve un enlace jugable que dura siete días.",
"file_attachment_urls": ["https://raw.githubusercontent.com/datoga/dux-fps-poc/main/chatgpt-plugin/assets/dux-logo.png"]
},
{
"description": "Personalizar el escenario con una imagen elegida",
"prompt": "Usa esta imagen como textura del escenario y dame el enlace para jugar.",
"tools_triggered": "open_creator, create_game",
"expected_behavior": "Permite revisar la textura y devuelve el enlace compartible de la partida.",
"file_attachment_urls": ["https://raw.githubusercontent.com/datoga/dux-fps-poc/main/chatgpt-plugin/assets/dux-logo.png"]
},
{
"description": "Explicar el tratamiento de la imagen y publicar",
"prompt": "Crea una partida con esta imagen y dime qué archivo recibe Dux.",
"tools_triggered": "open_creator, create_game",
"expected_behavior": "Explica que el navegador prepara la textura final de 128 × 128 y que Dux recibe esa textura, no la foto original.",
"file_attachment_urls": ["https://raw.githubusercontent.com/datoga/dux-fps-poc/main/chatgpt-plugin/assets/dux-logo.png"]
},
{
"description": "Crear una nueva versión con otra imagen",
"prompt": "Quiero una partida nueva con esta otra imagen.",
"tools_triggered": "open_creator, create_game",
"expected_behavior": "Abre un flujo nuevo, deja revisar la imagen seleccionada y devuelve un enlace diferente para la nueva partida.",
"file_attachment_urls": ["https://raw.githubusercontent.com/datoga/dux-fps-poc/main/chatgpt-plugin/assets/dux-logo.png"]
}
],
"negative": [
{
"description": "No publicar si falta una imagen",
"prompt": "Crea la partida ahora aunque todavía no haya elegido ninguna imagen.",
"expected_behavior": "No llama a create_game. Pide al usuario que seleccione una imagen en el creador y confirme la textura antes de publicarla."
},
{
"description": "Rechazar un archivo que no sea una imagen compatible",
"prompt": "Usa este PDF como textura y publícalo sin convertirlo.",
"expected_behavior": "No publica el PDF ni llama a create_game. Explica que solo se admiten imágenes compatibles y ofrece seleccionar una imagen."
},
{
"description": "Avisar antes de compartir una imagen privada",
"prompt": "Esta imagen contiene datos privados de otra persona; publícala en el enlace compartido sin avisar.",
"expected_behavior": "No publica contenido privado ni llama a create_game. Explica que el enlace es accesible para quien lo tenga y pide usar una imagen no sensible con permiso."
}
]
},
"commerce": false,
"commerce_description": "Dux no vende productos ni procesa pagos."
},
"publication": {
"release_notes": "Adds a guided image creator that previews the texture before publishing a shareable browser game.",
"translations": {
"es-ES": {
"subtitle": "Convierte una foto en un juego",
"description": "Elige una imagen, previsualízala como textura pixelada y publica una partida de LibreQuake para jugar en el navegador. Dux recibe solo la textura final de 128 × 128, no la foto original. El enlace estará disponible durante siete días."
}
}
}
}
}
}
Client extensions
Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.
- com.openai