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

Share this project:

Updates