Video thumbnail for A Week of Progress after a Long Break

Dolphin Devlog: Island Cleanup & Organism Spawning (Godot RPG)

Summary

Quick Abstract

Dive into the latest Dolphin devlog, a 2D RPG where you play a marine biologist! After a much-needed break, the developer's back, energized to build on the core loop of environmental interaction. Learn how the game's evolving to dynamically respond to player actions, impacting the ecosystem.

Quick Takeaways:

  • The developer prioritized avoiding burnout to maintain passion for the project.

  • A "dependency stack" visualization is helping focus on the player's interaction with biomes.

  • A litter system was created, allowing players to clean up islands, increasing their conservation skill.

  • Organisms now spawn dynamically based on pollution levels, creating a reactive game world.

  • A custom timer uses in-game time for events, like litter spawning each midnight.

See how cleaning up trash impacts organism spawning rates, enhancing the gameplay loop. Discover the behind-the-scenes refactoring and innovative approaches to creating a living, breathing world!

This devlog covers the return to development of Dolphin, a 2D RPG about a marine biologist built with the GDAU engine. After a break, the focus is now on organisms' ability to interact with their environment, a crucial element for the game.

Break and Reflection

After releasing an app called Range on Steam, a much-needed break was taken to avoid burnout. Despite initial excitement to return to Dolphin, the break became necessary for rest and rejuvenation.

  • The break included playing games like Oblivion Remastered and Old School Runescape, reading "Designing Games" by Tynan Sylvester, and getting back into running.

The time off allowed for a return to Dolphin with renewed enthusiasm. The developer acknowledges the frequent questions about the game's completion date. However, maintaining enjoyment and preventing development from feeling like a chore are the priority.

  • Releasing Dolphin is important, and experience was gained from releasing Range.

  • The book "Designing Games" has provided ideas for creating a testable version of Dolphin for feedback and iteration.

Dependency Stack and Core Mechanics

A "dependency stack" visualization, inspired by "Designing Games," helps prioritize core game mechanics. The core of Dolphin involves the player interacting with environments, saving them from corruption, and restoring them to health.

  • Progress has been made on islands that support different organisms and a basic corruption system.

  • A key missing element is how organisms react to environmental changes caused by the player.

The current focus is on developing this organism-environment interaction.

Litter Collection and its Impact

A key interaction involves the player collecting waste/litter from islands. This action has several effects:

  • Increases the player's conservation skill.

  • Provides crafting materials.

  • Invites new or different organisms to inhabit cleaner islands.

Previously, example scenes representing various types of waste (plastic, paper, aluminum) were created, but they needed refactoring.

Litter Class Refactor

A parent "litter class" was created to represent waste. It includes:

  • A collision shape.

  • A sprite.

  • An instance of the foraging node for player interaction.

Aluminum, paper, and plastic litter now inherit from this parent class, simplifying the creation of new waste types.

Spawning Litter

The entity spawner class will now be used to spawn litter. Currently, spawning is manual, but the goal is to spawn litter based on in-game time. This requires a custom timer node that works with the game's time manager.

Time Manager and In-Game Events

The time manager class, an autoload singleton, handles the day/night cycle and weather. To trigger actions based on in-game time, the following signals were added:

  • Dawn

  • Noon

  • Dusk

  • Midnight

Litter Spawner

A new "litter spawner" scene, extending the entity spawner, connects to the midnight signal in the time manager. This triggers the "spawn litter" function at midnight in-game time. A "max litter" variable prevents over-saturation of litter on islands. The spawner queries nodes in the "litter" group to track the total number of litters.

Organism Spawning and Pollution Saturation

The organism spawner class is being updated to consider litter saturation when spawning organisms.

Adjusting Spawn Density

The spawn distance parameter in the poison disc sampling algorithm (used for organism placement) is being modified based on pollution saturation.

  • Higher pollution saturation (more litter) results in a greater spawn distance and lower organism density.

  • Lower pollution saturation (less litter) results in a smaller spawn distance and higher organism density.

A helper function calculates the appropriate spawn distance based on the pollution saturation level.

Runtime Spawning

The process of organisms spawning has been changed to take place when the player interacts with the world.

Spawn Mode Enumeration

A "spawn mode" enumeration has been added to the organism spawner class:

  • Manual: Used for flora, organisms are spawned at development time using tool scripts

  • Automatic: Used for fauna, organisms are spawned at runtime.

Setting the spawn mode to automatic triggers spawning in the ready function when the scene loads.

Impact and Future Plans

These changes create a world that responds to the player's actions. Cleaning up litter leads to more organisms spawning. Future plans include introducing a greater variety of organisms, each with unique combat challenges and crafting materials.

Conclusion and Gratitude

The week's development was enjoyable and productive. The developer plans to continue creating shorter, simpler devlogs covering all aspects of development. Gratitude is expressed to Patreon supporters, including Mike Conway, Ben Van Dyken, David L, Kyle Van Riper, and Delu.

Was this summary helpful?

Quick Actions

Watch on YouTube

Related Summaries

No related summaries found.

Summarize a New YouTube Video

Enter a YouTube video URL below to get a quick summary and key takeaways.