Skip to content

[Holtzman Engine] Accessibility

Alexis Boitel edited this page Nov 3, 2024 · 8 revisions
logo

Accessibility inside Engine

Summary

Introduction

Accessibility in game development is a vital consideration to ensure that all players, regardless of physical, sensory, or cognitive abilities, can fully engage with a game. A game engine can greatly enhance the accessibility of the games it powers by offering built-in features and tools that assist developers in making their games more inclusive. This section will explore key areas of accessibility, and how these features can be implemented within the game engine and the game RType we are producing.

Engine accessibility

Inputs

Input methods vary widely among players, and some may require alternative input devices, such as adaptive controllers, voice commands, or eye-tracking systems. The game engine should provide:

  • Customizable Keybindings: Allow developers to offer fully customizable control schemes. Players should be able to remap every input to a device or key of their choice.
  • Multiple Input Methods: Support a wide variety of input methods, including keyboard, mouse, gamepad, touch controls, and assistive devices like joysticks or sip-and-puff systems.
  • Input Sensitivity Adjustment: Include the ability to adjust sensitivity for controls like mouse movement or joystick input, making it easier for players with limited motor skills to fine-tune controls to their needs.

Implementation Suggestions:

  • Develop a robust input manager within the engine that allows for real-time input remapping.
  • Provide a system for developers to expose input sensitivity settings, and allow for additional input devices to be easily supported.

Audio

For players with auditory impairments, it is essential to provide visual alternatives and enhanced audio features.

  • Subtitles and Closed Captions: Include support for subtitles with customizable font size, color, and background opacity. Additionally, provide captions for in-game sound effects (e.g., [Footsteps], [Explosion]).
  • Text-to-Speech and Speech-to-Text: Enable the engine to interface with text-to-speech (TTS) systems and speech-to-text systems. This allows for menu navigation through voice commands and provides an alternative to reading game text.
  • Sound Visualization: Offer visual representations of important sounds, such as directional indicators for off-screen sounds or visual cues for ambient sounds critical to gameplay (e.g., danger proximity).

Implementation Suggestions:

  • Provide subtitle support out-of-the-box with customizable settings for developers.
  • Offer built-in support for integrating TTS and speech-to-text APIs, making it easy for developers to add this feature to their games.
  • Create an API for visualizing sounds in-game, which developers can tap into for generating sound-based visual feedback.

Visual

For players with visual impairments, from color blindness to low vision, engines should offer built-in features that assist developers in making games visually accessible.

  • Color Blind Modes: Provide built-in tools for adjusting game colors to cater to common color vision deficiencies, such as Deuteranopia, Protanopia, and Tritanopia.
  • High-Contrast Mode: Enable a high-contrast mode, which makes key game elements more visible against backgrounds, especially for players with low vision.
  • Scalable UI and Font Sizes: Allow developers to implement scalable user interfaces (UI) and customizable font sizes, ensuring text and interactive elements are legible across a variety of screen resolutions and display setups.

Implementation Suggestions:

  • Build a color-blind mode that can automatically adjust game colors based on preset filters or provide developers with an API for creating accessible color schemes.
  • Include an engine-level system for scaling UI components and text dynamically based on player preferences.

Cognitive

For players with cognitive disabilities such as ADHD, dyslexia, or memory impairments, games should offer features that reduce cognitive load.

  • Adjustable Difficulty and Hints: Allow developers to include adjustable difficulty levels that affect reaction times, puzzle complexity, and general game speed. Additionally, provide in-game hints that can be toggled on or off.
  • Simplified HUD and Menus: Support developers in creating HUDs and menus that can be simplified for players who may find complex layouts overwhelming. Offer minimal UI options, hiding non-essential information during gameplay.
  • Dyslexia-Friendly Fonts: Provide support for alternative fonts that are easier to read for individuals with dyslexia (such as OpenDyslexic).

Implementation Suggestions:

  • Offer built-in systems for adjusting game difficulty based on player preferences.
  • Provide a set of accessible fonts that developers can use directly in their games for players with dyslexia or similar conditions.

Actually done

In our project, we prioritize accessibility to create an inclusive user experience. We have incorporated the following key features:

  • Rebindable Keys: Users can customize key bindings to suit their preferences and needs, enhancing usability for individuals with various physical and cognitive requirements.
  • Controller-Friendly UI: Our interface components and menus are fully navigable and operable using a controller, ensuring that users who prefer or rely on game controllers can interact seamlessly with the application.

These enhancements make our project more adaptable and user-friendly for a diverse range of users, aligning with best practices for accessibility in modern applications.


Previous page: Network

Clone this wiki locally