All Projects → daniele-rapagnani → alephone-android

daniele-rapagnani / alephone-android

Licence: GPL-3.0 license
Port of the AlephOne engine on Android

Programming Languages

C++
36643 projects - #6 most used programming language
SourcePawn
201 projects
HTML
75241 projects
c
50402 projects - #5 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to alephone-android

Team-Capture
Team-Capture - A multiplayer FPS game, inspired by games like Quake and TF2. Done in Unity
Stars: ✭ 81 (+170%)
Mutual labels:  fps, fps-shooter
AstroSmash
Port the AstroSmash game from Java ME (J2ME) MIDlet to Android OS using SurfaceView Canvas drawing.
Stars: ✭ 19 (-36.67%)
Mutual labels:  android-game, android-port
TFM
Tyler's Frame Machine is a simple, free, educational, and portable tool for testing, benchmarking, comparison, and demonstration. TFM supports OpenGL, DirectX 11, DirectX 12, Metal, and most importantly, Vulkan! https://tylemagne.github.io/TFM
Stars: ✭ 63 (+110%)
Mutual labels:  fps
Game-Assets-And-Resources
Free and paid game assets and game resources for 2D games, 3D games, mobile games, Steam games, Unity games, and other games.
Stars: ✭ 164 (+446.67%)
Mutual labels:  android-game
marathon-vault-plugin
Marathon plugin which injects Vault secrets via environment variables
Stars: ✭ 30 (+0%)
Mutual labels:  marathon
IDKwGL
WebGL 3D rendering framework w/ support for file loaders, multiple material types and basic AABB physics.
Stars: ✭ 15 (-50%)
Mutual labels:  fps
Unity-FPS-Counter
#NVJOB FPS Counter and Graph. Free Unity Asset.
Stars: ✭ 44 (+46.67%)
Mutual labels:  fps
marayarn
Marathon on yarn
Stars: ✭ 13 (-56.67%)
Mutual labels:  marathon
phaser-plugin-advanced-timing
Shows FPS, frame intervals, and performance info. Phaser 2/CE
Stars: ✭ 25 (-16.67%)
Mutual labels:  fps
15-puzzle
1️⃣ 5️⃣ Android game "15 puzzle"
Stars: ✭ 30 (+0%)
Mutual labels:  android-game
ofxRaycaster
Plane, 2D and 3D Ray objects for openFrameworks.It checks for the intersection of a ray with a segment, a sphere, a triangle, a plane, an ofPrimitive, an ofPolyline an with an ofMesh.
Stars: ✭ 54 (+80%)
Mutual labels:  raycasting
exengine
A C99 3D game engine
Stars: ✭ 487 (+1523.33%)
Mutual labels:  fps
marathon-appcop
Marathon applications law enforcement
Stars: ✭ 18 (-40%)
Mutual labels:  marathon
sdl2-raycast
SDL2 C++ raycasting engine with vertical movement, floor/ceiling texture mapping and sprites.
Stars: ✭ 80 (+166.67%)
Mutual labels:  raycasting
d2-checklist
Source for www.d2checklist.com, written in Angular and using the Bungie API
Stars: ✭ 82 (+173.33%)
Mutual labels:  bungie
flutterstein-3d
🔫 A 3D raycaster implemented in Flutter
Stars: ✭ 40 (+33.33%)
Mutual labels:  raycasting
marathon
Cross-platform test runner written for Android and iOS projects
Stars: ✭ 398 (+1226.67%)
Mutual labels:  marathon
ioq3
The ioquake3 community effort to continue supporting/developing id's Quake III Arena
Stars: ✭ 2,067 (+6790%)
Mutual labels:  fps
PerformanceAnalyzer
Under the iOS platform, the analyzer is a tool which statistics CPU, FPS, Memory, Loading-Time and provides the output of statistical data. And contain SQL execution time monitor base on FMDatabase and UI refresh in main thread monitor
Stars: ✭ 42 (+40%)
Mutual labels:  fps
levels-ranks-web
Adaptive WEB Interface for Levels Ranks statistics plugin
Stars: ✭ 124 (+313.33%)
Mutual labels:  fps

AlephOne for Android

What is this?

This is a port of the AlephOne engine to Android. Yes, this means you can now play the Marathon saga on your Android phone! 🤖 You can even play online!

How to run

Download the APK of the desired chapter from the releases page from your phone and install it. Your phone may complain about the APKs signature as it is not registered with the Google Play Store, simply ignore the warnings. Enjoy!

How to play

The game supports playing with a bluetooth keyboard and/or a bluetooth joystick (such as a PS4 controller). In both cases you can configure your input from the preferences screen.

If you want you can also play using touch controls. There are no on-screen controls for now, here's how they work:

AlephOne Android Touch Controls

You can find some options in the preferences to tune your touch experience by adjusting dead zones and the virtual stick size.

Scenarios

The game supports playing scenarios but you have to do a bit of work by following these instructions:

  • Place a file called AlephOneScenario.txt in the root of your phone's storage.
  • Place the scenario you want to play somewhere on your phone.
  • Write the path to the root folder of the scenario as the first line of AlephOneScenario.txt, such as /sdcard/Evil. If you are not sure what your path is, try /sdcard/Your Scenario Folder or /mnt/sdcard/Your Scenario Folder
  • Make sure the AlephOne you are going to use is authorized to access storage. Considering that the app is not signed some phones will deny access to storage without asking. Check in your phone's settings.
  • Run any of the games (M1/M2/MI), the scenario should run instead.

At the moment be sure to put your scenarios in your phone's memory. Putting them on an SD card will probably not work because the app has no write access to the SD card. This maybe confusing because the path to your phone's internal storage will probably still be /sdcard. Don't worry about that.

Save games for the scenario will be placed inside the scenario's folder and will be separate from the main game(s).

If you want to go back to playing the bundled game you don't need to delete the AlephOneScenario.txt file, you can simply put a # in front of the scenario path to disable it, such as: #/sdcard/Evil.

Contributing

Dependencies

All dependencies are included in this project. The only requirement is that you probably want to use the Android NDK 18b or lower to build the project because of a bug in newer versions. If you don't do this the game will crash on startup complaining about not finding the main .so library (in the adb log).

You can still build the project with the latest NDK version but you'll need to patch it. You can find the patch here. For further information on the issue take a look at this issue. The issue seems fixed in the latest NDK 22 but the project doesn't support it at the moment.

Compiling

Just clone the repository with:

git clone --recursive [email protected]:daniele-rapagnani/alephone-android.git

Then import the project in Android Studio or run the assemble task with:

# Use app:assembleRelease instead if you want the release build
./gradlew app:assembleDebug

This will build all three chapters of the game. If you want just one you can build the corresponding flavor:

./gradlew app:assembleMarathon2Release
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].