Skip to content

Duck Hunt Remastered - A fan game created while learning Godot Engine 4

Notifications You must be signed in to change notification settings

Daniel-The-Fox/duck-hunt-remastered

Repository files navigation

🦆 Duck Hunt Remastered 🦆

🚀 A fan game created while learning Godot Engine 4 🚀

Content

About

I created this fan game as a first project in order to learn how to develop games in the Godot Engine 🤖.

If you don't know the Duck Hunt game, you can read about the original NES game Duck Hunt on Wikipedia 📖.

You can also watch a YouTube playthrough video of Duck Hunt 🎥 to get the idea.

Be sure to watch my demo video of Duck Hunt Remastered on YouTube 🎥 to see the game in action. 😎

Here are some screenshots of the game:

Screenshot of Duck Hunt Remastered splash screen

Screenshot of intro screen in Duck Hunt Remastered

Screenshot of dog jumping into grass in Duck Hunt Remastered

Screenshot of brown duck shot in Duck Hunt Remastered

Screenshot of dog presenting shot duck in Duck Hunt Remastered

Screenshot of game over in Duck Hunt Remastered

How to play the game

I uploaded an HTML5-Export of the game to itch.io, so that you can play Duck Hunt Remastered in your web browser. 🕹️🌐

In addition, I uploaded binary exports of the game for Mac OS, Windows and Linux 🕹️💻 to itch.io as well.

Technical Restrictions

I encountered the following technical restrictions while testing the game in the following setups:

Export Type OS Web Browser Playable? Restrictions encountered
🌐 HTML5 on itch.io 🍎 MacOS 14.1 Safari 17.1 You have to click once so that audio output is enabled.
🌐 HTML5 on itch.io 🍎 MacOS 14.1 Chrome 119.0.6045.123 Chrome freezes! 😱
🌐 HTML5 on itch.io 🍎 MacOS 14.1 Firefox 119.0.1 Game freezes while loading! 😱
🌐 HTML5 on itch.io 🐧 Ubuntu 22.04.3 in VMWare Fusion 13.5.0 Firefox 119.0.1 Cursor change on mouse hover on duck not working
🌐 HTML5 on itch.io 🪟 Windows 11 Enterprise Evaluation, Build 22621 in VMWare Fusion 13.5.0 Internet Explorer Edge 119.0.2151.58 Cursor middle part not visible in embedded iframe, working though when maximized
🌐 HTML5 on itch.io 🪟 Windows 11 Enterprise Evaluation, Build 22621 in VMWare Fusion 13.5.0 Firefox 119.0.1 Error: The following features required to run Godot projects on the Web are missing: WebGL2 - Check web browser configuration and hardware support 😢
🌐 HTML5 on itch.io 🪟 Windows 11 Enterprise Evaluation, Build 22621 in VMWare Fusion 13.5.0 Chrome 119.0.6045.124 Cursor middle part not visible in embedded iframe, working though when maximized
🐧 Linux binary Ubuntu 22.04.3 LTS in VMWare Fusion 13.5.0 - Cursor change on mouse hover on duck not working
🍎 MacOS binary MacOS 14.1 - -
🪟 Windows binary Windows 11 Enterprise Evaluation, Build 22621 in VMWare Fusion 13.5.0 - -

While this is no 100% guarantee that the game functions on your setup, it can give you a good indication.

Note: The SharedArrayBuffer support feature is activated on the game page on itch.io.

How is this Duck Hunt fan game different?!

Fair question indeed and what started out as a spontaneous personal learning project that would never get shown to anybody, soon became a real passion for me. ❤️

I did research other Duck Hunt fan games on itch.io, before deciding to upload my version of a Duck Hunt fan game. 🦆 Here's the points I identified that my game does differently in many cases:

  • 🕹️ Close to the original, but with a slight fresh touch, while sticking to the (S)NES style
  • 😅 It's actually playable!
  • 💪 Playable in web browser (via itch.io) and downloadable as native binary for MacOS, Linux & Windows
  • 🧑‍🏫 GitHub repository including the source code of the game to learn from
  • 🎥 Demo video & screenshots of game play
  • 📖 Detailed Readme
  • 🙈 Detailed comments and explanations in the source code, especially for pitfalls which some of cost me hours of debugging
  • 🤖 Created and working in Godot Engine version 4.1.3
  • 🎶 Background music & pond ambience sounds
  • ☁️ Parallax clouds in the background
  • 🦆 Ducks can have 3 colors: blue, brown, red
  • 🐕 Dog picks up the correctly colored shot duck
  • 🌾 Intro animation in which the dog jumps behind the grass
  • 🎯 Animation for completing a round (shooting 10 ducks)
  • 🦆 Ducks shot scream and then fall behind grass
  • 🔫 Points appear where duck was shot
  • 🚀 Duck flies out of grass from random X position
  • 🤣 Dog laughs at you on game over
  • 🦆 Duck bounces of window boundaries and top edge of grass
  • 😏 The info boxes on the bottom part of the foreground are separate sprites which get scaled according to their content and on window resize (see Godot Engine docs on NinePatchRect)
  • ⏱️ A timer shows time elapsed (mm:ss) since game start
  • 🎯 Local highscore stored in a text file in the user space for downloaded game versions
  • 👤 Random player name generator for highscore to keep it clean from profanity 😜
  • 🎯 Online highscore for game version played in web browser on itch.io

As this is my first game in Godot Engine, I'm really proud of how it turned out and what I was able to learn so far! 🤩

Resources used

Disclaimer

This personal learning project is not related to or endorsed by Nintendo®️. Use this personal project as is and at your own risk to have fun while playing it and to learn how to develop games with the Godot Engine. 🤖 No warranty and no official support are provided for this fan game project.

As this is a fan game, I have no commercial intent whatsoever regarding this project.

If you still want thank me somehow:

Third Party Licenses

See also https://godotengine.org/license/


This game uses Godot Engine, available under the following license:

Copyright (c) 2014-present Godot Engine contributors. Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Godot uses FreeType to render fonts. Its license requires attribution, so the following text must be included together with the Godot license:

Portions of this software are copyright © 1996-2023 The FreeType Project (www.freetype.org). All rights reserved.


Godot includes the ENet library to handle high-level multiplayer. ENet has similar licensing terms as Godot:

Copyright (c) 2002-2020 Lee Salzman

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


If the project is exported with Godot 3.1 or later, it includes mbed TLS. The Apache license needs to be complied to by including the following text:

Copyright The Mbed TLS Contributors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


About

Duck Hunt Remastered - A fan game created while learning Godot Engine 4

Topics

Resources

Stars

Watchers

Forks