Author: Winnie Tsai

  • Week 1 (01/17/2025) – Kicking Off Spelunx, Meeting with Stakeholders, and Tech Setups

    Week 1 (01/17/2025) – Kicking Off Spelunx, Meeting with Stakeholders, and Tech Setups

    Welcome to the first dev blog for Spelunx! This week, we officially kicked off our project, met with key stakeholders, and began setting up our technical pipeline. With our core hours set, project scope discussed, and initial tools chosen, we’re ready to dive into development.

    A core goal of this project is to make CAVERN development more accessible, not just for our team but for future developers as well. That means prioritizing long-term support, intuitive tools, and well-documented best practices.

    Goals for the Week

    Before jumping into development, we needed to establish our workflow, tools, and project direction. Our main objectives were:

    • Meeting with key stakeholders (faculty, advisors, South Fayette partners) to understand our problem space.
    • Scoping the project goals and deliverables for the semester.
    • Exploring the existing CAVERN API.
    • Setting up version control (Git vs. Perforce) and documentation tools (Doxygen).
    • Defining core working hours for the team.

    Project Pillars Defined

    We met with Drew Davidson (faculty advisor) and Steve Audia (CAVERN builder) to discuss our project direction and expectations. Four core pillars emerged for our development:

    1. Input Systems – Vive trackers and Femto Bolt for motion tracking.
    2. Graphics – Optimize rendering to improve CAVERN visuals
    3. Audio – Spatial sound experiments for immersive experiences
    4. UX – Simplifying onboarding and development for new users

    In order for design and technical knowledge that we will explore and encounter this semester to be passed down to future developers of the CAVERN, we also recognized and emphasized the importance of thorough documentation to aid our four core pillars.

    Technical Consultation with Ezra

    Ezra Hill, our technical consultant and CAVERN API developer (also an ETC alum), walked us through the existing API, shared his toolkit, and gave valuable advice on best practices. Here ae some key takeaways:

    • The current Unity camera setup is 30 Unity cameras (hard on performance), or 1 camera (broken for stereoscopic rendering). Since this is a semester-long project, we decided to tackle fixing the 1 camera solution, as this will greatly improve performance, leading to support for higher-fidelity art assets. We were also advised not to create a camera from scratch, but extend the built-in Unity camera.
    • Vive trackers and SteamVR integration are inconsistent and need debugging while Femto Bolts were previously integrated using Unreal instead of Unity. Both need to be streamlined to include into our toolkit.
    • Since Unity 6 is the newest standard, we will convert everything to this version to ensure long-term support and compatibility for future developers. However, because Universal Render Pipeline (URP) is the default for Unity 6, shaders need modifications to work properly, and packages should be upgraded as well.
    • There is already spatial audio support, but it has not been properly explored, and Unity 6 changes also need to be investigated.
    • Version Control Considerations – Perforce could help with large files, but Git is fine for now.
    • Ezra also recommended starting with a functional rendering pipeline before focusing on additional features. This shaped our Week 2 priorities.

    South Fayette – Understanding Our Key Users

    South Fayette High School students are one of our key user groups, and their needs will shape how we design our toolkit. Our meeting (organized with the help of John Balash, ETC’s Director of Educational Outreach) with Matthew Callison, Director of Innovation & Strategic Partnerships at South Fayette, and Stacey Barth, the teacher for the pilot game design course hoping to develop on the CAVERN, helped us understand how out toolkit can fit into their curriculum.

    What We Learned About SF and Students

    • Most have limited to zero Unity, programming, and 3D experiences.
    • The 5 students who self-selected into this pilot course are excited about game development & virtual worlds. One student has even applied for game design programs for college.
    • They are planning on collaborating with a creative writing course for children’s books to build educational experiences using the CAVERN.
    • The school is part of the Digital Promise’s League of Innovative Schools, which will gather for a conference on March 25th, and CAVERN will be showcased to other schools potentially interested in building a CAVERN.

    How We Can Support Them

    • Make it easy for students to get started through simplified onboarding.
    • Provide structured learning materials to assist SF teachers to build lesson plans.
    • Offer intuitive interactions so students can explore without complex coding.

    Apart from calibrating logistical schedules, we were happy to discover that our goal for a beginner-friendly toolkit, clear tutorials, easy-to-use Unity components, flexible interaction examples, and awe-inspiring demos are aligned greatly with our key users.

    Sample Scene Art & Interactions Brainstorming

    After determining what features we will support in our toolkit, our artists brainstormed art and interactions that can best showcase a CAVERN experience: Vive trackers and Femto Bolts, stereoscopic rendering, directional sound, and immersive aesthetic.

    We have then settled on a sample scene with mystical and botanical feel, where the color palette will mainly be blue and green.

    Interactions we will prioritize to support include:

    • Mirror-like interactions through Vive Trackers following player movement.
    • Wind controlling powered by Femto Bolts.

    Other Progress and Setups

    Version Control & Documentation

    • Git (without LFS/Perforce for now) – We’ll add LFS or Perforce later when needed.
    • Doxygen Setup Completed! – We successfully set up automated API documentation and have it working in the link here.
    • Tutorial Documentation Tools – We explored options like GitBook, Mkdocs, and Google docs. For now, we will document internally in Google Docs, while the final published documentation will be decided in the future.

    User Research & Design Explorations

    • Our development will center around rapid iteration and playtesting with our users: South Fayette High School, current ETC students, and Interactive Story Lab, another CAVERN project this semester discovering live-action interactive film in the space.
    • This week, we created a questionnaire for past CAVERN developers to gather insights on how they designed experiences and the technical difficulties they encountered.

    Next Steps

    Moving into Week 2, our focus will be on starting research and development on various parts of our toolkit, including one-camera rendering for stereoscopic view, Vive Tracker integration, Unity Editor tooling pipeline, spatial audio, and experimentations are art assets.

    We’re off to a great start, and we’re excited to push forward! Stay tuned for more updates next week.

    Gallery

    composition box
    Composition Box from Friday’s Playtest to Explore Workshop
  • Week 0 – How Spelunx Came to Be

    Week 0 – How Spelunx Came to Be

    Spelunx began as a technical passion project—four programmers eager to dive deep into rendering, software engineering, and systems development. We wanted to build something from scratch, not just another experience, but tools that would empower future creators.

    Each of us had a different motivation for starting this project:

    • Terri was drawn to optimizing software systems. She was especially interested in digging into the mathematics behind rendering code.
    • Yingjie was passionate about human-centered design, particularly in how development tools could be structured to fit into creative pipelines.
    • Winnie was interested in technical problem-solving with real impact, especially in documentation and tutorials. Also, she is interested in audio design and its immersive impact.
    • Josh wanted to develop tools that enable creativity, focusing on the intersection of human-computer interaction and deeply technical math-heavy systems.

    To better understand how to structure a technical project within ETC, with the help of faculty member Phil Light, we reached out to alumni from Isetta Engine, a past team that built a game engine from scratch. They shared insights into scoping technical work, balancing research with production, and making tools that are actually usable.

    We were also connected with Cort Stratton, an ETC alum at Unity, whose expertise in real-time rendering and graphics programming helped us explore possible areas of focus. But what we needed was a platform that would challenge us technically while having real-world impact—which led us to CAVERN.


    Discovering CAVERN

    CAVERN is a 270-degree projection-based stereoscopic immersive space with a 20-foot play area. Unlike similar high-end virtual production or immersive projection systems on the market, CAVERN was built by Steve Audia as a cost-effective solution (millions vs. $20,000), making it affordable enough for educational institutions like high schools to implement. This makes CAVERN uniquely accessible, allowing students and educators to explore large-scale immersive environments without requiring the multi-million-dollar setups used in industry.

    However, with this accessibility comes a unique set of challenges. Because CAVERN is a custom-built system, its technical setup requires careful configuration, including projection alignment, stereo warping, and input tracking. While this modularity makes it highly customizable, it also means that developers must manually integrate various components rather than relying on an out-of-the-box solution. Additionally, since each team working in CAVERN has historically developed its own workflow, past solutions are not always well-documented or standardized, leading to a learning curve for new users.

    To learn more, we met with Steve, and he walked us through the system’s capabilities and pain points. Every semester, teams working in CAVERN struggled with:

    • Cumbersome setup processes – Installing dependencies, configuring software, and troubleshooting setup delays.
    • A lack of standardized tools – Every team had to engineer custom solutions for rendering, tracking, and input.
    • Rendering and camera limitations – Standard Unity camera setups didn’t work properly in the space, and the current solution is costly in performance, severely limiting art fidelity.
    • No clear documentation – Each new team reinvented solutions from scratch instead of building on past work. Worse yet, teams graduate and leave with their knowledge.

    It became clear that CAVERN had enormous creative potential, but its usability barriers prevented it from being fully realized. This was the perfect challenge—a deeply technical problem that needed solving, with real impact for future ETC teams and beyond.

    At this point, Ling joined our team, drawn to the opportunity to work alongside a technically focused group while developing her skills in environmental art and technical art. Shortly after, Mia, a second-year student with experience on two previous CAVERN projects, joined us as well, bringing valuable insights from past development efforts. With a well-rounded team and a clear technical challenge, Spelunx was born.


    Researching the Problem – Past Teams & Expert Feedback

    With CAVERN as our focus, we started by interviewing past teams, especially the Hycave project that used Unity and the Flow project that used Unreal Engine, to understand exactly what was missing from the development workflow. Across multiple projects, we heard the same frustrations:

    • Input system incompatibility – Vive trackers and other input devices were difficult to integrate.
    • Unclear technical constraints – Teams weren’t sure what art, shaders, and post-processing would actually work.
    • Lack of testing flexibility – Testing required physical access to CAVERN, making iteration slow.
    • No documentation of past solutions – Every project started from zero, even when previous teams had solved similar problems.
    The CAVERN Unity camera setup that included 30 cameras, causing great hurdles in developing with the original API.

    At this stage, Mike Christel, our faculty champion, played a crucial role in guiding our project direction. He helped us refine our focus, ensuring that our work would lead not only to a usable final product but also to a meaningful journey of exploration and discovery for each team member, regardless of background or expertise. Through conversations with nearly all faculty, we received valuable feedback that encouraged us to think beyond technical challenges and consider how our tool design could uncover novel insights into experience design within an immersive platform, and this led to our final pitch direction.


    Pitching Our Project

    At the ETC, pitch projects go through two rounds of approval before being officially greenlit. This process ensures that projects are well-defined, have clear goals, and are feasible within a semester. Faculty aren’t just looking for interesting ideas—they want to see a structured plan for execution and real-world impact.

    With our research in hand, we structured our pitch around two key ideas:

    1. CAVERN has untapped creative potential, but technical barriers make it difficult to develop for.
    2. A structured, modular toolkit will make CAVERN more accessible, enabling both novice and experienced developers to create immersive experiences.

    We presented a two-pronged approach:

    • Technical Setup & Configuration – Solving rendering, input tracking, and audio challenges.
    • Documentation & Templates – Providing structured tutorials and best practices to help new teams onboard quickly.

    We made it very clear that our project was not just solving technical hurdles, but a user-centric project rooted in research, documentation, tutorials and testing.

    Brainstorming and defining our deliverables that we will propose.

    To further validate our approach, we reached out to potential toolkit users. South Fayette High School’s was especially excited about the prospect of using Spelunx, as they are running a game design course this semester with the hope of developing experiences on their newly built CAVERN. This reinforced that this toolkit wasn’t just about ETC—it could also support young creators in learning interactive development.

    After multiple iterations, faculty feedback, and refining our deliverables, Spelunx was officially approved as an ETC project.


    Looking Ahead – Week 1 and Beyond

    Weekly roadmap we proposed at the time of pitching.

    With our pitch behind us, we entered Week 1, focusing on:

    • Meeting with stakeholders (faculty, South Fayette, and technical advisors).
    • Defining our development roadmap to keep scope manageable.
    • Setting up core tools like version control and documentation systems.

    Spelunx started as a technical curiosity—an interest in pushing boundaries in graphics, software engineering, and development tools—but through research, team expansion, and faculty feedback, it became a well-defined project with a clear purpose. Now, it’s time to bring that vision to life.

    Stay tuned for Week 1 updates!