Virtual Learning Factory

Final Year Capstone project

UX & CAD Designer



Overview



As part of my final-year capstone at McMaster University, I worked on designing and prototyping a Virtual Rooms platform to help students gain hands-on experience in automation and manufacturing remotely. The project addressed the growing need for digital learning environments during COVID-19 by creating a web-based digital twin of McMaster’s Learning Factory.


Role

3D modeling, Researching, Protoyping

Methodology

Design Sprint,
Agile, SDLC

Tool & Framework

Blender, Fusion 360
Three JS

Duration

12 Months
January - December

The Challenge

During the COVID-19 pandemic, students in automation and manufacturing programs lost access to physical labs and equipment, making it nearly impossible to gain hands-on training. Traditional online learning tools fell short—they could deliver theory but not immersive, practice-based experiences.

At the same time, universities faced mounting pressure to scale remote learning solutions while maintaining quality and safety. Existing campus housing portals or LMS integrations lacked interactive, 3D, or VR-based capabilities that would simulate a real factory environment.

Problem Statement

To design a virtual learning environment that was same as McMaster’s Learning Factory. Such a platform could provide students with interactive, accessible, and safe hands-on training in robotics, PLC programming, and industrial processes—directly from their browsers.



The Solution

Watch: Virtual Learning Factory Demo

Walk through of final design of virtual learning factory web-app



Objectives


Creating a web-based simulation platform to gamify learning by enabling students to virtually interact with campus machines, while giving professors an effective tool to support online teaching and lab instruction.



User & Market Research




Identifying problem

I collaborated with faculty and student participants to understand core needs, environments, and tasks. We conducted semi-structured interviews and live observations to capture current workflows, major challenges, and opportunities for improvement. Insights from this research informed requirements and the initial product roadmap.

Participants

6 participants across key roles: 4 students in automation courses and 2 instructors. Sessions were semi-structured (30–45 min) and captured goals, frustrations, and tool usage.

Interview Script
  1. What’s your current workflow?
  2. Where do you get blocked or lose time?
  3. How do you access labs remotely?
  4. What tools do you use today?
  5. What would “ideal” look like?
  6. How do you measure success?
Observations
  • Fragmented tools and inconsistent access to equipment.
  • High friction in setup; steep learning curve for new software.
  • Limited feedback loops during practice sessions.
  • Demand for browser-based, low-setup simulation.
Key Findings

Heavy installs and mixed hardware blocked students from practice.

Theory-only tools failed to deliver practical skills.

Professors lacked visibility into student progress.

Need to support concurrent users with minimal IT overhead.

Market research

Looking at popular games that have similar assembly line style gameplay for PLC section of project.



A casual puzzle game featuring memory, logic, and assembly-line style cake building.



A multi-player cooking game where players manage kitchens and assemble dishes under time pressure.



A strategy game focused on designing and optimizin automated assembly lines and factories.

User Persona

To better understand the needs of our primary stakeholders, I created user personas based on research and faculty interviews. These personas captured the goals, frustrations, and expectations of both students and professors using Virtual Rooms.


Student Persona
Aisha Khan 3rd-Year Automation Student, 21
  • Goals: Gain hands-on PLC/robotics experience remotely, apply theory in labs, access simulations easily.
  • Pain Points: No access to physical labs during COVID, complex software setup on personal devices, lack of real-time feedback.
  • Needs: Browser-based access, guided tutorials, and realistic interaction with 3D factory environments.
Professor Persona
Dr. Martin Lee Faculty Instructor, 46
  • Goals: Deliver engaging remote labs, monitor student progress, ensure accessibility for all learners.
  • Pain Points: Limited remote teaching options, inconsistent outcomes without labs, time wasted troubleshooting student setups.
  • Needs: Scalable multi-user platform, dashboards for tracking engagement, reliable low-maintenance system.

Development process


In developing the simulation, we used Three.js as the core framework for rendering and managing 3D objects in the browser. Each element in the environment—such as trees, players, or enemies—was modeled using an object-oriented style, treating every item as an independent entity with its own properties and behaviors. This modular approach made it easier to define interactions (for example, collisions or movement) while keeping the codebase flexible and scalable. By structuring the world this way, new objects could be added or updated without disrupting the overall system, mirroring the component architecture commonly used in modern game engines.


Design process



1. Assembly Line Table

The assembly line table was designed as a modular component in Blender, allowing students to interact with objects in sequence—similar to real-world factory workflows. This process involved building, texturing, and exporting individual parts that could later be manipulated in the browser. The design mimicked real assembly tasks while keeping gameplay intuitive and accessible.

2. Landscape Design

To create an immersive environment, I used Blender to model the overall 3D landscape, including terrain, lighting, and object placement. The focus was on balancing realism with performance so that the exported scene could run smoothly in Three.js. This step set the foundation for user navigation and interaction in the virtual lab space.

3. Landscape texture

To make the virtual space feel closer to an in-person lab, I applied materials and color textures to the landscape. This included adjusting surfaces, shading, and colors to give the environment a realistic look while still being optimized for browser rendering.


Mechanics



1. PLC game

Students interact with a simplified PLC (Programmable Logic Controller) simulation that mimics real-world automation tasks. The game mechanics guide students through activating switches, sequencing processes, and controlling basic inputs/outputs, helping them apply theory in a hands-on way. This mechanic reinforces core automation skills while making the experience engaging and intuitive.

2. Professor interaction

To mirror real life, we designed a silhouette of the actual lab director and made him the in-game character who assigns you quests. He’s the one who gives players their PLC tasks to complete, adding both authenticity and a playful touch. This easter egg connected the simulation back to campus life, making the experience feel personal and fun while still guiding students through their work.

3. Avoiding canadian geese

To keep the experience playful and memorable, a light-hearted “avoiding geese” mechanic was added. Students must navigate around obstacles like geese while completing their assembly-line tasks. This injects humor and unpredictability into the simulation, keeping engagement high while subtly reinforcing focus and multitasking skills.

  • When hit by a goose, the player loses a life and the game restarts.
  • Player can use the attack action to repel geese and clear your path.


PLC game


Step-by-step guide showing how players interact with the PLC simulation



Quick reference to key PLC tags, serving as a built-in reminder for students.



Interactive style drag-and-drop gameplay to complete PLC ladder logic.



Outcomes



Through this project, we were able to deliver not only a functional MVP but also a meaningful impact—providing students with continued access to hands-on learning in a fully online setting, while giving faculty confidence in a scalable tool for the future.

Reflection

This project taught me the importance of designing for multiple users each with different needs: students seeking usability and professors requiring scalability. I learned how to balance technical feasibility with UX accessibility, especially when working with complex 3D tools and limited resources.

Next Steps:

  1. Integrate more advanced simulations, including full PLC programming exercises and robotics modules.
  2. Build professor dashboards to track student progress, engagement, and performance in real time.
  3. Conduct a pilot rollout with a larger student cohort, gather structured feedback, and scale adoption across more courses.



← Previous Project

StudentBase

Student house rental app

Next Project →

Bombardier

Internship experience.