Creates a mini-game where you have to find "hidden" objects and you'll have a inventory to show which items you've collected so far, and also keep track which key items you have in order to collect locked objects (like a key to get a item inside a chest).
It has clues to help the player to find the hidden objects, and because is for a narrative-game I'm developing, it shows the narrator lines sometimes when player gets new clues but it's an optional field to add to the game.
You can use this package in your flutter game 👀 or app (it's up to you):
- Draw the game background and it's items on flutter Canvas
- Show the items to pick-up, even the disabled items that requires a "key"
- You can slide up and down to see the parts of image that are outside of the screen
- I'm trying to make this better or in the final game make a illustration with the correct size
- Use the help button to make easier to find objects
In the future I want to create a customizable theme for the game I'm using a "blue theme" because I think fits better the actual background
Install the package and pass to AppWidget
the background image path and the data (json) path where's all the mini-game information
Just install and do like folowing example:
return MaterialApp(
home: const AppWidget(
backgroundPath: 'assets/backgrounds/Interior6.png',
jsonPath: 'assets/jsons/interior_6.json',
),
);
- The
finding_mini_game.dart
inlib
folder, just exports the package - I'm using the
provider
package to deal with D.I and theequatable
package to be easier to test and use themodels
oncontrollers
- The
src/
folder is all the game logic, view and data- I choose to organize the
src
structure intodata/
, where's thejson
data to get all the mini-game data; - The
models/
are all the models required to parse thejson
data and use through the application (core information); controllers/
are used to manage all the gamelogic
andstates
, to pass to theview
all the information needed to update it;- the
view/
is all the view (widgets...)
- I choose to organize the
If you want to know more about the package, here's my github! And feel free to drop any comments, suggestions or feedback (my socials are on my github profile) or open an issue/pull-request if you have an idea!