-
Notifications
You must be signed in to change notification settings - Fork 0
Description
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.