├── misc ├── 2dVersion.gif ├── menuOfRules.png ├── startScreen.png └── composeVersion.gif ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── app ├── src │ ├── main │ │ ├── res │ │ │ ├── drawable │ │ │ │ ├── ic_biohazard.webp │ │ │ │ ├── ic_biohazard2d.webp │ │ │ │ ├── ic_launcher_foreground.xml │ │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── raw │ │ │ │ ├── fragment_shader.glsl │ │ │ │ └── vertex_shader.glsl │ │ │ ├── values │ │ │ │ ├── themes.xml │ │ │ │ ├── colors.xml │ │ │ │ └── strings.xml │ │ │ └── xml │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ ├── kotlin │ │ │ └── org │ │ │ │ └── redbyte │ │ │ │ ├── GameApp.kt │ │ │ │ └── life │ │ │ │ ├── common │ │ │ │ ├── data │ │ │ │ │ └── GameSettings.kt │ │ │ │ ├── domain │ │ │ │ │ └── Rule.kt │ │ │ │ └── GameBoard.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── ui │ │ │ │ ├── theme │ │ │ │ │ ├── Type.kt │ │ │ │ │ ├── Color.kt │ │ │ │ │ └── Theme.kt │ │ │ │ ├── settings │ │ │ │ │ ├── img │ │ │ │ │ │ └── IcArrowDown.kt │ │ │ │ │ ├── SharedGameSettingsViewModel.kt │ │ │ │ │ └── SettingsScreen.kt │ │ │ │ └── render │ │ │ │ │ ├── opengl │ │ │ │ │ ├── LifeGame2D.kt │ │ │ │ │ └── GameRenderer.kt │ │ │ │ │ └── compose │ │ │ │ │ └── LifeGame.kt │ │ │ │ ├── AppNavigation.kt │ │ │ │ └── monitoring │ │ │ │ └── FPSMonitor.kt │ │ └── AndroidManifest.xml │ ├── androidTest │ │ └── java │ │ │ └── org │ │ │ └── redbyte │ │ │ └── life │ │ │ └── ExampleInstrumentedTest.kt │ └── test │ │ └── java │ │ └── org │ │ └── redbyte │ │ └── life │ │ └── common │ │ └── GameBoardTest.kt ├── proguard-rules.pro ├── .gitignore └── build.gradle.kts ├── .gitignore ├── settings.gradle.kts ├── LICENSE ├── gradle.properties ├── .github └── workflows │ └── release.yml ├── gradlew.bat ├── README.md └── gradlew /misc/2dVersion.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/misc/2dVersion.gif -------------------------------------------------------------------------------- /misc/menuOfRules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/misc/menuOfRules.png -------------------------------------------------------------------------------- /misc/startScreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/misc/startScreen.png -------------------------------------------------------------------------------- /misc/composeVersion.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/misc/composeVersion.gif -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_biohazard.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/drawable/ic_biohazard.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_biohazard2d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/drawable/ic_biohazard2d.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/raw/fragment_shader.glsl: -------------------------------------------------------------------------------- 1 | precision mediump float; 2 | uniform vec4 vColor; 3 | void main() { 4 | gl_FragColor = vColor; 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/i-redbyte/life-game/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/raw/vertex_shader.glsl: -------------------------------------------------------------------------------- 1 | uniform mat4 uMVPMatrix; 2 | attribute vec4 vPosition; 3 | void main() { 4 | gl_Position = uMVPMatrix * vPosition; 5 | } 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea 5 | .DS_Store 6 | /build 7 | /captures 8 | .externalNativeBuild 9 | .cxx 10 | local.properties 11 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |