Skip to content

v2.0.0

Compare
Choose a tag to compare
@Baekalfen Baekalfen released this 17 Mar 11:55
· 21 commits to master since this release
  • A lot of general fixes
  • Improved documentation with examples
  • pyboy.tick(10, True) now takes two optional parameters:
    • n number of frames to progress
    • render whether to render the screen on the last processed frame
  • pyboy.screen_image() moved to pyboy.screen.image
  • The "botsupport" module has been removed, and most of API is moved to the PyBoy object
  • pyboy.button(‘a’) can be used to send input, and will automatically release after 1 frame
  • pyboy.button_press(‘a’) allows for manual control of input
  • pyboy.button_release(‘a’) allows for manual control of input
  • pyboy.memory[0x100:0x150] = 123 replaces all three pyboy.get/set/override_memory_value and extends it with an option to specify bank
  • pyboy.hook_register(bank, address, callback, context) registers a callback at a specific point in your game. Used for fine-grained tracking of events and control of the game
  • pyboy.symbol_lookup(symbol) to look up address for a symbol to use with memory read/write
  • “dummy” and “headless” windows have been merged into “null” window because of the new pyboy.tick
  • pyboy.game_wrapper Game wrappers are now automatically loaded and accessible through the game_wrapper property
  • Remove fitness scores from game wrappers
  • pyboy.game_area() is a shortcut for pyboy.game_wrapper.game_area()
  • pyboy.game_area_collision() is a shortcut for pyboy.game_wrapper.game_area_collision()
  • pyboy.game_area_dimensions(…) can be used to configure game_area
  • pyboy.game_area_mapping(…) can apply a mapping to all game area tiles. I.e. simplify the tiles, or zero-out uninteresting tiles
  • OpenAI Gym/Gymnasium has been removed from PyBoy. It will be replaced by an example on the Wiki instead
  • pyboy.memory_scanner allows to isolate memory address of interest
  • Support for 768 CGB tiles vs. 384 in DMG mode