MahJongg Wii

From WiiBrew
Jump to: navigation, search

Template:Infobox homebrewapp

MahJongg Wii is a Mahjongg solitaire tiles game written specifically for the Wii, developed with devkitPro tools and using the GRRLib for rendering, sndlib for music and sound, and wiiuse for wiimote.

How to play

The goal is to clear the board by removing all the tiles. Tiles must remove in pairs. A pair consists of two tiles which both are a) "free" and b) identical (or of the same type).

A tile is "free" when:

  • No other tile is lying above or is partially covering it
  • No other tile is lying to the left or to the right of it (it can "slide" in one or both these directions..)

Two tiles are identical if they look exactly the same. The exception to this are the Flowers and Seasons tiles. They are non-identical numbered matching tiles and belong to the same type. All the Flowers tiles match one another and all the Season tiles match one another.

There are four of each tile in the game except for the Flowers and Seasons tiles which appear only once.

It's not as easy as it sounds; you can end up with having matched the "wrong" pairs and you may find yourself stuck, with unmatchable tiles blocking other key tiles so you can't clear the layout. You must be careful before removing a pair, you should look for where the remaining pair is in the layout and plan ahead. If all four of an identical tile are free, remove them to 'unclutter' the field. It's not only a game of pure luck, you have to play strategically.

Play Modes

One player

A single player tries to remove all the tile pairs in the shortest possible time.

Two Player Co-op

Two players play cooperatively trying to remove all tiles in the shortest possible time. Both players can select tiles independently with each player also having the capability to finish off the others pairing by selection a equivalent tile.

Two Player Versus

Two players compete against each other to get the highest score. Points are awarded for each matching tile pair selected, with different tile types being worth different amounts as follows:-

Tile Type Pair Value
Bamboo, Characters & Circles 5
Winds 10
Seasons & Flowers 15
Dragons 20

If one player gets multiple pairs in a row without the other player getting any pairs, points are multiplied by the number of pairs in a row (e.g. x2 x3 x4 etc.)

Controls

Menu

The menu is controlled using Wiimote 1

Button Action
Wii Remote Aim Move pointer
Wiimote A Button Select item

Game

The game is controlled using Wiimote number 1 and 2 depending on game mode chosen

Button Action
Wii Remote Aim Move pointer
Wiimote A Button Select tile
Wiimote B Button Clear selected tile
Wiimote + Button Pause / Un-pause
Wiimote HOME Button Quit game / return to menu

Screenshots

Releases

v0.5 12/10/08

Download - Mahjongg_Wii_v0.5.zip‎

  • Added multi-language support currently supporting English, French, Italian, Dutch, German, Spanish, Catalan, Japanese and Portuguese
  • Wrote an algorithm to initialise the tiles so that tiles pairs are added in a selectable order
  • Added a language selection menu including waving flags when hovering above them
  • Allowed entering and exiting pause in game by pressing the plus button on the wiimote
  • Allowed the type of game to be selectable by hovering over the pictures as well as the text
  • Changed all selectable text so that they are selectable for the size of the text for the chosen language

v0.4 02/09/08

Download - Mahjongg_Wii_v0.4.zip

  • Added multiple tile layouts (four to start with) (re-wrote tile engine to handle this)
  • Added shuffle option when no more tiles pairs left
  • Added an icon and count of the number of available matching tiles during the game
  • Made the non-selectable tiles slightly darker that the selectable ones so easier to see
  • Added a gong sound to the start of the game
  • Added new true type font for all non static text (tile layout names, time in game, etc)

v0.3 24/08/08

Download - Mahjongg_Wii_v0.3.zip

  • Added two player co-op mode
  • Added full set of menus as per new graphics courtesy of DayDreamOz
  • Added pause to game mode entered and exited by pressing a pause icon
  • New homebrew channel icon by DayDreamOz
  • Cleaned up resources better
  • Fixed major bugs that was causing game to dump when moving between the game and the menus
  • Fixed graphical glitch on startup

v0.2 26/07/08

  • Added selected pair fading routine
  • Added better font (by making new versions of GRRLib functions) and aligned the text better
  • Added music
  • Added sounds effects
  • Fixed accidental selection of piece below ones just removed
  • Was having problems with using modplay and mp3player at the same time so changed to use sndlib and now both music and sound fx working correctly
  • cleaned up resources properly when existing back to loader

v0.1beta 30/06/08

  • Initial release - Game is playable

Progress

  • 22/10/08
    • Added separate tile selections per player (this affects the co-op mode as well as the versus mode)
  • 15/10/08
    • Started work on the 2 player versus mode - added functionality and displaying of scores, scoring values, multiplier logic
    • Added Hungarian, Finish and Swedish languages
  • 12/10/08
    • Allowed entering and exiting pause by pressing the plus button on the wiimote
  • 11/10/08
    • Changed menu selections so that they are only the size of the text for the chosen language
    • Allowed the type of game to be selectable by hovering over the pictures as well as the text
    • Internationalised all the text whilst playing the game
  • 05/10/08
    • Added Portuguese
    • Added a waving flag effect when the pointer is hovering over a flag.
    • Fully integrated the language selection with the rest of menus + ironed out a few bugs around this.
  • 04/10/08
    • Added Japanese font. As only standard ASCII characters work I had to make a character map for these (I also had to do this for accents,etc in other European languages too)
  • 30/09/08
    • Thought I'd better add an update - I have been working on the multi-language support, I have completed the menu i18n for latin alphabet, and next to add Japanese font (this will use the same code as latin once font done :-)). The discussion page contains translations if you would like to add any languages that are not currently covered. So far (thanks to people adding them) we have (in no particular order) English, French, Italian, Dutch, German, Spanish, Catalan and Japanese.
  • 06/09/08
    • Wrote an algorithm to initialise the tiles so that the game can always be completed. This also replaces the previous shuffle routine.
  • 01/09/08
    • Added new true type font for all non static text (tile layout names, time in game, etc)
  • 31/08/08
    • Added an icon and count of the number of available matching tiles during the game
    • Added a gong sound to the start of the game
    • Added hint icon to the game (hint coding still to do though)
  • 27/08/08
    • Added multiple tile layouts (four to start with)
    • Added shuffle option when no more tiles pairs left
    • Made the non-selectable tiles slightly darker that the selectable ones so easier to see
  • 23/08/08 after v0.3
    • Created a few other tile layouts, need to do a bit more work to add them into the game though
  • 23/08/08
    • Fixed major bugs that was causing game to dump when moving between the game and the menus
    • Added two player co-op mode
  • 18/08/08
    • Added pause to game mode entered and exited by pressing a pause icon
  • 14/08/08
    • I've been re-writing the way the game board works to support multiple tile layouts, as part of this I have also been developing a tile layout editor which I will also release once in a reasonable state. All this should mean that adding some of the new functionality that I want to put in will be a lot easier than before.
  • 05/08/08
    • Programmed the menu as per new graphics courtesy of DayDreamOz
    • Cleaned up resources better
    • Fixed graphical glitch on startup
  • 29/07/08
    • Programmed most of the menu processing
  • 23/07/08
    • Was having problems with using modplay and mp3player at the same time so changed to use sndlib and now have both music and sound fx completed
  • 21/07/08
    • Added music
    • Fixed accidental selection of piece below ones just removed
  • 19/07/08
    • Added selected pair fading routine
    • Added better font and aligned the text better
  • 30/06/08
    • Matching tiles logic
    • no more moves logic
    • game complete logic
    • Tile selection
    • Removal of matching selected tiles + all processing
    • Game timer added
  • 26/06/08
    • Tileset created
    • New game processing done
    • Board rendering added
    • Wiimote pointer support added
  • 23/06/08
    • Tileset created
    • background rendered
    • test tiles rendered

Still to do

  • Multiple tile sets
  • Multiple tile layouts (v0.4)
  • 2 player cooperative mode (v0.3)
  • 2 player versus mode (v0.6)
  • Animated characters
  • Pause mode (v.03)
  • Hover highlight selectable tiles
  • Display a count of number of selectable pairs left (v0.4)
  • Hint feature with 30 second penalty
  • Shuffle feature for when no available tiles are left (v0.4)
  • Menus / title (v0.3)
  • High score table
  • Algorithmic selection of tile layouts to ensure game can be completed (v0.5)
  • Selectable characters in 2 player modes
  • Multiple language support via language files (v0.5)
  • Save/load of settings to SD card
  • The option to have background(s) from SD card
  • The option to play music from SD card
  • Continue option if gone back to the menu mid game

Collaborators

I'm mostly into programming, so would welcome any help with graphics and sounds, particularly as requested below:

Sound

Any sound effects (the likes of picking tile noise, completing the game, lost the game, etc.) and / or music would be appreciated.

If anyone could donate some Chinese/Japanese style MODs I would really appreciate it.

Graphics

A logo for the in game menu.

A homebrew channel logo. A better homebrew channel logo.

A graphic for the on screen wiimote pointer

A graphical font

Some extra tilesets (see discussion tab for more details about the format etc)

Credits

Graphics

Music

  • Sushi by Dr Awesome

SFX

  • Tile click SFX by Partners in Rhyme,
  • Tile pair selected SFX by Chris,
  • Tile pair mismatch SFX by Public Domain

Translations

Development Libraries

The project uses devkitpro, GRRLib, sndlib, libpng, wiiuse, etc.

(Thanks to all the devs on these projects for their excellent tools/libraries)