Skip to content

progress review/progression #3

@Frogpants

Description

@Frogpants

Supporting Community, Progression, and Meaningful Growth

Overview

The fungi and fungi-demo C++ projects focused on building real 2D and 3D game systems — not just experiments, but engine-level foundations. These systems now directly support the San Diego Oasis mission-driven game, especially in areas of:

  • Community building
  • Visible world growth
  • Long-term progression
  • Player impact on the environment
  • Smooth, immersive gameplay

The technical assets from fungi enable the game to feel alive, evolving, and meaningful rather than static.


1. World as a Living System

Hard Asset: Structured Spatial World (2D Grid + 3D Awareness)

In fungi, the world was spatially structured. Every entity had:

class Entity {
public:
    Vector2 position;
    virtual void update(float dt) = 0;
    virtual void render() = 0;
};

This established:

  • Persistent world positions
  • Spatial relationships between objects
  • A sense of place rather than abstract menus

Application: Community as a Physical Space

In the Oasis game:

  • Seniors live in specific houses
  • The player physically walks to them
  • The neighborhood fills over time

Because of the fungi systems:

  • Houses exist in real coordinates
  • Movement feels grounded
  • The world changes visually as engagement increases

Community is not just a number — it is spatially represented.


2. Growth Through Player Action

Hard Asset: Incremental World Updates

In fungi, small updates accumulated into visible change:

void update(float dt) {
    position += velocity * dt;
}

And across many entities, small changes created system-wide evolution.


Application: Engagement as Progressive Growth

In Oasis:

  • Completing tasks increases engagement
  • Engagement changes senior states
  • States unlock new interactions
  • Community metrics rise

Because the fungi engine emphasized incremental updates:

  • Growth feels gradual, not instant
  • Progress feels earned
  • Change is visible over time

This creates emotional weight behind actions.


3. Entity-Based Relationships

Hard Asset: Polymorphic Entity Design

Fungi used structured entity hierarchies:

class Player : public Entity {};
class Object : public Entity {};

This allowed:

  • Shared behavior
  • Expandable world objects
  • Clear responsibility boundaries

Application: Interconnected Roles

In Oasis:

  • Player
  • SeniorCitizen
  • House
  • Task
  • Reward

All function as interconnected entities.

Because of the entity architecture foundation:

  • Seniors are not static UI elements
  • Houses are part of the world
  • Tasks are tied to individuals
  • Rewards influence progression

This supports a sense of belonging within a living environment.


4. Smooth Interaction Flow

Hard Asset: Frame-Based Input + Delta Time

Fungi projects implemented:

if (isKeyPressed(KEY_W)) {
    player.position.y -= speed * dt;
}

This ensured:

  • Frame-rate independent movement
  • Fluid navigation
  • Responsive control

Application: Emotional Immersion

Smooth movement contributes to:

  • Calm exploration
  • Meaningful visits
  • Natural pacing

Peer feedback emphasized improving smoothness.
The fungi engine already provides:

  • Structured update loops
  • Input abstraction
  • Stable rendering cycles

This makes the experience feel intentional rather than mechanical.


5. Visible Community Expansion

Hard Asset: Render Order and Layering

In fungi 2D/3D systems, rendering required:

  • Sorting objects
  • Maintaining depth consistency
  • Separating world from UI
renderWorld();
renderUI();

Application: Visual Community Growth

In Oasis:

  • Houses can visually change state
  • New houses unlock
  • Community spaces can fill with activity

Because of the rendering architecture:

  • Growth can be shown visually
  • The world can become denser over time
  • Progress is not abstract — it is seen

This reinforces the theme of belonging and reconnection.


6. Persistence and Long-Term Impact

Hard Asset: Structured Game State

Fungi required persistent world data:

struct GameState {
    Player player;
    std::vector<Entity> worldObjects;
};

Application: Lasting Change

In Oasis:

const gameState = {
    player: {},
    seniors: [],
    houses: [],
    communityScore: 0
};

Because of fungi's structured state design:

  • Senior progression persists
  • Community changes remain
  • Player impact is permanent

This supports the core mission:
Helping someone leads to lasting transformation.


7. Emotional Design Through Systems

The fungi projects were technically focused, but they emphasized:

  • Gradual growth
  • Interconnected systems
  • Visible change over time
  • Player-driven evolution of the world

These same qualities now support:

  • Reducing isolation through interaction
  • Building trust through repeated visits
  • Watching a quiet neighborhood become lively
  • Transforming individual effort into collective growth

The technical hard assets enable emotional storytelling.


8. Impactful Qualities Enabled by Fungi Systems

Technical Asset Emotional Outcome
Spatial world design Sense of place
Incremental updates Earned progression
Entity architecture Meaningful relationships
Smooth input system Calm exploration
Persistent state Lasting impact
Layered rendering Visible community growth

9. Conclusion

The fungi and fungi-demo C++ projects built the structural backbone required for a world centered on connection and growth.

They contributed:

  • Real-time game architecture
  • Entity-based world modeling
  • Smooth movement systems
  • Persistent state handling
  • Scalable rendering logic

These systems allow the Oasis game to express:

  • Community building
  • Gradual transformation
  • Personal impact
  • Shared growth

The technical depth gained from fungi makes it possible to create a world that evolves — not just visually, but socially — as the player invests time and care into the people within it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions