A Psych Engine 1.0.4 fork that also runs V-Slice mods, adds online multiplayer, and brings the new Funkin' menus to every mod.

Vortex Engine's title screen
Vortex Engine's main menu

Supports everything on the Psych Engine Lua Script API page

Vortex Engine runs Psych Engine 1.0.4's Lua in full: every function, callback and variable documented on ShadowMario's Psych Engine Lua Script API page works here the same way. Your Psych scripts run as they are, and Vortex adds more on top of them.

https://shadowmario.github.io/psychengine.lua/
Highlights

What's inside

Everything Psych Engine has, plus V-Slice mods, multiplayer, and a lot of new options and tools for players and modders.

๐Ÿงฉ

V-Slice mod support

Play mods made for the official game (Polymod, .hxc scripts) next to your Psych mods, with no porting.

๐ŸŒ

Online multiplayer

Play a song against a friend by IP. The port opens by itself, there's a chat, and a missing mod can be sent to the other player.

๐ŸŽค

V-Slice menus for everyone

Freeplay with the DJ, Character Select, the Results screen and the sticker transition, for Psych songs too.

๐ŸŽน

Extra keys

Songs with 1 to 9 arrows per side, for mods like Shaggy's 6 and 9 key songs, with their own keys.

๐Ÿ‘ฅ

Extra characters

More singers in a song (a duet, a third character...), set up in the chart editor with no script.

๐ŸงŠ

3D

Sprites, receptors and notes turned in 3D, whole cameras tilted in perspective, and .obj models.

๐ŸŽ“

Tutorials

A Tutorial button on the menus and editors: Boyfriend zooms into each part of the screen and explains it.

๐Ÿ› ๏ธ

Better editors

Box selection in the chart editor, mouse tools and undo in the others, and a Character Select / Results editor.

๐Ÿ“œ

More scripting

New Lua functions, callbacks and properties, state scripts for the menus, and a check for mods made for other engines.

V-Slice (Polymod) mods

Mods for the official game, as they are

Put a V-Slice mod in the mods folder and it shows up in the game like any other mod.

  • Scripts: .hxc song, stage, character, module, dialogue, Freeplay and results scripts run through Vortex's own interpreter.
  • Content: V-Slice charts (every difficulty and variation), stages, characters (Sparrow, Packer, multi-sparrow and Adobe Animate atlases), song events, note kinds and dialogue.
  • Utility mods: a mod with scripts and no songs (a pause menu, a HUD, a camera module) runs on the songs of every mod.
  • Playable characters appear in Character Select with their own Freeplay DJ and results animations.
  • Base game content built in: the V-Slice weeks, stages and characters come with the engine.
  • Made for mods targeting the V-Slice 0.8.x API (0.8.0 up to 0.8.6).
The V-Slice Freeplay menu in Vortex Engine
The V-Slice Freeplay, for Psych mods too.
A V-Slice mod running in Vortex Engine
A V-Slice mod running in Vortex Engine
A V-Slice mod running in Vortex Engine

Community V-Slice mods running as they are. The mods belong to their creators.

Online multiplayer

Play a song against a friend

  • Host or join by IP (port 8888). CTRL+V pastes the IP.
  • No Radmin or Hamachi needed when the router allows it: hosting opens the port by itself (UPnP) and shows the IP to send. If it can't, the screen says why, and a VPN still works.
  • Chat: T opens it in the lobby, during the song and on the results.
  • The other player's preferences (P in the lobby), and their notes seen the way they see them.
  • Sending a mod: a song from a mod the other player doesn't have can be sent to them and installed, after they accept.
  • Match setup: win by Score, Misses or Accuracy, with live stats and a results screen for both players.
The online lobby
The online lobby.
Gameplay

New gameplay changers and options

A song with Lane Underlay, the Break Timer and the Song Credits Card
Lane Underlay, the Break Timer ("10s") and the Song Credits Card.

Gameplay changers

  • Play as Opponent: play the opponent's notes while the computer plays Boyfriend's.
  • Health Drain: every note the opponent hits takes a little health (it never kills).
  • Speed Up on Miss: every miss makes the song 5% faster, up to 2x.
  • Ghost Notes: two notes of the same character close together leave an afterimage.
  • Only Sick: anything worse than a Sick counts as a miss.
  • Random Chart, Random Scroll Invert, Fade In / Fade Out and Random Note Speed.

Options

  • Break Timer: a countdown when there are 3 seconds or more without notes.
  • Click Between Frames (Windows): each key press counts from the moment it was made, like the Geometry Dash mod.
  • Keystrokes: the keys you press on the screen, WASD or DFJK style, with keys per second.
  • Lane Underlay, Hold Note Covers, Sustain Wiggle, Icon Bop, Smooth Health Bar.
  • Supersampling for smoother edges, Window Mode and Sharpness.
  • Mods tab: the settings that Psych and V-Slice mods add, in the options menu.
Extra keys

1 to 9 arrows per side

A chart with "keyCount": 6 (or Psych Engine Extra Keys' "mania") plays with 6 arrows. The chart editor's "Arrows per side" changes it, and Options โ†’ More โ†’ Extra Keys sets the keys of each arrow.

ArrowsColumnsDefault keys
1middleSpace
2โ† โ†’F J
3โ† middle โ†’F Space J
5โ† โ†“ middle โ†‘ โ†’D F Space J K
6โ† โ†‘ โ†’ โ† โ†“ โ†’S D F J K L
7โ† โ†‘ โ†’ middle โ† โ†“ โ†’S D F Space J K L
8โ† โ†“ โ†‘ โ†’ โ† โ†“ โ†‘ โ†’A S D F H J K L
9โ† โ†“ โ†‘ โ†’ middle โ† โ†“ โ†‘ โ†’A S D F Space H J K L
Editors and tutorials

Better tools, and a guide on every screen

The chart editor
The chart editor, with a music player bar and box selection.
The Character Select and Results editor
The Character Select and Results editor.

Chart Editor

A music player bar, box selection, cut / copy / paste and undo, extra characters' fields, and new chart events with no script needed.

Stage, Character and more

Move things with the mouse, with undo, in the Stage, Character, Dialogue Portrait and Menu Character editors.

Tutorials

The Tutorial button (or F6): Boyfriend explains each part of the screen. Mods can add their own with a JSON file.

Scripting

Psych's Lua and HScript, and more

Every Psych Engine Lua and HScript script works, and so do V-Slice's .hxc scripts. On top of them:

  • Cameras of your own and shaders on whole cameras.
  • 3D: angleX, angleY and z on sprites and notes, tilted cameras and .obj models.
  • Notes and extra characters added during the song.
  • The game's window: title, position, size and message boxes.
  • State scripts: change the menus and make your own loading screen.
function onCreatePost()
    if VortexEngine then
        -- a camera of the script's own, over the HUD
        makeLuaCamera('fx', 'hud')
        addCameraShader('fx', 'chromatic', 'chroma')

        -- a spinning 3D model on the stage
        makeLuaModel('ring', 'ring', 'ringTexture', 640, 300)
        addLuaSprite('ring', false)
    end
end

function onBeatHit()
    if curBeat == 64 then
        -- the HUD leans back like a 3D modchart
        tweenCamera3D('lean', 'hud', 30, 0, 0, 1, 'quadOut')
    end
end
Mods made with Vortex Engine are not recommended for other engines. A mod that uses what only Vortex has (the functions on the Lua API page, the extra blend modes, the gameplay changers, extra characters...) will break or behave differently on Psych Engine, V-Slice or other forks. Check for Vortex with the VortexEngine variable before using them, and use the CHECK MOD button in the mods menu: it lists everything a mod uses that only Vortex has, with the file and line.
Community

Questions, bugs, mods, or someone to play online with

Join the Vortex Engine Discord server.