|
Tetris for Pocket PC 2002
Tetris for Pocket PC 2002 is similar to the popular game that is available on
nearly every computer platform. It probably doesn`t need any introduction. This
Pocket PC implementation is almost the same as the original version and doesn`t
include any fancy features (yet).
The creation and evolution of Tetris
Bubbles was the first game I have written for the Pocket PC. That game
is very suitable for the Pocket PC, because it makes excellent use of the pen. The
next step was to create a more dynamic game with more animation. Because I liked
Tetris very much, I decided to implement it. The Bubbles source code was used to
jumpstart the development. Bubbles is distributed under terms of the GNU Public
License and contains full source code. Tetris is currently distributed as freeware
as well, but its source code won`t be released.
Tetris uses some simple animation, which is quite hard to implement on
the Windows platform (without DirectX). Even on my good old Commodore CBM-64 it
would have been easier, because it features sprites. Sprites aren`t available on
Windows CE, so you have to implement animation completely by yourself. This is a
little troublesome, because it`s a lot of work and software sprites are relatively
inefficient. Tetris redraws it`s display each time the blocks move. Although inefficient,
it`s easy to implement and the Pocket PC has enough power to use this algorithm
without any problems.
A friend of my started developing Pac Man for Pocket PC in parallel and encountered
the same problems. Unfortunately, Pac Man uses a lot more moving objects (you and
the ghosts) and has much smoother animation, so the performance problem becomes
more and more problematic. My next project will probably be a high-performance reusable
sprite library for the Pocket PC. It will probably take a lot of time, but it should
make developing games for the Pocket PC a lot easier.
What`s hot and what`s not
The current version of Tetris is sufficient for a whole lot of fun. It has the
following features:
- The concept of Tetris is very simple, but the idea is just great.
- The Pocket PC navigation keys are used for game control. I only have experience
with the Compaq iPaq, but I am not very happy with the navigation keys on it.
You can also use the command bar buttons, but this is probably even harder.
- Highscore list, so you have prove when you reach a good score. It`s also
possible to reset the list of highscores.
- Synchronizing highscores with other Tetris users using the infrared port.
People who are familiar with Bubbles, will notice that the Tetris highscore
list is quite similar.
- Very neat about dialog, which is similar to the picture shown at the top
of this page. The logo is created using POV-Ray.
Some features are still missing. I might implement it in a future version, but
don`t expect anything soon. The following features are planned:
- Add animation when rows are deleted.
- Skins for the Tetris main screen, shapes and fonts. Although not very difficult
to implement I just hadn`t time to do so. It has a low priority (I`m just not
that much of a UI guy).
- Better installation support, but I do need to get some more experience with
ActiveSync installation. I don`t want to rely on external tooling (such as InstallShield).
- Help file for the game, explaining the various options and rules of the
game.
Links
There are just to much Tetris related sites on the internet to list them all,
but the following sites might be worth checking.
- One of the creators of the original Tetris game started an
Official Tetris site describing the history
of Tetris.
- Daniel Jackson released a freeware Tetris for the Pocket PC as well and
it is called QTris.
It`s pretty good, but it doesn`t have the programmable keys of my version of
Tetris. This makes it useless for devices without navigation keys, but if you
have navigation keys it`s definetely worth a download. The graphics are great
and gameplay is good as well. If you`re there take a look at some other fine
games from Daniel.
- Applian released an Applian Bonus Pak,
which includes a Tetris clone for free. It`s called called
Blox. It was one
of the first freeware Tetris clone I found on the net. Don`t bother downloading
the game, because it`s just a waste of memory on your Pocket PC.
- Play Tetris online (using shockwave) at
Shockwave Tetris .
- Another online version of Tetris is called
Dropping blocks and uses Java to
play the game.
- My Tetris has been reviewed by some magazines. One of them is a Spanish
magazine called Mi PC de Bolsillo and their review can be found
here
. PocketNow.com wrote an article, called
Battle of the Tetris
clones! and compared Tetris for Pocket PC with Retris from
Resco Software ,
which costs a few bucks. Tetris for Pocket PC was the big winner (and not only
because it`s free).
If you know about more Tetris clones, please mail me.
Legal statement
This program is copyrighted by Ramon de Klein and distributed under terms of
the GNU General Public License.
History
v1.0
- Ported release to PocketPC 2002 SDK. Only the ARM release is supported,
because PocketPC 2002 doesn`t support other platforms.
v1.0 (beta 6)
- Changed speed algorithm, so the game is still playable at levels 9 and above.
Speed won`t increase after this level anymore.
v1.0 (beta 5)
- Added key-mapping, which allows the user to map navigation keys and buttons
to certain actions. This allows users without the complete set of navigation
keys to map keys differently, so they can still use Tetris.
- Added pen support for devices which don`t have four navigation keys (up,
down, left and right) like the Compaq iPaq. You can use the pen to tap on the
screen to move and rotate the piece.
- New options dialog which now uses property pages to display all the options,
which makes it better readable. The option titles now use a smaller font.
- Redesigned commandbars to make them more intuitive. The toolbar buttons
have been updated. The SIP has been removed from the main window, because it
had no use there. The commandbar is empty in the dialogs and property sheets.
v1.0 (beta 4)
- Fixed a bug that prevented scores above 10000 to be displayed correctly
in the hall of fame.
- Fixed a bug that restarted the game at the same speed as the previous game
had ended.
- Restarting the game performs an implicit resume, when the game was paused.
- Rewritten layout code, which makes adding skin support easier and the code
easier to read. If everything went fine, then you won`t know the difference.
- The Compaq iPaq suffers from the so-called button problem. It can
cause problems while playing Tetris. Sometimes the iPaq won`t see that you`ve
released a key on the navigation pad. The result is that pieces keep dropping
(when soft-drop is enabled) or keep moving sideways. Unfortunately, I cannot
fix this problem in Tetris. However, I have added some intelligence in the code,
which stops the key-repeat at certain moments. When a piece hits the bottom
or the side of the screen it stops repeating. If the button problem occurs,
then you now only may lose one piece instead of the entire game. I know it`s
not the ideal solution, but it`s all I can do to fix it.
v1.0 (beta 3)
- You have a short time to shift and rotate the piece after it hits the bottom
(if there is space to do so). In beta 2 (and earlier) another blocks falls immediately,
which limited the oppertunity to fill some gaps (thanks to Glen Carbone for
mentioning this).
- Use own keyboard repeat mechanism, which is much more intuitive and can
be configured using the options dialog.
- Dropping a piece is now done using a so called soft-drop, which drops the
shape only one position. As long as you hold the drop key it keeps dropping
until it hits the bottom. This is can be useful to quickly move a piece to the
bottom and still be able to move and rotate it later. If you like harddrop better,
then you can enable it in the options dialog.
- More efficient screen update mechanisms, which reduces CPU load during gameplay.
Not really necessary, but you might be able to play a few seconds longer, when
running on battery power.
- Added sound when a piece hits the bottom or is rotated.
- The background of the game area has lower contrast, so the game area is
now better visible. I hope this reduces mistakes.
- Changed the scoring rules again. Every time you manually drop a piece you
get one point. Clearing a row is now awarded 100 points (1 row), 400 point (2
rows), 900 points (3 rows) or 2000 points (4 rows). Speed increases after each
2000 points.
- The easy level drops one position each second. Each speed increase is 100ms
faster, until you reach level 10. The moderate level is twice as fast and the
hard level is four time as fast.
- Pause key can be enabled or disabled in the options dialog. Several people
complained that they accidently pressed the pause key during gameplay. If the
pausekey is disabled, the game can be paused and resumed using the commandbar.
When the game is paused, it will be shown in the navigation bar.
- Removed accelerator table from program, which has become obsolete and only
causes problems in the emulator (during development).
- Removed navigation keys from the commandbar, because it was horrible to
use.
v1.0 (beta 2)
- Use a semi-transparent background bitmap, which uses double buffering techniques.
- The shape`s building blocks have been updated and are better visible. The
shapes have now the same colors as the original Tetris.
- The game is paused, when another window is activated. It`s resumed when
the window is activated again.
- About box uses smoother building blocks.
- Fixed text problems in the commandbar.
- Improved scoring mechanism. You`re now awarded if you clear several rows
at once (1 row=10 points, 2 rows=20 points, 3 rows=40 points and 4 rows=80 points).
- It`s now possible to rotate the shape, even when it doesn`t fit at the top.
The invisible remainder just isn`t visible. I found that it made the game more
intuitive and better playable.
v1.0 (beta 1)
- Initial release for ARM, MIPS and SH3 processors.
- Based on Bubbles v1.0 (beta 3) sourcecode.
Balltrix 1.2
A dynamic tetris-like puzzle game in which you should eliminate balls of one
color.
Visit homepage of Balltrix
Tetris index
|