..          ..........                                                                                       .......                
  ...             .:::                                                                                 ...................   .:::::::::::::.   .
     :::+++++.                                                                                          ........::::::::::::++++++:      ..+++++
&&&&&&&+.                                                                                                 .....::::::::::++++++++++++&&:        
&&&.                  .............                                                                ..........             :++++++++&&&&&&&&&+   
&&&&&&&&&++++++++++::::::::::....                                                                 .............                                 
&&&&&&&&&++++++++++::::::::::.                                                                    .............::.                              
&&&&&&&&++++++++++::::::::::                                                                      .............:::::                            
&&&&&&&++++++++++:::::::::                                                                       ..............:::::::                          
&&&&&+++++++++++:::::::.                                                                         ..............:::::::::                        
&&&&+++++++++++::::::                                                                            ...............:::::::::::                     
                   :::::::..............                                                                                     ++++++++++&&&&&&&&&
                 ::::::::...............                                                                                        ++++++++&&&&&&&&
              ::::::::::...............                                                                                           +++++++&&&&&&&
            :::::::::::................                                                                                             +++++++&&&&&
          ::::::::::::................                                                                                                :+++++&&&&
       .:::::::::::::.................                                                                                                   +++++&&

@arek_durlik

                                                                                                  ..             
                                                                                               ..---+-.          
                                                                                   ....    .-.---++#++--.        
                                                                           .-..   .+-.--..---+++###+------.      
                                                                            +---.-----.-----#+#######+-------.   
                                                                          .+---------+----+++##++######+-------. 
                                                                        ...-------+##++#+----++##++-+####++---+#-
                                                                     ..--------+###++-----++++--       -###-++#+.
                                                                 ..--------+####+--.....-###.            .+####- 
                                                              ..--------++##+++-...--..+##+.                --   
                                                           ..-----------+++--...-..+...-+                        
                                                       ..------##+---+-+--......-++...---..                      
                                                    ..-+---------##-+-............--.......---.                  
                                                 .-------#--------...++-........-###-........--+++.              
                                    .--.      .-      -----#---.......-.--....+##+#####+.........--+++.          
                                     .-+- ..------------++++##+.-...-.----++####-## -#+###+-.......---.          
                                      -++      -----+++++++#####....-.-+####+     +  #+ -####+--.....-           
                      ...          ..----+-------+++++++#####+###+--...+##+-+#++..+##-     -+####-...-           
                      -.-.      .-      --+--++++++++#####+    ##+....... #+  +###-          .+###--.            
                      .-++. ..------------#+++++++#####-       .-#+.-....                        .++             
                       -+--       -----++++#++#####+.            -+-......                                       
                        -+---------++++++++#-###+                 ----.....                                      
                     .+-+++----+++++++++####.-               .-.   ---......                                     
                  .-   .--+#++++++++#####+.-..               .-+   .-.-.....                                     
               .+----------+#+++######+. ..+.                . #    .-.-.....                                    
           .-     -----++++########-.   .- ..                 ++     .--.....                                    
       ..----------++++++######++        +.+                         .---.....                                   
    ..     ----++++++###+-.              -.                           --......                                   
 .---------+++++++###+-.               .+.          .-.               ---......                                  
-+   ---+++++++###+-                 .+.      .-.    -+-.             .--......                                  
.-+-+++++++###+-.                   +.        .-+      -#              ---.....                                  
 .-+++++###+-                     .+          . #                      ---......                                 
  -#####-.                        +.           ++   .-.                .-------.                                 
   -#.                         ..++++.             .. +                -#######.                                 
                               -+.   -+            - #                                                           
                               +.    ++            -#                                                            
                              .+    .+-                                                                          
                              .+.   +#++.                                                                        
                                +++++...+.                                                                       
                                  #+....+.                                                                       
                                  +......+.                                                                      
                                  .+.....+.                                                                      
                                   +.....++                                                                      
                                     ++++-                                                                       

This project explores first-person 3D game mechanics using an event-driven approach, where different parts of the system send events that others respond to. It features 3D graphics created with React Three Fiber, smooth animations powered by React Spring, and physics implemented using React Three Rapier.

Aiming down the sights of a 2D pixelated gun in a 3D environment.
A nighttime scene from the game.

Particle effects bring the visuals to life with details like muzzle flashes, surface-specific impact particles, and bullet casings ejecting from the gun. To add a layer of immersion, invisible, physically simulated bullet shells create sound effects when they collide with surfaces.

Aiming down the sights of a 2D pixelated gun in a 3D environment.
Surface-specific particles created after shooting a wall.

This project implements various first-person game mechanics, such as player movement, shooting, and particle effects, focusing on creating a responsive and visually engaging experience.

FPS mechanics, including movement, shooting and dynamic particle effects.