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_portrait and the like) are cropped to their content, so their sizes vary.
  • PNGs run 1–2 MB each. Add --input output_format=webp when the game will be hosted: smaller files load faster, and a hosted game has size limits.
  • texture_tile images 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 as nano-banana-pro or gpt-image-2-5) and describe only the change. qwen-multiple-angles shows 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-upscale and vectorize take an existing image. recraft-4-1-svg and vectorize return SVG; ideogram-tiling returns 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_quantization and EXT_texture_webp extensions, which three.js loads.
  • Humanoid characters usually come back rigged, with a Mixamo-style skeleton and about 80 animation clips such as Idle, Walk, Run and Death01. 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.

On this page