Inspiration

Inspired by Nintendo’s game "Splatoon" and the finger gun games we played as kids, players can rearrange the room and use the furniture as cover, painting everything in the room! We believe playing Splatoon in a real room will be incredibly fun.

What it does

Players can connect via LAN, share a space and are divided into two teams. Each team uses the "spray gun" to spray their team's color on all parts of the room, covering the others' colors with yours, and the team that occupies the largest area will win.

How we built it

First we utilize the Interaction SDK to make finger guns possible.

We then used the MR Utility Kit to accomplish the function of spraying paint all over the walls and furniture of our room in Passthrough mode. Up to this step, it was going quite well.

After that, we tried to incorporate a multiplayer mode, which was definitely a challenge. We used photon server to get players online, and also reseached the Discover project to learn how to enable multiple players to share the same space. In fact we struggled until the evening of Day1 to solve the spatial positioning problem. But with the help of the Meta software engineers, we were able to solve the problem very quickly using Colocation from the all-in-one SDK!

Next is the synchronization issue. We need to ensure that the ink sprayed by players covers each other’s mark, while also considering the performance of the Quest.

Following that, we added gameplay, we added a "quantity" mechanism to the ink in the gun, after spraying a certain amount you have to stop and refill the ink before you can continue spraying. We also set a time limit for each game, and at the end of the countdown, we will calculate the size of the area that each player has occupied to determine the winner.

Regarding the game mechanics, we have a lot of ideas. For example, players could compete for resources that drop in the scene to throw at each other, achieving certain buffs or debuffs. Or they could capture Neutral Units that automatically generate in the scene to help occupy more territory. Or use different hand gestures to unlock more weapon choices... We really love this game and have many ideas we want to implement, but we didn't have enough time to realize them all during the Hackathon.

Challenges we ran into

-Accurate Spatial Anchors

After playing the online mode we could not get accurate Spatial Anchors in space, the gun was far away from the person. With the guidance of Meta software engineers, we solved this problem very well.

-Leaving ink effect on the surface of a wall

When we used Decal, we found that there was no way to create an effect on the transparent wall surface of Passthrough, we solved this problem by modifying the shader.

-Performance

When applying more ink in a room, Quest could become very laggy as the amount of ink increases. Until now we haven't completely solved this problem, and can only improve the performance by limiting the amount of ink.

-Time

Our team consisted of 1 designer and 1 programmer, and we felt that there was not enough time at all for us to realize all the ideas. And it was also a challenge to shoot a video of two-player battles, we tried to use montage to show the multiplayer perspective as much as possible.

Accomplishments that we're proud of

We were given the beginnings of our ideal game. While the game is currently in a completely unfinished state, we're loving the experience we're having right now. We hope to keep polishing it to make it better.

What we learned

We learned a lot of Meta's SDK usage, and it was a lot easier than we thought it would be. We think this can definitely be used in future games we develop. We met many friends who are working in VR or MR industry, and we got to see a lot of excellent works.

What's next for Finger Gun Painting

Start by optimizing the existing sections. Fix performance issues and make the game flow smoother. Add music, sound effects, and visual feedback to make the game look juicy.

Add more gameplay that we have planned. For example, fight for resources dropped in the scenario to throw at your opponent to achieve certain buffs or debuffs, or take over neutral units that are automatically generated in the scenario to help you take over more territory. Or use gestures to realize more weapon choices...

Looking forward to implementing 2V2, 3V3, 4V4 gameplay.

Built With

Share this project:

Updates