ReedKimble.PuppyBreath 0.3.0

A simplistic and robust video game engine for .Net Windows Forms, based entirely on managed code and GDI+ graphics (authored in Visual Basic .Net).

There is a newer version of this package available.
See the version list below for details.
Install-Package ReedKimble.PuppyBreath -Version 0.3.0
dotnet add package ReedKimble.PuppyBreath --version 0.3.0
<PackageReference Include="ReedKimble.PuppyBreath" Version="0.3.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ReedKimble.PuppyBreath --version 0.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

Update to PuppyBreath alpha
     [Update Notes]
     This update corrects a couple of bugs and adds new features. Some existing functionality
     has changed and existing projects will likely require code modifications.
     [[Bug Fixes]]
     + "Other" collision object was being given the wrong collision info instance.
     + Number property in VariableBank now correctly sets number value instead of flag.
     + Cleared the collision list on a game object when it is reset.

     + Made signficant changes to scene handling.
     + Added GameSceneManager class and placed instance on GameState.
     + Removed Scene property from RenderCanvas, replacing with CurrentScene on
     + Moved ChangeScene() method into GameSceneManager.
     + Modified main game loop to support new scene change mechanics.
       Scene changes are now queued so that the current scene can process an update
       while being destroyed. On the update following the requested scene change,
       the new scene is initialized and displayed.
       !# You will need to refactor any code which previously accessed the Scene.
     + Split GameObject Initialization into two parts: Added LoadOnce/OnLoadOnce
       which is called by Initialize() one time over the objects lifetime (managed
       code lifetime). Initialize() is called any time the game object is reset and
       added to a scene. Code that should execute once and only once (eg loading
       animations) can be placed in the LoadOnce() override/delegate.
       !# You may wish to refactor initialization code.
     + Added GameState parameter to Sprite Render/OnPostRender signature.
       !# You will need to edit any sprite drawing code.
     + Added GameObject support to VariableBank.
     + Added Clear() method to VariableBank.
     + Added Clear() method to ObjectCache.
     + Moved AudioPlayers dictionary from GameScene onto GameState.
       !# You will need to refactor any audio-playing code.
     + Removed OnChangeFrom() OnChangeTo() delegates from GameScene.
       The functionality is replaced with OnInitialize()/OnLoadOnce()
       and OnReset().
       !#  You will need to refactor any scene-changing code.
     + Scenes are now reset automatically when they are no longer the current
       scene. All objects in the scene at the time have Destroy() called on them.
     + GameAudioPlayers now add themselves to GameAudio's interal players
       collection after they begin to play, rather than immediately upon creation.
     + Added IsLoop property to animations to support a one-time animation.
       !# You may need to edit your code to provide an IsLoop variable value.


This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
0.4.0 155 12/19/2020
0.3.0 490 1/11/2018
0.2.0 446 1/9/2018 414 1/8/2018
0.1.0 425 1/8/2018