Vs Sonic.exe Psych Engine Port May 2026
function onSongStart() triggerEvent('Screen Shake', '0.05,0.1', '0.2,0.1') setProperty('defaultCamZoom', 0.7) end function onBeatHit() if curBeat % 8 == 0 then triggerEvent('Add Camera Zoom', '0.03', '0.03') end end
Example: SONIC_EXE.xml should contain frames like SonicExe idle , SonicExe singLEFT , etc. Create data/characters/SONIC_EXE.json : vs sonic.exe psych engine port
For , use DialogueBoxPsych . 6. Lua Scripting (Optional but Powerful) Psych Engine allows per-song Lua scripts in data/songs/too-slow/script.lua : function onSongStart() triggerEvent('Screen Shake', '0
{ "animations": [ {"name": "idle", "anim": "idle", "fps": 24, "loop": true, "indices": []}, {"name": "singLEFT", "anim": "singLEFT", "fps": 24, "loop": false}, {"name": "singDOWN", "anim": "singDOWN", "fps": 24, "loop": false}, {"name": "singUP", "anim": "singUP", "fps": 24, "loop": false}, {"name": "singRIGHT", "anim": "singRIGHT", "fps": 24, "loop": false} ], "position": [700, 100], "camera_position": [0, 0], "flip_x": false, "healthicon": "sonic_exe_icon", "healthbar_colors": [150, 0, 0] } Repeat for , GF , and Sonic.exe (opponent). 3. Stage Porting Create Stage JSON data/stages/sonic_stage.json : Lua Scripting (Optional but Powerful) Psych Engine allows
ST. KIZITO E-LEARNING