Pentago

From Uzebox Wiki
Revision as of 05:02, 9 March 2010 by Adrastos (talk | contribs)
Jump to navigation Jump to search
Pentago
Pentago.png
Pentago gameplay
Genre2 players Strategy
DeveloperAdrastos
Code licenseGNU General Public License version 3
or (at your option) any later version.
Media licenseCreative Commons Attribution Share-Alike version 3.0
Engine3.1
Video Mode3
Latest release0.1
Release dateMarch 8th, 2010
LanguageEnglish


Pentago is simple 2 player implementation (no AI implemented nor planned) of Pentago (a Swedish strategy board game). It is a very simple game explained in 3 sentences on Wikipedia, though with a good opponent it can be very challenging.

Gameplay

From Wikipedia (I can't say it any better):

The game is played on a 6×6 board divided into four 3×3 sub-boards (or quadrants). Taking turns, the two players place a marble of their color (either black or white) onto an unoccupied space on the board, and then rotate one of the sub-boards by 90 degrees either clockwise or counter-clockwise. A player wins by getting five of their marbles in a vertical, horizontal or diagonal row (either before or after the sub-board rotation in their move). If all 36 spaces on the board are occupied without a row of five being formed then the game is a draw.

Player 1 is black, player 2 is white. The chosen starting player is always random.

Walkthrough

  • The current player starts with their marble selector (a marble bordered with green) in the first available location on the board. Move the marble selector to where you want to place your marble, and place it by pressing 'A'.
    • If placing a marble gets 5 in a row for the current player, they win at this immediately
  • Next, the top-left quadrant is highlighted in green. Move the quandrant selector to the quadrant you want to rotate, and press 'A' to choose the quadrant.
  • A dialog will pop up, asking whether you want to rotate that quadrant clockwise or counter-clockwise. Clockwise is selected by default, to select counter-clockwise, press right on the d-pad. Press 'A' to select the direction.
  • The quadrant is rotated, and it is now the next person's turn (so long as they can place a marble somewhere).
    • If either player now has 5 marbles in a row, that player wins. If both players somehow get 5 in a row at the same time, then there is a tie

Controls

  • D-Pad: move the marble selector when in marble placing mode; move the quadrant selector when in quadrant selecting mode; indicate menu selections
  • Button A: place a marble in marble selector mode; select a quadrant in quadrant selector mode; select menu items
  • Button B: back out of menu page (how to play, credits)
  • Button Start: get rid of the intro screen, begin a round, pause the game during gameplay

Todo

  • Add sound
  • Clean up and optimize the code
  • Add more explanatory comments for people looking to learn off of the source
  • Zap any bugs that pop up

Known Bugs

Right now, in a certain configuration it may be impossible to place a marble in a certain location. For example, in the game state shown below, players won't be able to place a marble in the 3rd column, 2nd row (until the entire top row is filled first).

Pentago placebug01.jpg

Disclaimer

I have only tested this project under the emulator so far, not on the actual box (as I don't have one yet). As far as I know, everything should be fine on the actual box, but don't blame me if something goes wrong.

ROMs

http://uzepentago.googlecode.com/files/pentago.hex

http://uzepentago.googlecode.com/files/pentago.uze

Sources

https://code.google.com/p/uzepentago/

Changelog

Version 0.1

  • Added sound
  • Game is fully playable

Version 0.1 Beta

  • Added diagonal win detection
  • Fixed "no fade in" bug on the "How to Play" screen

Version 0.1 Alpha

  • Initial release
  • Gameplay mostly implemented (no diagonal win detection)
  • Graphics completed