Zukai: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (→‎Playing: forgot to say that it's UDP, added guide link)
m (clarifying that port-forwarding is probably only needed for hosting)
Line 37: Line 37:


[[Image:Zukai-MP Menu.jpg|thumb|350px|right]]
[[Image:Zukai-MP Menu.jpg|thumb|350px|right]]
:Note: Make sure that you have forwarded port 2680 (UDP) to your computer in your router's settings. See this [http://portforward.com/english/routers/port_forwarding/routerindex.htm port forwarding guide] for help.
:Note: If you want to be able to host games, and not just join other people's games, make sure that you have forwarded port 2680 (UDP) to your computer in your router's settings. See this [http://portforward.com/english/routers/port_forwarding/routerindex.htm port forwarding guide] for help.
:Note: Until there is metaserver support (i.e., a matchmaking lobby), you will need to coordinate games using a third-party program like an instant messenger or an IRC client (our IRC channel is #Oni at EUIrc.net).
:Note: Until there is metaserver support (i.e., a matchmaking lobby), you will need to coordinate games using a third-party program like an instant messenger or an IRC client (our IRC channel is #Oni at EUIrc.net).
# Decide what level you are going to play. Obtain the IP address of the player that will be hosting. If you get tired of dealing with IP addresses, players can sign up for a [http://www.noip.com/ No-IP] domain and provide that URL to players instead, e.g. iritscen.ddns.net.
# Decide what level you are going to play. Obtain the IP address of the player that will be hosting. If you get tired of dealing with IP addresses, players can sign up for a [http://www.noip.com/ No-IP] domain and provide that URL to players instead, e.g. iritscen.ddns.net.

Revision as of 17:17, 1 February 2015

Zukai logo.png
Zukai Multiplayer
Developer: Iritscen
Change log / Bug reporting
Forum thread

Zukai is the most recent attempt at multiplayer for Oni. It currently comes in the form of an OS X plugin called Daodan and a level plugin called level0_Zukai with supplemental resources. Zukai is in an alpha-like stage of development for Mac OS X until it reaches v0.1, at which point it will be ported to Windows, and development will continue on both platforms.

Zukai is a Japanese word connected to the ancient art of puppetry and puppet theater (bunraku). Its usage in this project is based on the expression Ningyō Zukai ("Puppet Master") in Ghost in the Shell, though translations of the word zukai alone range from "messenger" to "operator" to "familiar spirit" to "trainer". The icon for the project is based on the kanji for another word for puppetry, ayatsuri (操り).

Download

See the official release forum thread for download links.

Installation

Note: You must start with a vanilla Oni installation. Zukai does not yet support mods or the Anniversary Edition.
  1. Disable the scripting for the level you want to play in. A simple way to do this for all levels is to rename the IGMD folder to "~IGMD".
  2. Make sure that you have version 1.2 of the Oni game app (see forum thread for download link).
  3. Place Daodan.plugin in the Oni installation folder at the same level as the game app.
  4. Place the level0_Zukai.dat/raw/sep files in GameDataFolder.
  5. Add the line "bind m to mp_menu" to key_config.txt, or use whatever key is more convenient for you than 'm'. Create another binding for "mp_score" to be able to display the scoreboard during a match. Additional optional bindings are listed below.

Playing

Look for the inverted Zukai icon in the bottom-left before proceeding.
Zukai-MP Menu.jpg
Note: If you want to be able to host games, and not just join other people's games, make sure that you have forwarded port 2680 (UDP) to your computer in your router's settings. See this port forwarding guide for help.
Note: Until there is metaserver support (i.e., a matchmaking lobby), you will need to coordinate games using a third-party program like an instant messenger or an IRC client (our IRC channel is #Oni at EUIrc.net).
  1. Decide what level you are going to play. Obtain the IP address of the player that will be hosting. If you get tired of dealing with IP addresses, players can sign up for a No-IP domain and provide that URL to players instead, e.g. iritscen.ddns.net.
  2. Launch Oni. Look for the Zukai icon on the Main Menu (pictured, right) to make sure that the plugin is active.
  3. Choose "Load Game" and load the level you are going to play (you can double-click the title or any save point, since scripting is disabled).
  4. Press your mp_menu key to bring up the Multiplayer Menu (pictured, right).
  5. Just follow the menus. The option "Join Iritscen's game" will not work unless I have let you know that I am hosting a game. If you are joining a game, and the other player has registered a No-IP domain or has some other URL which leads to his computer, you can type this into the "Host IP address" field instead of an IP address. Also note that you can copy text from another window such as your chat client and paste it into the "address" field in the Multiplayer Menu.
  6. Because gameplay cannot be paused, you are not allowed to access the Main Menu while playing Zukai. To quit playing, bring up the Multiplayer Menu and choose "Exit game", or double-tap the Escape key (if the host quits, this will end the match for everyone).

Bindable actions

In addition to the standard actions that you have always been able to bind using key_config.txt, here is a list of actions added by the Zukai plugin for use in multiplayer mode.

All players

Both hosts and clients can use these actions:

mp_menu
This brings up the Multiplayer Menu when you are in-game, allowing you to host, join, or exit a game.
mp_score
Holding this key down displays the scoreboard, along with match time and player ping.
mp_chat
Coming soon!
mp_graph_toggle, mp_graph_cycle
To turn on, and cycle through, graphs that display information about the state of the multiplayer game. The network graph shows the size of incoming and outgoing traffic, and the timing graph shows how much time the multiplayer code is taking to execute in each frame.

Hosts only

These actions may only be available during this early phase of Zukai's development. They allow the host to change network settings for all players during a match, in order to see how performance is affected. You probably will want to talk to me before using them, but here they are:

latency_toggle, latency_up, latency_down
To turn on and adjust simulated latency. This feature is intended for use in matches with negligible real latency, e.g., LAN/loopback games, to reproduce the feel of an Internet game. If used in an Internet game, this will add additional latency on top of whatever natural latency already exists.
jitter_toggle, jitter_up, jitter_down
Simulated jitter (variations in latency) is automatically turned on when simulated latency is turned on, but you can use these actions to turn it off (to get flat simulated latency) or to alter the amount of jitter.
pkt_rate_up, pkt_rate_down
You can send gameplay data more or less frequently using these keys. The rate is measured as a delay in ticks, so raising the rate leads to sending data less frequently.
state_rate_up, state_rate_down
State events are communications between the client and the host which determine a client's correct position. As above, higher numbers mean less frequent events.
pos_tol_up, pos_tol_down
Not currently used. The "position tolerance" is how many world units a client's position can differ between his avatar on the host and his avatar on his own machine before his position is corrected. Higher numbers will mean that games are permitted to go further out of sync. Lower numbers will cause more frequent adjustments in position for clients. A world unit is four inches, so a position tolerance of 3 means "one foot".
sync_now
This is for developer use and does not have any effect in the MP builds which I am distributing.

Settings

When Zukai first runs, it creates a blank zukai_settings.txt file in the same folder. You can currently add the following settings to configure aspects of multiplayer:

Setting name Usage Default Description
lock_these_settings yes/no no Reserved for use with an upcoming feature.
send_log_after_match yes/no yes You can turn off the automatic log upload that occurs after a match, but please don't do that unless it is causing issues.
log_everything_for (category names,
comma-separated)
Game status,
Logging,
Network setup
This is for enabling extra logging by category.
log_all_cli_output yes/no no If there is an issue with the automatic log reporting, turning this on will dump messages from the upload process into the system log (Console.app).