Patent ID: 8827807

Claim:
A gaming machine configured execute a gaming application that conducts a wagering game, the gaming machine comprising: a plurality of hardware components; one or more processors; and one or more memory devices storing instructions including a plurality of sets of software services and a gaming application, each of the software services being on a layer between the operating system and a game framework that includes a wagering game software component, the instructions, when executed by at least one of the one or more processors, causing the gaming machine to: detect the plurality of hardware components and implement a first hardware configuration of a plurality of hardware configurations based on the plurality of hardware components, wherein each of the sets of software services is associated with distinct ones of the hardware configurations; identify hardware requirements of the gaming application; select, based on the first hardware configuration and the identified hardware requirements, a first set of the plurality of sets of software services to provide a software interface between the gaming application and at least one of the plurality of hardware components; instantiate each software service of the first set of software services; execute, via the first set of software services, the gaming application to conduct the wagering game; and associate a second hardware configuration with a second set of software services of the plurality of sets of software services such that instantiation of the second set of software services is based on the second hardware configuration and the hardware requirements of the gaming application or different hardware requirements of a second gaming application.