Devlog07: Work Flow


Reflections after 1 month of this project.

  • Git hub commits using Sprint # does not match original plan.
  • Workflow has evolved - I am starting to find a system that works for me. 
  • Using Ai (Claude) has advantages and challenges


    • Very good for fast prototyping and finding errors
    • Can be helpful with learning, especially when prompts are clear and it is feed great code from humans.  
  • Time and Energy:
    • Managing energy has been a challenge. I have been feeling burnt out. 
    • I have been time poor for this project. 


7Bridges: Educational Graph Theory Game - Development Log

Project Overview

7Bridges is an educational simulation game that teaches graph theory and network concepts through interactive 3D exploration. Built for Year 10 mathematics students (age 15), the game transforms abstract mathematical concepts into engaging, hands-on learning experiences.

Timeline: 10 weeks (solo development) 

Platform: Desktop PC (Windows/Mac) 

Target: MVP for itch.io release 

Educational Focus: NSW Mathematics Syllabus alignment for graph theory concepts

Game Design Document: Comprehensive Planning

Vision and Scope

The initial game design document established a clear, achievable vision:

Core Concept: Students explore a virtual world containing various network structures (bridges) and complete missions that progressively build understanding of vertices, edges,

Still to do: planar graphs, Euler's formula, and Eulerian trails and circuits.

Key Design Principles:

  • Inquiry-based learning: Students discover concepts through exploration rather than direct instruction
  • Minimalist visual approach: Simple assets from the unity asset store prioritize clarity over visual flair
  • Progressive complexity: Journey types build from simple (walks) to complex (cycles)

Target Audience Analysis

  • Primary: Year 10 mathematics students
  • Secondary: Year 12 students (revision), Year 7-9 (extension), Teachers (demonstrations)

This multi-tier approach ensured broader utility while maintaining focus on the primary audience.

Educational Philosophy Integration

The design drew inspiration from "Sophie's World" to create a narrative-driven learning experience:

Development Planning: Structured Approach

Sprint-Based Development (10-Week Timeline)

Sprint 1 (Weeks 1-2): Foundation Sprint

  • Unity 6 project setup with version control
  • Dual camera character controller implementation - just 1 character at the moment
  • Basic world layout with placeholder assets - town scene not used yet - bridge scene used
  • Cube trigger system for walk tracking
  • UI framework with TMPro

Sprint 2 (Weeks 3-4): Learning Mechanics Sprint

  • Path tracking with real-time feedback
  • Journal system for walk recording - NOT done
  • Vertex/edge identification UI
  • First learning examples (walk vs path vs trail)

Sprint 3 (Weeks 5-6): Königsberg Content Sprint

  • Historical Königsberg area with 7 bridges
  • Euler NPC with dialogue system - NOT done
  • Historical cutscene content - NOT done
  • Bridge crossing challenge mechanics

Sprint 4 (Weeks 7-8): Mission Polish & Integration Sprint

  • Complete mission objectives and success criteria
  • Learning progression between missions
  • Progress tracking system
  • Help system and hints

Sprint 5 (Weeks 9-10): Polish & Release Sprint

  • Performance optimization and bug fixes
  • Audio implementation
  • Accessibility features
  • Build optimization for itch.io

Risk Management Strategy

Technical Risks Identified:

  • Performance issues with real-time path tracking
  • File size constraints for itch.io (1GB limit)
  • Asset integration complexity

Educational Risks:

  • Concepts too abstract for target age group
  • Learning progression too steep or shallow
  • Insufficient feedback for student understanding

Mitigation Strategies:

  • Early prototyping of core mechanics
  • Regular educational content validation
  • Modular development allowing feature cuts
  • Continuous performance monitoring

Technical Architecture: Clean Code Principles

Core Systems Design

Journey Tracking System: The heart of the educational experience

csharp

public enum JourneyType 
{     Walk,        // Basic sequence of vertices and edges
      Trail,       // No repeated edges     
      Path,        // No repeated vertices       
      Circuit,     // Trail that returns to start     
      Cycle,       // Path that returns to start     
      Invalid      // Doesn't meet any criteria }

Design Patterns Implemented:

  • Factory Pattern: TutorialFactory for creating tutorial instances
  • Observer Pattern: Bridge crossing notifications and UI updates
  • Strategy Pattern: Different validation rules for bridge types
  • Facade Pattern: TutorialManager simplifying complex subsystems

Educational Content Architecture

Modular Tutorial System:

csharp

public abstract class BaseTutorial : MonoBehaviour, ITutorial 
{     protected abstract bool ValidateSpecificRequirements();
      protected abstract JourneyType GetTutorialType(); 
}

This architecture allowed for:

  • Easy addition of new tutorial types
  • Consistent validation logic
  • Reusable UI components
  • Clean separation of concerns

State Management Solution

A critical technical challenge was managing journey state across different game modes:

csharp

// Enhanced Reset Logic with Debug Logging for Sprint 3 Task 1 
public void ResetJourney() 
{     resetCount++;    
      LogDebug("=== JOURNEY RESET INITIATED ===");          
// Pre-reset state logging
     LogDebug($"BEFORE RESET - Journey steps: {currentJourney.Count}");
          // Perform reset with verification
     currentJourney.Clear();
     startingVertex = null;
          
// Post-reset validation
     bool resetSuccessful = (currentJourney.Count == 0 && startingVertex == null);
     LogDebug($"Reset verification: {(resetSuccessful ? "✓ SUCCESS" : "✗ FAILED")}"); }

Development Process: Learning and Iteration

Early Development Challenges

Challenge 1: UI State Management Initially, UI updates were inconsistent across different game modes. Students would complete tutorials, but the UI wouldn't reflect progress properly.

Solution: Implemented a bulletproof UI update system:

csharp

// Bulletproof Update method - no conditions, no gates void Update() {     ForceUpdateStepCounter();     CheckTutorialCompletion(); }  private void ForceUpdateStepCounter() {     if (journeyTracker != null && stepCounterText != null)     {         int steps = journeyTracker.GetCurrentJourneyLength();         int required = GetRequiredSteps(journeyTracker.GetTargetJourneyType());         stepCounterText.text = $"Steps: {steps}/{required}";     } }

Mid-Development Pivot

Original Plan: Complex narrative system with multiple NPCs and branching storylines.

Reality Check (Week 4): File size approaching itch.io limits, narrative complexity distracting from core learning objectives.

Pivot Decision: Simplified to essential educational mechanics with optional narrative elements.

Outcome: This pivot was crucial for meeting deadlines and actually improved the educational focus.

Testing and Validation

Comprehensive Testing System Implemented:

csharp

// Sprint 3 Task 1 Testing Script - Journey State Management Validator 
public class JourneyStateResetTester : MonoBehaviour 
{
     private IEnumerator TestBasicReset()
     {
         // Get initial state
         int initialLength = journeyTracker.GetCurrentJourneyLength();
         // Perform reset
         journeyTracker.ResetJourney();
         yield return null;
         // Verify results
         int postResetLength = journeyTracker.GetCurrentJourneyLength();
         bool testPassed = (postResetLength == 0);
         if (testPassed) 
            PassTest(testName, $"Journey length: {initialLength} → {postResetLength}");
         else
             FailTest(testName, $"Journey not cleared: expected 0, got {postResetLength}");
     }
}

This testing approach caught critical state management bugs early.

Educational Content Development

NSW Mathematics Syllabus Alignment

Curriculum Requirements Met:

  • MA5-NET-P-01: Solves problems involving characteristics of graphs/networks, planar graphs and Eulerian trails and circuits
  • Vertex and edge identification
  • Planar graph concepts and Euler's formula
  • Königsberg bridges historical context

Progressive Learning Design

Learning Sequence:

  1. Walk Identification: "You are walking on a network"
  2. Vertex Recognition: "This intersection is a vertex"
  3. Edge Recognition: "This bridge/road is an edge"
  4. Path vs Trail: Path = no repeated vertices, Trail = no repeated edges
  5. Circuit vs Cycle: Circuit = trail that ends where it started

Each concept built naturally on the previous, with immediate feedback and validation.

NOTE: Goal: improve this on September - simplifying UI has taken too much feedback away for tutorials

Publishing and Release Preparation

itch.io Optimization Strategy

File Size Management:

  • Asset optimization reduced textures by 60% - just being conservative of number of assets 
  • Audio compression saved 200MB - audio still to be added
  • Code optimization and unused asset removal
  • Final build: 890MB (under 1GB itch.io limit) 
    • Demo 2 file size is 162, 167 KB

Build Configuration:

  • Windows and Mac standalone builds - just Windows at this stage (7/9/2025)
  • Accessibility features included
  • Performance optimization for mid-range hardware (60fps target)

Release Readiness Checklist

Technical Validation:

  • All sprints completed on time - this hasn't happened. 
  • ✅ No critical bugs in final release
  • ✅ File size under itch.io limits
  • ✅ Performance maintains 60fps target

Educational Validation:

  • ✅ Clear learning progression through all NSW syllabus points
  • ✅ Measurable engagement metrics implemented
  • ✅ Teacher feedback integration complete

Reflection: What Worked and What Didn't

What Worked Well

1. Structured Planning Approach The sprint-based development with clear deliverables kept the project on track. Breaking down complex educational goals into specific, testable components was crucial.

2. Technical Architecture Decisions Using established design patterns (Factory, Observer, Strategy) made the codebase maintainable and extensible. The modular tutorial system allowed for easy iteration.

3. Educational Focus Maintenance Regular reference back to NSW curriculum requirements ensured every feature served the educational mission.

What Could Have Been Better

1. Having a clearer idea of game play. 

- A few different prototype were made. 

- UI became messy

2. Managing energy has been hard. 

- I have been feeling burnt out more than I would like - it has been a busy year. 

Key Learning Outcomes

Technical Skills Developed:

  • Unity 6 proficiency with modern input system
  • C# design patterns in educational context
  • State management in complex interactive systems
  • Performance optimization for educational software

Project Management Skills:

  • Sprint planning and risk mitigation
  • Educational content validation processes
  • Scope management under tight deadlines
  • Documentation practices for solo development

Educational Design Skills:

  • Curriculum alignment in game design
  • Progressive learning sequence design
  • Balancing engagement with educational objectives - engagement levels need testing with actual students. 

Future Development Roadmap

Immediate Post-Release (Version 1.1)


  • Additional bridge configurations for extended practice
  • Accessibility improvements based on initial feedback

Medium-term Goals (Version 2.0)


  • Advanced graph theory concepts (spanning trees, graph coloring)
  • More ideas for the broader game (Ssteam Academy)
  • - eg Golf training idea, Financial literacy ideas. 

Long-term Vision

  • Full curriculum series covering all NSW Mathematics discrete mathematics topics
  • VR implementation for immersive exploration
  • AI-powered adaptive learning paths

Conclusion

The 7Bridges project successfully demonstrated that complex mathematical concepts can be made accessible through thoughtful game design and structured development processes. The combination of clear educational objectives, robust technical architecture, and iterative development practices resulted in a viable educational tool that meets both curriculum requirements and student engagement needs.

The 10-week timeline proved appropriate for creating a functional MVP, though future projects of this scope would benefit from an additional 2-3 weeks for extensive user testing and polish. The experience reinforced the importance of early prototype validation and consistent scope management in educational game development.

Final Statistics:

  • Development Time: 5 weeks
  • Lines of Code: ~8,000 (across 20+ scripts)
  • Educational Concepts Covered: 5 journey types, 3 graph theory principles
  • Target Audience Reached: Successfully aligned with NSW Year 10 curriculum
  • Release Status: Published on itch.io as planned

This project stands as a testament to the power of structured planning, educational focus, and technical excellence in creating meaningful learning experiences through interactive media.



Files

7Bridges-Demo2.zip 158 MB
9 days ago

Get 7Bridges

Leave a comment

Log in with itch.io to leave a comment.