Oni 2 (Angel Studios)/Running
Running the game
The ISO can be found on epforums.org (registration required) and is playable on a modded PS2 or in an emulator. The only mature PS2 emulator is PCSX2. Although PCSX2 is available for both Windows and macOS, the Mac version has poor performance and exhibits graphical glitches with this particular game. (Lighting problems occur even when playing on a PS2, so it's likely that graphics code was being worked on when this game build was produced.) Thus, if you are on a Mac, you will ideally want to use Boot Camp to run the game in PCSX2 for Windows. PCSX2 has also been reported to work on Macs running Windows within Parallels Desktop and VMware Fusion; it does not seem to run in Oracle VM VirtualBox, which has problems with 3D acceleration as of v5.1.
To prevent glitched shadows when playing Oni 2 in PCSX2, you need to switch the GSdx plugin to Software mode; this will severely cut performance compared to rendering in Hardware mode.
Playing the levels
Once Oni 2 is running, there is only one level available by choosing New Game. Fourteen additional levels, however, can be chosen from the Load Game menu. Levels can take a couple minutes to load, and some do not have loading screens, instead displaying a gray screen until they're done loading. Beyond this, an additional 80 layouts can be made available by patching the game disc ISO (instructions HERE, patch tool coming soon). "Layout" is the engine's term for what we would call a level or a room; some layouts are quite small, and others are large and complex. There is a total of 95 layouts in the game (including the 1 + 14 levels available normally). However, many of these (24, by one count) are nonfunctional. All the layouts are documented in their current functional or nonfunctional state on the Levels page.
Launch arguments
Oni 2 accepts various launch arguments. To pass arguments to the game, you must use the package HERE. Note that the patch tool provided in the previous section will allow you to play any level without using launch arguments.
The syntax for arguments which require a parameter, such as "-layout", is "-argument=parameter". The descriptions given below are taken verbatim from the game, and the effects are based on our testing.
Argument | Description | Effect |
---|---|---|
-help | -- | Lists all the following arguments. |
-ui | use the frontend | No effect. |
-noui | Bypass the frontend and go to game. | Game starts by loading first level. |
-devui | use the dev frontend | No effect. |
-fullui | use the full frontend | Same UI for main menu, but game crashes when choosing "Load Game". |
-nogame | Never go into the game shell. Useful for testing frontend. | No effect. |
-mission | The "mission" to load. | Seems to have no effect, though the format of the parameter supplied to this argument is not known. |
-level | The level to load | Seems to have no effect, though the format of the parameter supplied to this argument is not known. |
-players | The number of human players in game. | No effect from "-players=2". |
-vsplit | Want vertical split for 2 player mode instead of default horizontal split. | No effect is to be expected unless "-players" can be successfully used to activate multiplayer co-op mode. |
-sharevp | All players share the same viewport. | No effect is to be expected unless "-players" can be successfully used to activate multiplayer co-op mode. |
-diff | Difficulty to use. | |
-musicvol | Music volume to use for playback. | |
-sfxvol | Sound FX volume to use for playback. | |
-voicevol | Voiceover volume to use for playback. | |
-nocutscenes | Disables in-game cinematics. | No effect. |
-noattacking | Prevents AI from attacking player. | |
-layout | Specify which level to load. | Game starts by loading the layout (level) that you name. Names of layouts are found on the Levels page. To add layouts to the Load Game menu so that you don't need to use the "-layout" argument, see the patch tool in the "Playing the levels" section above. |
-testloadsave | Use test save file to run game. | |
-oldcam | Start with the old camera system in the game. | |
-noactorreload | Don't reload actor XML files when doing the "quick" restart. | |
-defaultcampack | Use the default camera package instead of the campack in the layout directory. | |
-nocamcollision | No camera collision. | |
-norumble | No pad rumbling. | |
-noparticles | No particle effects. | |
-unbreakable | Player is unbreakable | |
-polar | Use polar camera by default. | |
-nohud | Don't draw the HUD. | |
-recompile | Recompile all used scripts. | |
-noai | Disables NPC movement/actions. | |
-notemplates | Don't preload the actor templates. | |
-nopausemenu | Do not show the pause menu when you press start, just freeze the frame. | Pressing "Start" button removes HUD, brightens image, and pauses the game. |
-playerNN | (Where NN is 0->Max players) Sets the specified player's name. | |
-modelNN | (Where NN is 0->Max players) Sets the specified player's model to use. | Seems to have no effect, though the format of the parameter supplied to this argument is not known. |
-controlcfgNN | (Where NN is 0->Max players) Sets the specified player's control configuration. | |
-controlmapNN | (Where NN is 0->Max players) Sets the specified player's control mapping (i.e. Player 1 is using controller in port 3). |