This week I’ve been mostly exploring the software design ideas related to how the game should interact with the controllers. I looked into the API which is developed by the game BeamNG.drive on this repo. The examples and features are mostly related to setting up a car driving environment by using the library function calls to set up a simulator on a PC. For example, the user can specify the car brand to be Honda and the location to be west coast by calling related APIs This is quite different from what we initially thought since we are designing a program that sends input data to a PC.
Then, the focus is shifted towards firmware on hardware that can read inputs from hardware and send the data to the PC. The game itself should interpret the control data sent by the controller. I found this repo which is a firmware that can act as a game controller using Raspberry Pi Pico and send data via USB. I’m planning to dive into code and explore their design ideas in order to gain a better idea of how hardware and game interact via firmware for my following research. Currently, I’m on schedule.