Releases: nightblade9/puffin
v0.4.0
The final release. Puffin is no longer under active development.
v0.4.0 contains a lot of small changes and fixes that made it into the production version of Oneons.
Functionality:
- Support for getting the text width in pixels
AudioComponent
has aShouldLoop
property for looping audio- Added ability to change volume at runtime
- Support for MP3 playback
- Support for changing the background
- Horizontal progress bars have a property to make them visible/invisible
- Support for left/right mouse click detection
- You can tween the alpha on text components
- You can now change tilemap images at runtime
- Checkboxes expose an
OnToggle
callback
Fixes:
- Puffin no longer crashes when going from sub-scene to non-background scene
- Hiding sub-scenes no longer clears the background
- Playing MP3s plays them at the audio component's volume
- MP3 files can play in an audio loop
- Sprites and colour components with alpha=0 are no longer drawn
- OpenAL no longer crashes hard when it's not supported
- Changing volume before the sound starts playing no longer crashes
- BGM volume changes take effect after changing scene/subscene
- Fix: alpha/visibility no longer tweens too quickly or doesn't tween at all
- Fixed a case where tweens no longer update
- Chaining tweens no longer crashes
v0.3.0
This is the third major release, and likely the last release. This release includes several changes required to ship the v1.1.0-v1.4.0 versions of Oneons.
- AudioComponents can specify shouldLoop to loop seamlessly
- Added isVisible property to horizontal progress bars
- You can now change the background any time, not just set it once
- Added a WidthInPixels field for text components (useful for center-justifying)
- Added MP3 and OGG playback support (experimental) - OGG playback may crash on play, changing MP3 components' volumes will change app volume in Windows Mixer on Windows 10
- Fix crash when changing volume before playing a sound
- Fix crash when calling showScene from within a sub-scene
- Fix: OGG/MP3 volume wasn't changeable after changing sub-scenes
- Fix: Puffin doesn't throw if audio is completely unavailable
- Fix: colour/sprite components were drawn despite having alpha=0
- Fix: hiding a sub-scene no longer kills the parent scene's background
- Lots of internal clean-up and code quality improvements
v0.2.0
This is the second release of Puffin. It includes all the functionality necessary for Oneons, which means it's battle-tested and shipped to production, and it was used in a commercial game. Hooray!
v0.2.0 includes too many changes to recount; the major ones include:
- Full-screen support (stretch to fit) and the ability to scale the game
- The ability to display a sub-scene within an existing scene (for things like mini-game or inventory scenes)
- Tweening! Currently, just the ability to tween an entity's position and alpha over time.
- Some new UI components: a horizontal and vertical progress bar, a horizontal slider, and a checkbox.
- A new
CameraComponent
which allows you to zoom your game, and a property (isUiElement
) to prevent entities from being zoomed
Additionally, this release includes a smorgasbord of smaller changes, including:
- The ability to toggle visibility on and off for sprites
- Complete documentation, including fully fleshed-out API docs, and a new articles/tutorials section
- Lots of bug-fixes, including fixes for drawing, spritesheets, crashes, and custom actions
- Sprites, text, collision can be offset within a sprite
- Sprites and text have an alpha/transparency percentage
- Sprites and tilemap sprites can change at runtime
- Tilemaps can move
- Background images
- A game-wide default font, word-wrap, and font colour for labels
v0.1.0
The first complete, minimal version of Puffin. It contains just enough functionality to be useful for one of my game ideas:
- Sprites, text, coloured rectangles, spritesheets, tilemaps
- Load and resize fonts at runtime, without the MonoGame pipeline
- Keyboard and mouse input, and keyboard rebindability
- Velocity and AABB Collision detection and resolution
It also includes full documentation for all public APIs and a decent set of unit tests.
This release probably contains some bugs, so use at your own risk. Feedback and PRs are very much appreciated!