Building The Wingdings Game

If you didn’t know, I recently built a game called The Wingdings Game based on an odd idea born out of a group meeting. The game loads a set grid of random wingdings symbols, with one smiley face. You have to find the smiley face to win the level. Each level has increasing size grids, along with a hard mode where all the symbols are faces.

You can find the game here:

Below is a few notes and observations from building this game:

1 – If you have a submission to a highscore table, people will go and edit in scores simply because they feel like ruining the table. Initially i had the score submission through a hidden field, but since that’s editable through any browser with a console / inspector, it’s now a session variable. As for the time going inbetween levels, nothing can be really done about this in this version without ditching PHP for the grid generation entirely.

2 – Wingdings is… an odd font. You can’t really find any information about it online. Or webdings for that matter. Support is fine in webkit-based browsers, and IE. Firefox however, has no support for wingdings, and to license the font for @font-face can only seem to be done via for more money than it’s actually worth. Unicode does seem to have the symbols too, so version 2 will hopefully be making the switch to unicode.

3 – Since wingdings is just a font, people just like to find the character on the grid, in this case a capital J. Unicode could fix this in theory, unless someone copies that character to just paste into the find on page field. For now, the fix is to try and disable this field by disabling the letter F being pressed on the keyboard, but i’m sure there are ways around this.

4 – PHP’s strlen() function counts somewhat oddly. It may be it starts from 1 instead of 0 as with most things in php, but the result is that to avoid some odd errors with random generation, sometimes the string length minus one has to be used.

3 Replies

  1. 行動電源

    Good day I am so happy I found your weblog, I really found you by error, while I was researching on Digg for some thing else, Nonetheless I am here now and would just like to say thank you for a tremendous post and a all round entertaining weblog (I also love the theme/design), I don’t have time to go through it all at the moment but I have bookmarked it and also added your RSS feeds, so when I have time I will be back to read more, Please do keep up the awesome work.

  2. Xavier Watts

    Wingdings 2 font should not be used in Web pages. This page is not a demonstration of how to use Wingdings 2 font; it provides a warning of the problems that it causes, and shows how to use Unicode instead.

  3. Faustino Morton

    The blank values probably correspond to glyphs that you don’t have any font coverage for. Some systems use so-called “Unicode fonts” which have a large percentage of the glyphs you need for every script. Windows tends to switch fonts on the fly when the current font doesn’t have a necessary glyph. Neither approach will have every glyph necessary. Also, some Unicode values don’t encode to a visible glyph (e.g., there are many different kinds of spaces in Unicode), some values act more like ASCII-style controls codes (e.g., paragraph separator or bidi controls), and some values only make sense when they combine with another character, like many of the “combining” accents.


Leave a Reply to Xavier Watts Cancel reply

Your email address will not be published. Required fields are marked *

two + = 11

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>