For Ludum Dare #26, having the theme 'Minimalism', I made a game that I call 'And Then There Were None'.
It's a puzzle game where you have to make all the colored blocks disappear.
Blocks with the same symbol, but opposing colors (i.e. red vs. green or yellow vs. blue) cancel out when you push them against each other.
Blocks with different symbols have different effects when pushing against them.
Your cursor's color determines which color blocks you can move. Beware, it usually sticks to the block that you are moving. Moving your cursor over a dot will change its color.
Download it from my dropbox.
Sunday, April 28, 2013
Thursday, March 7, 2013
Dividing by Zero
Usually, dividing by zero is a problem.
Like most problems, it can be solved if you put your mind to it: Start at the beginning and take it one step at a time. Such is the beauty of mathematics: If each step is correct, and each prior true, then the result is also true.
The definition of division is that it is the inverse of multiplication, so, to understand division, we must first study multiplication. Multiplication may be represented as a function:
mult(x, y) ≡ x × y = z
This maps a two-dimensional domain onto a one-dimensional co-domain, causing degeneracy. If we invert multiplication, this mapping is reversed, and each point of the inverse's one-dimensional domain maps to an at-least-one-dimensional subspace of its co-domain.
mult-1(z) = {x, y} with x × y = z
For mult-1 to be usable as a function, we must add a constraint, reducing the co-domain's dimensions by one. This is why division has a second input:
div(z, y) ≡ z ÷ y ≡ mult-1(z) with y constrained to the given value.
i.e. div(z, y) ≡ mult-1(z) | y
However, if y = 0, then z = 0, independent of x, and the constraint fails to reduce the co-domain's dimensions.
Like most problems, it can be solved if you put your mind to it: Start at the beginning and take it one step at a time. Such is the beauty of mathematics: If each step is correct, and each prior true, then the result is also true.
The definition of division is that it is the inverse of multiplication, so, to understand division, we must first study multiplication. Multiplication may be represented as a function:
mult(x, y) ≡ x × y = z
This maps a two-dimensional domain onto a one-dimensional co-domain, causing degeneracy. If we invert multiplication, this mapping is reversed, and each point of the inverse's one-dimensional domain maps to an at-least-one-dimensional subspace of its co-domain.
mult-1(z) = {x, y} with x × y = z
For mult-1 to be usable as a function, we must add a constraint, reducing the co-domain's dimensions by one. This is why division has a second input:
div(z, y) ≡ z ÷ y ≡ mult-1(z) with y constrained to the given value.
i.e. div(z, y) ≡ mult-1(z) | y
However, if y = 0, then z = 0, independent of x, and the constraint fails to reduce the co-domain's dimensions.
In essence, the problem is that multiplication by zero causes information to be lost. The salient solution is then to keep the information for as long as possible.
Because multiplication is associative, there is a simple methodology; simply remove the following axiom:
x × 0 = 0, for all x
Further investigation will need to be done to determine whether this solves all the problems (e.g. tan(π/2) = ?), whether this arithmetic is a useful abstraction of reality, and how it fits in with Aleph-null, Peano arithmetic, and other such mathematical concepts.
x × 0 = 0, for all x
Further investigation will need to be done to determine whether this solves all the problems (e.g. tan(π/2) = ?), whether this arithmetic is a useful abstraction of reality, and how it fits in with Aleph-null, Peano arithmetic, and other such mathematical concepts.
Wednesday, February 13, 2013
Space War: The New Frontier
Recently, I suddenly realized that creating a game similar to Spacewar, or rather Star Control, would be pretty simple in GameMaker Studio.
Unfortunately (wink), I discovered that it now has a built-in 2-D rigid-body physics engine. Cue lots of experimentation:
Unfortunately (wink), I discovered that it now has a built-in 2-D rigid-body physics engine. Cue lots of experimentation:
Fig 1: Plasma beam fired while spaceship is rotating.
Fig 2: Ship rotating because of recoil from firing mass driver.
Fig 3: Experimenting with graphics effects.
Labels:
dreadnaught,
gamemaker,
physics,
screenshot
Subscribe to:
Posts (Atom)



