Bladeren bron

Squashed 'rootoflife/' changes from f46ebd598..642cf03f6

642cf03f6 fixing some big bugs
43ccd9a56 categories part 1
3236c1ce9 more manifestos, xbox controller and videopoker ufbt fixes
5693516b2 Add Screenshots
ab2173799 API 31 / unzip sources
REVERT: f46ebd598 Replace legacy ValueMutex with Furi mutex
REVERT: a4b62c500 Update README.md
REVERT: def65ecab Merge pull request #1 from Xorboo/feature/update-docs
REVERT: 8e7d2eafd fix url and wording
REVERT: 3c24f2d52 Update documentation and reorganize the files
REVERT: ea84d279b Update README.md
REVERT: 8908188c5 promo images
REVERT: 96b13f979 fix pickups spawn
REVERT: 1a1bcba47 add credits
REVERT: c738a322f Spawn updates, pickups
REVERT: 93b6e3775 Base prototype
REVERT: e7fb3363b Initial commit

git-subtree-dir: rootoflife
git-subtree-split: 642cf03f6591212b561a9bd99c3db0132543f683
Willy-JL 2 jaren geleden
bovenliggende
commit
2623e77b60
11 gewijzigde bestanden met toevoegingen van 15 en 60 verwijderingen
  1. 3 48
      README.md
  2. 8 3
      application.fam
  3. BIN
      docs/device.jpeg
  4. BIN
      docs/featured_image.png
  5. BIN
      docs/gameplay.gif
  6. BIN
      docs/gameplay_s.gif
  7. BIN
      img/1.png
  8. BIN
      img/2.png
  9. BIN
      img/3.png
  10. 0 0
      roots_of_life_10px.png
  11. 4 9
      roots_of_life_game.c

+ 3 - 48
README.md

@@ -1,49 +1,4 @@
-# Root of Life
+# root-of-life
+FlipperZero puzzle game made for GlobalGameJam'23
 
-A zen-puzzle game for [FlipperZero](https://flipperzero.one/) puzzle made on [GlobalGameJam'23](https://globalgamejam.org/2023/games/roots-life-9) (theme: "Roots")
-
-![FlipperZero with the game on it](docs/device.jpeg)
-
-Nothing interesting in the code, as you would expect from a jam-rushed development. Was just curious about making a custom app for the device
-
-## Gameplay
-
-![Gameplay Gif](docs/gameplay_s.gif)
-
-### Rules
-
-There is no strict goal, but the idea is to grow the root by connecting new section to existing ones to take larger area of the screen. Collecting "water" (spinning dots) gives extra points.
-
-Roots are generated and moved within 3x3 cells, so not all positions would be available, ✔️ or ❌ in the top-right corner show if current placement is correct. You can "reroll" the root to try a new one. Rerolls are limited, and the game is over when you are out of rerolls.
-
-### Controls
-
-- `OK` to start the game
-- `Arrows` to move the root
-- `OK` to either place the root if possible or reroll it otherwise
-- `Back` to quit
-
-## Installation
-
-Go to [Releases](https://github.com/Xorboo/root-of-life/releases), download `.fap` file, and put it into `apps/Games` directory on your SD-card
-
-## Development
-
-To work on the code look into [flipperzero-firmware documentation](https://github.com/flipperdevices/flipperzero-firmware/blob/dev/documentation/AppsOnSDCard.md#how-to-set-up-an-application-to-be-built-as-a-fap)
-
----
-
-## TODO
-
-_(no, nothing of that will ever be done)_
-
-- Code cleanup
-- Sounds
-- Highscores (if I can figure out how to IO)
-- Tiny grass sine-based animation over the ground
-- Infinite scrolling field (?)
-
-## Funzies
-
-- [Timelapse](https://youtu.be/yM8CcmQ7kqQ) of coding and presenting the game
-- Game icons were made in Paint (one of the possible jam diversifiers, and not like i needed anything else there really)
+TBD

+ 8 - 3
application.fam

@@ -1,5 +1,5 @@
 App(
-    appid="roots_of_life_game",
+    appid="roots_of_life",
     name="Roots of Life",
     apptype=FlipperAppType.EXTERNAL,
     entry_point="roots_of_life_game_app",
@@ -7,7 +7,12 @@ App(
     requires=["gui"],
     stack_size=1 * 1024,
     order=30,
-    fap_icon="images/roots_of_life_10px.png",
+    fap_icon="roots_of_life_10px.png",
     fap_category="Games",
-    fap_icon_assets="images"
+    fap_icon_assets="images",
+    fap_icon_assets_symbol="roots_of_life_game",
+    fap_author="@Xorboo",
+    fap_weburl="https://github.com/Xorboo/root-of-life",
+    fap_version="1.1",
+    fap_description="A zen-puzzle game for FlipperZero, puzzle made on GlobalGameJam23 (theme: Roots)",
 )

BIN
docs/device.jpeg


BIN
docs/featured_image.png


BIN
docs/gameplay.gif


BIN
docs/gameplay_s.gif


BIN
img/1.png


BIN
img/2.png


BIN
img/3.png


+ 0 - 0
images/roots_of_life_10px.png → roots_of_life_10px.png


+ 4 - 9
roots_of_life_game.c

@@ -84,7 +84,6 @@ typedef struct {
 
     int rerolls;
     int score;
-
     FuriMutex* mutex;
 } GameState;
 
@@ -708,7 +707,7 @@ int32_t roots_of_life_game_app(void* p) {
         if(event_status == FuriStatusOk) {
             // Key events
             if(event.type == EventTypeKey) {
-                FURI_LOG_D(TAG, "Got key: %d", event.input.key);
+                //FURI_LOG_D(TAG, "Got key: %d", event.input.key);
                 if(event.input.type == InputTypePress || event.input.type == InputTypeLong ||
                    event.input.type == InputTypeRepeat) {
                     if(event.input.key == InputKeyBack) {
@@ -728,13 +727,10 @@ int32_t roots_of_life_game_app(void* p) {
                     }
                 }
             }
-        } else {
-            // Event timeout
-            FURI_LOG_D(TAG, "furi_message_queue: Event timeout");
         }
 
-        view_port_update(view_port);
         furi_mutex_release(state->mutex);
+        view_port_update(view_port);
     }
 
     furi_timer_free(timer);
@@ -744,12 +740,11 @@ int32_t roots_of_life_game_app(void* p) {
     furi_record_close(RECORD_NOTIFICATION);
     view_port_free(view_port);
     furi_mutex_free(state->mutex);
-
 free_and_exit:
-    FURI_LOG_D(TAG, "Quitting game...");
+    furi_message_queue_free(event_queue);
+    //FURI_LOG_D(TAG, "Quitting game...");
     game_state_free(state);
     free(state);
-    furi_message_queue_free(event_queue);
 
     return return_code;
 }