CDDA is unplayable in base configuration on small screens because resolution is not optimised. I have found this “small” guide on Reddit, it really helped, I did not have any problems with fonts though. It is for Android, but I bet terminal size can be changed on IOS too.
Cataclysm DDA on Android: an in-depth tweaking guide [Guide]
I see from the recent posts that a lot of people play Cataclysm on their phones and either use the default settings where barely anything fits the screen, or they figured out how to change the terminal size and they ruin their eyes looking at the tiny and blurry text. So, I decided to write this short and quick guide. CDDA can be highly playable on Android, but you’ll need to do some tweaking to make it reach this state.
BeforeAfter
(View at 100% zoom)
Initial setup
You can get the game from Google Play, the versions by ClaverRaven, or from the GuitHub, where the latest builds are always available. I recommend the GitHub, because Google Play will auto-update your game and may break your mods, saves and configs. The stable version is more stable and the experimental version has more !!!FUN!!!™, and more of it is added daily.
There’s an options window that appears only once when you launch the game for the first time, so you have only one chance to change anything in it. If anyone knows how to make this window appear again without reinstalling the game, or deleting the game data, please tell me.
In that window, there are 3 options, the first one is software rendering. Keep it off unless you have some issues with rendering.
The second is Fullscreen. Tick this one, because we’ll need all the screen real estate there is. Besides, having the phone’s top bar visible all the time will make further tweaking more difficult, because you’ll need to figure it out its width in pixels. In the fullscreen mode, you can make the top bar visible by swiping down from the top of the screen. So, this should be on, ok?
Just leave the third checkbox ticked.
Also make sure to read the short help message available there, it contains some useful hints about the controls.
The font
Before we do anything else, we need to fix a bug related to fonts present in all the android versions. The android version seems to ignore the fonts configuration file.
There are two fonts bundled with the game: Terminus, which is a decent moonscape raster font, and Unifont, a vector-based fallback font. Due to a bug, android version will use Unifont everywhere instead of Terminus, even though the config file says that Terminus should take precedence. The main advantage of Terminus, is that it has custom hand-crafted raster glyphs for various font sizes, they are made by a human artist pixel by pixel, and will always look good at those sizes. Unifont, on the other hand, is a vector font. In order to be used, it needs to be rasterized by the phone. In simple terms, it needs to convert it from math to pixels, and it fails miserably doing it. Unifont looks god-awful at any size due to bad rasterization. In fact, it can look kinda okayish, maybe, if blurry, if some sort of font anti-aliasing is introduced. However, anti-aliasing (Options → Graphics → Font Blending) is completely broken on Android. If enabled, for some unfathomable reason, it will switch the font to Terminus, but it will make Terminus look ugly too.
To illustrate, here’s a comparison of Terminus (left) and Unifont at size 24 without anti-aliasing:
Imgur
Compare I, J, R, T, to see the rasterizations issues. Horizontal lines randomly switch from being 2 pixel thick to one pixel thick.
Ok, so what do we do about it? We eliminate Unifont entirely and replace it with Terminus, Indiana Jones style. In the android/data/com.cleverraven.cataclysmdda.experimental/files/data/font folder you’ll see terminus.tff and unifont.ttf. Delete or rename unifont.ttf. Duplicate terminus.ttf and rename the copy to unifont.ttf.
Note that since Android 10, many file managers can’t access the android/data folder for bullshit security reasons. I use Solid Explorer, but it’s wonky at best, constantly asking for permissions. The default MIUI file manager can do it, I heard that Total Commander can access it as well. Google it if you have any troubles. Regardless, root access should not be necessary to do it.
Resolution, terminal size, bottom bar and math
You may have noticed that when you launch the game for the first time, everything looks hella huge. The sidebar takes two thirds of the screen, and still most of the info doesn’t fit, the font is abominable and the tileset looks chewed up.
This happens because by default the game is rendered at the 640x384 resolution, and then upscaled to fit your phone’s screen (The first DLSS game on android, baby!). To make it look good, we need to make it pixel perfect, meaning we need to make it so it renders at your phone or tablet’s native resolution.
The rendering resolution is governed by the Graphics –> Terminal Width and Height settings, as well as the font size. The formula is terminal width or height multiplied by font width or height.
So the first step, is figuring out your screen resolution, if you don’t know, you can easily find this info by googling your phone model. If you have some extra stuff on your screen, such as a nav bar or the android’s top bar (if you didn’t enable the full screen mode), you’ll have to take that into account, and subtract them from the screen resolution. You’re on your own here, I suggest taking a screenshot and counting the pixels. So, for example, if you have a nav bar 100 pixels wide, that leaves CDDA with 980 pixels to work with, and you’ll use this modified number for the calculations.
My screen resolution is 1080x2400. We need to calculate the terminal height by dividing the smaller number by the default font size, which is 16.
1080/16 = 67.5
So, we aren’t getting an integer here, which is not great, because terminal height can only be integer.
Here, the bottom shortcut bar will come to our aid. We can use it to modify the vertical resolution. In order to do so, go to Options – Android – Shortcuts Overlap Screen and set it to false. We need to do this anyway because It can be frustrating when the shortcuts overlap some information in the game. The size of the bar is governed by the Shortcut height parameter. In order to find the optimal size, we need to do a little math. A good starting point is about 100 pixels, so we subtract it from our screen resolution: 1080-100=980, and then divide the result by the font size, to figure out if it would give us an integer: 960/16 = 61.25. It still doesn’t, so we take the extra 0.25 and multiply it by the font size: 0.25x16= 4. We add the result to the shortcut height: 100 + 4 = 104.
There we have it. Our perfect shortcut height is 104 and terminal height is 61. Let’s set it up. When adjusting the terminal height, there’s an automatic calculator at the top of the options window that will show you the window size in pixels. Keep in mind, that it will show you the correct value only if you didn’t change the font size since you last restarted the game. But more on that later.
And what about the width? You can calculate it as well, or you can just eyeball it using the white border that appears when you press left or right with terminal width or height highlighted, just make sure to set up the correct height first. You can adjust it so that the selfie camera doesn’t get in the way, if it’s a problem for you. If the white box starts shrinking vertically, you’ve set the width way too high.
Save and restart the game.
After you restart the game, if you set everything up properly, you should immediately notice that everything became CRISP, but also, unless you have a tablet with a big screen, or low dpi, the font now is too small to be readable without straining your eyes. Everything in the main play area may look tiny too, but you can adjust the zoom either by pressing z/Z, or just pinching with two fingers. Changing the font size is a little less straightforward.
Configuring the font size
You have to set 3 parameters in the Graphics options: font width, height and size. Size equals height. Assuming you did everything in the Font section of the guide and changed the font to Terminus, you have several font sizes with hand-drawn glyphs to choose from: 12x6, 14x8, 16x8, 18x10, 20x10, 22x11, 24x12, 28x14 and 32x16. Choose one of these sizes and the font should look perfect. For me, 24x12 is the sweet spot.
When choosing the right font size, the things to consider are readability vs how everything fits the sidebar and other game elements, such as the vehicle construction screen. Some trial and error may be in
Don’t restart the game just yet, because every time after setting a new font size, you’ll have to adjust your terminal and shortcut bar sizes accordingly. Failing to do it will make the text totally unreadable and you’ll have to either reinstall/wipe the game, or manually edit the config file.
Let’s say you’ve changed the font size from 16 to 24. You’ll need to substract the current shortcut bar size (and nav/top bar size, if you have them) from the vertical screen resolution and then divide the result by the font size: 1080 – 104 = 976 / 24 = 40.666(6).
Again, it’s not an integer, so we have to adjust the shortcut bar size again. Stay with me, please. The excess, 0.6 is two thirds of a tile that doesn’t fit the terminal with the current shortcut bar size. So, to fix it, we either need to reduce the shortcut bar size by 1/3 of the font size, getting an extra tile to the terminal height, or increase it by 2/3 of the font size, to get rid of the excess:
24/3 = 8. 104 – 8 = 96. The terminal height is 41.
OR
24/3*2 = 16. 104 + 16 = 120. The terminal height is 40.
So, set your shortcut bar size, terminal height, don’t forget to decrease your terminal width accordingly until the white border completely fills the screen vertically.
Restart the game and see if you like it better now.
Check the overmap and increase its size accordingly if you’re not using overmap tiles.
Installing mods, tilesets, sound packs
The process is pretty much the same as on the pc. Your root folder is
android/data/com.cleverraven.cataclysmdda.experimental/files/
That’s where your executable file would be if it were on PC.
As I mentioned in the Font section:
Note that since Android 10, many file managers can’t access the android/data folder for bullshit security reasons. I use Solid Explorer, but it’s wonky at best, constantly asking for permissions. The default MIUI file manager can do it, I heard that Total commander can access it as well. Google it if you have any troubles. Regardless, root access should not be necessary to do it.
Other things you can do
- Customize your sidebar pressing }, make sure you have enough lines of the log visible, at least 4 is ok.
- Remember that you can toggle the mini map with N if it takes up too much of the sidebar.
- Set the pixel map mode to solid for better readability.
- Set the memory map overlay preset to BlueDark, because it just looks better.
- Get the Hacker Keyboard, because it makes the special symbols more easily accessible.
- Don’t be shy about remapping the keyboard shortcuts, because you’re not confined by the physical keyboard. The vi-keys (y u h j k l b n) are quite useless on Android and available for remapping something on them.
- Customize the default shortcuts on your shortcut bar in the Android section of the settings.
- Remember that you can have a separate set of shortcuts for your base if you mark it as a no auto-pickup zone.
- If you’re a new player, make sure to figure out the zones and auto-sorting ASAP. They’re the biggest time savers.
- Make use of auto-travel and auto-driving (W on overmap to set destination).
If any of the devs are reading
If you could do something to make the tweaks I mentioned in this guide obsolete, it would certainly be a great step. Something like auto-adjusting the terminal size based on the screen resolution, the same way it happens on the PC, would certainly be awesome. Moving the game folder outside the Data folder would simplify modding immensely.
At the very least, I’m asking to look into the problem with the game ignoring the font config file, looks like a big fat bug to me.
This concludes my Ph.D. in Cataclysmology thesis, if anyone has any other tips on making the game more enjoyable on the phone, please make sure to share them in the comments.