Skip to the content.

City VR

City VR is an innovative project that transforms the process of code analysis into an immersive experience using a 3D virtual city. The project is designed to visualize and explore the performance and complexity of software systems through a VR environment, making abstract concepts more tangible and interactive.

This project is part of my work in Virtual Reality development, where I focus on creating interactive, immersive experiences that help visualize complex data, in this case, related to software metrics.

City VR Overview


Concept

The central idea behind City VR is to represent software as a virtual city, where the structure and elements of the city symbolize various aspects of the codebase. This visualization helps users better understand the relationships between different parts of the code, making it easier to spot inefficiencies and opportunities for optimization.

The city is constructed in a way that buildings represent code files or modules, and various city elements like neighborhoods, roads, and districts represent folders, classes, and other logical divisions of code. Key metrics, such as performance, complexity, or test coverage, are mapped to visual properties such as the size, color, and height of the buildings.


Key Features

City VR Interaction


How It Works

  1. Start in the Miniature Lobby: The experience begins in a small lobby that presents an overview of the entire city. From here, you can get a bird’s-eye view of the codebase, represented as a cityscape with buildings of varying sizes, colors, and shapes.

    Miniature City View

  2. Travel to the Full-Scale City: Once you’re ready, you can teleport from the miniature view to the full-scale city, where you can explore the code up close. As you walk through the city, you’ll notice that buildings representing different parts of the code are arranged logically according to their relationships (e.g., related files might be grouped together).

  3. Explore Code Metrics: As you approach each building, you can interact with it to see more detailed metrics such as:
    • Performance data (response time, resource usage).
    • Code complexity (cyclomatic complexity, number of functions/methods).
    • Test coverage and code health.

    These insights are displayed in an intuitive, visual format, making it easy to understand at a glance where optimizations are needed.

  4. Real-Time Feedback: As you interact with the city, making changes to the code, you’ll notice the city adjusting in real-time. For example, simplifying a complex function might cause a building to shrink, change color, or become more aligned with the city’s overall aesthetic.