UNITY SYSTEMS &
PERFORMANCE ENGINEER

HP Curiocity: Building Lightweight Games for Low-End Devices

Commercial project for Hewlett Packard, built at Channel Assist Inc. (2023–2024).

In short: How Eduardo Martinelli optimized HP Curiocity, a Unity city builder for Hewlett Packard: 47% less RAM, +30 FPS, 59% smaller build, 82% faster loading. Built by Eduardo Martinelli, a Unity systems & performance engineer in Vancouver, Canada.

HP Curiocity is a performance-driven revitalization of a legacy codebase, developed in partnership with Hewlett Packard. The project focused on re-architecting the game into a centralized, data-oriented system to drastically improve resource efficiency and cross-platform scalability.

Key technical achievements include:

  • Data-Oriented Rearchitecting: Transitioned the legacy system to a centralized data-oriented approach, leveraging memory locality and temporality. This structural overhaul resulted in a 47% reduction in RAM usage and a 30 FPS increase in baseline performance.
  • Extreme Build Optimization: Implemented advanced culling, object pooling, and procedural generation techniques. These optimizations achieved a 59% reduction in total build size, significantly lowering the deployment barrier for web and mobile users.
  • Cross-Platform Profiling: Conducted extensive benchmarking across WebGL, Android, and React Native. By identifying and resolving platform-specific bottlenecks, I achieved an 82% reduction in loading times, ensuring near-instant access across all supported devices.
  • Ultralightweight AI System: Replaced inefficient legacy pathfinding with a custom-built urban-environment AI. This system provides responsive agent behavior with minimal CPU overhead, contributing to the overall fluidity of the simulation.

The project demonstrates the impact of strategic technical intervention, transforming a resource-heavy legacy application into a highly optimized, production-ready experience for HP stakeholders.

  • CPU Caches And Memory Access: We'll explore why pointer dereferencing and pointer chasing can slow your code down, how CPU caches and RAM latency affect execution, and why memory layout is so important.
  • CPU Cache Locality: We'll discuss how cache lines, spatial and temporal locality, and bulk data processing can improve CPU performance, and why organizing data around how it is accessed is fundamental to cache-friendly and data-oriented programming.

Other things I've built

Want to talk about this project, or something similar? Get in touch.