Skip to content
Tags give the ability to mark specific points in history as being important
  • engine-v0.3.1
    657b4305 · Merge branch 'dev' ·
    This is the Official engine version 0.3.1
    
     o Include support for making the stage center itself in the page both
       horizontally abd vertically.
     o The stage can now scale itselt up and down to take up all of the
       available stage space
     o The stage can now go fullscreen
  • engine-v0.3.0
    1f4f3fdf · Merge branch 'dev' ·
    This is the Official engine version 0.3.0
    
     o Fix a bug in the Vector2D set property for magnitude that allowed a negative
       magnitude to be provided, which would work but cause the direction of the
       vector to flip unintentionally.
    
    The version number is being bumped up here because work on ts-tennis is now
    complete, so any engine changes from this point forward will be driven by the
    next project in the Chris DeLeon course series, "brick breaker".
  • engine-v0.2.8
    d532bead · Merge branch 'dev' ·
    This is the official engine version 0.2.8
    
     o Modify the Point API to access Point or Vector2D for some methods
       (e.g. translate) as a convenience
     o Breaking change (sorry!) to the Vector2D API's regarding direction so that
       they return/take radians instead of degrees. New duplicate methods work in
       degrees like they used to.
     o Stage sets nurdz.stage to be itself when it is created, to allow easy access
       to the stage object in the browser console.
     o Typo fixes because I'm pedantic like that.
  • engine-v0.2.7
    This is the official engine verssion 0.2.7
    
     o Add support for the latest versions of TypeScript, which get mad at how we
       had our tsconfig.json files set up.
     o Include Vector.flipX()/flipY() methods for easily changing the direction of
       the two vector components.
  • engine-v0.2.6
    This is the official engine version 0.2.6
    
     o Enhanced Utils functions to include normalizing a value into a range of 0.0
       to 1.0 as well as the ability to do a linear interpolation of a value. Also
       added in some utility functions to calculate the distance and distance
       squared between two points.
     o Add a polyfill for Math.sign since TypeScript does not support it natively
       and it may not be ubiquitous enough for all browsers to support it, e.g.
       older versions of chrome.
     o Inclusion of a Vector class for doing some vector operations. This includes
       some utility functions common to vector operations.
     o Extension of the Point classs with some Vector operations, such as obtaining
       the point that follows a vector.
     o There is now a separate "game" project called collide-test that allows for
       visually verifying how collision routines work.
     o Add the ability to detect the exact point of collision between a line and
       a collision object (currently only rectangles). This uses the direction of
       the line as a vector to determine which collision came first if there is
       more than one.
  • engine-v0.2.5
    This is the Official engine version 0.2.5
    
     o SpriteSheets now can be created via an already loaded image and not just by
       preloading their own image.
     o SpriteSheets now have a callback they can invoke once they're set up,
       allowing you to determine the dimensions when they're done
  • engine-v0.2.4
    This is the Official engine version 0.2.4
    
     o The animation API from the previous verison has been refactored, it is now
       exposed in Actor as a single property instead of a large number of methods.
    
     o Code cleanup in Actor (remove a duplicate method that was already in Utils)
    
     o Create a function for making an array with a range of numbers to make
       animation definition easier.
    
     o New mouse input options; we can now get access to the mouse wheel, double
       clicks, and mouse press and release along with the click. Also, click was
       previously misnamed because it was actually mouse down; this has been fixed.
    
     o There is now collision codel a core class named Collider which is a subclass
       of Actor now. This allows for a collision volume that is a circle or
       rectangle and can detect collisions between objects of both types as well as
       doing hit testing by checking if a point is in or out of the shape.
    
      o Simple line intersection code, both for line segments as well as infinite
        lines.
  • engine-v0.2.3
    This is the Official engine version 0.2.3
    
     o AnimationList class that allows for the creation of animations from a list of
       frames; animations can be set to loop or ping pong, and can be played and
       queried.
     o The Actor class now has an inherent AnimationList which can be used to set
       animations for it from a sprite sheet.
     o If an actor has any animations, the update() method updates the frame as
       needed to play the animation.
    
    This also redacts the previous change to the semantics of what location gets
    passed to the render() method.  It is once again just the Actor position
    directly and it is up to the rendering code to take the origin into account if
    it wants to.
    
    The default method still works as it did before, so the origin works; the only
    change is that now there is a lot less redundant math used to get this to work.
  • engine-v0.2.2
    This is the Official engine version 0.2.2
    
     o Inclusion of a SpriteSheet class that can load images, split itself into
       sprites, and render them.
     o Renderer interface now has support for rendering parts of an image instead of
       just a whole image.
     o Renderer interface has methods to render Sprite Sheets as a proxy for getting
       the sheet to render itself.
    
     o New properties attached to Actors: origin, sheet, sprite and angle
       - origin is an offset from the top left corner of the bounding box to anchor
         the actor position for purposes of rendering
       - sheet is a sprite sheet to use to render the actor
       - sprite is a numerical index for the sprite in the sprite sheet
       - angle is a rotation angle in degrees (0 = right, 90 = down)
    
     o Actor class render method modified:
       - If there is a sprite sheet and a valid sprite index set, render using that
       - If there is no sprite sheet, or there is but the sprite index is invalid,
         render a bounding box with a dot for the origin
    
     o Entity class has a new property: debug
        - when set to true, after calling the Actor render method, overlays the bounding
          box and origin
    
    In order to support the above change (in particular, the origin change), the
    render method in Actor is now invoked always with the (x, y) coordinate of the
    bounding box of the actor, regardless of what the origin is set to.
    
    For existing code, the origin will always be 0, so there is no change and
    everything else should keep working as it always did.
  • engine-v0.2.1
    This is the Official engine version 0.2.1
    
     o Sound class now lets you access the underlying audio tag
     o Include preload callbacks on a per image/sound basis to get notified when
       individual preloads complete.
     o Sample game uses new mechanism to illustrate how to use it.
  • engine-v0.2.0
    Bump the engine version number to 0.2.0
    
    This is the same code as the previous tag. The version number is being bumped to
    the next minor revision to mark it diverging from its original devember-2015
    roots.
    
    The eventuual output files now include the version number of the code so that it
    is easier to determine going forward what version of the engine is in any given
    project.
  • engine-v0.1.14
    This is the Official engine version 0.1.14
    
     o fix a bug removing the wrong kind of event for preloaded sounds
     o include mechanism for displaying preload status
  • engine-v0.1.13
    This is the Official engine version 0.1.13
    
     o handle preload errors by using replacement data URL's
  • engine-v0.1.12
    This is the Official engine version 0.1.12
    
     o Split engine and game code into multiple output files
     o mute/unmute music when the game starts/stops in the page.
  • engine-v0.1.11
    This is the Official engine verison 0.1.11
    
     o Allow the Stage class to be a proxy for sound/image preloading
     o Stage class can now mute/unmute/volume change all registgered
       sound objects in one shot; makes global muting easier.
     o sound preloading no longer shares tags for duplicate preloads
     o sample game application uses new Stage muting api
  • engine-v0.1.10
    This is the official engine version 0.1.10
    
     o Make sure Scene.activating() does not get triggered before preloading is
       complete
     o Include muting support in the demo application
  • engine-v0.1.9
    This is the Official engine version 0.1.9
    
     o Allow for music preloading
     o Simple classes for sounds and music to aid playback
  • engine-v0.1.8
    This is the Official engine version 0.1.8
    
     o Allow for image preloading
     o Allow for audio preloading
    
    The audio preloading needs more work, but for now simple ability to play sounds
    is ready to go.
  • engine-v0.1.7
    This is the Official engine version 0.1.7
    
     o Remove the old JavaScript version of the code.
  • engine-v0.1.6
    This is the Official engine version 0.1.6
    
     o The Stage is now responsible for screen shot capturing
     o Scene handles F5 keypressed to take a screenshot unless overridden