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.
- New Session:
- Play game
- Check Git Hub Project: 7 Bridges Project on Git Hub Projects
- Update Google Slides: GameDev_Capstone
- Make a list of priorities
- New Session:
- 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:
- Walk Identification: "You are walking on a network"
- Vertex Recognition: "This intersection is a vertex"
- Edge Recognition: "This bridge/road is an edge"
- Path vs Trail: Path = no repeated vertices, Trail = no repeated edges
- 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
Get 7Bridges
7Bridges
An educational open-world simulation game that teaches graph theory and network concepts.
Status | Released |
Author | andrew-leary |
Genre | Educational, Adventure, Puzzle |
More posts
- Devlog06: UI cleanup10 days ago
- Devlog05: Cutscene Management11 days ago
- Devlog04: Sprint 4&5 Tutorial System12 days ago
- Devlog03: Sprint 319 days ago
- DevLog02: Sprint226 days ago
- DevLog01: Sprint 1 (Setup)29 days ago
Leave a comment
Log in with itch.io to leave a comment.