Skip to main content


(Updated July 4th 2022 12:20 PM) Leave It To "A" Beaver: A Butterfly Dragon Canada Day Adventure

HAPPY CANADA DAY 2022 FROM SHHHH! DIGITAL MEDIA! A Quick Note Nothing on Shhhh! Digital Media is produced in British Columbia, however, having been to British Columbia a few times in my life, I can honestly say it is one of my favourite places in Canada. It seems that the cult that attempts to steal the credit for my stories and writing, and at times, my own identity, have someone in Surrey BC, who is claiming the credit for my stories and writing. However, I can assure you that I don't live or work in Surrey, BC and never have. I am letting you, my loyal readers, know that I Brian Joseph Johns, the author of The Butterfly Dragon and A Lady's Prerogative: The Yearning And The Learning, live and work in 200 Sherbourne Street Suite 701, Toronto, Ontario, Canada. Also, my current photograph is at the bottom of this post and every post on . I do occasionally use a VPN from my web browser when I need privacy to thwart attempts by local neighbours to steal

Example Gamemaker Content

Here are some examples of the kind of things I'll be publishing on the GAMEMAKER Marketplace:

Example Script:

/// @function sdm_motion_relative_angle_degrees(_sender,_target,_angle,_speed)

/// @param {index} _sender The object being set in motion

/// @param {index} _target The target object for the relative angle

/// @param {real} _angle The angle in degrees

/// @param {real}  _speed The amplitude of motion to add

/// @description Adds 2D motion in a direction relative to another object

/// Brian Joseph Johns - Shhhh! Digital Media

function sdm_motion_relative_angle_degrees(_sender,_target,_angle,_speed){

// determine relative position

ToX = _target.x-_sender.x;

ToY = _target.y-_sender.y;

// for our rotation of ToX and ToY

cs = cos(degtorad(-90));

sn = sin(degtorad(-90));

// rotate vector by angle

ax = ToX * cs - ToY * sn;

ay = ToX * sn + ToY * cs;

// normalize the resulting vector

templen = sqrt(sqr(ax)+sqr(ay));

ax /= templen;

ay /= templen;



Here's a quick and very basic demo of something I did recently using Gamemaker 2. 

Shhhh! Digital Media Example Demo

Most of my Marketplace content will be utilitarian in nature. I'll charge for some things and share others freely, and attempt to strike a fair balance between the two.

Brian Joseph Johns

Shhhh! Digital Media (the email through which I purchased Gamemaker) (Official Shhhh! Digital Media email)