Jomtris

To see more JOM Software applications, click here.  

Download: Jomtris Winter 2009 SIS (v1.60) 

 

 Download: Jomtris Xmas Edition SIS (v1.51) 

 

For more screenshots, please scroll down.

Installation Guidelines

SIS has to be installed on same disk drive as python interpreter 1.4.x: either both on Phone Memory or both on Memory Card.

I always use memory card for both PyS60 interpreter and these applications, never had a problem.

No Symbian Signing is needed, you can install SIS as-is.

Jomtris

Jomtris is a "tetris" style of casual game. You handle, drop and remove 4-tile pieces (tetrominoes) as long as possible - and that's it. One game session should take max 5-10 minutes.

The playing field is vertical 10x20 square field. There are seven different shaped pieces dropping down ever faster, which you have to arrange nicely at the bottom. All full rows are removed, to give you some more space to arrange even more pieces.

You can play either with joystick or keyboard or both at the same time 

Main Features

  •  You always get all seven different tetrominoes in a group, but in random order. This makes playing more predictable, you KNOW that the piece you're waiting for will arrive soon.
  • The more rows you remove at the same time, the more points you get. Four rows removed together gives three (3) times more points that 1 row removed four times.
  • Game gets faster every time you remove 10 rows. Then you also get more points per piece/row.
  • You can use devices having vertical screen (portrait), horizontal screen (landscape) or rotating screen.
  • You can pause game. When at pause, your phone uses less battery (screensaver support is activated). Game goes on pause also, when it's running at background.
  • Top-10 highscore and some settings.

Keyboard Usage

  • Joystick left - move piece left
  • Joystick right - move piece right
  • Joystick up - rotate piece (default direction)
  • Joystick down - soft drop
  • Select - hard drop
  • Key 1 - rotate piece counter-clockwise
  • Key 2 - rotate piece (default direction)
  • Key 3 - rotate piece clockwise
  • Key 4 - move piece left
  • Key 5 - hard drop
  • Key 6 - move piece right
  • Key 8 - soft drop
  • Key 0 - pause

How to Make Points

You get to next level after removing 10 rows. At each level the speed of pieces dropping increases.

  • One piece landed: 1 * level
  • Soft drop:  1 * level per dropped row
  • Hard drop: 5 * level per dropped row
  • One row removed: 100 * level
  • Two rows removed: 300 * level
  • Three rows removed: 600 * level
  • Four rows removed: 1200 * level 

Press

Version History

I started Jomtris late 2008, when I had flu and some fever. Wanted to check the old tetris.py sample, but it just kept crashing. So I started to debug, couldn't understand how it worked and did some minor renaming, reordering, optimizing etc. normal things that people do.

The big mistake happened, when I got rid of busy game loop and made things work by events. I should have gotten well first and then forget all about tetris! I really should have!

Version 1.60, 2009-01-19

  • New: Both Landscape and Portrait support
  • New: Screen rotation support: portrait <-> landscape
  • New: Pause game: press number zero
  • New: All seven diff pieces drop in random groups of 7
  • New: Settings game start level: faster w/more points
  • New: Winter 2008 edition with snowy background graphics
  • New: New application icon: reboot your phone after install
  • New: Game name visible on-screen :)
  • Fix: Time delay after hard-drop to make play easier
  • Fix: Remove row(s) with minor animation
  • Fix: Focus handling fixed
  • Fix: Top rows handling fixed at Game-Over
  • Fix: Pause game while looking at Highscore, Settings or About
  • Fix: Faster tile drawing
  • Tested with PyS60 1.4.4 and 1.4.5
  • Tested with E61i (S60 3.0 landscape screen), N96 (S60 3.2 portrait screen) and N82 (S60 3.1 screen rotation)

Version 1.51, 2008-12-30

  •  Fix: background graphics found with .pyc file
Version 1.50, 2008-12-18 (not released)
  •  New: Board grid to help playing
  • New: Transparent background image (major slowdown)
  • New: Soft drop (press 8 or down)
  • New: Game pauses while at background
  • New: Keep screen lights on, only while playing
  • New: Settings default user name
  • New: Settings default piece rotate direction
  • New: Tree graphics from www.clker.com (public domain royalty free clip art)
  • New: Info note "press any key"
  • Fix: High score is checked right after game ends
  • Fix: Highlight next piece to drop
  • Fix: Faster tile draw
  • Fix: More visible status titles and numbers
  • Fix: Top-10 high score
  • Fix: Piece drops normally during horizontal movement
  • Fix: Cannot move piece during or after hard drop

Version 1.20, release date 2008-12-05

  • BEWARE: hardcoded for portrait 240x320 screen, tested on N82 anf N96 with PyS60 1.4.4
  • New: drop animation
  • New: Top-20 high score
  • New: default user name "Jomtris"
  • New: press 1 to rotate anti-clockwise (left)
  • New: press 2 to rotate default direction
  • New: press 3 to rotate clockwise (right)
  • New: press 4 to move left
  • New: press 5 to drop (hard)
  • New: press 6 to move right
  • New: press 8 to drop (hard)
  • New: press Select key to drop (hard)
  • Fix: preview piece always in default orientation
  • Fix: drop piece always in default orientation
  • Fix: faster screen update

Version 1.10, release date 2008-12-03

  • New: preview next 3 pieces
  • New: count score, first draft
  • Fix: standard colors, see wikipedia:Tetris
  • Fix: piece drops from above board, one line at a time
  • Fix: piece starting orientation changed, see wikipedia:Tetris
  • Fix: piece rotates as high as possible
  • Fix: simplified piece handling

Version 1.00, release date 2008-11-26

  • First release, based on PyS60 1.1.3 "tetris.py" example
  • Tested with PyS60 1.4.4
  • Tested with N82 (S60 3.0 vertical screen)  and E61i (S60 3.1 horizontal screen)

Screenshots

 Version 1.60: Jomtris Winter 2009

Version 1.51 Jomtris Xmas Edition


Where is the Source Code

Source code is not made available.

There are people, who believe all software should be free. They don't listen to any excuses.

There are people, who believe software developers should be able to make a living. They don't listen to any excuses.

My excuse for those who listen:

I wish to make commercial PyS60 applications in near future, if such thing is possible. At some point I will release an application without source code, so might as well practise it now.

Nevertheless, please enjoy!