


xpuyopuyo(6)                                         xpuyopuyo(6)


NNAAMMEE
       xpuyopuyo - A tetris-like puzzle game for X11.

       This manpage agrees with version 0.9.5 of xpuyopuyo.

SSYYNNOOPPSSIISS
       xxppuuyyooppuuyyoo

       xxppuuyyooppuuyyoo _[_o_p_t_i_o_n_s_]

       xxppuuyyooppuuyyoo ----hheellpp

DDEESSCCRRIIPPTTIIOONN
       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.

GGAAMMEEPPLLAAYY
       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.

CCOOMMMMAANNDD SSWWIITTCCHHEESS
       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 xxppuuyyooppuuyyoo ----hheellpp.  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:

       --hh,, ----hheellpp
              Display a summary of the options available.

       ----iinnssaanniittyy
              This is insanity, Max!  Or what if it's genius?

       --11,, ----oonneeppllaayyeerr
              Select  one player game.  No rocks in this version.
              Either player's controls will work in this mode.

       --22,, ----ttwwooppllaayyeerr
              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).

       --aa,, ----aaiippllaayyeerr
              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.

       --dd,, ----ddeemmoo
              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
              ...).

       --ee,, ----eeaassyy
              Easy gameplay. Enables options for easier gameplay.
              This option is currently equivalent  to  ----nnooaaiiddrroopp
              --nnuummbbeerr==44 ----nnuulllliiffyy ----nnooiinnddeessttrruuccttiibblleess.

       --mm,, ----mmeeddiiuumm
              Medium  gameplay.  Enables  more  difficult  round.
              Currently, this is  equivalent  to  the  following:
              ----aaiiddrroopp --nnuummbbeerr==55 ----nnuulllliiffyy ----iinnddeessttrruuccttiibblleess.

       --HH,, ----hhaarrdd
              Hard  gameplay. Enables the most difficult of game-
              play.  Currently, this is equivalent to the follow-
              ing:  ----aaiiddrroopp  --nnuummbbeerr==66  ----nnoonnuulllliiffyy ----iinnddeessttrruucc--
              ttiibblleess.  Later options can override the options set
              by --ee, --mm, or --HH.

       --nn,, ----nnuummbbeerr==_n
              Specify  the  number  of colors to use.  This value
              can range from 4 to 6.  The default is set  by  the
              difficulty level.

       --tt,, ----rreessttaarrtt
              This  is  a  toggle  option.  Automatically restart
              after a ``Game Over''.  Useful when  combined  with
              the  -d  flag.   The inversion of this flag is --//tt,
              ----nnoorreessttaarrtt.

       --TT,, ----ttuuttoorriiaall
              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 --//TT, ----nnoottuuttoorriiaall.

       ----tthheemmee _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)


       ----ttoooollttiippss
              This  is  a  toggle option.  When set, tooltips are
              displayed.  The default is for this flag to be set.
              To turn off tooltips, use ----nnoottoooollttiippss.

       ----qquuiieett
              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 ----nnooqquuiieett.

       Sound Options:

       --SS,, ----ssoouunndd
              This  is  a  toggle  option  that enables music and
              sound effects.  The inversion of this flag is  --//SS,
              ----nnoossoouunndd.

       ----hhqqmmiixxeerr
              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 ----nnoohhqqmmiixxeerr.

       ----eeffffeeccttss
              This is a toggle option that enables sound effects.
              Defaults to on when sound is  supported.   To  turn
              off sound effects use ----nnooeeffffeeccttss.

       Advanced Options:

       ----wwiiddtthh==_n
              Specify  the  width  of  the  playing  field.   The
              default is 6.

       ----hheeiigghhtt==_n
              Specify the  height  of  the  playing  field.   The
              default is 14.

       ----mmaattcchh==_n
              Specify the number of blobs in a chain required for
              a match.  The default is  4.   For  more  difficult
              gameplay, increase this value.

       --UU,, ----nnuulllliiffyy
              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 --//UU, ----nnoonnuulllliiffyy.

       --II,, ----iinnddeessttrruuccttiibblleess
              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 --//II, ----nnooiinnddeessttrruuccttiibblleess.

       Player Options:

       --ss,, ----ssppeeeedd==_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.

       --AA,, ----aacccceell==_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:

       --rr,, ----aaiirruullee22==_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
              rraannddoomm then a random AI is chosen.

       --RR,, ----aaiirruullee11==_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
              rraannddoomm then a random AI is chosen.

       --cc,, ----aaiissccoorree
              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 --//cc, ----nnooaaiissccoorree.

       --ii,, ----aaiiddrroopp
              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 --//ii, ----nnooaaiiddrroopp.

       Network Options:

       ----sseerrvveerr
              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 ----ppoorrtt is also given.

       ----cclliieenntt==_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 ----ppoorrtt option is also given.

       ----ppoorrtt==_n
              This  specifies an alternate port than the default,
              for network games.

       ----nneettwwoorrkkaaii
              Enables AI in a network game.  This is intended for
              debugging  only.   This  is  a  toggle  option; its
              inverse is ----nnoonneettwwoorrkkaaii.

       Tournament Options:

       The tournament options are for AI breeding mode only,  and
       are  not well documented.  They are: --zz, ----ttoouurrnnaammeenntt, --ZZ,
       ----hhyyppeerrttoouurrnnaammeenntt, and --YY

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

PPLLAAYYEERR CCOONNTTRROOLLSS
       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.

NNEETTWWOORRKK GGAAMMEEPPLLAAYY
       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.

AAII GGAAMMEEPPLLAAYY
       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.

FFIILLEESS
       ~~//..xxppuuyyooppuuyyoo//aaiirruullee..**
              A list of AI rules.  To reset the AI rules  to  the
              defaults, remove these files.

       ~~//..xxppuuyyooppuuyyoo//ccoonnffiigg
              Configuration  options for xpuyopuyo.  All of these
              options can be set from the interface, there should
              be no need to edit this file directly.

       ~~//..xxppuuyyooppuuyyoo//hhiigghhssccoorreess
              High scores for xpuyopuyo.

       ~~//..xxppuuyyooppuuyyoo//uusseerrkkeeyyss
              User-defined keys for player controls.

       xxppuuyyooppuuyyoo..ttxxtt
              Manual  page  for  xpuyopuyo.  This is installed to
              your local share directory, and used  for  the  on-
              line help system.

       ccooppyyiinngg..ttxxtt
              Copy  of  the  GPL. This is installed to your local
              share directory, and used for the on-line help sys-
              tem.

SSEEEE AALLSSOO
       The  xpuyopuyo home page at <http://chaos2.org/xpuyopuyo>.
       There is also additional documentation  in  the  distribu-
       tion, under the doc/ directory.

AAUUTTHHOORRSS
       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


