Releases: IndieSmiths/bionicblue
[v0.12.2] Eliminated needless repeated calls and more
Removed needless repeated repositioning performed in a few frames.
Reinserted the message at the end of prototype, containing the links for the game's website and donation page.
[v0.12.1] A couple of small but important fixes
Fixed the positioning of level chunks created mid-play.
Also fixed another bug by simply removing a call to a function that
didn't exist anymore (it was previously merged with another function
which means the associated code was already being executed by another
call).
[v0.12.0] Level chunk management (enabling larger levels) and more
Level chunk management is the automatic division and management of a level in chunks for the purpose of being able to handle many more objects at once.
Before this, whenever the level moved (i. e., scrolled), all objects in the level were moved and then checked for collision with the screen to determine which should be drawn.
Now the level is divided in chunks. Only the chunks are moved and then they are checked for collision with the screen (actually, we use an area that expands beyond the screen). Only such chunks have their objects checked for collision with the screen, making everything much more efficient than checking all objects in the level.
Implementing chunk creation and management didn't require us to change the data model either, cause the chunks are created when the level is loaded, that is, we didn't have to change level data. Our algorithm reads the level data and handles all the grouping and management of the objects in chunks.
There were other changes as well. Here's a list of all of them:
- new command-line option to enable debug mode
- grunt bot now moves
- expanded hit box for default projectile in order to prevent it from passing through an enemy without hitting it (since it is
tiny and travels many pixels each frame, sometimes it would move past an enemy from one frame to the next) - added level chunk management, that is, the ability to divide the level in chunks in order to manage its objects more efficiently, effectively making it so we can now handle much larger levels with a lot more objects
- fixed links in the README file and added explanation about how we handle version numbers in this game project (since semantic
versioning doesn't make much sense for game projects).
[v0.11.1] Updated URLs (Quick patch)
Quick patch to update URLs in the in-game prototype message to point to new websites of this game project and its parent project.
[v0.11.0] Renamed parent project, added options screen and more
- options screen and underlying services were finally implemented
- replaced old name of parent project by new one (identifiers/URL/logo)
- package metadata now relies solely on the pyproject.toml file
- setup.cfg isn't used anymore and was thus removed
- README text and media were improved
- includes new instructions in the subsection about contributing
[v0.10.0] Several new systems/services
New systems/services like:
- main menu
- title screen
- configurable controls for keyboard and gamepad
We also adopted pygame-ce as the game library in lieu of regular pygame.
Python 3.7 or above is now required to play the game.
We also added the needed backend to support input playing/recording. Such services are mostly functional. They were tested and were working fine before, but now they need a few small changes to take into account recent changes/additions related to the usage of configurable controls for keyboard and gamepad.