Match'em Poker
About the game
Match'em Poker is a traditional 'match3'-type game in a rectangular grid. The player can swap the position of any two cards. When a 'poker hand' is formed, it will disappear from the level and the player's score increases. A card will drop down if there is an empty space below it. New cards will appear in empty spaces in the first row. The level starts with a timer value of 40. This number decreases with time, and increases when the player scores. The level is completed when the timer reaches a value of 100. If the timer drops to zero, the game is over. Accepted 'hands' are: 4 or more of the same colour, 3 or more of the same number, a straight of 4 or more. The hands can appear either horizontally or vertically. The difficulty increases when the player reaches higher levels. The time spent will affect the timer more and more, and destroyed cards will increase the timer less and less. Theoretically the game can continue forever. In practice, it will get very difficult around level 20.
There are increasing numbers of empty cards in the levels. An empty card will not be accepted to be a part of a hand until it's opened (by clicking it). When an empty card is opened, a small amount of time is removed from the timer (as a payment).
Program structure
Match'em poker is written with the amount of "pure" (no API bindigns) C/C++ / OGLES 2.0 maximised, and platform-specific code isolated behind interfaces. The framework (engine) the game uses is called TileGame. It is designed for any "sprite"-based-games; puzzles, platformers, and so on, and consists of two parts: The game (ITileGame) and the engine (ITileRenderer). ITileGame is the interface for the actual game, and ITileRenderer is its 'runner'.
ITileEngine flow:
- Initialise framework. Window, OpenGL, etc.
- createTileGame
- prepare game
- run main loop
- Listen to events and react to them (focus changed, screen touched, profile changed, and so on)
- release game
- delete game
- cleanup environment
Qt application runner
QTileGameEngine is a game runner implemented with the Qt GameEnabler. It's responsible of the platform-specific functionality in the Match'em Poker.
Building for Desktop Windows
If you want to build for Windows desktop for example, you must get some OpenGL ES 2.0 emulation libraries and use them to link against. Imgtec provides a good and easy-to-use solution for this. They are not open, but free. The downloading requires a registration and acceptance of a licence agreement.
Sounds
All the sounds used by the application are taken from The Freesound Project. The sounds were made by the following users: milton, mattwasser, Christianjinnyzoe. Thank you Freesound!
Misc issues
- The original code is quite messy and complex. However, the port have been tried to make with minimal effort to study the process.
- All of the rendering is done quad-by-quad basis, this makes the performance much lover as it could be. A good solution would be to deploy the new Qt SpriteBatch to do the rendering.
See the porting story.
Project information
- Project name: Match'em Poker
- Project identifier: matchempoker
- Owner: tuohirv
- Create date: 2011-05-25 13:52:34
- Project url: matchempoker
- Version control: https://projects.developer.nokia.com/svn/matchempoker/
- Project (WebDAV) shared folder: https://projects.developer.nokia.com/dav/matchempoker/
- Downloads: Downloads
All downloads
| ID | File | Description | Size | Uploaded | Dls | Uploader | Component | Version | Platform | Type |
|---|---|---|---|---|---|---|---|---|---|---|
|
Project source with binaries
|
||||||||||
|
Symbian binary
|
||||||||||
|
Symbian smart installer binary
|
||||||||||
|
Harmattan binary
|
||||||||||
|
Source project
|
||||||||||
|
Symbian^3 Smart Installer
|
||||||||||
|
Symbian binary
|
||||||||||
|
Harmattan binary
|
||||||||||
|
iOS 4 build. Needs to be signed with developer certificate to run on hardware.
|
||||||||||
|
|
||||||||||
|
|
Attachments
-
mpshot1.png
(249.8 KB) -
added by tuohirv 12 months ago.
-
mpshot2.png
(251.9 KB) -
added by tuohirv 12 months ago.
-
mpshot3.png
(271.8 KB) -
added by tuohirv 12 months ago.
-
mpshot4.png
(326.2 KB) -
added by tuohirv 12 months ago.
-
mpshot5.png
(256.7 KB) -
added by tuohirv 12 months ago.

