diff --git a/collections/_article/2024-cherry-picks.md b/collections/_article/2024-cherry-picks.md new file mode 100644 index 0000000000..9d61339312 --- /dev/null +++ b/collections/_article/2024-cherry-picks.md @@ -0,0 +1,448 @@ +--- +title: "2024 Cherry-picks" +excerpt: "Over the course of 2024, the Godot project has amassed more new features and community highlights than any one person can keep track of. To ensure you did not miss anything essential, we have selected a few memorable moments and key updates to revisit together." +categories: ["showcase"] +author: Nat +image: /storage/blog/2024-cherry-picks/2024-cherry-picks.webp +date: 2025-01-28 17:00:00 +--- + + + +And with that, the 2024 season comes to an end. What a year it has been, with the number of Godot submissions in game jams rising to new heights, [more people working for the Godot Foundation than ever before](https://godotengine.org/article/godot-foundation-update-dec-2024/), and most industry award shows featuring one if not more games made with Godot. + +A busy year inside the project as well. Too much to compile into a single article, unless you want to read pages of meeting notes and technical documentation. So instead, we chose to celebrate the past by looking back at one cherry-pick per month, something you might have missed during the scuffle but is worth learning about even now. + +This could be an event the team attended, a major project milestone being reached, or a fun moment online the Godot community gathered around. Likewise, we looked at the release dates of notable [Godot games on Steam](https://steamdb.info/tech/Engine/Godot/) and decided to introduce you to some favorites alongside our own organizational news. The separate tech highlight section might even introduce you to a feature or two you missed out on so far. + +But before we get started, let us sneak in an announcement: this blog post is part of our newsletter project, premiering this January. [Subscribe to "The Nodeletter"](https://godot.news/subscription/form) to get a regular digest of Godot Engine news directly in your email inbox! + +# Tech Highlights + +To be frank: there is no good way to summarize the work of hundreds of contributors across the span of an entire year without leaving out something important. The closest we can feasibly get are the [Godot 4.3 release page](https://godotengine.org/releases/4.3/), and the newly published [Godot 4.4 beta 1 release notes](https://godotengine.org/article/dev-snapshot-godot-4-4-beta-1/). + +For the purpose of this retrospective, we approached the engine maintainers directly, asking them to point us at one particularly compelling change they witnessed in their area of expertise. How many of these have you not heard about yet? + +### General +- **2D:** [2D parallax](https://docs.godotengine.org/en/stable/tutorials/2d/2d_parallax.html) +- **3D:** [3D physics interpolation](https://github.com/godotengine/godot/pull/92391) +- **Core:** [Typed dictionaries](https://github.com/godotengine/godot/pull/78656) +- **Editor:** [Project Manager refresh](https://godotengine.org/releases/4.3/#editor-layout-ux-improvements-project-manager), [Android Editor:](https://godotengine.org/download/android/) export support +- **Documentation:** [Comment section added](https://godotengine.org/releases/4.3/#documenation-commenting-enabled-on-the-online-docs) + +### Platforms +- **Android:** [Native file picker support](https://github.com/godotengine/godot/pull/98350) +- **Web:** [Single-threaded exports](https://godotengine.org/releases/4.3/#editor-layout-ux-improvements-project-manager) and [audio samples](https://godotengine.org/releases/4.3/#web-web-audio) +- **Linux:** [Wayland support](https://godotengine.org/releases/4.3/#display-wayland-support) +- **macOS/iOS:** [Metal renderer](https://godotengine.org/article/dev-snapshot-godot-4-4-dev-1/#metal-rendering-backend) +- **Windows:** [Direct3D 12](https://godotengine.org/releases/4.3/#display-d3d12-driver) + +### Systems +- **Animation:** [Feature migration from Godot 4.0 to 4.3](https://godotengine.org/article/migrating-animations-from-godot-4-0-to-4-3/) +- **Audio:** [Interactive music](https://godotengine.org/releases/4.3/#highlights-interactive-music) +- **Import**: [New ufbx importer](https://godotengine.org/article/introducing-the-improved-ufbx-importer-in-godot-4-3/) +- **Navigation:** [Chunk & obstacle baking](https://godotengine.org/releases/4.3/#navigation-splitting-navigation-meshes-into-chunks) +- **Physics:** [Jolt merged](https://github.com/godotengine/godot/pull/99895) +- **Rendering:** [Ubershaders](https://docs.godotengine.org/en/latest/tutorials/performance/pipeline_compilations.html) +- **VFX:** [Visual Shader overhaul](https://godotengine.org/releases/4.3/#highlights-visual-shader) +- **XR:** [Godot Editor now available on the Meta Horizon Store](https://godotengine.org/article/godot-editor-horizon-store-early-access-release/) + +# Godot Engine News + +## January +The commit that open-sourced Godot + +Nostalgia became the theme of January, as we compiled a small [game showcase](https://x.com/godotengine/status/1754601111229497650) leading up to Godot’s 10-year-anniversary (counting from the moment the engine was first open sourced). For every year from 2014 to 2024 we shared two gems found on Steam and itch.io with the community, celebrating an ever growing list of Godot releases since the beginnings of the project. + +Have a look at that [monumental commit](https://github.com/godotengine/godot/commit/0b806ee0fc9097fa7bda7ac0109191c9c5e0a1ac) all those years ago! + +
+
+ KinitoPET screenshot +
+
+ +
+

+ Desktop pets have risen to new popularity in 2024. KinitoPET combines this trend with the evergreen horror genre to bring you a unique experience about virtual assistants. +

+
+
+
+ +## February +As part of our social media expansion, we also created an [official Godot Engine account](https://www.twitch.tv/godotengine_official) on the streaming platform Twitch. + +Using it to check on Godot game development streamers resulted in [this funny compilation](https://www.youtube.com/watch?v=Ed9xuwtmoUw) — both the content creators and their viewers expressed happiness that the communities they had built were being recognized by us. + +Logically, the next step was to hand over the reins of the channel to some of these talented developers directly. You can find the [takeover recordings](https://youtube.com/playlist?list=PLeG_dAglpVo5vWX06WyYThUOydLVmb1Iu&si=WBi8qIJEaSHh42NN) on [our YouTube](https://www.youtube.com/@GodotEngineOfficial). + +
+
+ Windowkill screenshot +
+
+ +
+

+ Another twist on “gaming directly on a desktop” came in the form of the action roguelike Windowkill. The twin-stick shooter requires you to keep track of and fight the ever-closing game windows while evading enemies. +

+
+
+
+ +## March +In March, the Godot Foundation team assembled in San Francisco to meet community members at our biggest event booth yet, in the expo hall of the annual Game Developer Conference (GDC). We shared the space with our sponsor [W4 Games](https://www.w4games.com/) and an amazing lineup of [Godot-powered games](https://godotengine.org/article/gdc-2024-godot-games/) that we had the pleasure of inviting. + +Group picture at the GDC booth + +We had a great time, both on the event grounds and at our own gatherings, and made sure to recount our full experience in a [retrospective blog post](https://godotengine.org/article/gdc-2024-retrospective/) — see you this year? + +
+
+ Backpack Battles screenshot +
+
+ +
+

+ Backpack Battles decided to make inventory management the main game mechanic. The PvP auto-battler with a medieval fantasy theme has quickly gained popularity with content creators! +

+
+
+
+ +## April +Towards the end of 2023 we [announced a collaboration with Google and The Forge](https://godotengine.org/article/collaboration-with-google-forge-2023/) to improve the performance of our Vulkan mobile backend. The work concluded in April, with the [matching PR](https://github.com/godotengine/godot/pull/90284) being split into the 4.3 and 4.4 releases. + +A few highlights: +- Usage of Unified Memory Architecture (UMA) buffers when available +- Add Android [Thermal API](https://developer.android.com/games/optimize/adpf/thermal) support +- Replace large push constants with dynamic uniform buffers +- Optimize descriptor sets and descriptor set batching +- Optimize swapchain operations +- Integrate [Swappy frame pacing](https://developer.android.com/games/sdk/frame-pacing) from the Google AGDK + +Read more about the changes in our [collaboration update](https://godotengine.org/article/update-on-google-forge-2024/). + +
+
+ Of Life and Land screenshot +
+
+ +
+

+ Build your own settlements in Of Life and Land and experience different maps, scenarios, and rich simulations. Strategize with animals and nature in mind! +

+
+
+
+ +## May +Did you know that we still update Godot 3? Not everyone upgraded their projects when the big codebase refresh happened last year, so by offering two versions alongside each other we aim to accommodate these existing games as well as the lower-end systems used by some developers. + +The feature freeze for 3.6 happened in May, leading up to the most recent [release in September](https://godotengine.org/article/godot-3-6-finally-released/). + +Look at these shiny highlights: +- [2D physics interpolation](https://godotengine.org/article/godot-3-6-finally-released/#2d-physics-interpolation-gh-76252) +- [2D hierarchical culling](https://godotengine.org/article/godot-3-6-finally-released/#2d-hierarchical-culling-gh-68738) +- [Mesh merging](https://godotengine.org/article/godot-3-6-finally-released/#mesh-merging-gh-61568) +- [Discrete level of detail (LOD)](https://godotengine.org/article/godot-3-6-finally-released/#discrete-level-of-detail-lod-gh-85437) +- [ORM materials](https://godotengine.org/article/godot-3-6-finally-released/#orm-materials-gh-76023) +- [Text to speech](https://godotengine.org/article/godot-3-6-finally-released/#text-to-speech-support-gh-61316) + +
+
+ Arctic Eggs screenshot +
+
+ +
+

+ This game about cooking eggs in a cold climate found great reception on the internet. There is just something about the frustratingly fun mechanics of Arctic Eggs that captured quite an audience — who are we to judge your taste? +

+
+
+
+ +## June +Our annual community poll rolled around in June. We want to know who our users are, so we can learn about common needs and offer the best support possible. + +[This year’s poll](https://docs.google.com/forms/d/1eicOppRQG2RFZ8CjIGFf5Kha5yklO854fV8-YFtlWxk/viewanalytics) had more responses than ever before, once again proving the incredible growth the Godot community is experiencing. + +Poll results: programming languages +Poll results: donations + +
+
+ Until Then screenshot +
+
+ +
+

+ Nominated for a plethora of awards, the visual novel Until Then tells the emotional story of the highschooler Mark in polished pixel art. Build relationships, play minigames, use social media, and most importantly: solve the mystery at hand. +

+
+
+
+ +## July +The [Godot robot plushies](https://www.makeship.com/products/godot-robot-plush) took the internet by storm. In a collaboration with Makeship, we finally proved our infamous logo’s worth. Toothy grin and googly eyes translated adorably into the 3D medium. By the end of the campaign, almost 4,000 cuddly coding companions were headed towards new homes. + +Aside from the profits being funneled into the [Godot Development Fund](https://fund.godotengine.org/) and thereby opening an additional path to supporting the project financially, the plush also became a beloved community icon. Fanart was made, models of the robot were shared, and the character was granted countless cameos in games made with the engine. + +3D model of the Godot robot plush +[CC0 model by FR3NKD](https://fr3nkd.gumroad.com/l/vhfvy) + +While the plush is currently sold out, we are working on bringing it back soon! + +
+
+ Forgotten Mines screenshot +
+
+ +
+

+ This tactical roguelite invites you to go on runs in the Forgotten Mines. Turn-based mechanics and an RPG flavor round off the experience. +

+
+
+
+ +## August +Instead of our usual release blogposts, we tried something new for Godot 4.3: a fully fledged [release page](https://godotengine.org/releases/4.3/) detailing all the juicy features awaiting you. + +Highlights of the biggest release yet: +- [Interactive music](https://godotengine.org/releases/4.3/#highlights-interactive-music) +- [2D physics interpolation](https://godotengine.org/releases/4.3/#highlights-2d-physics-interpolation) +- [TileMapLayer nodes](https://godotengine.org/releases/4.3/#highlights-new-tilemaplayer-node) +- [Overhauled visual shader editor](https://godotengine.org/releases/4.3/#highlights-visual-shader) +- [Multi-threading improvements](https://godotengine.org/releases/4.3/#highlights-general-multi-threading-improvements) +- [Single-threaded web exports](https://godotengine.org/releases/4.3/#highlights-single-threaded-web-export) + +All in all, **3,520 commits from 521 contributors** came together in this shared effort! + +
+
+ Megaloot screenshot +
+
+ +
+

+ More inventory management mechanics come to you in the form of Megaloot, a roguelite allowing for diverse and powerful builds each run. Looting strategically is key. +

+
+
+
+ +## September +As an open-source community, the Godot project thrives in matters of community maintained extensions. To ensure that valuable knowledge does not get lost once a creator decides to step down, we opened a new GitHub organization called [Godot SDK Integrations](https://github.com/godot-sdk-integrations) to host such projects. + +Read more in our detailed [blogpost on the topic](https://godotengine.org/article/godot-sdk-integrations/). + +
+
+ Halls of Torment screenshot +
+
+ +
+

+ Survive monster hordes in this bullet hell roguelite set in the underworld. Halls of Torment is also available on Steam Deck and Android for gaming on the go! +

+
+
+
+ +## October +We listened to the feedback of last year’s [GodotCon](https://conference.godotengine.org/past/) attendees and did the unthinkable: doubling the ticket amount once more, allowing 600 people onto the premises. + +On top of that, we introduced a game showcase and activities to the event schedule. Increasing our scope like so, we hoped to invite a wider variety of visitors to enjoy mingling with other community members and facilitate networking. + +Read the full [GodotCon 2024 review](https://godotengine.org/article/review-godotcon24/) to reminisce together with us or (re-)watch the [talks on YouTube](https://www.youtube.com/watch?v=hKLl03A9Kws&list=PLeG_dAglpVo6TS0q858NajyeglRuvb7hs&index=12). + +
+
+ Psychopomp GOLD screenshot +
+
+ +
+

+ Atmospheric psychological horror awaits you in the catacombs of Psychopomp. Solve the secrets of these new levels or mod your own. +

+
+
+
+ +## November +Watch this year’s [Godot Engine showreel](https://www.youtube.com/watch?v=n1Lon_Q2T18) and join us in awe of the variety of projects being created by this community. Every year our expectations are exceeded all over again! + +Submissions are handled via our own [showreel page](https://showreel.godotengine.org/about) and always [announced on our blog](https://godotengine.org/article/submissions-open-godot-2024-showreel/), so keep a close eye on those if you are interested in pitching your own game for the next one. + +
+
+ Unrailed 2: Back on Track screenshot +
+
+ +
+

+ The second installment of this railroad construction game is made in Godot. Enjoy co-op gaming and procedurally generated worlds in Unrailed 2. +

+
+
+
+ +## December +The [Godot Engine GitHub repository](https://github.com/godotengine/godot) is not only the most popular one in the game development category and has been starred 92,300 times at the time of writing, but we also reached yet another milestone this December: [crossing the threshold of 100,000 issues](https://github.com/godotengine/godot/issues/100000). + +To celebrate the occasion (and snatch the coveted number) our Release Manager wrote a [heartwarming blogpost](https://godotengine.org/article/beyond-100000-you-re-breathtaking/) that cannot be done justice by summarizing — so go read it for yourself! + +
+
+ Ballionaire screenshot +
+
+ +
+

+ The “autobonker” Ballionaire shows how fun physics can be. Assemble your pachinko boards strategically and watch the effects go wild. +

+
+
+
+ +Concluding our walk through memory lane, the only thing left to say is **thank you**. To those of you who contribute to the engine by code, donations, or growing the community through content creation. To our users, who help promote the project with their own success and battletest new features in real time. We also want to once again thank our [corporate sponsors](https://fund.godotengine.org/#credits) for believing in what we do. Lastly, I want to give a shoutout to my wonderful colleagues, for if they weren’t so incredibly dedicated to organizing and maintaining a collaboration this big, none of this would be possible either. + +Don't forget to sign up for ["The Nodeletter"](https://godot.news/subscription/form), to receive more summaries and highlights like these, but up to twice a month! + +
+
+ + +

+ + +

+ +
+
diff --git a/storage/blog/2024-cherry-picks/2024-cherry-picks.webp b/storage/blog/2024-cherry-picks/2024-cherry-picks.webp new file mode 100644 index 0000000000..9913d385d5 Binary files /dev/null and b/storage/blog/2024-cherry-picks/2024-cherry-picks.webp differ diff --git a/storage/blog/2024-cherry-picks/Arctic Eggs.webp b/storage/blog/2024-cherry-picks/Arctic Eggs.webp new file mode 100644 index 0000000000..e8c171d2f8 Binary files /dev/null and b/storage/blog/2024-cherry-picks/Arctic Eggs.webp differ diff --git a/storage/blog/2024-cherry-picks/Backpack Battles.webp b/storage/blog/2024-cherry-picks/Backpack Battles.webp new file mode 100644 index 0000000000..eff638d3f5 Binary files /dev/null and b/storage/blog/2024-cherry-picks/Backpack Battles.webp differ diff --git a/storage/blog/2024-cherry-picks/Ballionaire.webp b/storage/blog/2024-cherry-picks/Ballionaire.webp new file mode 100644 index 0000000000..bb3569e675 Binary files /dev/null and b/storage/blog/2024-cherry-picks/Ballionaire.webp differ diff --git a/storage/blog/2024-cherry-picks/Forgotten Mines.webp b/storage/blog/2024-cherry-picks/Forgotten Mines.webp new file mode 100644 index 0000000000..fa89784899 Binary files /dev/null and b/storage/blog/2024-cherry-picks/Forgotten Mines.webp differ diff --git a/storage/blog/2024-cherry-picks/Halls of Torment.webp b/storage/blog/2024-cherry-picks/Halls of Torment.webp new file mode 100644 index 0000000000..bc04efb9fc Binary files /dev/null and b/storage/blog/2024-cherry-picks/Halls of Torment.webp differ diff --git a/storage/blog/2024-cherry-picks/KinitoPET.webp b/storage/blog/2024-cherry-picks/KinitoPET.webp new file mode 100644 index 0000000000..c6621113dd Binary files /dev/null and b/storage/blog/2024-cherry-picks/KinitoPET.webp differ diff --git a/storage/blog/2024-cherry-picks/Megaloot.webp b/storage/blog/2024-cherry-picks/Megaloot.webp new file mode 100644 index 0000000000..a7f61bb528 Binary files /dev/null and b/storage/blog/2024-cherry-picks/Megaloot.webp differ diff --git a/storage/blog/2024-cherry-picks/Of Life and Land.webp b/storage/blog/2024-cherry-picks/Of Life and Land.webp new file mode 100644 index 0000000000..a3c4c685f8 Binary files /dev/null and b/storage/blog/2024-cherry-picks/Of Life and Land.webp differ diff --git a/storage/blog/2024-cherry-picks/Psychopomp GOLD.webp b/storage/blog/2024-cherry-picks/Psychopomp GOLD.webp new file mode 100644 index 0000000000..a6e8c97f28 Binary files /dev/null and b/storage/blog/2024-cherry-picks/Psychopomp GOLD.webp differ diff --git a/storage/blog/2024-cherry-picks/Unrailed 2 Back on Track.webp b/storage/blog/2024-cherry-picks/Unrailed 2 Back on Track.webp new file mode 100644 index 0000000000..7e3cab0402 Binary files /dev/null and b/storage/blog/2024-cherry-picks/Unrailed 2 Back on Track.webp differ diff --git a/storage/blog/2024-cherry-picks/Until Then.webp b/storage/blog/2024-cherry-picks/Until Then.webp new file mode 100644 index 0000000000..c5c1173989 Binary files /dev/null and b/storage/blog/2024-cherry-picks/Until Then.webp differ diff --git a/storage/blog/2024-cherry-picks/Windowkill.webp b/storage/blog/2024-cherry-picks/Windowkill.webp new file mode 100644 index 0000000000..5f9f508219 Binary files /dev/null and b/storage/blog/2024-cherry-picks/Windowkill.webp differ diff --git a/storage/blog/2024-cherry-picks/commit.webp b/storage/blog/2024-cherry-picks/commit.webp new file mode 100644 index 0000000000..0b2340a5e4 Binary files /dev/null and b/storage/blog/2024-cherry-picks/commit.webp differ diff --git a/storage/blog/2024-cherry-picks/gdc.webp b/storage/blog/2024-cherry-picks/gdc.webp new file mode 100644 index 0000000000..268956361e Binary files /dev/null and b/storage/blog/2024-cherry-picks/gdc.webp differ diff --git a/storage/blog/2024-cherry-picks/plush.webp b/storage/blog/2024-cherry-picks/plush.webp new file mode 100644 index 0000000000..bd05df3394 Binary files /dev/null and b/storage/blog/2024-cherry-picks/plush.webp differ diff --git a/storage/blog/2024-cherry-picks/poll1.webp b/storage/blog/2024-cherry-picks/poll1.webp new file mode 100644 index 0000000000..da2ed929cd Binary files /dev/null and b/storage/blog/2024-cherry-picks/poll1.webp differ diff --git a/storage/blog/2024-cherry-picks/poll2.webp b/storage/blog/2024-cherry-picks/poll2.webp new file mode 100644 index 0000000000..7e71cf7134 Binary files /dev/null and b/storage/blog/2024-cherry-picks/poll2.webp differ