Asset formats and tips
Sizes, formats and quirks of each kind of asset, and how to use them in a game.
Images
- Flux 2 Flash backgrounds and textures are 1024×1024, with no size or aspect-ratio input. Crop or scale them in the game.
- Transparent types (
sprite,icon,character_portraitand the like) are cropped to their content, so their sizes vary. - PNGs run 1–2 MB each. Add
--input output_format=webpwhen the game will be hosted: smaller files load faster, and a hosted game has size limits. texture_tileimages are close to seamless but not exact. Check the edges before tiling them across a large surface.- To keep a character the same across poses or expressions, pass its image to a model that takes
image(such asnano-banana-proorgpt-image-2-5) and describe only the change.qwen-multiple-anglesshows the same subject from another side. With Flux 2 Flash, which takes no image, repeat the same description and the same--input seed=<n>, changing only the pose. remove-background,crisp-upscaleandvectorizetake an existing image.recraft-4-1-svgandvectorizereturn SVG;ideogram-tilingreturns a seamless texture.- There's no sprite animation model yet. A sprite sheet asked of an image model often comes back in a different grid or frame count than requested, so slice it by content rather than by a fixed grid.
Run rosebud assets models for the current models and what each one accepts.
Skyboxes
rosebud-skybox returns a 2:1 equirectangular WebP. In three.js, load it with TextureLoader, set its mapping to THREE.EquirectangularReflectionMapping, and assign it to both scene.background and scene.environment.
3D models
rosie-3d makes GLB files about 1 unit along their longest side, Y up, facing +Z, with the base at y = 0.
- They use the
KHR_mesh_quantizationandEXT_texture_webpextensions, which three.js loads. - Humanoid characters usually come back rigged, with a Mixamo-style skeleton and about 80 animation clips such as
Idle,Walk,RunandDeath01. Read the clip names from the file. - Metallic surfaces render nearly black without an environment map. A skybox set as the scene's environment lights them.
Other 3D models (meshy-7-1, tripo-p2, rodin-2-5) make GLBs at their own scale and facing, so measure the bounding box and scale each one in the game. They aren't rigged; meshy-rigging adds a humanoid skeleton to a character GLB.
Videos
MP4 clips up to 10 seconds, for cutscenes, intros and backgrounds. An image input becomes the first frame. Clips cost far more than images, and the price depends on length, so quote first and keep them short.
Speech
An MP3 of the prompt read aloud, priced by its length. Name an ElevenLabs voice with --input voice=<name>.
Sound effects
0.5–5 second MP3s. Ask for one sound per clip, since a second event in the same prompt is usually dropped. Loudness varies between clips, so set each one's volume in the game.
Music
At most 30 seconds, and it may fade out at the end even when the prompt asks for a loop. Trim the fade before looping it.
Give every game with sound a mute button and a volume control, and start music quieter than effects. People often play with others around, on a call or in class.