AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |
Back to Blog
Super hexagon game play12/20/2023 the current time is incremented by 1/fps every time GameInterface.step is called.įor more implementational details see RLHookLib/PyRLHook/GameInterface.cpp (especially the constructor and the method step)Īs well as RLHookLib/RLHookDLL/GameInterfaceDll.cpp (especially the methods onAttach, initFromRenderThread, and hWglSwapBuffers). Run_afap makes the game think it runs with the specified FPS i. if the factor is 0.5 the game runs at half the speed. Set_speed adjusts the perceived time by the given factor. The time perceived by the game can be adjusted with the methods t_speed(double factor) and n_afap(double fps). Then the back buffer is copied into a shared memory space in order to be returned by GameInterface.step. The this releases the lock until wglSwapBuffers is called again. If one wants to advance the game for one step and retrieve the next frame GameInterface.step can be called from python. The wglSwapBuffers hook first locks the games execution. The function wglSwapBuffers is called every time the game finishes rendering a frame in order to swap the back and front buffer. This DLL hooks into the OpenGL function wglSwapBuffers as well as the system calls timeGetTime, GetTickCount, GetTickCount64, and RtlQueryPerformanceCounter. To do so, the library injects a DLL into the game's process. Secondly, it intercepts the system calls used to get the system time such that the game can be run at a desired speed. This library serves two functions:įirstly, it efficiently retrieves the frames and sends them to the python process. In order to efficiently train the agent, a C++ library was written. However, the noise is turned off after 500,000 training iterations.Noisy networks facilitate the exploration process.Distributional RL with quantile regression gives similar results.The distributional approach significantly increases the performance of the agent.However, after roughly 300,000 training steps the agent trained without prioritized experience replay performs better
0 Comments
Read More
Leave a Reply. |