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.
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:
{"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.