


xpuyopuyo(6)                                         xpuyopuyo(6)


NNAAMMEE
       xpuyopuyo - A tetris-like puzzle game for X11.

       This manpage agrees with version 0.9.5 of xpuyopuyo.

SSYYNNOOPPSSIISS
       xxppuuyyooppuuyyoo

       xxppuuyyooppuuyyoo _[_o_p_t_i_o_n_s_]

       xxppuuyyooppuuyyoo ----hheellpp

DDEESSCCRRIIPPTTIIOONN
       Xpuyopuyo is a Tetris-like puzzle game where you strive to
       match up four ``blobs'' of the  same  color.   Each  match
       gives  you points, and also dumps gray rocks on your oppo-
       nent which are irritating and troublesome to get  rid  of.
       Multiple matches at one time score more points, and result
       in more rocks being dumped on the opponent (much to  their
       dismay).  First person to fill up their screen with puyop-
       uyo blobs loses.

       The game features an AI, and is capable of  single-player,
       human-human  play,  human-AI  gameplay,  or AI-AI gameplay
       (demo mode).  It will keep track of the  total  number  of
       matches  each  player  recieves,  and  the  number of sin-
       gle-matches, double-matches, triple-matches, etc. as well.

       We ported it overnight to Linux, so we could play whenever
       we felt like. The AI's evolved more slowly;  the  original
       implementation took a week to develop.  The current imple-
       mentation is evolved using genetic algorithms; more  docu-
       mentation  on  this  is  available in the distribution.  I
       always welcome new AI rules, or suggestions to improve the
       AI.

       This version is modelled on several other versions we have
       seen around; the original (which I have not had the oppor-
       tunity  to  play)  is  made  by  Compile,  http://www.com-
       pile.co.jp./.

       I release this so others may enjoy it. If this game causes
       someone  out  their  to  flame/flunk  out of college, then
       apologies but it's the game's fault, not  mine  :).  Addi-
       tional information, documentation is available in the dis-
       tribution.

GGAAMMEEPPLLAAYY
       The idea is to match up colored blobs together.   A  _m_a_t_c_h
       is  any  chain  of 4 or more _b_l_o_b_s of the same color, that
       are adjacent to each other (up,  down,  right,  or  left).
       The game gives you a playing piece with two colored blobs,
       which you can move around the playing field and rotate  as
       it  falls  to  the  ground.  In gameplay, it is similar to



Justin David Smith          March 2000                          1





xpuyopuyo(6)                                         xpuyopuyo(6)


       Tetris.

       You get points for  completing  a  match,  and  all  blobs
       involved  in  the  match  will  disappear.  Larger matches
       (matches of more than 4 blobs) and multiple matches at the
       same time score much more points.

       Also,  if  you  are in a 2-player game, then several _r_o_c_k_s
       will be dumped on your opponent when you complete a match.
       Rocks  have no color; a chain of rocks does not complete a
       match.  However, any rock adjacent  to  a  match  will  be
       eliminated.  Again, larger matches and multiple matches at
       the same time will cause more rocks to be dumped onto  the
       opponent.

       (The  truly  unfortunate  may  discover the _i_n_d_e_s_t_r_u_c_t_i_b_l_e
       _r_o_c_k or other forms of evil rocks.  You are  truly  fortu-
       nate if you survive such an encounter.)

       The game ends when you fill up your playing field.  So try
       to keep the playing field as low  as  possible.   See  the
       options below for some of the features of the game you can
       enable.

CCOOMMMMAANNDD SSWWIITTCCHHEESS
       Many of xpuyopuyo's options may be configured by the  com-
       mand line.  A summary and description of available options
       is below.  Note, that some options might not be available,
       depending  on  how  you built xpuyopuyo.  To see a list of
       supported options, run xxppuuyyooppuuyyoo ----hheellpp.  Options are pro-
       cessed in the order they are read; later options can clob-
       ber earlier options, so it's good to make  the  difficulty
       option the first one.

       General options:

       --hh,, ----hheellpp
              Display a summary of the options available.

       ----iinnssaanniittyy
              This is insanity, Max!  Or what if it's genius?

       --11,, ----oonneeppllaayyeerr
              Select  one player game.  No rocks in this version.
              Either player's controls will work in this mode.

       --22,, ----ttwwooppllaayyeerr
              Select two player game, human versus human.  Player
              1's  controls  are  on the keyboard, and player 2's
              are in the numeric keypad (this may be  configured,
              however).

       --aa,, ----aaiippllaayyeerr
              Select  two  player  game,  human  versus computer.



Justin David Smith          March 2000                          2





xpuyopuyo(6)                                         xpuyopuyo(6)


              Either player's controls will work  for  the  human
              player.

       --dd,, ----ddeemmoo
              Select  two  player game, computer versus computer.
              Fun to setup two different AI's against each  other
              and watch them go (the current longest running demo
              game I've seen was 57 hours long, and that was only
              ended  by  a bug in the timer code which caused one
              of the AI's to pause.  By the time I  noticed  what
              had  happened,  the other AI had racked up an unbe-
              lievable 6,000 rocks against  his  frozen  opponent
              ...).

       --ee,, ----eeaassyy
              Easy gameplay. Enables options for easier gameplay.
              This option is currently equivalent  to  ----nnooaaiiddrroopp
              --nnuummbbeerr==44 ----nnuulllliiffyy ----nnooiinnddeessttrruuccttiibblleess.

       --mm,, ----mmeeddiiuumm
              Medium  gameplay.  Enables  more  difficult  round.
              Currently, this is  equivalent  to  the  following:
              ----aaiiddrroopp --nnuummbbeerr==55 ----nnuulllliiffyy ----iinnddeessttrruuccttiibblleess.

       --HH,, ----hhaarrdd
              Hard  gameplay. Enables the most difficult of game-
              play.  Currently, this is equivalent to the follow-
              ing:  ----aaiiddrroopp  --nnuummbbeerr==66  ----nnoonnuulllliiffyy ----iinnddeessttrruucc--
              ttiibblleess.  Later options can override the options set
              by --ee, --mm, or --HH.

       --nn,, ----nnuummbbeerr==_n
              Specify  the  number  of colors to use.  This value
              can range from 4 to 6.  The default is set  by  the
              difficulty level.

       --tt,, ----rreessttaarrtt
              This  is  a  toggle  option.  Automatically restart
              after a ``Game Over''.  Useful when  combined  with
              the  -d  flag.   The inversion of this flag is --//tt,
              ----nnoorreessttaarrtt.

       --TT,, ----ttuuttoorriiaall
              This is a toggle option.  Enable tutorial mode.  In
              tutorial  mode, an AI will assist you by choosing a
              move it thinks is appropriate.  You may still  con-
              trol  the  piece  with  the  player  controls.  The
              inversion of this flag is --//TT, ----nnoottuuttoorriiaall.

       ----tthheemmee _n_a_m_e
              Select a theme to use on startup.  The  default  is
              ``default''.





Justin David Smith          March 2000                          3





xpuyopuyo(6)                                         xpuyopuyo(6)


       ----ttoooollttiippss
              This  is  a  toggle option.  When set, tooltips are
              displayed.  The default is for this flag to be set.
              To turn off tooltips, use ----nnoottoooollttiippss.

       ----qquuiieett
              This  is  a  toggle option.  When set, no output is
              printed to stdout.  The default is for this flag to
              be cleared.  To turn off quiet use ----nnooqquuiieett.

       Sound Options:

       --SS,, ----ssoouunndd
              This  is  a  toggle  option  that enables music and
              sound effects.  The inversion of this flag is  --//SS,
              ----nnoossoouunndd.

       ----hhqqmmiixxeerr
              This  is  a  toggle  option that enables use of the
              high quality mixer provided by  mikmod.   Depending
              on   your  soundcard,  this  may  have  no  effect.
              Defaults to off, to turn off  high  quality  mixing
              use ----nnoohhqqmmiixxeerr.

       ----eeffffeeccttss
              This is a toggle option that enables sound effects.
              Defaults to on when sound is  supported.   To  turn
              off sound effects use ----nnooeeffffeeccttss.

       Advanced Options:

       ----wwiiddtthh==_n
              Specify  the  width  of  the  playing  field.   The
              default is 6.

       ----hheeiigghhtt==_n
              Specify the  height  of  the  playing  field.   The
              default is 14.

       ----mmaattcchh==_n
              Specify the number of blobs in a chain required for
              a match.  The default is  4.   For  more  difficult
              gameplay, increase this value.

       --UU,, ----nnuulllliiffyy
              This  is  a toggle option.  When on, your rocks can
              nullify the opponents rocks.  During the game, when
              you  complete  a  match rocks are sent to the oppo-
              nent, but they do  not  fall  until  their  playing
              piece  lands.   In the meantime, if they accumulate
              any rocks against you, the  rocks  may  instead  be
              used to nullify the rocks accumulated against them.
              If this option is off, then all rocks that are sent
              will  fall  on  the  opponent  -- eventually.  This



Justin David Smith          March 2000                          4





xpuyopuyo(6)                                         xpuyopuyo(6)


              option is on in easier gameplay; the  inversion  of
              this flag is --//UU, ----nnoonnuulllliiffyy.

       --II,, ----iinnddeessttrruuccttiibblleess
              This is a toggle option.  When on, "indestructible"
              blocks are allowed in the game.  If a player  accu-
              mulates  a large number of matches at once (a quin-
              tuple-match is usually enough), then in addition to
              several rows of rocks being dumped on the opponent,
              an indestructible block will also fall on the oppo-
              nent.   This rock cannot be destroyed, and the best
              the opponent can do is try to get it  down  to  the
              bottom  of  the  screen where it is at least out of
              the way.  This mode of gameplay can make life  very
              interesting,  indeed.   This  is  only  enabled  by
              default on hard difficulty; the inverwsion of  this
              flag is --//II, ----nnooiinnddeessttrruuccttiibblleess.

       Player Options:

       --ss,, ----ssppeeeedd==_n
              Set the speed for falling blocks for the player, in
              milliseconds per drop.  The default  is  determined
              by difficulty level.  A typical value is 350.

       --AA,, ----aacccceell==_n
              Set  the  acceleration  of  the speed over time, in
              percentage of time lost per  minute.   This  speeds
              the  game  up  over  time.  An acceleration is only
              enabled  on  the  harder  difficulty  levels.   The
              acceleration  is  a  floating-point value between 0
              and 1.

       AI Options:

       --rr,, ----aaiirruullee22==_n
              Select the AI rule  for  the  right  player.   This
              option  is  better set in the user interface, under
              the AI menu.  _n must be an integer value.  If _n  is
              rraannddoomm then a random AI is chosen.

       --RR,, ----aaiirruullee11==_n
              Select  the  AI  rule  for  the  left player.  This
              option is better set in the user  interface,  under
              the  AI menu.  _n must be an integer value.  If _n is
              rraannddoomm then a random AI is chosen.

       --cc,, ----aaiissccoorree
              This is a toggle option.  This is a  debug  option,
              and  is  better  left  turned off.  If set, the "AI
              score" is displayed instead of the  next  piece  in
              the main game.  The AI score is the ranking for the
              current move; higher scores mean the  AI  judged  a
              particular  move  to  be "better".  Note that since



Justin David Smith          March 2000                          5





xpuyopuyo(6)                                         xpuyopuyo(6)


              each AI has its own ideas  on  what  makes  a  good
              move, this score is highly dependent on the mindset
              of the selected AI.  There's not even  any  attempt
              to  normalise  the  AI  score  with scores from its
              peers.  So this number cannot be meaningfully  com-
              pared with scores for other AI's.  The inversion of
              this option is --//cc, ----nnooaaiissccoorree.

       --ii,, ----aaiiddrroopp
              This is a toggle option.  If set, the AI is allowed
              to  drop  pieces  when  the  human opponent drops a
              piece.  This allows the AI to keep  up  with  human
              players,  and  makes  for  a more challenging game.
              This option is on by default on  higher  difficulty
              levels; the inversion of this is --//ii, ----nnooaaiiddrroopp.

       Network Options:

       ----sseerrvveerr
              This  starts  a  new  server.   The  server has the
              advantage of being able to set  the  game  options.
              It  will  wait for a connection from a client, then
              the game may begin.  The server will listen on  the
              default port unless ----ppoorrtt is also given.

       ----cclliieenntt==_s_e_r_v_e_r
              This connects to the server specified.  The connec-
              tion will be made to the default port on the server
              given, unless the ----ppoorrtt option is also given.

       ----ppoorrtt==_n
              This  specifies an alternate port than the default,
              for network games.

       ----nneettwwoorrkkaaii
              Enables AI in a network game.  This is intended for
              debugging  only.   This  is  a  toggle  option; its
              inverse is ----nnoonneettwwoorrkkaaii.

       Tournament Options:

       The tournament options are for AI breeding mode only,  and
       are  not well documented.  They are: --zz, ----ttoouurrnnaammeenntt, --ZZ,
       ----hhyyppeerrttoouurrnnaammeenntt, and --YY

       In the GTK version, there will be exactly  one  indestruc-
       tible block in the About box.  Curious, don't you think?

PPLLAAYYEERR CCOONNTTRROOLLSS
       The  player  controls  are configurable in the game.  They
       may be viewed and/or redefined in the Options  menu.   You
       can  define  up  to three keys per action per player.  The
       actions are _l_e_f_t, _r_i_g_h_t, _r_o_t_a_t_e, and _d_r_o_p.




Justin David Smith          March 2000                          6





xpuyopuyo(6)                                         xpuyopuyo(6)


       Note, that when you assign keys, key combinations are  not
       allowed,  and  you  should  probably  avoid  attempting to
       assign a modifier key.  The keys _E_n_t_e_r, _P, and _E_s_c_a_p_e will
       restart  the  current game, pause a game, and end the cur-
       rent game (respectively) unless you assign these keys to a
       player  control.   If you assign these keys as player con-
       trols, you can still use _C_t_r_l_-_R,  _C_t_r_l_-_Z,  and  _C_t_r_l_-_P  to
       perform the same actions.

       When in single-player or human-AI mode, you may use either
       player's controls to control your game field.

NNEETTWWOORRKK GGAAMMEEPPLLAAYY
       Network gameplay is much like  normal  2-player  gameplay,
       except  you  must first setup a network connection between
       two games.  One xpuyopuyo game will act as a  server,  and
       the  other  will  act  as  a client.  First, on the server
       side, select the _N_e_t_w_o_r_k menu, _S_e_r_v_e_r and  click  _O_k  (you
       may  change  the port to listen to, if you like).  Then on
       the client side, select the  _N_e_t_w_o_r_k,  _C_l_i_e_n_t  _C_o_n_n_e_c_t_i_o_n.
       Enter  the  machine name of the server and the port number
       to use (if you changed it in the server) and click _O_k.

       To begin a network game, both players must select _N_e_w _G_a_m_e
       in  the  _G_a_m_e menu.  The game will wait until both players
       are ready before starting the game.

AAII GGAAMMEEPPLLAAYY
       AI's are created using Genetic Algorithms.   The  flexible
       formulas allow the AI to take advantage of certain scenar-
       ios, and allow the AI to  weight  them  accordingly.   The
       rules  are changing constantly as the AI evolves, and sug-
       gestions on new rules  are  welcome.  A  general  list  of
       strategies  follows  (not sorted in any particular order).
       The AI checks every possible move with the  current  piece
       and  uses  the  rules it evolved to determine which is the
       best move.

       _D_i_s_t_a_n_c_e _f_r_o_m _t_o_p _o_f _p_l_a_y_i_n_g _f_i_e_l_d
              We don't want the AI to stack up all its pieces  at
              the top of the screen.

       _H_a_r_d _l_i_m_i_t _t_o _t_h_e _h_e_i_g_h_t _o_f _s_t_r_u_c_t_u_r_e_s
              As  much  as  we don't like height, we really don't
              want the AI building things within the top four  or
              so  rows  of the field.  This rule carries a lot of
              weight in all AI personalities.

       _O_p_p_o_r_t_u_n_i_t_y _t_o _c_o_m_p_l_e_t_e _a _m_a_t_c_h

       _B_o_n_u_s _t_o _c_o_m_p_l_e_t_e _s_e_v_e_r_a_l _m_a_t_c_h_e_s _a_t _o_n_c_e
              The AI decides this by simulating what would happen
              if it put the game piece in various locations.




Justin David Smith          March 2000                          7





xpuyopuyo(6)                                         xpuyopuyo(6)


       _P_e_n_a_l_t_y _f_o_r _b_l_o_c_k_i_n_g _a _p_o_t_e_n_t_i_a_l _m_a_t_c_h
              For  example,  covering  a hole with three blobs of
              the same color already present).  Some AI's  choose
              to  break  this  rule  more than others; in general
              these AI's tend to get more multiple-matches (often
              triples or quadruples).

       _E_l_i_m_i_n_a_t_i_n_g _r_o_c_k_s
              Some  AI's  consider  it  a small benefit to try to
              eliminate as many rocks as possible.  If the AI has
              a  choice of two matches, the deciding factor could
              be in which one eliminates more rocks.

FFIILLEESS
       ~~//..xxppuuyyooppuuyyoo//aaiirruullee..**
              A list of AI rules.  To reset the AI rules  to  the
              defaults, remove these files.

       ~~//..xxppuuyyooppuuyyoo//ccoonnffiigg
              Configuration  options for xpuyopuyo.  All of these
              options can be set from the interface, there should
              be no need to edit this file directly.

       ~~//..xxppuuyyooppuuyyoo//hhiigghhssccoorreess
              High scores for xpuyopuyo.

       ~~//..xxppuuyyooppuuyyoo//uusseerrkkeeyyss
              User-defined keys for player controls.

       xxppuuyyooppuuyyoo..ttxxtt
              Manual  page  for  xpuyopuyo.  This is installed to
              your local share directory, and used  for  the  on-
              line help system.

       ccooppyyiinngg..ttxxtt
              Copy  of  the  GPL. This is installed to your local
              share directory, and used for the on-line help sys-
              tem.

SSEEEE AALLSSOO
       The  xpuyopuyo home page at <http://chaos2.org/xpuyopuyo>.
       There is also additional documentation  in  the  distribu-
       tion, under the doc/ directory.

AAUUTTHHOORRSS
       xpuyopuyo    was    written    by   Justin   David   Smith
       <justins(at)chaos2.org>,  and  the  original  images  were
       designed  by  Owen  Aftreth.   The  first  GTK version was
       ported by Havoc Pennington.

       This  manual  page   written   by   Justin   David   Smith
       <justins(at)chaos2.org>.     Copyright(c)   2001,2000-1999
       Justin David Smith.




Justin David Smith          March 2000                          8





xpuyopuyo(6)                                         xpuyopuyo(6)


       (Please do not list these e-mail addresses on webpages, or
       list them in other packages, without contacting us first.)























































Justin David Smith          March 2000                          9


