In WiMAX systems the Base Station scheduler plays a key role as it controls the sharing of the radio resources among the users. The goal of the scheduler is multiple: achieve fair usage of the resources, satisfy the QoS requirements of the users, maximize goodput, and minimize power consumption, and at the same time ensuring feasible algorithm complexity and system scalability. Since most of these goals are contrasting, scheduler designers usually focus their attention on optimizing one aspect only. In this scenario, we propose a scheduling algorithm (called $$\mathrm{GTS_N}$$ ) whose goal is to contemporaneously achieve efficiency and fairness, while also taking into account the QoS requirements and the channel state. $$\mathrm{GTS_N}$$ exploits the properties of Time Utility Functions (TUFs) and Game Theory. Simulations prove that the performance of $$\mathrm{GTS_N},$$ when compared to that of several well-known schedulers, is remarkable. $$\mathrm{GTS_N}$$ provides the best compromise between the two contrasting objectives of fairness and efficiency, while QoS requirements are in most cases guaranteed. However, the exponential complexity introduced by the game theory technique makes it rather impractical and not computationally scalable for a large number of users. Thus we developed a suboptimal version, named sub- $$\mathrm{GTS_N}.$$ We show that this version retains most of the features and performance figures of its brother, but its complexity is linear with the number of users.