XONIX(6)

๐Ÿ“ฆ version 1.5, in ubuntu stonking

โœจ XONIX โœจ

okay bestie, buckle up, this is xonix, section 6 of the Games Manual, and it's giving retro Unix arcade core. ๐Ÿ’…


๐ŸŒˆ NAME

xonix โ€” it's a game ๐ŸŽฎ periodt.


๐Ÿฆ‹ SYNOPSIS

xonix [ -toolkitoption ... ]

๐Ÿ’– DESCRIPTION

so the xonix application is made of two bits: a playing area and a status display hanging out underneath it. simple. iconic. no notes. โœจ

the status display is your lil dashboard and it shows you the current values for level, filled area (in percent), number of players (aka lifes, yes that's the spelling, we love her), and elapsed time.

the playing area has several regions, okay? let's break it down:

  • the brown region โ€” initially it's only the border โ€” is the "filled region", and that's where the player can move around, starting from the top left corner.
  • beware of the bouncing yellow eater(s) ๐Ÿ˜ญ they do also move across filled regions (rude), and if they hit the player, a life will go away. gone. poof.
  • the flyers can only bounce across the green (so-called empty) area in the middle. that's their whole lane, they stay in it.

the purpose of the game, bestie, is to move the player across the empty region โ€” and while doing that, it leaves its way in brown to show where it came along ๐ŸŽ€ โ€” and then finally cut off a piece of unfilled region by moving him back to some filled region. slay. but if the player itself, or the (unfilled yet) way, gets hit by a flyer, a life will be lost again. ๐Ÿ’€

once the player's way reached another part of filled region, the way and all adjacent unfilled regions where there is no flyer in will be filled in turn. and listen: one level has completed as soon as 75 % of the originally unfilled area have been filled this way. 75%, not 76, we don't make the rules.

level scaling goes crazy:

  • every level, there will be one flyer more. ๐Ÿ‘€
  • every second level, an additional player will be granted. ๐Ÿซถ
  • every fifth level, an additional eater will be fired off. ๐Ÿ˜ญ

the default keys to move the player around are the arrow keys. this can be changed in the app-defaults file though, as well as the timeout between single steps (defaulting to 50 ms, equal 20 moves per second).

the default keys to immediately quit the game are Q and Escape. hitting P, or iconizing the window with the window manager, will pause the game โ€” and de-iconizing will continue it. nap time, then back to business. ๐Ÿ˜Œ

on Posix-compliant systems, there's also a high-score file: /var/games/xonix/xonix.scores. it records the top ten xonix players for that machine. and as a special compile-time option, a mail is sent to the previous xonix score leader when he's lost his first rank. rip to that guy fr fr ๐Ÿ“ง


๐ŸŽ€ WIDGETS

Xonix uses the X Toolkit and the Athena Widget Set. below is the widget structure of the xonix application. indentation indicates hierarchical structure. the widget class name is given first, followed by the widget instance name. ๐ŸŒธ

     Xonix  xonix
          VendorShellExt  shellext
          Form  container
               MenuButton  game_button
               Canvas  canvas
               Form  status
                    Form  level
                         Label  lev_label
                         Label  lev_d10
                         Label  lev_d1
                    Form  percentage
                         Label  perc_label
                         Label  perc_d10
                         Label  perc_d1
                    Form  runner
                         Label  run_label
                         Label  run_d10
                         Label  run_d1
                    Form  time
                         Label  time_label
                         Label  mins_d10
                         Label  mins_d1
                         Label  time_colon
                         Label  secs_d10
                         Label  secs_d1
               SimpleMenu  game_menu
                    SmeBSB  about
                    SmeLine  game_l1
                    SmeBSB  quit
          TransientShell  about_shell
               VendorShellExt  shellext
               Box  about_box
                    Label  about_msg
                    Command  about_done
          TransientShell  gameover_shell
               VendorShellExt  shellext
               Box  gameover_box
                    Label  gameover_msg
                    Box  gameover_buttonbox
                         Command  gameover_iknow
                         Command  gameover_goon

๐Ÿ‘‘ OPTIONS

  • all the standard toolkit options apply โœจ
  • it's not particularly useful to attempt forcing any geometry however. don't do it. it's giving nothing.

๐ŸŒธ AUTHORS

the original xonix game has been seen somewhere on an old PC/XT clone. mysterious. legendary. ๐Ÿ•ต๏ธ

this is a reimplementation from scratch, done by Torsten Schoenitz, starting the project on a Macintosh. the X11 support has been written by Joerg Wunsch, with the pleasant help by Alfredo Herrera Hernandez. absolute icons, all of them. ๐Ÿ’œ


๐Ÿ’€ BUGS

okay so, the tea:
  • source code comments are still mostly in German. ๐Ÿ‡ฉ๐Ÿ‡ช
  • some files require the unusal tab width of 4 in order to be displayed correctly. (yes, "unusal", we quote faithfully, that's the vibe)

it should be possible to pass some parameters from the command line as well โ€” e.g. the time step value โ€” which is currently only possible by the back-door via the -xrm toolkit option. sneaky. ๐Ÿ™ˆ

mail any suggestions to <joerg_wunsch@uriah.heep.sax.de>. he's listening. ๐Ÿ“ฌ


and that's the whole page, bestie โ€” the manual itself is XONIX(6) out of the Games Manual, and the footer down at the bottom is just the page name again with no date in sight, so consider this your cute lil sign-off. go fill that 75%, you've got this ๐Ÿ’…โœจ๐ŸŽ€

๐Ÿ“ฆ where this page comes from