Chunk Munch

From WiiBrew
Jump to navigation Jump to search
Chunk Munch
TypePuzzle game
Version0.6c (22-Aug-2009)
Downloadable via the Homebrew Browser
Wiimote4.svg SensorBar.svg Loads files from SDHC cards in the Front SD slot

A simple yet addictive game, just point and click on two or more connected and identical 'chunks' to 'munch' them up.

This game supports users creating their own look for the game, see the Skinning support for more info, or just take a look at the examples shipped with the game.


Currently 1 point for the first 'Chunk' after that each additional chunk gives a +2 bonus. The minimum amount of 'Chunks' that need to be connected is 2, which means that 3 points is the lowest 'move' possible ;-)


Skinning support

This game supports the user supplying his or her own images, which can be separated into skins (or themes) by placing them into different folders next to the game. To create your own skin follow these steps, all images can be supplied optionally.

  • Step 1: add a new directory give it the name of the skin/theme
  • Step 2: Add the following:
    • background.png (The screen currently is 640 by 480, non transparent because it’s the background)
    • 10 png files (for best quality: square images, with transparency, 64 by 64) named 1.png to 10.png
    • cursor.png (default click with upper left corner, add skin.xml with <cursor ClickX="0" ClickY="0" /> to adjust)
    • music.mp3, plays in the background and loops infinetly
    • munch.snd, plays on each 'Munch' ( 16 bit signed big endian stereo, thnx! mdbrim,19812,page=3)

The game doesn't check / care about any of the image sizes, just don't make anything too big, also 1 through 10 should be square for best quality (they are resized by the game). For the background stick with 640 by 460 ;-) For the Cursor I would recommend something in the 32 or 64 length/width, it does not have to be a square image.

For a full example see the Winged-Vayla skin, it uses everything.

Example of skin.xml:

<?xml version="1.0"?>

<cursor  clickX="0" clickY="0"  textoffsetx="52" textoffsety="42" />

<font    textcolor="0xFF0000FF" textshadow="0xFFFFFFFF" size="26" />

<player1 textcolor="0xFF0000FF" textshadow="0xFFFFFFFF" />
<player2 textcolor="0x00FF00FF" textshadow="0xFFFFFFFF" />
<player3 textcolor="0xFFFF00FF" textshadow="0xFFFFFFFF" />
<player4 textcolor="0xFF00FFFF" textshadow="0xFFFFFFFF" />


If you would like to add skinning support or XML settings / savegame capability, contact me at freezydev(at) I can give you the important parts of the code.

When I find the time I might make a game template, so that all new programmers can get SDL up and running without having to program the entire engine from scratch.

The code is a bit of a mess, which is not surprising, it has survived three platform rewrites (Windows, Wii GX, Wii SDL). The original code dates back to about two years ago. I am still finishing up the game by adding stuff like sound, music and multiplayer. I will try to clean up the code and make it easier for others to read / understand.

I will never share the code of the game itself (MY PRECIOUS!), though I am planning on releasing the code for all the functionality's it is accumulating (anything that uses public libraries is programmed separate from the actual game code. Ok, except for string manipulation) C++ class inheritance rules!

Change log


  • Fixed music not looping


  • Improved sound to perfect playback (at least with my samples) by switching to different library's
  • Sound support now limited to two types:
  • Switched back to the old way of making releases, also tripod ?for some reason? removed my site.


  • New Logo! Thnx Faine!
  • added a 'munch' sound to the WingedVayla skin
  • Loading screen now shows after some basics have been initialized, instead of waiting for EVERYTHING.
  • Added (bad) music and sound support (Expect samples to be either played too fast or too slow (Currently using 22050 Hz, samples of this speed should work fine))
    • Supports all types SDL_Mixer supports, if it doesn't read the file, try removing the extension.
  • Moved 'quit' and 'back' buttons to lower left
  • To exit the game press any key (except a or b), this prevents the game from closing the screen when you are frantically clicking the screen (a.k.a. monkey proof bugfix)
  • Added an option to no longer wait for movement (animation) to stop, enabling fast clicking mode.
  • Fixed: Chrash when: No skin name was defined in XML. Occurs when saved with default skin, or loading a old XML file.
  • Repositioned the menu's a bit.
  • Fixed: Miscalculation of the field size, preventing the game from checking all rows correctly for the end conditions.
  • Removed southpark skin from the install package, still need to create a webpage to add all the future skins.


Watch Video

  • Added first really nice skin! Thanks to my friends for helping with the artwork :P
  • Added more skining options:
    • font.ttf (optional), falls back to default if not found
    • skin.xml (optional), all settings are completly optional (remove setting / iten if you want the default behavior), for a full example see: File:Skin.xml
      • Calibrate for cursor hot spot
      • Adjust the placement of the Player number on the cursor
      • Add colors for both text and shadows
      • Assign colors & shadow to player related texts (currently the only text is the number on the cursor) the default is currently black + white for all players


  • Texts are now much clearer (added a black or white edge through multiple font renderings)
  • Multiplayer co-op, with color and number seperation (skinning support for colors will be added later)
  • Example skin update, to make it look a bit nicer
  • Used fractal art instead of a gradient fill for Example Skin Background.
  • Found and fixed a bug where the game would think it had ended, even though there was still one move left


Watch video

  • Fixed two small issues with loading partial skins;
    • In the menu when selecting colors (images that weren't loaded weren't being replaced with basic colors)
    • In the game the last loaded image was not shown if it wasn't number 10


  • New Icon for HBC
  • Changing sizes is now easier (larger clickable area) also shows amount of pixels
  • Skinning support works!! ( currently I use png files, ico's will load but wont be pretty :-( )
  • Last known Skin will try to auto load, on failure it goes back to internal default.
  • To create a skin: add a directory, fill it with background.png, 1 through 10.png, cursor.png (all files are optional! :-D items not found will default back to old style)

It also doesn't care about size, just don't make anything too big, also 1 through 10 should be square for best quality.

  • TODO: add a way to define the cursor hot spot.
  • TODO: Test how many directories it can handle (should be a lot)


Watch video

  • First beta given to a friend of mine.
  • Got XML save / load to work, savegames now work :D yay!

Known bugs:

  • the game might decide you have no more 'Chunks to munch' in some rare cases, even though there is one left. I'll fix this as soon as possible
  • When I have a USB harddrive attached, the code randomly dumps sometimes ingame to mouse.o code.


  • Added column and row refilling
  • Enhanced the movement of the 'Chunks'
  • Expanded the option menu with:
    • Added a single 'Chunk' as a size & color preview
    • Refilling (None | row | column | rows first | columns first)


  • Rewrote the visualisation from GX back to SDL (Yay, SDL finally works for me on the Wii!)
  • Added options to the option menu (4 different sizes, refilling (yes/no))


The original game was made by me for the PC, which included 10 colors (still in the game). To make it work on the Wii I rewrote the visualisation parts to GX, which did not work as well for me.

Work in progress

Website is back, lycos made an error (no duh), ok it was an automatic one, which has been corrected. I can forgive them now ;-)

22 aug 2009: I liked the fact that SDL_Mixer could handle a lot of file types, which is good for making it easier to add a new skin. And since this project was already using SDL it just seemed like just the right Lib for the job. The SDL_Mixer is just not useable in its current form, files should just work! What is needed is flexibility in the handling of different formats and their hz, bitrate etc. Without the music either deforming or distorting.

  • Rewrote the part that handles music, now only supports mp3, but the sound is now stable and correct! And most people use mp3 music anyways ;-)
  • Sound working now, thanks to the WiiBrew Forum, mdbrim posted a way of making a ASND compatible PCM on there (,19812,page=3)

Perhaps I should fix try to fix SDL_Mixer and SDL_Image (cursed ICO support), maybe I will after this project is done. Maybe someone else will fix it in the meantime.

21 aug 2009:

  • Version 0.6 will be up today with rudementary music support.

Adding ingame sound effects now, once they are working I will upload a new version with all the fixes of the past week.

  • SDL_Mixer is not working for me, so I'm going to look for another way to add sound. I tried multiple different speeds and file types, none seem to work.

Which means that this is not (yet) the easy solution I want to offer people interrested in adding their own sounds to the game.

  • Releasing v0.6 with sound support as is, will try to either improve or replace sound support later.

20 aug 2009:

  • Added music to the game! (Will start adding ingame sounds tomorrow) The SDL_Mixer tries it's best to correct the samples, to be sure that playback is correct, please ensure 48khz files are used.
  • Added a loading screen, instead of a very long black screen...
  • More code Clean-up

Adding sound increased the game alone to 1.7MB! :-O (this does not even include a sounds sample)

19 aug 2009: Thanks to Faine (a friend of mine), there is a new logo (yet again). This one looks WAAAAAY better then the one I used before.

17 Aug 2009: Shuffled the many options around a bit. Cleaned up the code a bit. No major changes yet to the game itself.

16 aug 2009: Discoverd some crash bugs, working on them now.

  • Fixed: Chrash when: No skin name defined in XML. Occurs when saved with default skin, or loading a old XML file.
  • Repositioned the menu's a bit.
  • Added frantic clicking protection (the score screen now shows untill you press anything except a or b).
  • TODO: fix chrash if apps/chunkmunch folder is missing?

15 aug: V0.5 out now, with multiplayer support, better font displaying etc. :-D

/Old WIP


This is my TODO list, sorted in the order of: "most likely to be done first"

  • Find a better font library (instead of SDL TTF), or find a way to add shadows to current fonts.
  • Multiplayer Co-op.
  • Add turn based multiplayer
  • Music ( After skinning support, using the same system to find and load :-P )
  • Add loading bar while loading skins (as music increases load time significantly)
  • Sounds (add settings to skin XML to specify different sounds: per chunk (one for all, file specific), per click (menu), chunk slide, chunk fall)
  • Skinning support, find a way for people to share skins, increase support for different image files ( Please help me by sending me your images! As I am not an artist ;-) )
  • Skinning support; add a file scanner and a random selection system (load a different set of 10 everytime!)
  • Skinning support; add XML settings per skin (like player colors, text colors)
  • Add split screen mode (separate players, separate fields)
  • Add split screen mode (2 Players VS, 2 PLayer Co-op & 4 Player Free for All)

Thanks to

  • LIBS := -lSDL_ttf -lSDL_gfx -lSDL_image -lSDL -lmxml -lpng -ljpg -lfreetype -lz -lfat -lwiiuse -lbte -logc -lm -lwiikeyboard
  • My friend for being the first person te ask about my game
  • A good friend of mine Vayla for making the first real skin (which will most likely ship with the next release)
  • Faine for making the epic logo ! :-P
  • _Contra_ for making videos of homebrew and putting it on youtube! :-D
  • Homebrew Browser for including my releases so fast :-P
  • drmr for these: Wii Homebrew Cursors (one used for the ExampleSkin)
  • People for downloading 5000 times!

The game still needs more skins! If you would like to see your name in the thanks to list, please send me artwork for this game :P