summaryrefslogtreecommitdiffhomepage
path: root/deploy_template/mygame/documentation
diff options
context:
space:
mode:
Diffstat (limited to 'deploy_template/mygame/documentation')
-rw-r--r--deploy_template/mygame/documentation/01-high-level.md31
-rw-r--r--deploy_template/mygame/documentation/02-labels.md132
-rw-r--r--deploy_template/mygame/documentation/03-solids-and-borders.md126
-rw-r--r--deploy_template/mygame/documentation/04-lines.md108
-rw-r--r--deploy_template/mygame/documentation/05-sprites.md239
-rw-r--r--deploy_template/mygame/documentation/06-keyboard.md150
-rw-r--r--deploy_template/mygame/documentation/07-mouse.md48
-rw-r--r--deploy_template/mygame/documentation/08-controllers.md86
-rw-r--r--deploy_template/mygame/documentation/99-todo.md89
9 files changed, 0 insertions, 1009 deletions
diff --git a/deploy_template/mygame/documentation/01-high-level.md b/deploy_template/mygame/documentation/01-high-level.md
deleted file mode 100644
index 7206d8d..0000000
--- a/deploy_template/mygame/documentation/01-high-level.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# General Stuff
-
-- You have 1280x720 pixels to work with. The bottom left corner is 0, 0
- with X increasing going right, and Y increasing going up.
-- The game is on a fixed 60 fps cycle (no delta time needed).
-- Come to the Discord if you need help: http://discord.dragonruby.org
-- Going through all the sample apps is a REALLY GOOD IDEA. Most sample apps
- contain a recorded replay/demo. So just double click `watch-recording` to
- see a full presentation of the sample.
-
-# Entry Point
-
-For all the examples in the other documentation files. It's assumed they
-are being placed into the follow code block:
-
-```
-# Entry point placed in main.rb
-def tick args
- args.outputs.labels << [100, 100, 'hello world']
-end
-```
-
-# New to Ruby
-
-If you are a complete beginner and have never coded before:
-
-1. Run the 00_beginner_ruby_primer sample app and work through it.
- Video walkthrough: https://s3.amazonaws.com/s3.dragonruby.org/dragonruby-gtk-primer.mp4
-2. Read all the code in the 00_intermediate_ruby_primer sample app.
- Video walkthrough: https://s3.amazonaws.com/s3.dragonruby.org/dragonruby-gtk-intermediate.mp4
-3. There is also a free course you can sign up for at http://dragonruby.school
diff --git a/deploy_template/mygame/documentation/02-labels.md b/deploy_template/mygame/documentation/02-labels.md
deleted file mode 100644
index ea2642e..0000000
--- a/deploy_template/mygame/documentation/02-labels.md
+++ /dev/null
@@ -1,132 +0,0 @@
-# Labels
-
-Labels display text.
-
-## Sample Apps Related to Label Usage (ordered by size of codebase increasing)
-
-- 01_api_01_labels
-- 01_api_99_tech_demo (includes recording)
-- 10_save_load_game (includes recording)
-- 18_moddable_game
-- 19_lowrez_jam_01_hello_world
-- 99_sample_game_return_of_serenity
-
-## Minimum Code
-
-Creates a label with black text at location 100, 100.
-
-```ruby
-# X Y TEXT
-args.outputs.labels << [100, 100, "Hello world"]
-```
-
-## Font Size
-
-The size can be a number between `-10` and `+10`. The default size is `0`.
-
-```ruby
-# X Y TEXT SIZE
-args.outputs.labels << [100, 100, "Hello world", 5]
-```
-
-## Alignment
-
-Alignment values are `0` (left, default), `1` (center), and `2`
-(right). The value must come after the size.
-
-A label smack dab in the center of the screen, with a center alignment:
-
-```ruby
-# X Y TEXT SIZE ALIGNMENT
-args.outputs.labels << [640, 360, "Hello world", 0, 1]
-```
-
-## RGBA - Colors and Alpha
-
-Labels can have colors. The value for the color is an number between
-`0` and `255`.
-
-A green label with 50% opacity.
-
-```ruby
-# X Y TEXT RED GREEN BLUE ALPHA
-args.outputs.labels << [640, 360, "Hello world", 0, 255, 0, 128]
-```
-
-A green label with size and alignment.
-
-```ruby
-# X Y TEXT SIZE ALIGNMENT RED GREEN BLUE ALPHA
-args.outputs.labels << [640, 360, "Hello world", 0, 1, 0, 255, 0, 128]
-```
-
-## Custom Font
-
-You can override the font for a label. The font needs to be under the
-`mygame` directory. It's recommended that you create a `fonts` folder
-to keep things organized.
-
-Here is how you create a label with a font named `coolfont.ttf` under a directory `mygame/fonts`.
-
-```ruby
-# X Y TEXT SIZE ALIGNMENT RED GREEN BLUE ALPHA FONT FILE
-args.outputs.labels << [640, 360, "Hello world", 0, 1, 0, 0, 0, 255, "fonts/coolfont.ttf"]
-```
-
-## Hashes (Advanced)
-
-If you want a more readable invocation. You can use the following hash to create a label.
-Any parameters that are not specified will be given a default value. The keys of the hash can
-be provided in any order.
-
-Here is how you create a green label with a font named `coolfont.ttf` under a directory `mygame/fonts`
-using the helper method (providing all the parameters).
-
-```ruby
-args.outputs.labels << {
- x: 200,
- y: 550,
- text: "dragonruby",
- size_enum: 2,
- alignment_enum: 1,
- r: 155,
- g: 50,
- b: 50,
- a: 255,
- font: "fonts/manaspc.ttf"
-}
-```
-
-## Duck Typing (Advanced)
-
-You can also create a class with line properties and render it as a primitive.
-ALL properties must on the class. ADDITIONALLY, a method called
-`primitive_marker` must be defined on the class.
-
-Here is an example:
-
-```ruby
-# Create type with ALL sprite properties AND primitive_marker
-class Label
- attr_accessor :x, :y, :text, :size_enum, :alignment_enum, :font, :r, :g, :b, :a
-
- def primitive_marker
- :label
- end
-end
-
-# Inherit from type
-class TitleLabel < Label
-
- # constructor
- def initialize x, y, text
- self.x = x
- self.y = y
- self.text = text
- end
-end
-
-# render layer label
-
-args.outputs.label << TitleLabel.new(10, 10, "The Game")
-```
diff --git a/deploy_template/mygame/documentation/03-solids-and-borders.md b/deploy_template/mygame/documentation/03-solids-and-borders.md
deleted file mode 100644
index d309e40..0000000
--- a/deploy_template/mygame/documentation/03-solids-and-borders.md
+++ /dev/null
@@ -1,126 +0,0 @@
-# Solids and Borders
-
-Solids and Borders are great to use as place holders for sprites.
-
-## Sample Apps Related to Solid/Borders Usage (ordered by size of codebase increasing)
-
-- 01_api_03_rects
-- 01_api_99_tech_demo (includes recording)
-- 02_collisions
-- 12_top_down_area (includes recording)
-- 99_sample_game_flappy_dragon (includes recording)
-- 08_platformer_collisions
-- 20_roguelike_starting_point
-- 99_sample_game_pong (includes recording)
-
-## Minimum Code
-
-Creates a solid black rectangle located at 100, 100. 160 pixels
-wide and 90 pixels tall.
-
-```ruby
-# X Y WIDTH HEIGHT
-args.outputs.solids << [100, 100, 160, 90]
-```
-
-Creates an unfilled black-bordered rectangle located at 100, 100.
-160 pixels wide and 90 pixels tall.
-
-```ruby
-# X Y WIDTH HEIGHT
-args.outputs.borders << [100, 100, 160, 90]
-```
-
-## RGBA - Colors and Alpha
-
-The value for the color and alpha is an number between `0` and `255`. The
-alpha property is optional and will be set to `255` if not specified.
-
-Creates a green solid rectangle with an opacity of 50%.
-
-```ruby
-# X Y WIDTH HEIGHT RED GREEN BLUE ALPHA
-args.outputs.solids << [100, 100, 160, 90, 0, 255, 0, 128]
-```
-
-Creates an unfilled green-bordered rectangle located at 100, 100.
-160 pixels wide and 90 pixels tall and an opacity of 50%.
-
-```ruby
-# X Y WIDTH HEIGHT RED GREEN BLUE ALPHA
-args.outputs.borders << [100, 100, 160, 90, 0, 255, 0, 128]
-```
-
-Creates a solid gray rectangle that covers the entire scene. Like a background.
-The opacity is excluded because it's 100% opaque (which has a value of 255).
-
-```ruby
-# X Y WIDTH HEIGHT RED GREEN BLUE
-args.outputs.solids << [ 0, 0, 1280, 720, 128, 128, 128]
-```
-
-## Hash (Advanced)
-
-If you want a more readable invocation. You can use the following hash to create a solid.
-Any parameters that are not specified will be given a default value. The keys of the hash can
-be provided in any order.
-
-```ruby
-args.outputs.solids << {
- x: 0,
- y: 0,
- w: 100,
- h: 100,
- r: 0,
- g: 255,
- b: 0,
- a: 255
-}
-
-
-args.outputs.borders << {
- x: 0,
- y: 0,
- w: 100,
- h: 100,
- r: 0,
- g: 255,
- b: 0,
- a: 255
-}
-```
-
-## Duck Typing (Advanced)
-
-You can also create a class with solid/border properties and render it as a primitive.
-ALL properties must on the class. ADDITIONALLY, a method called `primitive_marker`
-must be defined on the class.
-
-Here is an example:
-
-```ruby
-# Create type with ALL solid/border properties AND primitive_marker
-class Solid (or Border)
- attr_accessor :x, :y, :w, :h, :r, :g, :b, :a_x
-
- def primitive_marker
- :solid (or :border)
- end
-end
-
-# Inherit from type
-class Square < Solid (or Border)
- # constructor
- def initialize x, y, size
- self.x = x
- self.y = y
- self.w = size
- self.h = size
- end
-end
-
-# render solid/border
-
-args.outputs.solids << Square.new(10, 10, 32)
-args.outputs.borders << Square.new(10, 10, 32)
-```
diff --git a/deploy_template/mygame/documentation/04-lines.md b/deploy_template/mygame/documentation/04-lines.md
deleted file mode 100644
index 03c1abc..0000000
--- a/deploy_template/mygame/documentation/04-lines.md
+++ /dev/null
@@ -1,108 +0,0 @@
-# Lines
-
-Lines are 1 pixel wide and can be diagonal.
-
-## Sample Apps Related to Line Usage (ordered by size of codebase increasing)
-
-- 01_api_02_lines
-- 01_api_99_tech_demo (includes recording)
-- 06_coordinate_systems (includes recording)
-- 19_lowrez_jam_01_hello_world
-- 99_sample_game_pong (includes recording)
-
-## Minimum Code
-
-Creates a black line from the bottom left corner to the top right corner.
-
-```ruby
-# X1 Y1 X2 Y2
-args.outputs.lines << [ 0, 0, 1280, 720]
-```
-
-Creates a black vertical line through the center of the scene.
-
-```ruby
-# X1 Y1 X2 Y2
-args.outputs.lines << [ 640, 0, 640, 720]
-```
-
-Creates a black horizontal line through the center of the scene.
-
-```ruby
-# X1 Y1 X2 Y2
-args.outputs.lines << [ 0, 360, 1280, 360]
-```
-
-## RGBA - Colors and Alpha
-
-The value for the color and alpha is an number between `0` and `255`. The
-alpha property is optional and will be set to `255` if not specified.
-
-Creates a green horizontal line through the center of the scene with an opacity of 50%.
-
-```ruby
-# X1 Y1 X2 Y2 RED GREEN BLUE ALPHA
-args.outputs.lines << [ 0, 360, 1280, 360, 0, 255, 0, 128]
-```
-
-Creates a green vertical line through the center of the scene.
-The opacity is excluded because it's 100% opaque (which has a value of 255).
-
-```ruby
-# X1 Y1 X2 Y2 RED GREEN BLUE
-args.outputs.lines << [ 640, 0, 640, 720, 0, 255, 0]
-```
-
-## Hash (Advanced)
-
-If you want a more readable invocation. You can use the following hash to create a line.
-Any parameters that are not specified will be given a default value. The keys of the hash can
-be provided in any order.
-
-```ruby
-args.outputs.lines << {
- x: 0,
- y: 0,
- x2: 1280,
- y2: 720,
- r: 0,
- g: 255,
- b: 0,
- a: 255
-}
-```
-
-## Duck Typing (Advanced)
-
-You can also create a class with line properties and render it as a primitive.
-ALL properties must on the class. ADDITIONALLY, a method called `primitive_marker`
-must be defined on the class.
-
-Here is an example:
-
-```ruby
-# Create type with ALL line properties AND primitive_marker
-class Line
- attr_accessor :x, :y, :x2, :y2, :r, :g, :b, :a
-
- def primitive_marker
- :line
- end
-end
-
-# Inherit from type
-class VerticalLine < Line
-
- # constructor
- def initialize x, y, h
- self.x = x
- self.y = y
- self.x2 = x
- self.y2 = y + h
- end
-end
-
-# render line
-
-args.outputs.lines << VerticalLine.new(10, 10, 100)
-```
diff --git a/deploy_template/mygame/documentation/05-sprites.md b/deploy_template/mygame/documentation/05-sprites.md
deleted file mode 100644
index e4d5cbb..0000000
--- a/deploy_template/mygame/documentation/05-sprites.md
+++ /dev/null
@@ -1,239 +0,0 @@
-# Sprites
-
-Sprites are the most important visual component of a game.
-
-## Sample Apps Related to Sprite Usage (ordered by size of codebase increasing)
-
-- 01_api_04_sprites
-- 01_api_99_tech_demo (includes recording)
-- 02_sprite_animation_and_keyboard_input (includes recording)
-- 08_platformer_collisions_metroidvania
-- 09_controller_analog_usage_advanced_sprites
-- 99_sample_game_basic_gorillas (includes recording)
-- 99_sample_game_dueling_starships (includes recording)
-- 99_sample_game_flappy_dragon (includes recording)
-- 99_sample_game_return_of_serenity
-
-## Minimum Code
-
-Sprites need to be under the `mygame` directory. It's recommended that you create a `sprites` folder
-to keep things organized. All sprites must be `.png` files
-
-Here is how you create an sprite with located at 100, 100, that is 32 pixels wide and 64 pixels tall.
-In this example the sprite name is `player.png` and is located under a directory `mygame/sprites`.
-
-```ruby
-# X Y WIDTH HEIGHT PATH
-args.outputs.sprites << [100, 100, 32, 64, "sprites/player.png"]
-```
-
-## Rotation / Angle
-
-Unlike `solids` and `borders`, sprites can be rotated. This is how you rotate a sprite 90 degrees.
-
-Note: All angles in DragonRuby Game Toolkit are represented in degrees (not radians).
-
-```ruby
-# X Y WIDTH HEIGHT PATH ANGLE
-args.outputs.sprites << [100, 100, 32, 64, "sprites/player.png", 90]
-```
-
-## Alpha
-
-Sprites can also have a transparency associated with them. The transparency value must come after
-the angle value and supports a number between 0 and 255.
-
-This is how you would define a sprite with no rotation, and a 50% transparency.
-
-```ruby
-# X Y WIDTH HEIGHT PATH ANGLE ALPHA
-args.outputs.sprites << [100, 100, 32, 64, "sprites/player.png", 0, 128]
-```
-
-## Color Saturations
-
-A Sprite's color levels can be changed. The color saturations must come after `angle` and
-`alpha` values.
-
-This is a sprite with no rotation, fully opaque, and with a green tint.
-
-```ruby
-args.outputs.sprites << [100, # X
- 100, # Y
- 32, # W
- 64, # H
- "sprites/player.png", # PATH
- 0, # ANGLE
- 255, # ALPHA
- 0, # RED_SATURATION
- 255, # GREEN_SATURATION
- 0] # BLUE_SATURATION
-```
-
-## Sprite Sub Division / Tile
-
-You can render a portion of a sprite (a tile). The sub division of the sprite is denoted as a rectangle
-directly related to the original size of the png.
-
-This is a sprite scaled to 100 pixels where the source "tile" is located at the bottom left corner
-within a 32 pixel square. The angle, opacity, and color levels of the tile are unaltered.
-
-```ruby
-args.outputs.sprites << [ 100, # X
- 100, # Y
- 32, # W
- 64, # H
- "sprites/player.png", # PATH
- 0, # ANGLE
- 255, # ALPHA
- 0, # RED_SATURATION
- 255, # GREEN_SATURATION
- 0, # BLUE_SATURATION
- 0, # TILE_X
- 0, # TILE_Y
- 32, # TILE_W
- 32] # TILE_H
-```
-
-## Flipping a Sprite Horizontally and Vertically
-
-A sprite can be flipped horizontally and vertically.
-
-This is a sprite that has been flipped horizontally. The sprite's angle, alpha, color saturations,
-and tile subdivision are unaltered.
-
-```ruby
-args.outputs.sprites << [ 100, # X
- 100, # Y
- 32, # W
- 64, # H
- "sprites/player.png", # PATH
- 0, # ANGLE
- 255, # ALPHA
- 0, # RED_SATURATION
- 255, # GREEN_SATURATION
- 0, # BLUE_SATURATION
- 0, # TILE_X
- 0, # TILE_Y
- 32, # TILE_W
- 32, # TILE_H
- true, # FLIP_HORIZONTALLY
- false] # FLIP_VERTICALLY
-```
-
-This is a sprite that has been flipped vertically. The sprite's angle, alpha, color saturations,
-and tile subdivision are unaltered.
-
-```ruby
-args.outputs.sprites << [ 100, # X
- 100, # Y
- 32, # W
- 64, # H
- "sprites/player.png", # PATH
- 0, # ANGLE
- 255, # ALPHA
- 0, # RED_SATURATION
- 255, # GREEN_SATURATION
- 0, # BLUE_SATURATION
- 0, # TILE_X
- 0, # TILE_Y
- 32, # TILE_W
- 32, # TILE_H
- false, # FLIP_HORIZONTALLY
- true] # FLIP_VERTICALLY
-```
-
-## Rotation Center
-
-A sprites center of rotation can be altered.
-
-This is a sprite that has its rotation center set to the top-middle. The sprite's angle, alpha, color saturations,
-tile subdivision, and projections are unaltered.
-
-```ruby
-args.outputs.sprites << [ 100, # X
- 100, # Y
- 32, # W
- 64, # H
- "sprites/player.png", # PATH
- 0, # ANGLE
- 255, # ALPHA
- 255, # RED_SATURATION
- 255, # GREEN_SATURATION
- 0, # BLUE_SATURATION
- 0, # TILE_X
- 0, # TILE_Y
- -1, # TILE_W
- -1, # TILE_H
- false, # FLIP_HORIZONTALLY
- false, # FLIP_VERTICALLY
- 0.5, # ANGLE_ANCHOR_X
- 1.0] # ANCHOR_Y
-```
-
-## Hash (Advanced)
-
-If you want a more readable invocation. You can use the following hash to create a sprite.
-Any parameters that are not specified will be given a default value. The keys of the hash can
-be provided in any order.
-
-```ruby
-args.outputs.sprites << {
- x: 100,
- y: 100,
- w: 100,
- h: 100,
- path: "sprites/player.png",
- angle: 0,
- a, 255
- r: 255,
- g: 255,
- b: 255,
- tile_x: 0,
- tile_y: 0,
- tile_w: -1,
- tile_h: -1,
- flip_vertically: false,
- flip_horizontally: false,
- angle_anchor_x: 0.5,
- angle_anchor_y: 1.0
-}
-```
-
-## Duck Typing (Advanced)
-
-You can also create a class with sprite properties and render it as a primitive.
-ALL properties must on the class. ADDITIONALLY, a method called `primitive_marker`
-must be defined on the class.
-
-Here is an example:
-
-```ruby
-# Create type with ALL sprite properties AND primitive_marker
-class Sprite
- attr_accessor :x, :y, :w, :h, :path, :angle, :a, :r, :g, :b, :tile_x,
- :tile_y, :tile_w, :tile_h, :flip_horizontally,
- :flip_vertically, :angle_anchor_x, :angle_anchor_y
-
- def primitive_marker
- :sprite
- end
-end
-
-# Inherit from type
-class PlayerSprite < Sprite
-
- # constructor
- def initialize x, y, w, h
- self.x = x
- self.y = y
- self.w = w
- self.h = h
- self.path = 'sprites/player.png'
- end
-end
-
-#render player sprite
-
-args.outputs.sprites << PlayerSprite.new(10, 10, 32, 64)
-```
diff --git a/deploy_template/mygame/documentation/06-keyboard.md b/deploy_template/mygame/documentation/06-keyboard.md
deleted file mode 100644
index e226d16..0000000
--- a/deploy_template/mygame/documentation/06-keyboard.md
+++ /dev/null
@@ -1,150 +0,0 @@
-# Keyboard
-
-Determining if `a` key is in the down state (pressed). This happens once each time the key is pressed:
-
-```
-if args.inputs.keyboard.key_down.a
- puts 'The key is pressed'
-end
-```
-
-Determining if a key is being held. This happens every tick while the key is held down:
-
-```
-if args.inputs.keyboard.key_held.a
- puts 'The key is being held'
-end
-```
-
-Determining if a key is in the down state or is being held:
-
-```
-if args.inputs.keyboard.a
- puts 'The key is pressed or being held'
-end
-```
-
-Determining if a key is in the up state (released). This happens once each time the key is released:
-
-```
-if args.inputs.keyboard.key_up.a
- puts 'The key is released'
-end
-```
-
-# Truthy Keys
-
-You can access all triggered keys through `truthy_keys` on `keyboard`, `controller_one`, and `controller_two`.
-
-This is how you would right all keys to a file. The game must be in the foreground and have focus for this data
-to be recorded.
-
-```
-def tick args
- [
- [args.inputs.keyboard, :keyboard],
- [args.inputs.controller_one, :controller_one],
- [args.inputs.controller_two, :controller_two]
- ].each do |input, name|
- if input.key_down.truthy_keys.length > 0
- args.gtk.write_file("mygame/app/#{name}_key_down_#{args.state.tick_count}", input.key_down.truthy_keys.to_s)
- end
- end
-end
-```
-
-# List of keys:
-
-These are the character and associated properties that will
-be set to true.
-
-For example `A => :a, :shift` means that `args.inputs.keyboard.a`
-would be true and so would `args.inputs.keyboard.shift`
-(if both keys were being held or in the down state).
-
-```
-A => :a, :shift
-B => :b, :shift
-C => :c, :shift
-D => :d, :shift
-E => :e, :shift
-F => :f, :shift
-G => :g, :shift
-H => :h, :shift
-I => :i, :shift
-J => :j, :shift
-K => :k, :shift
-L => :l, :shift
-M => :m, :shift
-N => :n, :shift
-O => :o, :shift
-P => :p, :shift
-Q => :q, :shift
-R => :r, :shift
-S => :s, :shift
-T => :t, :shift
-U => :u, :shift
-V => :v, :shift
-W => :w, :shift
-X => :x, :shift
-Y => :y, :shift
-Z => :z, :shift
-! => :exclamation_point
-0 => :zero
-1 => :one
-2 => :two
-3 => :three
-4 => :four
-5 => :five
-6 => :six
-7 => :seven
-8 => :eight
-9 => :nine
-\b => :backspace
-\e => :escape
-\r => :enter
-\t => :tab
-( => :open_round_brace
-) => :close_round_brace
-{ => :open_curly_brace
-} => :close_curly_brace
-[ => :open_square_brace
-] => :close_square_brace
-: => :colon
-; => :semicolon
-= => :equal_sign
-- => :hyphen
- => :space
-$ => :dollar_sign
-" => :double_quotation_mark
-' => :single_quotation_mark
-` => :backtick
-~ => :tilde
-. => :period
-, => :comma
-| => :pipe
-_ => :underscore
-# => :hash
-+ => :plus
-@ => :at
-/ => :forward_slash
-\ => :back_slash
-* => :asterisk
-< => :less_than
-> => :greater_than
-^ => :greater_than
-& => :ampersand
-² => :superscript_two
-§ => :section_sign
-? => :question_mark
-% => :percent_sign
-º => :ordinal_indicator
-right arrow => :right
-left arrow => :left
-down arrow => :down
-up arrow => :up
-delete key => :delete
-control key => :control
-windows key/command key => :meta
-alt key => :alt
-```
diff --git a/deploy_template/mygame/documentation/07-mouse.md b/deploy_template/mygame/documentation/07-mouse.md
deleted file mode 100644
index 2af8854..0000000
--- a/deploy_template/mygame/documentation/07-mouse.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# Mouse
-
-Determining current position of mouse:
-
-```
-args.inputs.mouse.x
-args.inputs.mouse.y
-```
-
-Determining if the mouse has been clicked, and it's position. Note:
-`click` and `down` are aliases for each other.
-
-```
-if args.inputs.mouse.click
- puts "click: #{args.inputs.mouse.click}"
- puts "x: #{args.inputs.mouse.click.point.x}"
- puts "y: #{args.inputs.mouse.click.point.y}"
-end
-```
-
-Determining if the mouse button has been released:
-
-```
-if args.inputs.mouse.up
- puts "up: #{args.inputs.mouse.up}"
- puts "x: #{args.inputs.mouse.up.point.x}"
- puts "y: #{args.inputs.mouse.up.point.y}"
-end
-```
-
-Determine which mouse button(s) have been clicked (also works for up):
-```
-if args.inputs.mouse.click
- puts "left: #{args.inputs.mouse.button_left}"
- puts "middle: #{args.inputs.mouse.button_middle}"
- puts "right: #{args.inputs.mouse.button_right}"
- puts "x1: #{args.inputs.mouse.button_x1}"
- puts "x2: #{args.inputs.mouse.button_x2}"
-end
-```
-
-Determine if the mouse wheel is being used and its values for this tick:
-```
-if args.inputs.mouse.wheel
- puts "The wheel moved #{args.inputs.mouse.wheel.x} left/right"
- puts "The wheel moved #{args.inputs.mouse.wheel.y} up/down"
-end
-```
diff --git a/deploy_template/mygame/documentation/08-controllers.md b/deploy_template/mygame/documentation/08-controllers.md
deleted file mode 100644
index fca575f..0000000
--- a/deploy_template/mygame/documentation/08-controllers.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# Controllers
-
-There are two controllers you have access to:
-
-```
-args.inputs.controller_one
-args.inputs.controller_two
-```
-
-Determining if a key was down:
-
-```
-if args.inputs.controller_one.key_down.a
- puts 'The key was in the down state'
-end
-```
-
-Determining if a key is being held:
-
-```
-if args.inputs.controller_one.key_held.a
- puts 'The key is being held'
-end
-```
-
-Determining if a key is released:
-
-```
-if args.inputs.controller_one.key_up.a
- puts 'The key is being held'
-end
-```
-
-# Truthy Keys
-
-You can access all triggered keys through `truthy_keys` on `keyboard`, `controller_one`, and `controller_two`.
-
-This is how you would right all keys to a file. The game must be in the foreground and have focus for this data
-to be recorded.
-
-```
-def tick args
- [
- [args.inputs.keyboard, :keyboard],
- [args.inputs.controller_one, :controller_one],
- [args.inputs.controller_two, :controller_two]
- ].each do |input, name|
- if input.key_down.truthy_keys.length > 0
- args.gtk.write_file("mygame/app/#{name}_key_down_#{args.state.tick_count}", input.key_down.truthy_keys.to_s)
- end
- end
-end
-```
-
-# List of keys:
-
-```
-args.inputs.controller_one.key_held.up
-args.inputs.controller_one.key_held.down
-args.inputs.controller_one.key_held.left
-args.inputs.controller_one.key_held.right
-args.inputs.controller_one.key_held.a
-args.inputs.controller_one.key_held.b
-args.inputs.controller_one.x
-args.inputs.controller_one.y
-args.inputs.controller_one.key_held.l1
-args.inputs.controller_one.key_held.r1
-args.inputs.controller_one.key_held.l2
-args.inputs.controller_one.key_held.r2
-args.inputs.controller_one.key_held.l3
-args.inputs.controller_one.key_held.r3
-args.inputs.controller_one.key_held.start
-args.inputs.controller_one.key_held.select
-args.inputs.controller_one.key_held.directional_up
-args.inputs.controller_one.key_held.directional_down
-args.inputs.controller_one.key_held.directional_left
-args.inputs.controller_one.key_held.directional_right
-args.inputs.controller_one.left_analog_x_raw,
-args.inputs.controller_one.left_analog_y_raw,
-args.inputs.controller_one.left_analog_x_perc,
-args.inputs.controller_one.left_analog_y_perc,
-args.inputs.controller_one.right_analog_x_raw,
-args.inputs.controller_one.right_analog_y_raw,
-args.inputs.controller_one.right_analog_x_perc,
-args.inputs.controller_one.right_analog_y_perc
-```
diff --git a/deploy_template/mygame/documentation/99-todo.md b/deploy_template/mygame/documentation/99-todo.md
deleted file mode 100644
index f02df2d..0000000
--- a/deploy_template/mygame/documentation/99-todo.md
+++ /dev/null
@@ -1,89 +0,0 @@
-# Documentation That Needs to be Organized
-
-## Class macro attr_gtk
-
-Use the `attr_gtk` class method to help access the different variables provided via `args`:
-
-```ruby
-class Game
- attr_gtk
- attr_accessor :current_scene, :other_custom_attrs
-
- def tick
- end
-end
-
-$game = Game.new
-
-def tick args
- $game.args = args
- $game.tick
-end
-```
-
-The code above is the similar to:
-
-```ruby
-class Game
- attr_accessor :args, :grid, :state, :inputs, :outputs, :gtk, :passes,
- :current_scene, :other_custom_attrs
-
- def tick
- end
-end
-
-$game = Game.new
-
-def tick args
- $game.args = args
- $game.grid = args.grid
- $game.state = args.state
- $game.outputs = args.outputs
- $game.gtk = args.gtk
- $game.passes = args.passes
- $game.tick
-end
-```
-
-## Monkey patching the runtime
-
-You're on your own if you do this :grimacing:
-
-```ruby
-module GTK
- class Runtime
- alias_method :__original_tick_core__, :tick_core unless Runtime.instance_methods.include?(:__original_tick_core__)
-
- def tick_core
- __original_tick_core__
- $top_level.oh @args
- $top_level.god @args
- $top_level.why @args
- end
- end
-end
-
-def tick args
-end
-
-def oh args
-end
-
-def god args
-end
-
-def why args
-end
-```
-
-## MP3's to Wav converstion script:
-
-```ruby
-`ls .`.each_line.to_a.map do |l|
- l = l.strip
- if l.end_with? "mp3"
- `ffmpeg -i #{l} -acodec pcm_s16le -ar 44100 prep-#{l.split(".")[0]}.wav`
- `ffmpeg -y -i prep-#{l.split(".")[0]}.wav -f wav -bitexact -acodec pcm_s16le -ar 44100 -ac 1 #{l.split(".")[0]}.wav`
- end
-end
-```