The Human Engines Custom Software Process


Planning

Every project starts with fitting design to platform capabilities. We evaluate the processor, GPU, display capabilities, OS, and other key components to create custom guidelines for the art-design and software architecture. The planning phase results in technical and design specifications that reduce unknowns throughout the development. This minimizes risk and increases the quality of the final product.

Feasibility Assessment: We look at the silicon, OS, drivers and SW interfaces of the platform and determine the best way to translate design in such a way that takes maximum advantage of the platform capabilities. We also help inform your overall experience roadmap by providing insights gained from our R&D investments on how content will be created on new architectures. Whether you are looking to migrate to new market segments or deploy to WebGL, OpenCL and beyond, we have the answers to help you plan for that change.

Concept Iteration: The design and art teams are intimately involved in this step and iterations during this phase often augment the original design vision with platform-specific enhancements. Meanwhile our engineers create test modules to assess capabilities on device. If it’s an early stage project with unavailable hardware/drivers, we test on comparable architectures and create engineering and art benchmarks to fine-tune for hardware realities during subsequent phases.  See an example of cross-deployment »


Prototyping

Seeing designs running on the actual platform is the best way to evaluate the device and generate new ideas that enhance the user-experience. The prototyping phase is also key to uncovering further platform uncertainties and solidifying development plans, reducing overall time-to-market.

On-Device Prototyping: Over years of development we've developed a proven process that integrates designers, artists and programmers into rapid development cycles that quickly get results on actual hardware. These processes are not just improvements in development output; they positively impact the business cycle by increasing UX quality and lowering the downstream costs of development.

User Experience Enhancement: It is critical to the final quality of the product for designers to participate in hands-on interaction with the platforms as early as possible, before final software, drivers and builds are locked down and changes become unrealistic. Prototypes created during this stage provide designers the ability to test and enhance their interaction models months before traditional development processes.


Production

A lot of pieces need to fit together to deploy a full platform. We understand that last minute software changes, bottlenecks, and driver limitations are the realities of shipping a product. Deadlines can’t be missed and first-impressions can’t be jeopardized. This is where our background sets us apart: our team has shipped software, devices, and chipsets for some of the worlds top brands. Our profiling, tuning, and optimization during the production phase get the device into consumers hands on time without sacrificing the original user-experience vision.

Software Quality Tuning: You'll find that our team has been intimately involved with every major processor, memory architecture, operating system, and high level framework used in the industry. Our software scales with your needs and we have produced technologies at every level of the software stack, on limited CPUs, DSPs, vector units, DMA controllers, symmetric and non-symmetric multi-processors, as well as ad-hoc and client/server networks.

Platform Optimization: At Human Engines we understand that optimization is not merely about writing fast code and compressing memory. With our team's expertise in writing efficient software and creating efficient art assets for decades, on tens of platforms, you will obtain end-to-end optimizations with the right balance between high-quality and low cost user experience.