From OpenTTD
OpenTTD is currently available for a number of portable devices with small screens. Unfortunately most of those ports were forked from the SVN trunk. Thus they are hard to maintain and specific code, e.g. for small screens, is not being shared among those versions. The goal should be to merge the best of those versions into trunk in order to make them more similar and easier to update.
To accomplish this I'll start with listing all the ports in questions and I hope that some of the maintainers of the ports will contribute to this task.
|
System
|
Resolution
|
Input
|
Memory
|
CPU
|
Special information
|
Latest version
|
Link
|
|
GP2X
|
320 x 240
|
- Touchscreen
- Eight buttons
- Directional pad
- 2-way volume button
|
64 MB
|
200 MHz
|
|
0.5.3
|
gp2x wiki
|
|
iPhone / iPod Touch
|
480 x 320
|
Touchscreen
|
128 MB
|
620 MHz
|
|
0.6.0-beta2
|
zodTTD
|
|
Maemo (Nokia n800,n810 etc)
|
800 x 480
|
- Touchscreen
- Directional pad
- 2-way volume button
- Home, back, fullscreen and menu buttons
|
128 MB
|
400 MHz
|
|
r12346
|
tt-forums
|
|
Nintendo DS
|
256 x 384
|
- Touchscreen on lower screen
- Eight buttons
- Analog directional pad
|
4 MB
|
66 MHz
|
|
0.6.0-alpha4
|
Wiki page
|
|
Palm OS
|
320 x 320
|
- 4/5-way directional pad
- 4 buttons
|
min. 4 MB dynamic heap
|
400 MHz
|
The port emulates a virtual 640x480 screen
|
0.4.7?
|
eSoft Interactive website
|
|
Playstation Portable
|
480 x 272
|
- Eight buttons
- Digital directional pad
- Analog 'nub'
|
32 MB (PSP Fat), 64 MB (PSP Slim & Lite)
|
222-333 MHz
|
|
0.5.3
|
homepage
|
|
Pocket PC
|
320 x 240, 640*480
|
- Touch screen
- 5 Way directional pad
|
15 MB
|
200 MHz
|
|
0.6.0-beta2
|
eSoft Interactive website
|
|
Symbian S60v3
|
240 x 320
|
- Joystick/directional pad (4 or 8 directions)
- 3 soft keys (fixed position)
- 12 main keys (fixed position)
- "C" and "pen" keys (variable position)
- 2 volume keys (on the side)
|
< 20MB
|
220 MHz
|
|
0.6.0-beta5
|
tt-forums
|
|
UIQ3
|
240 x 320
|
|
|
|
|
|
mySymbian forums
|
|
Zaurus SL-C760 PDA
|
640 x 480
|
|
|
|
|
0.3.2.1
|
Zaurus Software Index
|
Note: Only the minimum system specifications are listed if there are several devices with e.g. different resolutions.
[edit] Summary
The minimum system specifications where the portable device version should be running on are the following:
- Width: 240 pixels
- equals a 16 pixel high toolbar with 15 icons
- Height: 240 pixels
- with 16 pixels for the toolbar and 12 pixels for the status bar this only leaves a 212 pixel high screen area.
- Memory: 4 MB
- on some systems (e.g. NDS) the game binary goes into RAM as well which only leaves a bit more than 2 MB of RAM
- for comparison: a 512x512 map alone is 2.25 MB big
- CPU: 66 MHz
- Input: touchscreen only
[edit] Features required for portable devices
| Feature | Assigned to | Status | Remarks
|
| Smaller and more flexible toolbar
| Dominik (Nintendo DS port)
| In progress
|
- r12398 separated the toolbar code, paving the road to more toolbar patches.
- The DS version will have two 16 pixel high toolbars. Each will have 16 buttons (16x16 pixels), one of them is for switching between those toolbars.
- A patch for splitting the toolbar NDS style is waiting for trunk inclusion (here)
- An icon to switch toolbars is here
- Screenshot: 16px-toolbar on the lower screen of a Nintendo DS
|
| Touch-scrolling
| Illogict (Maemo port)
| In progress
|
|
| Better scalable windows / small gui versions
|
| Unclaimed
|
- some windows have already been resized in the DS port (upcoming Alpha 6)
|
| On screen keyboard
| Dominik (Nintendo DS port)
| Finished
|
- In trunk since r12425
- The OSK has 50 character keys, one backspace key, one shift key, one caps lock key, a space bar, two arrow buttons and a special key which can be mapped to device-specific functions.
- The keyboard layout is determined by the selected language; additionally users can specify custom key layouts in the config file
- A total of 100 different characters per language can be entered with the Osk
|
| Text recognition
|
| Unclaimed
|
|
| Draw railroads
|
| Unclaimed
|
|
| Better responsiveness
| wolf (S60v3 port)
| In progress
|
- There are some actions that are blocking the game (exiting from newgrf window, loading a game, taking a giant screenshot...) for a prolonged periods of time. It would be nice to put these actions to a separate thread, or at least change the mouse cursor to "Zzzz".
- Game startup time can be very long, especially if newgrfs are used. User should see that the game is loading. Ideal would be a "progress bar".
- Nintendo DS port has splash image, but it's tailored to the device's resolution and uses copyrighted graphics and non-translatable text.
- Symbian OS port has resolution independant centered splash (OpenTTD's logo), but it looks bad when displayed using TTD's palette. Dithering doesn't look particularly good there and it destroys the niceness of splash when using 32 bpp blitter.
|
| Change data directory in config file
|
| Unclaimed
|
- Sometimes it is not possible to compile the path to the data files into the binary. Then it should be possible to change the data path through the config file. Currently this is not possible because the config file is parsed after some game data was already loaded.
- The Nintendo DS port has a workaround for this. It checks the config file first it a data path was specified and later parses it.
|
| Defineable controls
|
| Unclaimed
|
- Various devices have different keyboard layouts, so it would be nice to allow user to set the keys the way he likes.
- GUI would be nice.
- Symbian devices support landscape and portrait orientations. Different keybindings should be possible for the two modes.
|