<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nillohit Roy</title>
    <description>The latest articles on DEV Community by Nillohit Roy (@nillohitroy).</description>
    <link>https://dev.to/nillohitroy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4171512%2Faf77d57f-535d-4f0c-a10a-708d8fe43e09.png</url>
      <title>DEV Community: Nillohit Roy</title>
      <link>https://dev.to/nillohitroy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nillohitroy"/>
    <language>en</language>
    <item>
      <title>Treasure Hunt: A Game to Play with your Friends with Tech to ditch Tech</title>
      <dc:creator>Nillohit Roy</dc:creator>
      <pubDate>Fri, 09 Oct 2026 17:53:41 +0000</pubDate>
      <link>https://dev.to/nillohitroy/treasure-hunt-a-game-to-play-with-your-friends-with-tech-to-ditch-tech-dnf</link>
      <guid>https://dev.to/nillohitroy/treasure-hunt-a-game-to-play-with-your-friends-with-tech-to-ditch-tech-dnf</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When I was a child, I used to play various kind of outdoor games. Be it hide and seek, Baraf-Pani (Ice-water, A South Asian version of Freeze-tag game), Kumir Danga (Crocodile and Land) - a Bengali game (search it up! quite interesting) and the list will go on and on but you'll get tired counting it. However, as tech and AI emerged and with the pandaemic that had occurred, each of those games vanished into thin air.&lt;/p&gt;

&lt;p&gt;So to recall those memories and maintain a good health, I created this game of Treasure Hunt which uses AI for both &lt;em&gt;Pirates&lt;/em&gt; and &lt;em&gt;Protectors&lt;/em&gt;, where the &lt;em&gt;Protectors&lt;/em&gt; hide the &lt;em&gt;treasure&lt;/em&gt; (anything considers as treasure) while the &lt;em&gt;Pirates&lt;/em&gt; hunts them as well as the treasure.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Open Treasure Hunt is a real-world, proximity-based multiplayer game that transforms outdoor parks and neighborhoods into a live game board.&lt;/p&gt;

&lt;p&gt;The game splits players into two competing factions:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Protectors:&lt;/strong&gt; They are tasked with stealthily hiding the treasure with the help of AI for suggestions&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Pirates (Hunters):&lt;/strong&gt; They are tasked with AI to find the protectors and they can also use AI (but it won't give them their coordinates, just suggestions)&lt;/p&gt;

&lt;p&gt;The phone acts as a tactical support. Players keep their devices in their pockets while outside. As both teams move through the real world, the AI Game Master constantly monitors live GPS coordinates, detects movement patterns, and provides one-sentence tactical updates.&lt;/p&gt;

&lt;p&gt;Also, once a player selects &lt;em&gt;Protector&lt;/em&gt; or &lt;em&gt;Pirate&lt;/em&gt;, their device locks to that role using &lt;em&gt;localStorage&lt;/em&gt; to ensure game integrity during physical outdoor movement unless otherwise changed when game is over.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Frontend:&lt;/strong&gt; &lt;a href="https://open-treasure-hunt.onrender.com/" rel="noopener noreferrer"&gt;On Render&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;My Demo Video:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=xVi9krJ_PXw" rel="noopener noreferrer"&gt;Go to YouTube&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;



&lt;p&gt;To set up the code, let us first know the &lt;strong&gt;Prerequisites&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A computer with a decent gpu (because gemma 2 model will have to run locally, if you can use ollama. I have used huggingface because I don't have that kind of hardware)&lt;/li&gt;
&lt;li&gt;Python 3.9+&lt;/li&gt;
&lt;li&gt;Hugging Face Access&lt;/li&gt;
&lt;li&gt;A free TabPFN License Token&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Github Repo:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/nillohitroy" rel="noopener noreferrer"&gt;
        nillohitroy
      &lt;/a&gt; / &lt;a href="https://github.com/nillohitroy/open-treasure-hunt" rel="noopener noreferrer"&gt;
        open-treasure-hunt
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;To clone and install:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/nillohitroy/open-treasure-hunt.git
&lt;span class="nb"&gt;cd &lt;/span&gt;open-treasure-hunt

python &lt;span class="nt"&gt;-m&lt;/span&gt; venv venv
&lt;span class="c"&gt;# On Windows:&lt;/span&gt;
venv&lt;span class="se"&gt;\S&lt;/span&gt;cripts&lt;span class="se"&gt;\a&lt;/span&gt;ctivate
&lt;span class="c"&gt;# On Mac/Linux:&lt;/span&gt;
&lt;span class="nb"&gt;source &lt;/span&gt;venv/bin/activate

pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, create environment variables &lt;code&gt;.env&lt;/code&gt;:&lt;br&gt;
&lt;code&gt;HF_TOKEN=hf_your_hugging_face_token_here&lt;/code&gt;&lt;br&gt;
Your TabPFN code will generate when you run it in VS Code (create an account and accept license).&lt;/p&gt;

&lt;p&gt;To run the app: &lt;code&gt;python app.py&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To run it in your phone, after you have server is running:&lt;br&gt;
Open up the terminal -&amp;gt; go to Ports -&amp;gt; Forward a Port -&amp;gt; Enter the port number (5000) -&amp;gt; it will generate an address -&amp;gt; Copy it in your phone and just accept when asking about devtunnels.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The game runs on a lightweight, modular open-source AI architecture built on a standard laptop with no dedicated GPU.&lt;/p&gt;

&lt;p&gt;Instead of wasting our dev time on if/else blocks, we used TabPFN as a zero-shot foundational model. It evaluates whether a player is "wandering aimlessly" or "moving towards the treasure or the target" instantly on standard CPU threads without model training overhead.&lt;/p&gt;

&lt;p&gt;The game state is synthesized into dynamic prompts for Google's Gemma 2 (2B) model.&lt;/p&gt;

&lt;p&gt;Lastly, we are serving the game locally by running the flask app using: &lt;code&gt;python app.py&lt;/code&gt; when you clone the repo and go to the root directory. After that we port forward (through VS code) to get a https url. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Through this project, we have showcased three ways where Open Innovation over closed proprietary APIs.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;GPS Data Privacy:&lt;/strong&gt; We do not want the corporate companies to have our live location. For this very reason, the open innovation shines where we can enjoy to the fullest without worrying about data breach.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Real-time Economies:&lt;/strong&gt; Live proximity games require background pings every 5–10 seconds. On closed, pay-per-token commercial APIs, a single 30-minute play session with several players would rack up substantial API costs. Another win for Open Innovation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hardware Accessibility:&lt;/strong&gt; AI shouldn't require expensive hardware and GPUs to run the models for this simple game. We can just use open-weight models to run the game effectively.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Best Use of Gemma&lt;/li&gt;
&lt;li&gt;Best Use of TabPFN&lt;/li&gt;
&lt;li&gt;Best Use of Render&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
