Skip to content

An Android API housing useful re-usbable Human-computer Interfaces (HCI) in the form of in-game android views with an integration API for jMonkeyEngine.

License

Notifications You must be signed in to change notification settings

Electrostat-Lab/Game-HCI

Repository files navigation

Game-HCI

Formerly known as "JmeGamepad" and "Superior-Extended-Engine" or "SEE".

How to implement it into your Android project :

Step 1. Add it in your root build.gradle at the end of repositories :

	allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}

Step 2. Add the dependency :

	dependencies {
	        implementation 'com.github.Scrappers-glitch:Superior-Extended-Engine:1.x.x'
	}

Useful Tags/Code snippets:

  1. Constraining the game pad stick using a scale factor to the coordinates calculated from the similarity of parallel triangles :

    Code : https://github.com/Scrappers-glitch/Superior-Extended-Engine/blob/27c6dbb65e07eb2b3096b0dd07af575cc43c54f0/SuperiorPlugin/src/main/java/com/scrappers/superiorExtendedEngine/gamePad/GameStickView.java#L335
    https://www.instructables.com/A-Simple-Android-UI-Joystick/
    Linear Interpolation : https://www.mathsisfun.com/data/scatter-xy-plots.html

  2. Converting vector/rectangular coordinates (vector2d) to polar coordinates (angles) : => Used by DrivingWheel

    Code : https://github.com/Scrappers-glitch/Superior-Extended-Engine/blob/27c6dbb65e07eb2b3096b0dd07af575cc43c54f0/SuperiorPlugin/src/main/java/com/scrappers/superiorExtendedEngine/vehicles/DrivingWheelView.java#L213
    Trigonometry.pdf
    Arc of trig functions : https://www.mathsisfun.com/algebra/trig-inverse-sin-cos-tan.html
    Java atan2 docs : https://developer.android.com/reference/java/lang/Math#atan2(double,%20double)

  3. Using the game rotation vector software sensor (Geomagnetic sensor + Gyroscope) : => Used by GameDrivingMatrix

    Code : https://github.com/Scrappers-glitch/Superior-Extended-Engine/blob/27c6dbb65e07eb2b3096b0dd07af575cc43c54f0/SuperiorPlugin/src/main/java/com/scrappers/superiorExtendedEngine/gamePad/GameStickView.java#L231
    https://developer.android.com/guide/topics/sensors/sensors_position#java