Let’s talk about playing Half Life 2 on Android. If you are lucky enough to own an Nvidia Tegra device (such as the Shield) then you can completely ignore this tutorial because it doesn’t apply to you. Half Life 2 exists as an exclusive for Nvidia’s Shield device. Unfortunately, not everyone owns a device that is running the Tegra cpu. Luckily, using the app GlTools, you can emulate the Tegra graphics driver on your device.
This tutorial is very similar to my previous GlTools tutorial on how to play Portal on Android. Also, if you’re really old school and hipster, check out playing half life on android wear. Keep in mind, if you truly want to experience these games, buying an Nvidia Shield is the way to go. While I was able to get Half Life 2 booted on my Galaxy S6 and running smoothly, I still encountered a lot of texture decoding issues. Obviously you will need the Half Life 2 apk to do this. Unfortunately, you can’t really buy it from the Play Store unless you have a compatible device. So you will need to look for alternate sources.
What You Will Need:
Step 1: GLTools
Install GLTools from the Play Store. Within the app, select the second decoder (form the top) for the texture plugin and mark all the check boxes at the bottom. Hit install and your device will reboot.
Step 2: Configuring
If you haven’t already, install the Half Life 2 application. Then go to GLTools and select it from the app list. Make sure the following are checked:
- Enable Custom Settings
- Optimize GLSL Shaders
- Use Fake GPU/CPU
Then go to template, and select Tegra 4 Shield as the template. Finally, select all the emulation options at the bottom of the app.
Configuring the Controller
Here is where things can get a little tricky. To play the game, you need a controller. If you don’t have a controller, you can use GameKeyboard+ and use a virtual controller. You can find the instructions on my tutorial on Playing Portal on Android.
Now if you are using a USB/Bluetooth controller you are still going to run into a few issues. You need to remap your keys (Cross, Square, Circle, Triangle) to Xbox Style controls (A, Y, B, etc.). You can either do this by using Sixaxis or Game Keyboard+. Unfortunately, sixaxis was not working for me, so I had to reluctantly resort to Game Keyboard+. The app is very buggy and caused my phone to freeze multiple times, so avoid it if you can. However, I got it to work by connecting my controller and going through their simple 3 steps setup(Enabling Keyboard in settings and setting it as the default keyboard) and it worked fine. Just a warning, anytime you do anything that involves root within the app, things seems to hang.
tl;dr. Within Game Keyboard+ connect your USB controller, enabled the Game Keyboard in settings, set it as the default keyboard, and change the usuage mode to Joystick Emulation.
Step 3: Starting the Game
The first time you start Half Life, it will download about 2GB of extra content. Afterwards, you should be all set to play. On my Galaxy S6 runng Android Lollipop, the performance was smooth but there were a lot of mixing textures. Of course, YMMV.