# Game Development Math Recipes

One of the most daunting aspects of game development for many people is the mathematics involved.  The following are a collection of recipes that go into detail on how to perform a number of common math related tasks.  Each example ships with at least one working demonstration application (written in JavaScript using EaselJS), with complete source code.  Don’t worry if your language of choice is C++, C# or Java, the JavaScript code is easily ported to any C derived language. In every case the code is written to favour readability over performance.

## Velocity and angular velocity

Got something you want to make move? This is the recipe for you! Actually, it's two recipes in one. The first covers working with velocity, that is, applying movement in a given direction along an axis at a given speed. It also covers how to normalize the frame rate using the elapsed time per frame. The second covers applying velocity along a given angle.

## Rotating one object relative to another

Rotating about the origin is easy, but sometimes you want to rotate relative to the location of another object. This recipe illustrates how to do exactly that, showing how to rotate a point around another point.

## Rotating to face another object

Sometimes you want to rotate to look at another object. In this example, our sprite rotates relative to the position of the mouse cursor. This is done by calculating the angle between two different locations.

## Collision detection using an axis aligned bounding box: Part 1

Bounding boxes are often used for performing collision detection. Axis aligned bounding boxes are very high performance way implementation. This recipe looks at the details of axis aligned bounding boxes and shows how to implement a collision detection method.

## Collision detection using an axis aligned bounding box: Part 2

One of the major downsides to using an axis aligned bounding box is they cannot be rotated. Instead you need to resize the bounding box to contain the dimensions of your newly rotated sprite. This recipe illustrates how to do exactly this.

## Collision detection using a bounding circle

The bounding circle removes a great deal of the complexity you need to deal with when using bounding boxes, especially when it comes to rotation.  This tutorial demonstrates how to create a bounding circle and check for intersections against another bounding circle

## Handling sprite based shooting

This recipe puts what you have learn in a couple prior recipes together to accomplish a common task, firing guns.  Click in the app to fire a bullet, the further from the jet the faster the bullet travels.  When it leaves the screen it is removed.

#### Month List

Valve Announce The End of Steam Greenlight

# Home > GameDev News >

11. February 2017

Released back in 2012, Greenlight on Steam has been an ideal launch pad for indie developers.  Greenlight enabled Steam users to vote on what games they wanted to see appear on the Steam store and frankly… it’s become a bloated mess too, flooded with shovelware and rife with developer fraud.  As a result Valve have decided to replace Greenlight with Steam Direct.

Excerpt from Valve’s announcement:

A better path for digital distribution

The next step in these improvements is to establish a new direct sign-up system for developers to put their games on Steam. This new path, which we’re calling “Steam Direct,” is targeted for Spring 2017 and will replace Steam Greenlight. We will ask new developers to complete a set of digital paperwork, personal or company verification, and tax documents similar to the process of applying for a bank account. Once set up, developers will pay a recoupable application fee for each new title they wish to distribute, which is intended to decrease the noise in the submission pipeline.
While we have invested heavily in our content pipeline and personalized store, we’re still debating the publishing fee for Steam Direct. We talked to several developers and studios about an appropriate fee, and they gave us a range of responses from as low as \$100 to as high as \$5,000. There are pros and cons at either end of the spectrum, so we’d like to gather more feedback before settling on a number.

So basically Steam Direct is attempting to reduce the flood of titles by attaching a price tag to the submission process.  I think some indie developers may be suffering a bit of sticker shock at the \$5,000 upper limit to their possible pricing.

Since the original announcement, they have released a follow up post answering some of the communities questions:

• This new direct path “Steam Direct” described in our post linked above will entirely replace Greenlight. So a couple weeks before we activate this new path, we'll stop accepting new submissions in Greenlight.
• In the meantime, if you are considering posting your game to Greenlight, please do so.
• We’ve always evaluated and Greenlit titles that we feel we have enough data on, either in terms of customer votes or success on other platforms, awards, kickstarters, or other similar inputs. We plan to continue Greenlighting titles that have sufficient community interest until the release of Steam Direct. At that point, any games that we didn’t have sufficient data to Greenlight will be invited to use the new onboarding path and app fee if they are still interested in bringing their product to Steam.
• If you paid the Greenlight Submission Fee and don’t have any Greenlit titles, you can get a refund of your Greenlight Submission Fee.
• We have a couple more internal tools we need to complete and we want to allow some time to account for feedback or suggestions from the community. So there isn’t a specific timeline at this point, but we expect to be able to make this transition sometime in the next few months.

What do you think of the change?  As a gamer I avoided Greenlight like a plague, but as a developer, I am disappointed to see the changes.  I do however understand them completely.