Giter Club home page Giter Club logo

root-of-life's Introduction

Root of Life

A zen-puzzle game for FlipperZero puzzle made on GlobalGameJam'23 (theme: "Roots")

FlipperZero with the game on it

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

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, 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


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 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)

root-of-life's People

Contributors

xorboo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

root-of-life's Issues

Won't compile for new firmwares

applications_user/roots_of_life_game/roots_of_life_game.c: In function 'roots_draw_callback': applications_user/roots_of_life_game/roots_of_life_game.c:568:24: error: implicit declaration of function 'acquire_mutex' [-Werror=implicit-function-declaration] 568 | GameState* state = acquire_mutex((ValueMutex*)ctx, 25); | ^~~~~~~~~~~~~ applications_user/roots_of_life_game/roots_of_life_game.c:568:39: error: 'ValueMutex' undeclared (first use in this function) 568 | GameState* state = acquire_mutex((ValueMutex*)ctx, 25); | ^~~~~~~~~~ applications_user/roots_of_life_game/roots_of_life_game.c:568:39: note: each undeclared identifier is reported only once for each function it appears in applications_user/roots_of_life_game/roots_of_life_game.c:568:50: error: expected expression before ')' token 568 | GameState* state = acquire_mutex((ValueMutex*)ctx, 25); | ^ applications_user/roots_of_life_game/roots_of_life_game.c:603:5: error: implicit declaration of function 'release_mutex' [-Werror=implicit-function-declaration] 603 | release_mutex((ValueMutex*)ctx, state); | ^~~~~~~~~~~~~ applications_user/roots_of_life_game/roots_of_life_game.c:603:31: error: expected expression before ')' token 603 | release_mutex((ValueMutex*)ctx, state); | ^ applications_user/roots_of_life_game/roots_of_life_game.c:567:61: error: unused parameter 'ctx' [-Werror=unused-parameter] 567 | static void roots_draw_callback(Canvas* const canvas, void* ctx) { | ~~~~~~^~~ applications_user/roots_of_life_game/roots_of_life_game.c: In function 'roots_of_life_game_app': applications_user/roots_of_life_game/roots_of_life_game.c:681:5: error: unknown type name 'ValueMutex' 681 | ValueMutex state_mutex; | ^~~~~~~~~~ applications_user/roots_of_life_game/roots_of_life_game.c:682:9: error: implicit declaration of function 'init_mutex' [-Werror=implicit-function-declaration] 682 | if(!init_mutex(&state_mutex, state, sizeof(GameState))) { | ^~~~~~~~~~ applications_user/roots_of_life_game/roots_of_life_game.c:705:40: error: implicit declaration of function 'acquire_mutex_block' [-Werror=implicit-function-declaration] 705 | GameState* state = (GameState*)acquire_mutex_block(&state_mutex); | ^~~~~~~~~~~~~~~~~~~ applications_user/roots_of_life_game/roots_of_life_game.c:745:5: error: implicit declaration of function 'delete_mutex' [-Werror=implicit-function-declaration] 745 | delete_mutex(&state_mutex); | ^~~~~~~~~~~~ cc1: all warnings being treated as errors scons: *** [build/f7-firmware-C/.extapps/roots_of_life_game/roots_of_life_game.o] Error 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.