MahJongg Wii: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#seo:
|title=Wii Homebrew Games (Board) - GameBrew
|title_mode=append
|image=mahjonggwii.jpg
|image_alt=Mahjongg Wii
}}
{{Infobox Wii Homebrews
{{Infobox Wii Homebrews
|title=Mahjongg Wii
|title=MahJongg Wii
|image=mahjonggwii.jpg
|image=mahjonggwii2.png
|description=A MahJongg solitaire game
|description=A MahJongg solitaire game.
|author=JustWoody
|author=JustWoody, updated by pharmville
|lastupdated=2009/02/23
|lastupdated=2014/07/13
|type=Board
|type=Puzzle
|version=0.8
|version=0.97 unofficial
|license=GPL
|license=GPL-2.0
|download=https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii.7z
|download=https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii.7z?k33p0fil35
|website=http://rp.oldsch00l.com/index.php/Wiimahjongg
|website=https://code.google.com/archive/p/mahjongg-wii/
|source=https://github.com/rp-/wii-mahjong
}}
}}
'''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.
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 ==
== User guide ==
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).
The objective of Mahjongg is to clear the game board by removing all tiles in pairs. To remove a pair, both tiles must meet two conditions: they must be "free" and they must be identical or belong to the same type.


A tile is "free" when:
A tile is considered "free" when it is not covered or blocked by other tiles and can be moved either to the left or right. Identical tiles must have the same appearance, except for Flowers and Seasons tiles which are non-identical but belong to the same type and can match with any other tile of the same type. There are four of each tile in the game except for Flowers and Seasons tiles which appear only once.
* 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.
However, removing the correct pairs can be challenging as the wrong choices can lead to unmatchable tiles blocking other important tiles. Thus, it requires careful planning and strategy to successfully clear the game board. Players must consider the remaining tiles and plan ahead before removing a pair.


There are four of each tile in the game except for the Flowers and Seasons tiles which appear only once.
If all four identical tiles are free, it's a good idea to remove them to simplify the game board. Overall, while luck plays a role, strategic thinking and careful planning are key to successfully completing the game.


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'''


==Screenshots==
A single player tries to remove all the tile pairs in the shortest possible time.
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-01.jpg
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-02.jpg
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-03.jpg
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-04.jpg
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-05.jpg
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-06.jpg
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-07.jpg
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-08.jpg
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-09.jpg
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-10.jpg


==Media==
'''Two Player Co-op'''
'''How to Play Mahjong'''


<youtube>pka0nVIahb0</youtube>
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.


== Play Modes ==
'''Two Player Versus'''


=== One player ===
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:
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:-
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 73: Line 48:
|}
|}


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


''Stealing'' - players can select tiles already selected by the other player thus disrupting / deselecting the other players choice.
Stealing - players can select tiles already selected by the other player thus disrupting / deselecting the other players choice.


== Controls ==
== Controls ==
=== Menu ===
'''Menu (Wiimote 1):'''
The menu is controlled using Wiimote 1


{| class="wikitable"
Point - Move pointer
|-
! Wiimote  !! Action
|-
| Wiimote Aim || Move pointer
|-
| Wiimote A Button || Select item
|-
| Wiimote B Button || Move back to previous menu
|-
| Wiimote Plus Button || Page forward (on language selection screen)
|-
| Wiimote Minus Button || Page backward (on language selection screen)
|}


=== Game ===
A - Select item
The game is controlled using Wiimote number 1 and 2 depending on game mode chosen


{| class="wikitable"
B - Move back to previous menu
|-
! Wiimote  !! Action
|-
| Wiimote Aim || Move pointer
|-
| Wiimote A Button || Select tile
|-
| Wiimote B Button || Clear selected tile
|-
| Wiimote Plus Button || Pause / Un-pause
|-
| Wiimote Home Button || Quit game / return to menu
|}


=== All ===
Plus - Page forward (on language selection screen)
{| class="wikitable"
|-
! Wiimote  !! Wii !! Action
|-
| Wiimote Power Button || Wii Power Button || Power off the Wii in standby mode
|-
| || Wii Reset Button || Reset the Wii to Main Menu
|}


== Releases ==
Minus - Page backward (on language selection screen)


=== Unofficial Update to v0.97 by pharmville ===
'''In game (Wiimote 1 and 2):'''


Download - [https://www.dropbox.com/s/wpmewln18f21uyt/mahjongg.zip?dl=0]
Point - Move pointer


No changes were made to the game code, but this was compiled with more recent libogc code, so that the newer wiimote plus (RVL-CNT-01-TR) will be functional in the game.
A - Select tile


=== v0.97 20/12/09 ===
B - Clear selected tile
Download - [http://rp.oldsch00l.com/tmp/wiimahjongg/mahjongg_097.zip Mahjongg Wii v0.97]


* Build with new devkitpro r18, libogc 1.8.1, libfat 1.0.5
Plus - Pause/Un-pause
* Fix array out of bounds (thx to new gcc)
* Basic high scores for single player and coop
* 6 new layouts
* Show left tiles in game
* Undo of last move (with time penalty)
* After a game is finished you can restart with a random layout
* Fix crash if you turn of your Wii while in menu
* Wide screen option is now set when loading the game
* Config is saved within the boot.dol folder
* Add printing version number in the main menu
* Code cleanup


Known issues:
Home - Quit game, Return to menu
* no japanese language
* currently only english and german
* sounds are not optimal


More info:
'''All:'''
[http://rp.oldsch00l.com/index.php/Wiimahjongg wii mahjong]


=== v0.8 23/02/09 ===
Power Button - Power off the Wii in standby mode


Download - [http://freefile.kristopherw.us/uploads/justwoody/mahjongg_wii_v0_8.zip Mahjongg Wii v0.8]
Reset Button - Reset the Wii to Main Menu


* Added multiple tilesets!
==Screenshots==
* Added character voices on 2 player versus mode
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-04.jpg
* Re-encoded and removed cracklys from the sound effects
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-01.jpg
* Added graphic when two player game ends as a draw
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-02.jpg
* Tidied up and fixed bugs around the placing of tiles / shuffling
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-03.jpg
* Fixed bug where saved music volume was not being used on startup
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-05.jpg
* Changed screenshot function to output filenames with date and time instead of just one
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-06.jpg
* Cleaned up the code that deals with memory allocation of textures in the menus
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-07.jpg
* Added new menu music + other music tracks for the different tilesets/themes during the game
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-08.jpg
* Fixed some memory allocation problems that may have caused memory to be held onto when mahjongg is exited and could have caused problems moving between the menu and the game if done numerous times
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-09.jpg
* Added pressing A button on already selected tile deselects it
https://dlhb.gamebrew.org/wiihomebrews/mahjonggwii-10.jpg
* Added proper support for widescreen including options to turn it on or off
* Changed config loading and saving to include widescreen and tileset selections. Does in a way that is backwards compatible with version 0.7 config files
* Added Norwegian language support
* Changed internationalisation code to fully support utf8 encoding thus giving the use of non-ASCII characters without the need for mapping
* Change to auto detect whether the game has been loaded from a loader or not and exit accordingly (either reset to menu or back to loader)
* Fixed even more bugs


=== non-HBC v0.7 09/01/09 ===
== Changelog ==
'''v0.97 unofficial update''' (by pharmville)
*No changes were made to the game code, but this was compiled with more recent libogc code, so that the newer wiimote plus (RVL-CNT-01-TR) will be functional in the game.


This is a version that is intended for use outside a loader
'''v0.97 2009/12/20'''
*Build with new devkitpro r18, libogc 1.8.1, libfat 1.0.5.
*Fix array out of bounds (thx to new gcc).
*Basic high scores for single player and coop.
*6 new layouts.
*Show left tiles in game.
*Undo of last move (with time penalty).
*After a game is finished you can restart with a random layout.
*Fix crash if you turn of your Wii while in menu.
*Wide screen option is now set when loading the game.
*Config is saved within the boot.dol folder.
*Add printing version number in the main menu.
*Code cleanup.


* The only change from the standard version is that when exit is pressed this version resets the Wii instead of going back to the loader
Known issues:
 
*No japanese language.
'''Please do not embed this into any copyright software (e.g. copyright protected channel components)'''
*Currently only english and german.
 
*Sounds are not optimal.
=== v0.7 06/01/09 ===


* Changed to automatically select the language based on the Wii menu language settings (Nintendo only support Japanese, English, German, French, Spanish, Italian, Dutch) but as Mahjongg Wii supports more languages, I have kept the language selection screen, but moved it to be accessible via the game options screen
'''v0.8 2009/02/23'''
* Added three new tile layouts - fortress, crab and spider
* Added multiple tilesets.
* Changed placement algorithm to handle complexity of new tile layouts
* Added character voices on 2 player versus mode.
* Added a layout selection screen which can be accessed by selecting change layout from options menu
* Re-encoded and removed cracklys from the sound effects.
* Changed all the backgrounds from png to jpeg and at same time doubled their resolution so they now look much cleaner
* Added graphic when two player game ends as a draw.
* Added hint functionality to the game (not hover hint) so that if it the icon is pressed a hint selection is highlighted in flashing yellow and 30 seconds are added to the time as a penalty
* Tidied up and fixed bugs around the placing of tiles / shuffling.
* Added Wiimote rumble when a tile pair is successfully selected
* Fixed bug where saved music volume was not being used on startup.
* Added an option to turn the rumble feature on or off
* Changed screenshot function to output filenames with date and time instead of just one.
* Added the saving and loading of configuration data to SD card (mahjongg.cfg on root of SD)
* Cleaned up the code that deals with memory allocation of textures in the menus.
* Added SDHC support
* Added new menu music + other music tracks for the different tilesets/themes during the game.
* Added Danish language support
* Fixed some memory allocation problems that may have caused memory to be held onto when mahjongg is exited and could have caused problems moving between the menu and the game if done numerous times.
* Wrote language selection paging - now with 9 languages per page with the plus and minus buttons (or on screen equivalents) used to move between them
* Added pressing A button on already selected tile deselects it .
* Added button B usage as an alternative back button whilst in the menus
* Added proper support for widescreen including options to turn it on or off.
* Added callback functions so that power and reset on the Wii now work and power button on the wiimote now turns the Wii off
* Changed config loading and saving to include widescreen and tileset selections. Does in a way that is backwards compatible with version 0.7 config files.
* Fixed several bugs
* Added Norwegian language support.
* Changed internationalisation code to fully support utf8 encoding thus giving the use of non-ASCII characters without the need for mapping.
* Change to auto detect whether the game has been loaded from a loader or not and exit accordingly (either reset to menu or back to loader).
* Fixed even more bugs.


=== v0.6 08/11/08 ===
'''non-HBC v0.7 2009/01/09'''
* This is a version that is intended for use outside a loader.
* The only change from the standard version is that when exit is pressed this version resets the Wii instead of going back to the loader.
* Please do not embed this into any copyright software (e.g. copyright protected channel components).


* Added versus mode!
'''v0.7 2009/01/06'''
* Re-factored the tile selection processing and completed all coding around tile selection for both versus and coop modes
* Changed to automatically select the language based on the Wii menu language settings (Nintendo only support Japanese, English, German, French, Spanish, Italian, Dutch) but as Mahjongg Wii supports more languages, I have kept the language selection screen, but moved it to be accessible via the game options screen.
* Added option to restart the game when paused or no more moves left
* Added three new tile layouts - fortress, crab and spider.
* Added option to start a new game without going back to the menu when current game has finished
* Changed placement algorithm to handle complexity of new tile layouts.
* Changed so that if only two tiles are left which are on top of each other the game finishes
* Added a layout selection screen which can be accessed by selecting change layout from options menu.
* Fixed bug where tile placement algorithm gets stuck in an infinite loop when it cannot place all tiles successfully. Now if this occurs it finishes the shuffle and returns to no more moves mode
* Changed all the backgrounds from png to jpeg and at same time doubled their resolution so they now look much cleaner.
* Alternated which pointer is drawn first every frame to not give the advantage to player one in two player versus mode
* Added hint functionality to the game (not hover hint) so that if it the icon is pressed a hint selection is highlighted in flashing yellow and 30 seconds are added to the time as a penalty.
* Added separate tile selections per player (this affects the co-op mode as well as the versus mode)
* Added Wiimote rumble when a tile pair is successfully selected.
* Added Hungarian, Finish and Swedish languages
* Added an option to turn the rumble feature on or off.
* Added the saving and loading of configuration data to SD card (mahjongg.cfg on root of SD).
* Added SDHC support.
* Added Danish language support.
* Wrote language selection paging - now with 9 languages per page with the plus and minus buttons (or on screen equivalents) used to move between them.
* Added button B usage as an alternative back button whilst in the menus.
* Added callback functions so that power and reset on the Wii now work and power button on the wiimote now turns the Wii off.
* Fixed several bugs.


=== v0.5dol 27/10/08 ===
'''v0.6 2008/11/08'''
* Added versus mode.
* Re-factored the tile selection processing and completed all coding around tile selection for both versus and coop modes.
* Added option to restart the game when paused or no more moves left.
* Added option to start a new game without going back to the menu when current game has finished.
* Changed so that if only two tiles are left which are on top of each other the game finishes.
* Fixed bug where tile placement algorithm gets stuck in an infinite loop when it cannot place all tiles successfully. Now if this occurs it finishes the shuffle and returns to no more moves mode.
* Alternated which pointer is drawn first every frame to not give the advantage to player one in two player versus mode.
* Added separate tile selections per player (this affects the co-op mode as well as the versus mode) .
* Added Hungarian, Finish and Swedish languages.


* Changed the application from ELF to DOL for compatibility with the Hombrew Channel beta 9
'''v0.5dol 2008/10/27'''
* Changed the application from ELF to DOL for compatibility with the Hombrew Channel beta 9.


=== v0.5 12/10/08 ===
'''v0.5 2008/10/12'''
* Added multi-language support currently supporting English, French, Italian, Dutch, German, Spanish, Catalan, Japanese and Portuguese
* 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  
* 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
* 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 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
* 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
* Changed all selectable text so that they are selectable for the size of the text for the chosen language.


=== v0.4 02/09/08 ===
'''v0.4 2008/09/02'''
* Added multiple tile layouts (four to start with) (re-wrote tile engine to handle this)
* 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 shuffle option when no more tiles pairs left.
* Added an icon and count of the number of available matching tiles during the game
* 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
* 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 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)
* Added new true type font for all non static text (tile layout names, time in game, etc).


=== v0.3 24/08/08 ===
'''v0.3 2008/08/24'''
* Added two player co-op mode  
* Added two player co-op mode .
* Added full set of menus as per new graphics courtesy of DayDreamOz
* 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  
* Added pause to game mode entered and exited by pressing a pause icon .
* New homebrew channel icon by DayDreamOz
* New homebrew channel icon by DayDreamOz.
* Cleaned up resources better
* Cleaned up resources better.
* Fixed major bugs that was causing game to dump when moving between the game and the menus
* Fixed major bugs that was causing game to dump when moving between the game and the menus.
* Fixed graphical glitch on startup
* Fixed graphical glitch on startup.


=== v0.2 26/07/08 ===
'''v0.2 2008/07/26'''
* Added selected pair fading routine
* Added selected pair fading routine.
* Added better font (by making new versions of GRRLib functions) and aligned the text better  
* Added better font (by making new versions of GRRLib functions) and aligned the text better .
* Added music
* Added music.
* Added sounds effects
* Added sounds effects.
* Fixed accidental selection of piece below ones just removed  
* 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
* 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
* cleaned up resources properly when existing back to loader.


=== v0.1beta 30/06/08 ===
'''v0.1beta 2008/06/30'''
* Initial release - Game is playable
* Initial release - Game is playable.


== Credits ==
== Credits ==
==== Graphics ====
Graphics:
* Graphics by DayDreamOz
* Graphics by DayDreamOz.
* Spooky, Egyptian and Space tilesets and backgrounds by Mr_Nick666
* Spooky, Egyptian and Space tilesets and backgrounds by Mr_Nick666.


==== Music ====
Music:
* Oriental by '''Allister Brimble'''
* Oriental by Allister Brimble.
* Sushi by '''Dr Awesome'''
* Sushi by Dr Awesome.
* Nebulos by '''audiomonster'''
* Nebulos by audiomonster.
* Childhood by '''Sandra Chan'''
* Childhood by Sandra Chan.
* Egypt crap(?) by '''the freak'''
* Egypt crap(?) by the freak.
* Graveyard by '''fleshbrain'''
* Graveyard by fleshbrain.


==== SFX ====
SFX:
* Versus mode characterisations by Banjo Fett
* Versus mode characterisations by Banjo Fett.
* Tile click SFX by '''Partners in Rhyme''',
* Tile click SFX by Partners in Rhyme.
* Tile pair selected SFX by '''Chris''',
* Tile pair selected SFX by Chris.
* Tile pair mismatch SFX by '''Public Domain'''
* Tile pair mismatch SFX by Public Domain.


==== Translations ====
Translations:
* French by Yod4z, Crayon and CashMan
* French by Yod4z, Crayon and CashMan.
* Italian by Charlespig
* Italian by Charlespig.
* German by Digdug
* German by Digdug.
* Dutch by Digdug and Bitflusher
* Dutch by Digdug and Bitflusher.
* Spanish by Xtract and CashMan
* Spanish by Xtract and CashMan.
* Catalan by Xtract
* Catalan by Xtract.
* Japanese by HisshouBuraiKen
* Japanese by HisshouBuraiKen.
* Portuguese by Yod4z, Banjo Fett and CashMan
* Portuguese by Yod4z, Banjo Fett and CashMan.
* Hungarian by Ezmegaz
* Hungarian by Ezmegaz.
* Finnish by Tubelinus
* Finnish by Tubelinus.
* Swedish by Tubelinus and noONE
* Swedish by Tubelinus and noONE.
* Danish by Buffstricker and Jedicommando  
* Danish by Buffstricker and Jedicommando .
* Norwegian by Raschi
* Norwegian by Raschi.


==== Development Libraries ====
Development Libraries:
The project uses devkitpro, GRRLib, sndlib, libpng, wiiuse, etc.
* The project uses devkitpro, GRRLib, sndlib, libpng, wiiuse, etc.


==External links==
==External links==
* Homepage - http://rp.oldsch00l.com/index.php/Wiimahjongg
* Google Code - http://code.google.com/p/mahjongg-wii/downloads/list
* Google source - http://code.google.com/p/mahjongg-wii/downloads/list
* WiiBrew - https://wiibrew.org/wiki/Mahjongg_Wii
* Wiibrew - https://wiibrew.org/wiki/Mahjongg_Wii
* Github - https://github.com/rp-/wii-mahjong

Latest revision as of 10:33, 28 January 2024

MahJongg Wii
Mahjonggwii2.png
General
AuthorJustWoody, updated by pharmville
TypePuzzle
Version0.97 unofficial
LicenseGPL-2.0
Last Updated2014/07/13
Links
Download
Website

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.

User guide

The objective of Mahjongg is to clear the game board by removing all tiles in pairs. To remove a pair, both tiles must meet two conditions: they must be "free" and they must be identical or belong to the same type.

A tile is considered "free" when it is not covered or blocked by other tiles and can be moved either to the left or right. Identical tiles must have the same appearance, except for Flowers and Seasons tiles which are non-identical but belong to the same type and can match with any other tile of the same type. There are four of each tile in the game except for Flowers and Seasons tiles which appear only once.

However, removing the correct pairs can be challenging as the wrong choices can lead to unmatchable tiles blocking other important tiles. Thus, it requires careful planning and strategy to successfully clear the game board. Players must consider the remaining tiles and plan ahead before removing a pair.

If all four identical tiles are free, it's a good idea to remove them to simplify the game board. Overall, while luck plays a role, strategic thinking and careful planning are key to successfully completing the game.

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

Stealing - players can select tiles already selected by the other player thus disrupting / deselecting the other players choice.

Controls

Menu (Wiimote 1):

Point - Move pointer

A - Select item

B - Move back to previous menu

Plus - Page forward (on language selection screen)

Minus - Page backward (on language selection screen)

In game (Wiimote 1 and 2):

Point - Move pointer

A - Select tile

B - Clear selected tile

Plus - Pause/Un-pause

Home - Quit game, Return to menu

All:

Power Button - Power off the Wii in standby mode

Reset Button - Reset the Wii to Main Menu

Screenshots

mahjonggwii-04.jpgmahjonggwii-01.jpgmahjonggwii-02.jpgmahjonggwii-03.jpgmahjonggwii-05.jpgmahjonggwii-06.jpgmahjonggwii-07.jpgmahjonggwii-08.jpgmahjonggwii-09.jpgmahjonggwii-10.jpg

Changelog

v0.97 unofficial update (by pharmville)

  • No changes were made to the game code, but this was compiled with more recent libogc code, so that the newer wiimote plus (RVL-CNT-01-TR) will be functional in the game.

v0.97 2009/12/20

  • Build with new devkitpro r18, libogc 1.8.1, libfat 1.0.5.
  • Fix array out of bounds (thx to new gcc).
  • Basic high scores for single player and coop.
  • 6 new layouts.
  • Show left tiles in game.
  • Undo of last move (with time penalty).
  • After a game is finished you can restart with a random layout.
  • Fix crash if you turn of your Wii while in menu.
  • Wide screen option is now set when loading the game.
  • Config is saved within the boot.dol folder.
  • Add printing version number in the main menu.
  • Code cleanup.

Known issues:

  • No japanese language.
  • Currently only english and german.
  • Sounds are not optimal.

v0.8 2009/02/23

  • Added multiple tilesets.
  • Added character voices on 2 player versus mode.
  • Re-encoded and removed cracklys from the sound effects.
  • Added graphic when two player game ends as a draw.
  • Tidied up and fixed bugs around the placing of tiles / shuffling.
  • Fixed bug where saved music volume was not being used on startup.
  • Changed screenshot function to output filenames with date and time instead of just one.
  • Cleaned up the code that deals with memory allocation of textures in the menus.
  • Added new menu music + other music tracks for the different tilesets/themes during the game.
  • Fixed some memory allocation problems that may have caused memory to be held onto when mahjongg is exited and could have caused problems moving between the menu and the game if done numerous times.
  • Added pressing A button on already selected tile deselects it .
  • Added proper support for widescreen including options to turn it on or off.
  • Changed config loading and saving to include widescreen and tileset selections. Does in a way that is backwards compatible with version 0.7 config files.
  • Added Norwegian language support.
  • Changed internationalisation code to fully support utf8 encoding thus giving the use of non-ASCII characters without the need for mapping.
  • Change to auto detect whether the game has been loaded from a loader or not and exit accordingly (either reset to menu or back to loader).
  • Fixed even more bugs.

non-HBC v0.7 2009/01/09

  • This is a version that is intended for use outside a loader.
  • The only change from the standard version is that when exit is pressed this version resets the Wii instead of going back to the loader.
  • Please do not embed this into any copyright software (e.g. copyright protected channel components).

v0.7 2009/01/06

  • Changed to automatically select the language based on the Wii menu language settings (Nintendo only support Japanese, English, German, French, Spanish, Italian, Dutch) but as Mahjongg Wii supports more languages, I have kept the language selection screen, but moved it to be accessible via the game options screen.
  • Added three new tile layouts - fortress, crab and spider.
  • Changed placement algorithm to handle complexity of new tile layouts.
  • Added a layout selection screen which can be accessed by selecting change layout from options menu.
  • Changed all the backgrounds from png to jpeg and at same time doubled their resolution so they now look much cleaner.
  • Added hint functionality to the game (not hover hint) so that if it the icon is pressed a hint selection is highlighted in flashing yellow and 30 seconds are added to the time as a penalty.
  • Added Wiimote rumble when a tile pair is successfully selected.
  • Added an option to turn the rumble feature on or off.
  • Added the saving and loading of configuration data to SD card (mahjongg.cfg on root of SD).
  • Added SDHC support.
  • Added Danish language support.
  • Wrote language selection paging - now with 9 languages per page with the plus and minus buttons (or on screen equivalents) used to move between them.
  • Added button B usage as an alternative back button whilst in the menus.
  • Added callback functions so that power and reset on the Wii now work and power button on the wiimote now turns the Wii off.
  • Fixed several bugs.

v0.6 2008/11/08

  • Added versus mode.
  • Re-factored the tile selection processing and completed all coding around tile selection for both versus and coop modes.
  • Added option to restart the game when paused or no more moves left.
  • Added option to start a new game without going back to the menu when current game has finished.
  • Changed so that if only two tiles are left which are on top of each other the game finishes.
  • Fixed bug where tile placement algorithm gets stuck in an infinite loop when it cannot place all tiles successfully. Now if this occurs it finishes the shuffle and returns to no more moves mode.
  • Alternated which pointer is drawn first every frame to not give the advantage to player one in two player versus mode.
  • Added separate tile selections per player (this affects the co-op mode as well as the versus mode) .
  • Added Hungarian, Finish and Swedish languages.

v0.5dol 2008/10/27

  • Changed the application from ELF to DOL for compatibility with the Hombrew Channel beta 9.

v0.5 2008/10/12

  • 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 2008/09/02

  • 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 2008/08/24

  • 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 2008/07/26

  • 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 2008/06/30

  • Initial release - Game is playable.

Credits

Graphics:

  • Graphics by DayDreamOz.
  • Spooky, Egyptian and Space tilesets and backgrounds by Mr_Nick666.

Music:

  • Oriental by Allister Brimble.
  • Sushi by Dr Awesome.
  • Nebulos by audiomonster.
  • Childhood by Sandra Chan.
  • Egypt crap(?) by the freak.
  • Graveyard by fleshbrain.

SFX:

  • Versus mode characterisations by Banjo Fett.
  • Tile click SFX by Partners in Rhyme.
  • Tile pair selected SFX by Chris.
  • Tile pair mismatch SFX by Public Domain.

Translations:

  • French by Yod4z, Crayon and CashMan.
  • Italian by Charlespig.
  • German by Digdug.
  • Dutch by Digdug and Bitflusher.
  • Spanish by Xtract and CashMan.
  • Catalan by Xtract.
  • Japanese by HisshouBuraiKen.
  • Portuguese by Yod4z, Banjo Fett and CashMan.
  • Hungarian by Ezmegaz.
  • Finnish by Tubelinus.
  • Swedish by Tubelinus and noONE.
  • Danish by Buffstricker and Jedicommando .
  • Norwegian by Raschi.

Development Libraries:

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

External links

Advertising: