Inspiration
It took me four days to come with the basic concept the I refined it during development The main Inspiration was a game called Infinitode (Tower defense game) this inspired me to make the laser part of the game
What it does
The game combines three puzzles at the same time
To pass the game level you need to slide game tiles so that tyou connect the arc reactor to the battery using every wire tile in the game board to be able to turn on the laser cannon
At the same time you need to align mirrors to deflect laser rays by 90o to be able to kill the monster send it back to the worm hole if you didn’t use all the mirrors the monster will be affected but you won’t be able to kill it and send it back to the worm hole.
How we built it
Challenges we ran into
- The main concept:
It took me four days to come with the basic concept the I refined it during development The main Inspiration was a game called infitode (Tower defense game) this inpired me to make the laser part of the game
- Creating the game :
This took me a while to be able to come with algorithms to make generic and unique solvable random game level
I used some optimized algorithms ex: (Depth first search, Breadth first search and Simulated annealing)
Game GUI:
At first I tried to use images and SVGs but it took a lot of time to load so I reduced them as much as possible and used the custom painter widget to draw game GUIs.
But for the game monster that was very hard so I used to Inkscape to draw the SVG then exported it rive to control its animation
For game components animations I used a very useful library named “simple animations”
Page Responsiveness
I used a library called responsive framework in addition to gamesample code to handle responsivenss of the GUI elements
Mobile web and release performance
These parts were like nightmare to me after finalizing the app then testing it on desktop and mobile the app took a lot of time to load and it was very slow after some search I added a loading screen using some snippets of html and css to prevent users from getting bored during loading
For the mobile web I noticed that the timer and ticker classes were not working on mobile web this was leading to failure in calculating the game duration after multiple times of trial and errors I settled to use DateTime.now() function at the start of the game and the end to calculate the duration
Also on mobile web the shader mask were not working effectively so I replaced with simple clipping animation in rive
Accomplishments that we're proud of
completing a very big project for me in such short time and this is considered the first game i make in my life
What we learned
how to make flutter responsive for different screen ,polished my skills in flutter animations
What's next for Slizer
i will try to polish the gui more and will try to build it for ios
Built With
- flutter
- rive

Log in or sign up for Devpost to join the conversation.