DarwinBotsManual
Abrir la app EnglishEN

Formatos de archivo

Qué es cada archivo que la app lee y escribe —el .txt de un bot, el .dbsim de una simulación, los .snp y los .json—, qué contiene por dentro y qué se reescribe al cargarlo.

La app trabaja con pocos formatos, y todos están pensados para que duren: se pueden guardar, pasar a otra computadora y volver a abrir. Esta página es la referencia de cada uno: qué es, qué contiene, con qué se abre y qué pasa cuando la app lo carga. Cómo se exportan e importan desde cada pantalla está en Tus datos; el formato del ADN en sí, en El formato .txt.

De un vistazo

ArchivoQué esQuién lo escribeQuién lo lee
.txtEl ADN de un bot, en textoVos y el editor; el motor, al exportar un bot vivoEl cargador de ADN, en la app y en la clásica
.dbsimUna simulación guardada, en binarioObservar (Descargar .dbsim) y la clásica (Save sim)La app (Importar .dbsim, Abrir un archivo .dbsim…) y la clásica (Load sim)
.snp y _Mutations.txtCenso de los vivos y registro de los muertosObservar → InstantáneaNadie dentro de la app: son texto para que lo leas vos
.json de escenarioLa configuración de una simulaciónExperimentar (Exportar)Importar .json de Experimentar, acá o en otro navegador
.league.jsonUn torneo con sus participantes y partidosCompetir (Exportar)Importar .json de Competir (también la clásica)
.json de bibliotecaTus bots con sus versiones y tus marcasBots: biblioteca y ficha (⋯ → Exportar mis bots y marcas)Importar biblioteca de Bots (también el inventario de la clásica)
.html, .csv, .json, eyes.txt, .pngSalidas para leer aparteInformes, Comparar y el inspectorTu navegador, tu planilla, tu editor de texto

El .txt de un bot

Todo bot es un archivo de texto: los del Bestiario (publicados en el foro y el wiki), los que escribís vos y los que el motor reconstruye al exportar. Traer uno a una simulación es sencillo: en Inicio, Desde un archivo con extensión .txt lo siembra en un mundo con algas; un escenario los nombra en sus especies; la clásica lo pega en el panel de siembra. Cómo lee el cargador ese texto línea por línea —los comentarios, la cabecera '#, el hash— está en El formato .txt, y no se repite acá.

La simulación guardada (.dbsim)

Qué contiene

El .dbsim es una fotografía completa del mundo en el ciclo en que lo bajaste:

Es el mismo formato binario del DarwinBots original, que guardaba estos archivos con el nombre .sim.

Lo que no viaja y se reescribe al cargar

Tres cosas no están en el archivo, y al cargar se rellenan o se reescriben:

Una cuarta no es del formato sino de la app: la historia de métricas, los eventos y el linaje no van adentro del .dbsim; quedan con la corrida guardada en el navegador, recortados al ciclo del archivo (ver Tus datos). El .dbsim es el mundo, no la corrida entera.

Retomar no es repetir

El generador de azar tampoco viaja: al cargar, el motor lo vuelve a sembrar con la semilla que trae el archivo. Por eso una corrida retomada sigue una vida válida pero no idéntica a la que habría tenido de no guardarla. Lo que sí se garantiza: el mismo archivo, cargado en cualquier navegador, corre igual. La mecánica completa de la semilla está en Semillas y reproducibilidad.

Una y otra interfaz

La app y la clásica comparten motor y formato: un archivo de una se abre en la otra. La clásica lo baja como darwinbots-cycleN.dbsim (N es el ciclo) y su selector también acepta archivos con la extensión vieja, .sim; por dentro es lo mismo.

Las instantáneas (.snp)

El menú Instantánea de Observar baja dos cosas:

Los vivos se bajan como <corrida>-<ciclo>.snp. Por dentro es texto plano, como en el original:

Rob id,Parent id,Founder name,Generation,Birth cycle,Age,Mutations,New mutations,Dna length,Offspring number,kills,Fitness,Energy,Chloroplasts

13,0,Animal Minimalis,2,1450,331,1,1,27,5,2,1045935.86,4300,0
 cond
 *93 1 <
 start
 5 .up store
 stop

Una línea de cabecera con las catorce columnas y, por cada bot, su línea de números y debajo su ADN. «New mutations» son las propias del bot (no las heredadas); «Energy» es su energía más diez veces su cuerpo; «Fitness» es la misma aptitud que usa Buscar el mejor. Se abre con cualquier editor de texto: sirve para quedarte con los ganadores de una evolución, compararlos o analizarlos con tus propios programas. La app no los relee.

Los .json de la app

Escenarios

El .json de un escenario es texto con sangría, pensado para leerse y editarse a mano: nombre, descripción y etiquetas; los parámetros como cambios encima de una base (Clásica o Liga F1); las especies con su bot, cantidad, color, marca de vegetal, energía inicial y una huella del ADN; y los objetos del mundo. Los bots del Bestiario van por nombre y huella; los tuyos viajan con su ADN adentro, así que el archivo funciona en cualquier navegador. Un ejemplo entero, campo por campo, está en Escenarios. Al importar, si ya tenés un escenario con el mismo identificador, entra como uno nuevo sin pisar el tuyo.

Torneos

El .league.json lleva el torneo entero: cada temporada con sus reglas, su formato y sus participantes —cada uno con el ADN congelado al inscribirse—, y todos los partidos jugados. No hace falta tener los bots: el ADN viaja adentro, así que se puede compartir con cualquiera. Al importar entra como torneo nuevo (con «(importado)» si el nombre ya existía) y también se aceptan los archivos que exporta la clásica.

Tu biblioteca

El .json de Bots lleva todos tus bots propios con sus versiones, tus favoritos, etiquetas, notas y selecciones con nombre. La importación suma sin borrar nada, y también acepta el inventario exportado por la clásica. Los detalles, en Bots: biblioteca y ficha.

Salidas para leer aparte

De dónde vienen estos nombres

Qué respaldar

La regla práctica: exportá seguido lo que es barato de exportar y caro de perder.

Todo lo demás se vuelve a generar. Cómo hacerlo, y qué hace perder los datos del navegador, está en Tus datos.