Files
games/deltas/0.1.0/0-pre.11.md
2026-09-16 11:32:07 +02:00

2.7 KiB
Raw Permalink Blame History

Delta 0.1.0-0-pre.11

Base

Base validée : 0.1.0-0-pre.10.fix.1.

Objectifs

  • rendre Snake réellement jouable ;
  • valider la réutilisation de EngineScene et du backend input SDL3 ;
  • figer le NDK au niveau projet sans variable globale ;
  • permettre un smoke natif x86_64 sur l'AVD Linux.

Snake

Le POC utilise une grille 12 × 20, un serpent initial de trois segments, un déplacement automatique, quatre directions, une nourriture déterministe, croissance/score et reset sur collision mur/corps.

Le rendu réutilise exclusivement EngineScene et RenderRect.

Input

Desktop : flèches clavier.

Souris/tactile : le clic/tap produit aussi une direction selon l'axe dominant depuis le centre de l'écran. Reflex ignore ces directions ; Snake les consomme.

NDK

La propriété unique :

androidNdkVersion=28.2.13676358

est lue par Gradle et scripts/build_android_rust.py.

Le script définit ANDROID_NDK_HOME uniquement dans l'environnement du sous-processus cargo ndk.

Validation

cargo fmt --all
cargo fmt --all -- --check

python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates Android deltas history

cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings

cargo test -p engine-v1-sdl --all-targets --all-features
cargo test -p game-snake-poc --all-targets --all-features

Smoke Desktop :

cargo run -p game-snake-poc-desktop

Critères : serpent/nourriture visibles, déplacement automatique, flèches fonctionnelles, demi-tour refusé, croissance sur nourriture, reset sur collision, fermeture propre.

Android ARM64 :

python3 scripts/build_android_rust.py snake --abi arm64-v8a

Android x86_64 pour l'AVD :

rustup target add x86_64-linux-android
python3 scripts/build_android_rust.py snake --abi x86_64

Puis :

cd Android
gradle :game-snake-poc:assembleDebug
cd ..

Vérifier :

unzip -l Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk | grep 'lib/arm64-v8a/libgame_android_entrypoint.so'
unzip -l Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk | grep 'lib/x86_64/libgame_android_entrypoint.so'

Smoke AVD :

adb devices
adb shell getprop ro.product.cpu.abi
adb install -r Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk
adb shell am start -n com.sasedev.games.snake/.SnakeActivity

Transition

Si ces gates sont propres, 0.1.0-0-pre.11 termine la phase 0-pre.* prévue et permet de passer à 0.1.0-1-alpha.1.

En cas d'échec imputable au projet, produire 0.1.0-0-pre.11.fix.1.