Hardware and software for video games