<?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: CarsonV</title>
    <description>The latest articles on DEV Community by CarsonV (@carsonv8824).</description>
    <link>https://dev.to/carsonv8824</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3886585%2F9785a005-96ae-4bb8-81d3-fc04e60d8c2f.jpeg</url>
      <title>DEV Community: CarsonV</title>
      <link>https://dev.to/carsonv8824</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/carsonv8824"/>
    <language>en</language>
    <item>
      <title>Franklin and the Diver</title>
      <dc:creator>CarsonV</dc:creator>
      <pubDate>Mon, 20 Apr 2026 01:03:57 +0000</pubDate>
      <link>https://dev.to/carsonv8824/franklin-and-the-diver-226a</link>
      <guid>https://dev.to/carsonv8824/franklin-and-the-diver-226a</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-04-16"&gt;Weekend Challenge: Earth Day Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Franklin and the Diver&lt;/strong&gt; is an engaging ocean-themed action game that combines entertainment with environmental education. Players control a net-wielding diver protecting Franklin the turtle from incoming pollution in two iconic ocean zones: the Atlantic and Pacific.&lt;/p&gt;

&lt;p&gt;The game features wave-based progression across 3 intense levels per ocean, with escalating difficulty. Between waves, educational ocean facts display seamlessly without interrupting gameplay. Players build competitive scores tracked across a multiplayer leaderboard where they can compare achievements with other players.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;: Create an engaging educational game that inspires environmental awareness while showcasing technical skills in game development, UI design, and data persistence.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4n9ywmnn491jubkspab1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4n9ywmnn491jubkspab1.png" alt="Gameplay" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faoyj5l2ffbtxtw29dr8k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faoyj5l2ffbtxtw29dr8k.png" alt="Leaderboard Tab" width="800" height="709"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsw9veh4d9ze1s0h2bzyu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsw9veh4d9ze1s0h2bzyu.png" alt="Map Tab" width="800" height="715"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiagw7mncgdhired9t1s2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiagw7mncgdhired9t1s2.png" alt="Home Tab" width="800" height="711"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To run locally:&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/CarsonV8824/Dev-Weekend-Challenge-Earth-Day.git
&lt;span class="nb"&gt;cd &lt;/span&gt;Dev-Weekend-Challenge-Earth-Day
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
python main.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Gameplay Overview&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Enter your name on the home screen&lt;/li&gt;
&lt;li&gt;Select Atlantic or Pacific ocean&lt;/li&gt;
&lt;li&gt;Move your net to catch falling trash before it hits the turtle&lt;/li&gt;
&lt;li&gt;Catch trash to increase score and complete waves&lt;/li&gt;
&lt;li&gt;Survive 3 waves to win and unlock the leaderboard&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/CarsonV8824/Dev-Weekend-Challenge-Earth-Day" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project Structure&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;menus/&lt;/code&gt; — PySide6 UI components (Home, Map, Stats pages, Leaderboard)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;oceans/&lt;/code&gt; — Game logic for Atlantic and Pacific modes&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;sprites/&lt;/code&gt; — Pygame sprite classes (Player, Turtle, Trash)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;data/&lt;/code&gt; — SQLite database management and game state&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;assets/&lt;/code&gt; — Styling and visual resources&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Technology Stack&lt;/strong&gt;: PySide6 (UI), Pygame (game engine), SQLite3 (data), Matplotlib &amp;amp; Seaborn (stats), Pandas (data analysis), GitHub Copilot (development assistance)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Technical Approach&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Non-Blocking Game Pauses&lt;/strong&gt; — Replaced blocking &lt;code&gt;time.sleep()&lt;/code&gt; calls with delta-time based timers, allowing graceful pauses during fact displays without freezing the UI or game thread.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sprite-Based Collision System&lt;/strong&gt; — Leveraged Pygame's sprite groups and collision detection for efficient player-trash interactions and smooth movement without lag.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Wave Difficulty Progression&lt;/strong&gt; — Implemented dynamic difficulty scaling where spawn intervals decrease and wave durations increase, creating natural progression curves.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Real-Time Leaderboard&lt;/strong&gt; — Combined SQLite GROUP BY queries with Pandas DataFrames to track top-10 rankings across three categories (score, Atlantic wins, Pacific wins), updating instantly after each game.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Theme-Based Architecture&lt;/strong&gt; — Each ocean loads unique color palettes from JSON files, enabling visual customization without code changes and preventing duplication.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Threaded Game Execution&lt;/strong&gt; — Game windows run in separate threads, preventing UI freezing and allowing seamless menu navigation without application restart.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;GitHub Copilot Integration&lt;/strong&gt;: Copilot accelerated development by reducing debugging time for game timing issues, UI synchronization problems, and JSON file path resolution. It also optimized PySide6 styling patterns and suggested improvements to non-blocking state management, allowing focus on gameplay mechanics rather than boilerplate code.&lt;/p&gt;

&lt;p&gt;See copilot_usage.md for detailed optimization notes on GitHub.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Best Use of GitHub Copilot&lt;/strong&gt; — GitHub Copilot significantly streamlined development through intelligent debugging, code optimization suggestions, and architectural improvements. This enabled faster iteration on core gameplay features and complex UI state management.&lt;/p&gt;




&lt;p&gt;Thanks for considering this submission! &lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>githubcopilot</category>
    </item>
  </channel>
</rss>
