Com.mobilerpgpack.phone
Doom, Wolfenstein RPG series, Doom64 EX+, PsyDoom, UZDoom, Perfect Dark, Arx Libertatis, FTEQW (quake 1, quake2, quake 3, hexen 2), Widelands, Vanilla-Conquer (C&C Tiberiawn Dawn and C&C Red Alert) Android ports
Install / Use
/learn @sandstranger/Com.mobilerpgpack.phoneREADME
Unofficial ports of Doom 1,2, Wolfenstein RPG, Doom64 EX Plus, PsyDoom, UZDoom, Perfect Dark, Arx Libertatis, FTEQW, Widelands, Vanilla-Conquer for Android
This is an Android ports of Doom 1,2, Wolfenstein RPG, Doom64 EX Plus, PsyDoom, UZDoom, Perfect Dark, Arx Libertatis, FTEQW, Widelands, Vanilla-Conquer, projects found here:
https://github.com/Erick194/DoomRPG-RE
https://github.com/Erick194/DoomIIRPG-RE
https://github.com/Erick194/WolfensteinRPG-RE
https://github.com/atsb/Doom64EX-Plus/
https://github.com/Styd051/DOOM64-EX-Plus-Enhanced
https://github.com/BodbDearg/PsyDoom
https://github.com/UZDoom/UZDoom
https://github.com/fgsfdsfgs/perfect_dark
https://github.com/arx/ArxLibertatis
https://github.com/fte-team/fteqw
https://github.com/widelands/widelands
https://github.com/TheAssemblyArmada/Vanilla-Conquer
System Requirements
This port for Android has the following system requirements:
Minimum
- Operating system: Android 7.0 or later
- Graphics: videocard, which supports GLES 2.0 render
- Memory: 1GB system RAM
Recommended
- Operating system: Android 12 or later (I tested it mostly on my phone with Android 12)
Graphics
These source ports supported OpenGL ES 3.0 render with NG-GL4ES.
If your device is not supported OPenGL ES 3.0 render or you have graphics issues like black screen, then use binary
with OpenGL ES 2.0 render
Angle
At latest release all these source ports except (Doom1RPG and Vanilla-Conquer) started to support Vulkan render with Angle help. Angle support requries minimum Android 8 and vulkan 1.0 (1.1) support. On mtk it will be better to emulate gles 2.0 render with angle for better fps
Controllers Support
This Android ports support controllers
On-Screen Controls and physical controllers cannot be used together. Most legacy engines support only one gamepad.
On-screen controls already emulate an Xbox controller for player movement. Disable on-screen controls if you want real controller support.
Doom RPG Default Controllers controls
| Action | Button | | --------------- | ------------- | | Move Forward | D-pad up | | Move Backward | D-pad down | | Turn Left | D-pad left | | Turn Right | D-pad right | | Attack/Talk/Use | A | | Next Weapon | Right trigger | | Prev Weapon | Left trigger | | Pass Turn | X | | Automap | Select | | Menu Open/Back | Start |
Doom 2 RPG Default Controllers controls
| Action | Button | | --------------- | ------------- | | Move Forward | D-pad up | | Move Backward | D-pad down | | Turn Left | D-pad left | | Turn Right | D-pad right | | Attack/Talk/Use | A | | Next Weapon | Right trigger | | Prev Weapon | Left trigger | | Pass Turn | X | | Automap | Select | | Menu Open/Back | Start | | Menu Open/Back | Start | | Items Info | Left shoulder | | Drinks | Right shoulder | | Pda | B | | Bot Dis | Y |
Wolfenstein RPG Default Controllers controls
| Action | Button | | --------------- | ------------- | | Move Forward | D-pad up | | Move Backward | D-pad down | | Turn Left | D-pad left | | Turn Right | D-pad right | | Attack/Talk/Use | A | | Next Weapon | Right trigger | | Prev Weapon | Left trigger | | Pass Turn | X | | Automap | Select | | Menu Open/Back | Start | | Menu Open/Back | Start | | Items Info | Left shoulder | | Syringes | Right shoulder | | Journal | Y |
Translation
This launcher supporting Doom RPG series machine translation to many languages by local AI directly on Android device via CTranslate2 API.
Doom64
For running Doom 64 EX Plus - get Doom 64 remaster from STEAM
https://store.steampowered.com/app/1148590/DOOM_64/
Mods can be used from this Doom64 discord server - https://discord.com/invite/doom-64-593915163896315905
PsyDoom
For running PsyDoom - Get Doom PSX disc with cue as described here https://github.com/BodbDearg/PsyDoom?tab=readme-ov-file#running-the-game
PsyDoom requires vulkan 1.0 render suppport.
If your device does not support vulkan render, then use legacy opengl es render
UZDoom
For running Uzdoom follow gzdoom docs - https://zdoom.org/w/index.php?title=Main_Page
Uzdoom engine has rendering issues at all mobile gpu vendors, except adreno.
Do not expect working vulkan render and OpenGL emulation at gpu vendors except adreno.
At mobile vendors - like mali or powevr use GLES 2.0 or GLES 3.x render.
This project contains code from GZDoom android port (https://github.com/emileb/gzdoom),
which is licensed under GPL v3. All modifications are clearly marked in commit history.
And using render changes (like OGL emulation, gles render and some bugfixes for Android platform)
credits for Android render changes and Android bugfixes to emileb - https://github.com/emileb
And contains code from glKarin GZDoom android port - https://github.com/glKarin/com.n0n3m4.diii4a
Gles 3.0 - Gles 3.2 native render support used from glKarin gzdoom port - https://github.com/glKarin/com.n0n3m4.diii4a
All credits for Gles 3.x native render support to glKarin - https://github.com/glKarin
This project is ALSO licensed under GPL v3.
Perfect Dark
For running perfect dark follow these docs - https://github.com/fgsfdsfgs/perfect_dark?tab=readme-ov-file#perfect-dark-port
All Rom binaries neeed to have .z64 or .Z64 file extensions. Otherwise, the game will not start.
For running perfect dark - your device need to support OPEN GL ES 3.0 render. Otherwise, the game will not start again.
This perfect dark port also supported legacy ARMV7 devices without any issues.
ArxLibertatis
This port is far superior in quality to the old Arx Libertatis port, which was the first I ever developed for Android
In particular, it is fully supports both GLES 3.2 and GLES 2.0 rendering, has more convenient controls, and it has full ArmV7 support.
It is also has a ton of other improvements.
For running this port follow these ArxLibertatis docs - https://wiki.arx-libertatis.org/Getting_the_game_data
This port uses code from the legacy Android openmw repository as a solution to not working changing brightness bug - https://github.com/xyzz/openmw-android
All credits for solution for not working changing brightness in Android Arx Libertatis to xyzz - https://github.com/xyzz
This port is using gamepads code implementation from ArxLibertatis nintendo switch port - https://github.com/fgsfdsfgs/ArxLibertatis
All credits for gamepads implementation in ArxLibertatis android port to fgsfdsfgs - https://github.com/fgsfdsfgs
FTEQW
For running FTEQW follow these docs - https://quakewiki.org/wiki/FTEQW_Wiki
FTEQW supports quake 1, quake 2, quake 3, hexen 2 and half life 1. However quake 2 and quake 3 support is nominal
This engine does not have quake 2 native support. Instead it - it is using this engine https://github.com/yquake2/yquake2
This engine loaded core yquake2 in runtime. You can play quake 2 single player campaign with this support. But Multiplayer will not work.
The same applies to Quake 3. Support for Quake 3 is purely nominal - therefore multiplayer does not work in it at all. You can only play with bots in the
single player, and even then it is unstable.
There is no support for Half Life 1 at all. It just doesn't work at all. That's why I didn't even include it in the launcher
quake 1 net code also unstable with a lot of bugs.
You can play quake1 , quake 2 and hexen 2 single player I think without major bugs.
Rendering support: This engine supports opengl and vulkan on desktop.
On mobiles - it is suppports gles 2.0, gles 3.0 and vulkan renders, because I fixed almost all vulkan renders bugs in this engine for mobiles,
so, it is working now even on mtk
However vulkan support in this engine architecturally inefficient. Rendering performance will be very low even on Adreno
Due to this - do not use it, use gles 2.0 or gles 3.0 render instead it even on adreno.
For audio - openal with oboe is using, instead of SDL2 with openSLES support.
This port of FTEQW contains code from glKarin's FTEQW Android port: https://github.com/glKarin/com.n0n3m4.diii4a
And also used some bugfixes from beloko FTEQW Android port: https://github.com/emileb/fteqw
All credits for FTEQW Android bugfixes go to glKarin: https://github.com/glKarin and to emileb - https://github.com/emileb
I used these bugfixes for this legacy engine because fixing bugs in this awful legacy engine from scratch provides no practical benefit.
I do not have time to fix legacy engine bugs from zero if fixes already exist.
All credits and licenses are properly acknowledged in this port. Any other ideas or issues are not my responsibility.
If you want to fix bugs in this engine from scratch yourself, feel free to fork the FTEQW source code and adapt it for Android.
Widelands
Widelands is a standalone RTS with its own assets. No third-party resources are required to run it on Android.
Supports GLES 2.0 and GLES 3.2 renders.
Works on ARMv7 devices.
Gamepads are not supported and will not be added.
Screen scaling and on-screen controls are implemented for mobile devices.
Multiplayer is dead in this RTS, only remote asset downloading and server connection were tested.
For more information, see the official wiki - https://www.widelands.org/wiki/Main%20Page/
Vanilla-Conquer
This engine supports the classic Command & Conquer games:
- Command & Conquer: Tiberian Dawn
- Command & Conquer: Red Alert
To run Tiberian Dawn, you need the original game resources.
Recommended source: https://forums.cncnet.org/topic/8821-cc-1-tiberian-dawn-installation
