# Oasis Action World Model Integration ADAM treats Oasis as a first-class trainer named `Oasis Action World Model`. It uses the existing `Oasis-Game-Trainer/roblox_action_flow_app.py` worker and keeps training and playable inference in separate processes. ## Dataset Layout Use one or more recorder folders. Multiple folders can be supplied with semicolon separators. ```text My_Oasis_Dataset/ dataset_info.json actions.jsonl frames/ frame_00000000.png frame_00000001.png ``` Each `actions.jsonl` row must identify the frame and its labels: ```json {"session_id":"run1","frame_index":1,"filename":"frame_00000001.png","w":1,"a":0,"s":0,"d":0,"jump":0,"mouse_dx":0.0,"mouse_dy":0.0,"zoom":0.0} ``` Rows describe the action for the transition into that frame. ADAM validates missing frames, invalid labels, duplicate or gapped frame indexes, broken images, inconsistent resolutions, empty sequences, and missing action columns. It does not guess missing labels. ## Minecraft Beta-Style Recording Notes Record your own gameplay. Start with `256x144` at 8-12 FPS for a first pipeline test, then increase data before long runs. Keep every clip as its own session or recording folder so training never learns fake transitions between worlds. Capture a mix of walking forward, strafing, turning, jumping, climbing, terrain changes, interiors, caves, water, sky, and short idle moments. Avoid long standing-still stretches; idle is useful, but a dataset dominated by idle frames will make the model ignore controls. A good smoke dataset is 300-1,000 labelled frames. A more meaningful first Minecraft experiment is 5,000-20,000 labelled frames with clean W/A/S/D/Space coverage and synchronized frame/action timestamps. ## RTX 3060 12 GB Starting Point Use `256x144`, batch size `2`, mixed precision `fp32`, gradient accumulation `1`, prediction horizon `3`, loader workers `2`, save every `5` epochs, preview every `5` epochs, and 5-10 epochs for a pipeline test. Try `fp16` only after FP32 is stable.