DoomGLES for Android

Available on Google Play Available on Amazon Appstore
News Reviews Datas Conversion Compatibility ScreenshotsControlsMultiplayerOptionsFAQSupportLinks



DoomGLES is the classical Doom(GL) ported to OpenGLES on Android.
You are a space marine who fight hordes of Demons on Mars bases, Earth and Hell !

It supports:
- Hires resolutions (on tablets or highend phones)
- Realtime dynamic lighting
- Particles effects
- 3D Monsters and objects (MD2)
- Blood projections
- Realistic water effect
- Glow
- Lens flares
- Sun's GodRays
- Realtime Shadows
- MOGA controller support. (Moga is available at major US retailers and online at
- Xperia Play gamepad buttons (analog sticks not supported, probably later)
- Keyboard support (USB, bluetooth, embedded)
- Buttons mapping (Xperia Play / Shield / Moga / USB GamePads / Keyboard)
- Android TV support: A gamepad is highly recommended, without it you could run the app, but not really enjoy it because of the lack of buttons.

Also for the purists who want the original experience, there is an option to unfilter the textures (for big pixels lovers).

D-GLES comes with Freedoom and Requiem megawad.
If you own commercial games (Ultimate Doom, Doom 2, TNT or Plutonia), copy the wad files in your device at this location: /sdcard/Kokak/DoomGLES/
You can find Doom Shareware here (it contains "doom1.wad").

Starting with V1.3, OpenGL textures are automatically generated (ETC format) and the music is directly played from the wad in MIDI format.
Most of the textures are generated at the first level you launch. Depending on your device it may take a while (it hasn't crashed, please be patient). Also, as this conversion is very time consuming, the textures are in medium quality.
If you wish, in the data packs below, you can find pre-computed high quality textures for your GPU. It will launch faster, will be better quality, but will use some flash memory space on your device.
In those packs, there are also converted musics, if you don't like the MIDI rendering (lot of memory space too).

Here the size of the downloaded data (OpenGL and converted music):
Doom shareware + common datas: ~40MB
Ultimate Doom datas: ~100MB
Doom 2 datas: ~185MB
Plutonia datas: ~80MB
TNT datas: ~70MB

Preconverted data are here.

On the launch window you can choose various options, you can also add classic doom command line parameters (like "-warp episode map").

To use a custom PWAD, copy it to your device in /sdcard/Kokak/DoomGLES/, copy converted datas in the same folder, and add on the command line "-file wadname.wad"
To convert PWAD datas, see "How to convert datas to OpenGLES"

Planned features for next releases:
- Installation of datas on "real" SDCard (ExtSdCrad)
- Touch interface edition
- Better network support
- More nice graphics effects
- XPeria Play touch pads support


What's new:

30 March 2015
D-GLES V1.3.3 is now available on Android TV.



24 January 2015
D-GLES is back online on Google Play Store !
Yesterday, Google finally replied they reinstated the apps (D-GLES and its tech demo). I had updated them and published them today.

10 January 2015
Doom-GLES has been removed from the Google Play Store in mid-november, following the trademark complaint from Zenimax.
According to the email from Google, it will only been republished if Zenimax contacts Google to tell them they agree with that.
I have been in contact with Zenimax brand protection team to solve the issue. The main complaint was the presence of the shareware wad in the app. The shareware wad is not distibutable outside of the shareware package (the original zîp containing everything), despite an email from John Carmack from 1999, telling the opposite (see here)
After one month of discusions, we agreed to release an updated version replacing the shareware wad by a freedoom wad + a megawad. I've decided also to keep the new app name and icon, and change all the screenshots to avoid future complaints.
Zenimax reviewed the new app description and all the assets. Then, they emailed Google to tell them they are not opposed anymore to the publication of my app.
And then... Nothing... Google never reinstated the apps. I've contacted them many times using the same email address ( Not a single reply.
I've also tried to use the useless forms from the dev website (the only way to contact them). Automatic systems send back useless replies almost immediately (in substance: "we reviewed your request and won't reinstate your app, to know why refer to the original email").
So I decided to create a new app following what we agree with Zenimax. When I published the alpha version, only visible by me, it has been immediately suppressed by a Google bot for "IP infringement". Probably my account is monitored by their bots and if I post anything close to Doom, it will be shutted down automatically.

So now, what to do ?
The Amazon appstore release has been updated. Every Android device can run the Amazon Appstore. DoomGLES is there since 2012. It performs really bad (30x less sales than on the Play Store). Maybe because there are too many bad reviews. So if you bought it from there and like it, please don't hesitate to write a nice review.
I will also update the other targets on which DoomGLES has been released (removing the shareware, etc.)
13 November 2014 (V1.2.1)
- Added support for x86 CPUs
- Weapon display code rewritten (was invisible on ultra HD screens)
- Changed the app icon and app name (due to a trademark complaint)

22 October 2014 (V1.2)
- Added Glow
- Added Lensflares
- Added Sun's GodRays
- Added realtime shadows
- Added unfiltered textures support
- Added anamorphic lensflares
- Added fresnel & specular in water effect
- Most graphical options now available ingame
16 February 2014
- Added first version of multiplayer network support (up to 4 players)
- Disappearing sprites bug fixed
- Multiple textures bugs fixed (some datas need to be remplaced or recomputed)
- Potential random crash fixed.
5 October 2013
- Added virtual keyboard support (for cheats & savegames)
- Potential bugs fixed (stencil & data downloading)
- Berserk bug fixed (it lasts until the end of the level, like in the original game)
- Autodetect gamepads (Moga, Shield, USB, ...). If you have a gamepad connected it switches automatically to full controller mode (remove the touch interface).
25 March 2013
- Black screen if you tap out the launch window fixed
- Black screen when selected "Continue Game" with no savegame fixed
- CFG file not created first time you launch the game fixed.
- New server hosting the datas (hopefully faster and more stable with DownloadManager...)
- Added support for Moga Pro controller
- Potential crashes in lighting code fixed
9 March 2013
- Added patchs for TNT map21 (see FAQ)
1 March 2013
- Added patchs for TNT map02 & Plutonia Map21 (see FAQ)
11 October 2012
- Added support for MOGA controller.
- Added support for the 2 landscapes orientations.
End August 2012
- Added "Mouse look while firing" option
- Stop tips window on launch (prevent useless data usage)
- Random turnover fixed (touch interface) -> some reports say it may still happen
- Tegra 2D sprites artifacts fixed (DXT5 compression support)
- Added new "no mouse look" mode (works like mouse look without the vertical movement)
19 July 2012
- Smaller datas (apk & downloadables). They take 40% less space on the SDCard.
- Launch window always displayed ("Continue Game" option added)
- Weapon offset for very low resolution screens fixed (320x240)
23 June 2012
- No "Always run" button option
- Added "Run" & "Strafe" keys for physical devices
- Added Dual Stick mode option (instead of "Mouse look")
- Added option for swapping strafe & rotate (Turnbar or Dual Stick modes)
- Buttons can't be remapped if no physical device (to prevent breaking touch interface)
- Doom2 end of MAP06 dead end bug fixed (wrong touch interface)
- Interface transparency can be fully transparent (using the existing "Transparency" icon)
9 June 2012
HereticGLES for Android V1.0 has been released

22 May 2012
- After an alarm event, the game can be unpaused by displaying the main menu ("pause" icon)
- Xperia Play game Launcher support.
- Doom 2 crashes fixed (map > 9)
- Full light bug fixed
- Save music volume bug fixed
23 April 2012
- Added support for ARMv6 CPUs. If the game is too slow, please set some options to off (water, particles, 3D Monsters...)
- Added support for OS interruptions (Home or back button, incoming phone calls, etc.) Now the game should be restored when you restart it.

16 April 2012
- FPS weapon offset fix for small sized screens.

14 April 2012
- Minor touch interface tweaks (bigger fire button + more distant from Use & Speed buttons).
- Fixed no Menus / Interface bug on some firmwares (for PowerVR GPU)

10 April 2012
- Added hardware keyboard support.
- Added Gamepad support (analog sticks support on Android >= 3.1)
- Added keys mapping & movement stick mapping (for analog gamepad sticks). Use the new ingame "Controls" menu.

05 April 2012
- Touch Interface during menu is now stable (not a mix of menu & ingame interface) + transparency forced to be visible on all screens.
- Minor bugs in lighting code fixed
- Missing lump loaded in RGBA texture (fixes the E1M8 final boss crash in shareware version)
- Next/Prev weapon switche on xperia play fixed (select/start keys).

25 March 2012
Shareware & common Datas are now in the APK. So now there is no more download the first time you launch the game. No more stress for the 15 minutes refund delay :)
1.05 (and before versions) users, you can delete the /sdcard/DoomGLES/OpenGLES2/doom1/, /sdcard/DoomGLES/OpenGLES2/md2/ & /sdcard/DoomGLES/OpenGLES2/MP3/ folders to free some sdcard space.
Added some sdcard space checks before downloading the datas for full games (ultimate Doom, Doom 2 & Final Doom)

17 March 2012
Thanks to all users for supporting DoomGLES. If you like it, please think about adding a good rating/review on Google Play.
- Game should be completely killed when you quit it (no more crash at launch when you restart it).
Some controls options suggested by users:
- Invert look up/down.
- Removed "mouse look", replaced by a turn bar on the right of the screen.
- For Xperia Play: Support for previous weapon / next weapon on "Select" / "Start" buttons (need to be tested, report me if it doesn't work)
- For Xperia Play: Option to remove touch interface (excepted the weapons, it will be removed when the previous option will be validated)
- For Xperia Play: I have few reports of left/right DPad buttons being inversed. An option to fix that has been added (please report if it works). Button mapping will be added later.

10 March 2012
- Another player weapon offset on some phones fixed.
- XPeria Play controls: Back & Circle buttons work + volume control works also.
- Added support for Plutonia & TNT: As for Doom & Doom 2, first copy the official wad in your /sdcard/Kokak/DoomGLES folder on your device. Then, the OpenGLES datas will be downloaded.
- Added support for PWAD (custom wads made by the community): See "How to convert datas to OpenGLES"
- Added Google Play Licensing

3 March 2012
- Player weapon on the middle of the screen on some phones fixed.
- Added support for XPeria Play controls:
+ D-PAD: move forward / backward + turn left/right
+ L1 / R1: Strafe Left / Right
+ Menu button shows / hides menu
+ X button select menu item or Fire ingame.
+ Square button : use button (to open doors, use switch ingame)
+ Triangle button : toggle speed button.
Back and Circle buttons close the game. Need to be fixed.
Touchpad not supported right now. Maybe later.

- Added support for brightness correction & interface transparency (press on the arrow on the player face ingame to display these options)
- Clipping issue fixed
- Head targeting fixed (head move up and down instead of moving forward / backward)
- More robust datas download process (doesn't launch the download twice if the player has left the game during download)
If you have problem with download, please contact me, I will send you a link to install datas manually.

February 2012
DoomGLES for Android first release



"If you like fighting game, you must love this one. Everything of the game works so smoothly and well, so just join in the perfect fighting game Doom GLES for Android right now!"
Read more: review

"this port will keep you on for hours, and then get you some more time of nice shooting. The graphics give some new life to the legend"
Read mode: Droid Gamers review

"After trying a few ports that are available, none compare to that of DoomGLES. With added 3D effects, visuals and warmer lighing, this is by far the best port available for Android."
Read more: Droid Life review

"The enhancements for newer graphics look ace. The games flow incredibly well and without glitches too. The Xperia PLAY optimisation is brilliant and any of your retro gamers out there with a PLAY will love it."
Read more: Xperia Gamer review


How to convert Datas to OpenGLES

Download DoomGLES data convertor for Windows
DGLES2Convert converts Doom datas to OpenGLES (2.0) compatible ones. You need Microsoft .NET framework 2.0 installed on your PC.

Unzip the archive in a folder on your hardrive.
Copy Doom IWAD & PWADS you wish to convert in this folder.
To convert the maps, open a command line window or create a .bat file containing the commands (or edit the provided test.bat file):

Doom 1 : DGLES2Convert -iwad "iwad_name".wad [-file "pwad_name".wad] -warp "episode" "map" -"texture_option"
Doom 2, Plutonia, TNT : DGLES2Convert -iwad "iwad_name".wad [-file "pwad_name".wad] -warp "map" -"texture_option"
Note that the -file parameter is optionnal (used for PWAD conversion)

In OpenGLES2 folder, a subfolder with the name of the WAD will be created. Copy this subfolder to your Android Device in /sdcard/Kokak/DoomGLES/OpenGLES2, and launch DoomGLES choosing the correct IWAD & PWAD.

Example: DGLES2Convert -iwad doom.wad -file myCustomWad.wad -warp 1 1 -atc
Will convert the map 1 from episode 1 of the PWAD myCustomWad.wad for Ultimate Doom, for Adreno GPU.

You will need to know the GPU of your device in order to choose the correct texture option.
!!! If you bought the app from Amazon Appstore, always choose "-etc1" !!!
Tegra device: -goforce
Adreno device: -atc
Other devices: -etc1

If you don't know your GPU, search for your device specifications on for example.

For more informations, please read the DGLES2Convert readme.txt file



DoomGLES should run on any OpenGLES 2.0 compatible Android device.



Trailer (gameplay video on 1280x800 tegra Android tablet)

New trailer (V1.2)

New trailer (V1.3)

New effects (Android V1.2+)

MD5 support (Doom 3 model format)



When the Doom Splash screen is displayed, press on the pause icon on the top-left corner. It will display the main menu. Navigate throught it with the arrows on the left. Validate with the green "check" button on the right.
In game:
Control the player movements with the virtual stick on the left part of the screen.
Control the player view by dragging one finger on the right part of the screen.
Use the cross button to fire.
Use the hand button to open doors or interact with switches.
Use the double-arrow button to toggle speed.
Use the numbers buttons to choose your weapon.
Use the world button to see the map.
Use the pause button to display the Doom Menu.
Press the arrow icons on the doom guy face to display brightness correction & interface transparency controls.


Controls mapping

From ingame "Controls" menu (in options menu) you can map any function to an hardware key (keyboard or Gamepad).
You can also choose which stick axis you will assign to a movement (Android >= 3.1 devices)



To launch a multiplayer game, you need to know each devices IP addresses.
TCP/IP game is cross-platform (Android, Blackberry, Gamestick, and any other future plateform).

You need to enter the following parameters in the command line editbox in the launch window.
Your IP address is displayed above the command line.
If you are connected via wifi, this will be your LAN IP address.

network command line parameters:
-net id host1 host2 ...
id: numeric id of this device (1-4)
host1 host2...: List of IP addresses of others devices.

Example for a 2 player game starting on Doom episode 1 mission 1:
Device 1 IP address =
Device 2 IP address =
Device 1 command line= -warp 1 1 -net 1
Device 2 command line= -net 2

If the network game is too slow. Try to lower the graphics options (especially on the weakest device). You could also try some command line parameters like -extratic or -dup.
See command line parameters here:
Please note, the multiplayer may not work correctly on some devices. For example, on Acer A500 (stock ROM), there are a lot of freezes for an unknown reason (issue in the wifi driver ?).

If you want to play through Internet, you will need your WAN IP address.
If you are connected in 3G (or 4G), the IP address in the launch window is your WAN IP. Please note the port 666 needs to be opened by your internet provider. You can change the port used by DoomGLES by using the -port command line. All clients need to use the same port.
If your are connected in wifi through a router, you will need to recover you WAN IP by visiting this site for example:
You will also need to forward the 666 port (UDP) on the LAN IP of your device. You need to do that on your wifi router.

In the future, the network multiplayer should use client/server with matchmaking.



Most graphics options can be changed ingame:

1- Select "More Options"

2- Select "Graphics"

In this page, you can choose to have coronas or anamorphic lens flares (or nothing), dynamic lighting, water quality (no effect, reflection effect, fresnel & specular (high), 3D Objects (MD2), particles & blood
3- Select "NEXT PAGE" to see more options

In this page, you can activate Glow, Lens flares, GodRays, Sun shadows & choose the number of lights casts shadows on a single model. You can also add dynamic ligthing & fire particles on lost souls monsters (flying skulls)
Most of the options of this page are set to off, because most of the devices at this current time will render them too slowly. It is up to you to choose which ones you want.

In the launch window, you can disable texture filtering (if you like big pixels). There are also some debug options:
"Fast Godrays": on most devices it must be set.
"Alternate Lens Flares (Debug)": On some devices (Mali 400 MP4) there is a strange random colorized rectangle in the center of the screen.
"Luminance Shadowmaps (Tegra 4)": Use luminance shadowmaps instead of RGB (supported only by some modern GPU, like Tegra 4)

Finally, for the most motivated, in /sdcard/Kokak/DoomGLES, there is the config file "doomgles.cfg". It is a text file. You can tweak postfx instensity from there:
"glowbrght" [0 - 6000]: Glow generation threshold
"LFIntensityAlone" [0 - 100]: Lens flares intensity when used without godrays
"GRIntensityAlone" [0 - 100]: Godrays intensity when used without lens flares
"LFIntensity" [0 - 100]: Lens flares intensity when used with godrays
"GRIntensity" [0 - 100]: Godrays intensity when used with lens flares



Q: "When I enter a level, it takes too much time" or "Texture quality is not that good" or "I don't like the quality of the music"

Starting with V1.3, textures are generated by the app at runtime, and music is played in MIDI format. If you wish, you can use precomputed data. It will use a lot of space on your flash memory.
You can compute yourself the data (see here) or download precomputed data below:

Depending of your phone GPU (search for your phone specs on, the GPU will be listed there):
If you downloaded the app from Amazon Appstore, always choose "Other GPUs" below.
(High resolutions textures packs will be available soon)

- Tegra GPU:
For Doom Shareware, download this
For Ultimate Doom, download Doom DDS data
For Doom 2, download Doom 2 DDS data
For Plutonia, download Plutonia DDS data
For TNT, download TNT DDS data

- Adreno GPU:
For Doom Shareware, download this
Download For Ultimate Doom, download Doom ATC data
For Doom 2, download Doom 2 ATC data
For Plutonia, download Plutonia ATC data
For TNT, download TNT ATC data

- Other GPUs
For Doom Shareware, download this
For Ultimate Doom, download Doom ETC data
For Doom 2, download Doom 2 ETC data
For Plutonia, download Plutonia ETC data
For TNT, download TNT ETC data

Unzip them in /sdcard/Kokak/DoomGLES/

Run the game.

Contact me if you need more assistance (mryssen"at"

Q: In some levels, some textures are wrongly displayed.

A: There were numerous conversion issues in walls textures. zip files above have been updated.
Please re-download them if needed.

Q: TNT MAP02, MAP21 & Plutonia MAP21 crash when I load them.

A: There were conversion issues on these 2 maps. zip files above have been updated.
You can download the patchs here:
Plutonia MAP21
Simply unzip them in /sdcard/Kokak/DoomGLES/OpenGLES2/TNT & /sdcard/Kokak/DoomGLES/OpenGLES2/Plutonia
Q: I first launched the game. I see splash screens cycling. How do I start the game ?

A: When the Doom Splash screen is displayed, press on the cross button on the bottom-right of the screen, or the pause icon on the top-left corner. It will display the main menu. Navigate throught it with the arrows on the left. Validate with the green "check" button on the right.
If the interface icons are barely visibles, please read next FAQ entry.

Q: The game is too dark, how can can change brightness ? I barely see the touch interface, how can I improve that ?

A: Press the arrow icons on the doom guy face to display brightness correction & interface transparency controls.

Q: I have a Galaxy S2, and the game crashes when the imp fires its fireball ?

A: I have reports from some GS2 users who experience this crash. It seems to be linked to the dynamic lighting & MD2 rendering. While this issue is sorted out, you can disable the dynamic lighting or 3D Monsters in the launch screen options.

Q: In Doom 2, I don't see the walls and floors, I and the ennemies are floating in the air.

A: You need Doom2 wad V1.9. Same thing for Doom the first, you also need Ultimate Doom V1.9

Q: Since I've upgraded to V1.08 (or greater version), the Xperia Play controls don't work anymore.

A: you can remap the gamepad buttons in the new "controls" menu inside the "Options" menu.
Or more simply, you can just delete the doomgles.cfg file in /sdcard/kokak/DoomGLES

Q: #@!!??!!, this is not the full games, I've paid for the full games !!!!

A: No, you paid for the engine port (months of work + support), not the data. Same thing when you buy an emulator, you pay for the emulator (= the engine), not the games it emulates (= the data) which are commercial materials you need to own.
Also, the game description on Google Play Store clearly states that:
"D-GLES comes with Freedoom and Requiem megawad.
If you own commercial games (Ultimate Doom, Doom 2, TNT or Plutonia), copy the wad files in your device at this location: /sdcard/Kokak/DoomGLES/

Q: On my Asus Transformer Prime, the keyboard is not working.

A: The default keyboard is set to "asus keyboard". Switching to "android keyboard" makes it work in DoomGLES. (thanks to Paul for the solution)

Q: On my Alcatel One Touch 918, sometimes I can see through walls. (maybe this bug is present on other PowerVR based devices ?)

A: This is due to blood decals. It seems there is some sort of issue with stencil / depth buffer in the OpenGLES driver... As a workaround, I wrote an alternate code for blood projections.
Check "Alternate Blood (Debug)" in the launch window (or disable the blood on this same window)



If you want to support DoomGLES development (and any future dev), please:
- Buy it on Google Play (or any other market it is present)
- Give it a 5 star rating + positive comments. Tweet about it and/or click the Google +1 button on the market page. Click "I like" on the youtube trailer.
- Tell about it to your friends
- Think about buying my other games.
- If you want to donate, you can do it by PayPal:




email : mryssen"at"
id the creators of Doom.
Original DoomGL site.

Best Android Apps

Android Shock: Android games reviews.

Back to my homepage

eXTReMe Tracker