summaryrefslogtreecommitdiffhomepage
path: root/samples
diff options
context:
space:
mode:
authorAmir Rajan <[email protected]>2020-09-11 02:02:01 -0500
committerAmir Rajan <[email protected]>2020-09-11 02:02:57 -0500
commit33ec37b141e896b47ed642923fd33b0c658ae9fb (patch)
treea40d3e5d41beeb06508200078f6f26b0ee57d6a4 /samples
parent958cf43779d2bf528869e80511c4c4f2a433b2db (diff)
downloaddragonruby-game-toolkit-contrib-33ec37b141e896b47ed642923fd33b0c658ae9fb.tar.gz
dragonruby-game-toolkit-contrib-33ec37b141e896b47ed642923fd33b0c658ae9fb.zip
synced samples
Diffstat (limited to 'samples')
-rw-r--r--samples/00_intermediate_ruby_primer/app/01_commenting_code.txt13
-rw-r--r--samples/00_intermediate_ruby_primer/app/02_printing_to_the_console.txt14
-rw-r--r--samples/00_intermediate_ruby_primer/app/03_types_and_assignments.txt74
-rw-r--r--samples/00_intermediate_ruby_primer/app/04_conditionals.txt104
-rw-r--r--samples/00_intermediate_ruby_primer/app/06_functions.txt49
-rw-r--r--samples/00_intermediate_ruby_primer/app/07_powerful_arrays.txt171
-rw-r--r--samples/00_learn_ruby_optional/00_beginner_ruby_primer/app/automation.rb (renamed from samples/00_beginner_ruby_primer/app/automation.rb)0
-rw-r--r--samples/00_learn_ruby_optional/00_beginner_ruby_primer/app/main.rb (renamed from samples/00_beginner_ruby_primer/app/main.rb)0
-rw-r--r--samples/00_learn_ruby_optional/00_beginner_ruby_primer/license-for-sample.txt (renamed from samples/00_beginner_ruby_primer/license-for-sample.txt)0
-rw-r--r--samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_0.png (renamed from samples/00_beginner_ruby_primer/sprites/dragon_fly_0.png)bin12896 -> 12896 bytes
-rw-r--r--samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_1.png (renamed from samples/00_beginner_ruby_primer/sprites/dragon_fly_1.png)bin2964 -> 2964 bytes
-rw-r--r--samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_2.png (renamed from samples/00_beginner_ruby_primer/sprites/dragon_fly_2.png)bin3047 -> 3047 bytes
-rw-r--r--samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_3.png (renamed from samples/00_beginner_ruby_primer/sprites/dragon_fly_3.png)bin2655 -> 2655 bytes
-rw-r--r--samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_4.png (renamed from samples/00_beginner_ruby_primer/sprites/dragon_fly_4.png)bin2725 -> 2725 bytes
-rw-r--r--samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_5.png (renamed from samples/00_beginner_ruby_primer/sprites/dragon_fly_5.png)bin2655 -> 2655 bytes
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/02_printing_to_the_console.txt31
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/03_strings.txt15
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/04_numbers.txt21
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/05_booleans.txt32
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/06_conditionals.txt114
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/07_looping.txt (renamed from samples/00_intermediate_ruby_primer/app/05_looping.txt)66
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/08_functions.txt69
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/09_powerful_arrays.txt210
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/main.rb (renamed from samples/00_intermediate_ruby_primer/app/main.rb)0
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/repl.rb (renamed from samples/21_mailbox_usage/app/mailbox.rb)0
-rw-r--r--samples/00_learn_ruby_optional/00_intermediate_ruby_primer/license-for-sample.txt (renamed from samples/00_intermediate_ruby_primer/license-for-sample.txt)0
-rw-r--r--samples/01_rendering_basics/01_labels/app/main.rb (renamed from samples/01_api_01_labels/app/main.rb)0
-rw-r--r--samples/01_rendering_basics/01_labels/license-for-sample.txt (renamed from samples/01_api_01_labels/license-for-sample.txt)0
-rw-r--r--samples/01_rendering_basics/01_labels/manaspc.ttf (renamed from samples/01_api_01_labels/manaspc.ttf)bin9556 -> 9556 bytes
-rw-r--r--samples/01_rendering_basics/02_lines/app/main.rb (renamed from samples/01_api_02_lines/app/main.rb)0
-rw-r--r--samples/01_rendering_basics/02_lines/license-for-sample.txt (renamed from samples/01_api_02_lines/license-for-sample.txt)0
-rw-r--r--samples/01_rendering_basics/03_solids_borders/app/main.rb (renamed from samples/01_api_03_rects/app/main.rb)0
-rw-r--r--samples/01_rendering_basics/03_solids_borders/license-for-sample.txt (renamed from samples/01_api_03_rects/license-for-sample.txt)0
-rw-r--r--samples/01_rendering_basics/04_sprites/app/main.rb (renamed from samples/01_api_04_sprites/app/main.rb)0
-rw-r--r--samples/01_rendering_basics/04_sprites/license-for-sample.txt (renamed from samples/01_api_04_sprites/license-for-sample.txt)0
-rw-r--r--samples/01_rendering_basics/05_sounds/app/main.rb (renamed from samples/04_sounds/app/main.rb)0
-rw-r--r--samples/01_rendering_basics/05_sounds/license-for-sample.txt (renamed from samples/01_api_05_keyboard/license-for-sample.txt)0
-rw-r--r--samples/01_rendering_basics/05_sounds/replay.txt (renamed from samples/04_sounds/replay.txt)0
-rw-r--r--samples/01_rendering_basics/05_sounds/sounds/A3.wav (renamed from samples/04_sounds/sounds/A3.wav)bin177456 -> 177456 bytes
-rw-r--r--samples/01_rendering_basics/05_sounds/sounds/B3.wav (renamed from samples/04_sounds/sounds/B3.wav)bin177456 -> 177456 bytes
-rw-r--r--samples/01_rendering_basics/05_sounds/sounds/C3.wav (renamed from samples/04_sounds/sounds/C3.wav)bin174340 -> 174340 bytes
-rw-r--r--samples/01_rendering_basics/05_sounds/sounds/C4.wav (renamed from samples/04_sounds/sounds/C4.wav)bin184712 -> 184712 bytes
-rw-r--r--samples/01_rendering_basics/05_sounds/sounds/D3.wav (renamed from samples/04_sounds/sounds/D3.wav)bin176340 -> 176340 bytes
-rw-r--r--samples/01_rendering_basics/05_sounds/sounds/E3.wav (renamed from samples/04_sounds/sounds/E3.wav)bin176340 -> 176340 bytes
-rw-r--r--samples/01_rendering_basics/05_sounds/sounds/F3.wav (renamed from samples/04_sounds/sounds/F3.wav)bin176340 -> 176340 bytes
-rw-r--r--samples/01_rendering_basics/05_sounds/sounds/G3.wav (renamed from samples/04_sounds/sounds/G3.wav)bin175780 -> 175780 bytes
-rw-r--r--samples/02_collision_04_ramp_with_debugging/app/main.rb142
-rw-r--r--samples/02_collision_05_ramp_with_debugging_two/app/main.rb99
-rw-r--r--samples/02_collision_05_ramp_with_debugging_two/sprites/circle-red.pngbin2233 -> 0 bytes
-rw-r--r--samples/02_input_basics/01_keyboard/app/main.rb (renamed from samples/01_api_05_keyboard/app/main.rb)0
-rw-r--r--samples/02_input_basics/01_keyboard/license-for-sample.txt (renamed from samples/01_api_06_mouse/license-for-sample.txt)0
-rw-r--r--samples/02_input_basics/01_keyboard/replay.txt (renamed from samples/01_api_05_keyboard/replay.txt)0
-rw-r--r--samples/02_input_basics/02_mouse/app/main.rb (renamed from samples/01_api_06_mouse/app/main.rb)0
-rw-r--r--samples/02_input_basics/02_mouse/license-for-sample.txt (renamed from samples/01_api_07_point_to_rect/license-for-sample.txt)0
-rw-r--r--samples/02_input_basics/02_mouse/replay.txt (renamed from samples/01_api_06_mouse/replay.txt)0
-rw-r--r--samples/02_input_basics/03_mouse_point_to_rect/app/main.rb (renamed from samples/01_api_07_point_to_rect/app/main.rb)0
-rw-r--r--samples/02_input_basics/03_mouse_point_to_rect/license-for-sample.txt (renamed from samples/01_api_08_rect_to_rect/license-for-sample.txt)0
-rw-r--r--samples/02_input_basics/03_mouse_point_to_rect/replay.txt (renamed from samples/01_api_07_point_to_rect/replay.txt)0
-rw-r--r--samples/02_input_basics/04_mouse_rect_to_rect/app/main.rb (renamed from samples/01_api_08_rect_to_rect/app/main.rb)0
-rw-r--r--samples/02_input_basics/04_mouse_rect_to_rect/license-for-sample.txt (renamed from samples/01_api_10_controller/license-for-sample.txt)0
-rw-r--r--samples/02_input_basics/04_mouse_rect_to_rect/replay.txt (renamed from samples/01_api_08_rect_to_rect/replay.txt)0
-rw-r--r--samples/02_input_basics/05_controller/app/main.rb (renamed from samples/01_api_10_controller/app/main.rb)0
-rw-r--r--samples/02_input_basics/05_controller/license-for-sample.txt (renamed from samples/01_api_99_tech_demo/license-for-sample.txt)0
-rw-r--r--samples/02_input_basics/05_controller/replay.txt (renamed from samples/01_api_10_controller/replay.txt)0
-rw-r--r--samples/03_rendering_sprites/01_animation_using_seperate_pngs/app/main.rb (renamed from samples/02_sprite_animation_and_keyboard_input/app/main.rb)0
-rw-r--r--samples/03_rendering_sprites/01_animation_using_seperate_pngs/license-for-sample.txt (renamed from samples/02_sprite_animation_and_keyboard_input/license-for-sample.txt)0
-rw-r--r--samples/03_rendering_sprites/01_animation_using_seperate_pngs/replay.txt (renamed from samples/02_sprite_animation_and_keyboard_input/replay.txt)0
-rw-r--r--samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_0.png (renamed from samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_0.png)bin12896 -> 12896 bytes
-rw-r--r--samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_1.png (renamed from samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_1.png)bin2964 -> 2964 bytes
-rw-r--r--samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_2.png (renamed from samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_2.png)bin3047 -> 3047 bytes
-rw-r--r--samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_3.png (renamed from samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_3.png)bin2655 -> 2655 bytes
-rw-r--r--samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_4.png (renamed from samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_4.png)bin2725 -> 2725 bytes
-rw-r--r--samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_5.png (renamed from samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_5.png)bin2655 -> 2655 bytes
-rw-r--r--samples/03_rendering_sprites/02_animation_using_sprite_sheet/app/main.rb (renamed from samples/09_sprite_animation_using_tile_sheet/app/main.rb)0
-rw-r--r--samples/03_rendering_sprites/02_animation_using_sprite_sheet/license-for-sample.txt (renamed from samples/02_collision_01_simple/license-for-sample.txt)0
-rw-r--r--samples/03_rendering_sprites/02_animation_using_sprite_sheet/sprites/horizontal-run.png (renamed from samples/09_sprite_animation_using_tile_sheet/sprites/horizontal-run.png)bin20080 -> 20080 bytes
-rw-r--r--samples/03_rendering_sprites/02_animation_using_sprite_sheet/sprites/horizontal-stand.png (renamed from samples/09_sprite_animation_using_tile_sheet/sprites/horizontal-stand.png)bin4120 -> 4120 bytes
-rw-r--r--samples/03_rendering_sprites/03_animation_states/app/main.rb (renamed from samples/12_controller_input_sprite_sheet_animations/app/main.rb)0
-rw-r--r--samples/03_rendering_sprites/03_animation_states/license-for-sample.txt (renamed from samples/12_controller_input_sprite_sheet_animations/license-for-sample.txt)0
-rw-r--r--samples/03_rendering_sprites/03_animation_states/sprites/horizontal-run.png (renamed from samples/12_controller_input_sprite_sheet_animations/sprites/horizontal-run.png)bin18400 -> 18400 bytes
-rw-r--r--samples/03_rendering_sprites/03_animation_states/sprites/horizontal-slash.png (renamed from samples/12_controller_input_sprite_sheet_animations/sprites/horizontal-slash.png)bin13979 -> 13979 bytes
-rw-r--r--samples/03_rendering_sprites/03_animation_states/sprites/horizontal-stand.png (renamed from samples/12_controller_input_sprite_sheet_animations/sprites/horizontal-stand.png)bin3416 -> 3416 bytes
-rw-r--r--samples/03_rendering_sprites/04_color_and_rotation/app/main.rb (renamed from samples/09_controller_analog_usage_advanced_sprites/app/main.rb)0
-rw-r--r--samples/03_rendering_sprites/04_color_and_rotation/license-for-sample.txt (renamed from samples/02_collision_02_moving_objects/license-for-sample.txt)0
-rw-r--r--samples/03_rendering_sprites/04_color_and_rotation/replay.txt (renamed from samples/09_controller_analog_usage_advanced_sprites/replay.txt)0
-rw-r--r--samples/03_rendering_sprites/04_color_and_rotation/sprites/86.png (renamed from samples/09_controller_analog_usage_advanced_sprites/sprites/86.png)bin1135 -> 1135 bytes
-rw-r--r--samples/04_physics_and_collisions/01_simple/app/main.rb (renamed from samples/02_collision_01_simple/app/main.rb)0
-rw-r--r--samples/04_physics_and_collisions/01_simple/license-for-sample.txt (renamed from samples/02_collision_03_entities/license-for-sample.txt)0
-rw-r--r--samples/04_physics_and_collisions/02_moving_objects/app/main.rb (renamed from samples/02_collision_02_moving_objects/app/main.rb)0
-rw-r--r--samples/04_physics_and_collisions/02_moving_objects/license-for-sample.txt (renamed from samples/03_mouse_click/license-for-sample.txt)0
-rw-r--r--samples/04_physics_and_collisions/02_moving_objects/replay.txt (renamed from samples/02_collision_02_moving_objects/replay.txt)0
-rw-r--r--samples/04_physics_and_collisions/03_entities/app/main.rb (renamed from samples/02_collision_03_entities/app/main.rb)0
-rw-r--r--samples/04_physics_and_collisions/03_entities/license-for-sample.txt (renamed from samples/04_sounds/license-for-sample.txt)0
-rw-r--r--samples/04_physics_and_collisions/03_entities/replay.txt (renamed from samples/02_collision_03_entities/replay.txt)0
-rw-r--r--samples/04_physics_and_collisions/04_box_collision/app/main.rb (renamed from samples/08_platformer_collisions/app/main.rb)0
-rw-r--r--samples/04_physics_and_collisions/04_box_collision/license-for-sample.txt (renamed from samples/05_mouse_move/license-for-sample.txt)0
-rw-r--r--samples/04_physics_and_collisions/04_box_collision/replay.txt (renamed from samples/08_platformer_collisions/replay.txt)0
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/app/main.rb (renamed from samples/08_platformer_collisions_metroidvania/app/main.rb)0
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/app/map.txt (renamed from samples/08_platformer_collisions_metroidvania/app/map.txt)0
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/license-for-sample.txt (renamed from samples/06_coordinate_systems/license-for-sample.txt)0
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/replay.txt (renamed from samples/08_platformer_collisions_metroidvania/replay.txt)0
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image1.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image1.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image10.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image10.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image11.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image11.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image12.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image12.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image13.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image13.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image14.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image14.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image15.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image15.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image16.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image16.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image17.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image17.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image18.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image18.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image19.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image19.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image2.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image2.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image20.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image20.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image3.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image3.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image4.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image4.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image5.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image5.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image6.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image6.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image7.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image7.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image8.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image8.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/image9.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/image9.png)bin473 -> 473 bytes
-rw-r--r--samples/04_physics_and_collisions/04_box_collision_2/sprites/player.png (renamed from samples/08_platformer_collisions_metroidvania/sprites/player.png)bin744 -> 744 bytes
-rw-r--r--samples/04_physics_and_collisions/04_jump_physics/app/main.rb (renamed from samples/08_platformer_jumping_inertia/app/main.rb)0
-rw-r--r--samples/04_physics_and_collisions/04_jump_physics/replay.txt (renamed from samples/08_platformer_jumping_inertia/replay.txt)0
-rw-r--r--samples/05_mouse/03_mouse_click/app/main.rb (renamed from samples/03_mouse_click/app/main.rb)0
-rw-r--r--samples/05_mouse/03_mouse_click/license-for-sample.txt (renamed from samples/07_render_targets_advanced/license-for-sample.txt)0
-rw-r--r--samples/05_mouse/03_mouse_click/replay.txt (renamed from samples/03_mouse_click/replay.txt)0
-rw-r--r--samples/05_mouse/05_mouse_move/app/main.rb (renamed from samples/05_mouse_move/app/main.rb)0
-rw-r--r--samples/05_mouse/05_mouse_move/license-for-sample.txt (renamed from samples/08_platformer_collisions/license-for-sample.txt)0
-rw-r--r--samples/05_mouse/05_mouse_move/replay.txt (renamed from samples/05_mouse_move/replay.txt)0
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/player-0.png (renamed from samples/05_mouse_move/sprites/player-0.png)bin1499 -> 1499 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/player-1.png (renamed from samples/05_mouse_move/sprites/player-1.png)bin1524 -> 1524 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/player-2.png (renamed from samples/05_mouse_move/sprites/player-2.png)bin1528 -> 1528 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/player-3.png (renamed from samples/05_mouse_move/sprites/player-3.png)bin1499 -> 1499 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/player-4.png (renamed from samples/05_mouse_move/sprites/player-4.png)bin2118 -> 2118 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/player-5.png (renamed from samples/05_mouse_move/sprites/player-5.png)bin2118 -> 2118 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/slash.png (renamed from samples/05_mouse_move/sprites/slash.png)bin143 -> 143 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/zombie-0.png (renamed from samples/05_mouse_move/sprites/zombie-0.png)bin144 -> 144 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/zombie-1.png (renamed from samples/05_mouse_move/sprites/zombie-1.png)bin153 -> 153 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/zombie-2.png (renamed from samples/05_mouse_move/sprites/zombie-2.png)bin157 -> 157 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/zombie-3.png (renamed from samples/05_mouse_move/sprites/zombie-3.png)bin144 -> 144 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/zombie-4.png (renamed from samples/05_mouse_move/sprites/zombie-4.png)bin541 -> 541 bytes
-rw-r--r--samples/05_mouse/05_mouse_move/sprites/zombie-5.png (renamed from samples/05_mouse_move/sprites/zombie-5.png)bin524 -> 524 bytes
-rw-r--r--samples/05_mouse/05_mouse_move_paint_app/app/main.rb (renamed from samples/05_mouse_move_paint_app/app/main.rb)0
-rw-r--r--samples/05_mouse/05_mouse_move_paint_app/license-for-sample.txt (renamed from samples/05_mouse_move_paint_app/license-for-sample.txt)0
-rw-r--r--samples/05_mouse/05_mouse_move_paint_app/replay.txt (renamed from samples/05_mouse_move_paint_app/replay.txt)0
-rw-r--r--samples/05_mouse/06_coordinate_systems/app/main.rb (renamed from samples/06_coordinate_systems/app/main.rb)0
-rw-r--r--samples/05_mouse/06_coordinate_systems/license-for-sample.txt (renamed from samples/08_platformer_collisions_metroidvania/license-for-sample.txt)0
-rw-r--r--samples/05_mouse/06_coordinate_systems/replay.txt (renamed from samples/06_coordinate_systems/replay.txt)0
-rw-r--r--samples/05_mouse_move/app/repl.rb5
-rw-r--r--samples/05_mouse_move_paint_app/app/repl.rb2
-rw-r--r--samples/05_mouse_move_paint_app/app/tests.rb24
-rw-r--r--samples/05_mouse_move_tile_editor/app/repl.rb2
-rw-r--r--samples/05_mouse_move_tile_editor/app/tests.rb24
-rw-r--r--samples/06_save_load/10_save_load_game/app/main.rb (renamed from samples/10_save_load_game/app/main.rb)0
-rw-r--r--samples/06_save_load/10_save_load_game/license-for-sample.txt (renamed from samples/09_controller_analog_usage_advanced_sprites/license-for-sample.txt)0
-rw-r--r--samples/06_save_load/10_save_load_game/replay.txt (renamed from samples/10_save_load_game/replay.txt)0
-rw-r--r--samples/07_advanced_rendering/01_simple_render_targets/app/main.rb (renamed from samples/07_render_targets/app/main.rb)0
-rw-r--r--samples/07_advanced_rendering/02_render_targets_with_alphas/app/main.rb (renamed from samples/07_render_targets_advanced/app/main.rb)0
-rw-r--r--samples/07_advanced_rendering/02_render_targets_with_alphas/license-for-sample.txt (renamed from samples/09_sprite_animation_using_tile_sheet/license-for-sample.txt)0
-rw-r--r--samples/07_advanced_rendering/03_render_target_viewports/app/main.rb (renamed from samples/01_api_99_tech_demo/app/main.rb)0
-rw-r--r--samples/07_advanced_rendering/03_render_target_viewports/license-for-sample.txt (renamed from samples/10_save_load_game/license-for-sample.txt)0
-rw-r--r--samples/07_advanced_rendering/03_render_target_viewports/replay.txt (renamed from samples/01_api_99_tech_demo/replay.txt)0
-rw-r--r--samples/07_advanced_rendering/04_render_primitive_hierarchies/app/main.rb (renamed from samples/11_coersion_of_primitives/app/main.rb)0
-rw-r--r--samples/07_advanced_rendering/04_render_primitive_hierarchies/license-for-sample.txt (renamed from samples/11_coersion_of_primitives/license-for-sample.txt)0
-rw-r--r--samples/07_advanced_rendering/04_render_primitive_hierarchies/sprites/ship.png (renamed from samples/11_coersion_of_primitives/sprites/ship.png)bin1810 -> 1810 bytes
-rw-r--r--samples/07_advanced_rendering/11_render_primitives_as_hash/app/main.rb (renamed from samples/11_hash_primitives/app/main.rb)0
-rw-r--r--samples/07_advanced_rendering/11_render_primitives_as_hash/fonts/manaspc.ttf (renamed from samples/11_hash_primitives/fonts/manaspc.ttf)bin9556 -> 9556 bytes
-rw-r--r--samples/07_advanced_rendering/11_render_primitives_as_hash/license-for-sample.txt (renamed from samples/11_hash_primitives/license-for-sample.txt)0
-rw-r--r--samples/08_lerping_easing_functions/01_easing_functions/app/main.rb (renamed from samples/13_01_easing_functions/app/main.rb)0
-rw-r--r--samples/08_lerping_easing_functions/01_easing_functions/license-for-sample.txt (renamed from samples/12_top_down_area/license-for-sample.txt)0
-rw-r--r--samples/08_lerping_easing_functions/02_cubic_bezier/app/main.rb (renamed from samples/13_02_cubic_bezier/app/main.rb)0
-rw-r--r--samples/08_lerping_easing_functions/03_easing_using_spline/app/main.rb (renamed from samples/13_03_easing_using_spline/app/main.rb)0
-rw-r--r--samples/08_lerping_easing_functions/04_parametric_enemy_movement/app/main.rb (renamed from samples/13_04_parametric_enemy_movement/app/main.rb)0
-rw-r--r--samples/08_lerping_easing_functions/04_parametric_enemy_movement/license-for-sample.txt (renamed from samples/13_01_easing_functions/license-for-sample.txt)0
-rw-r--r--samples/08_lerping_easing_functions/04_parametric_enemy_movement/replay.txt (renamed from samples/13_04_parametric_enemy_movement/replay.txt)0
-rw-r--r--samples/08_platformer_collisions_metroidvania/app/repl.rb2
-rw-r--r--samples/08_platformer_collisions_metroidvania/app/tests.rb24
-rw-r--r--samples/09_performance/01_sprites_as_hash/app/main.rb63
-rw-r--r--samples/09_performance/01_sprites_as_hash/license-for-sample.txt (renamed from samples/13_04_parametric_enemy_movement/license-for-sample.txt)0
-rw-r--r--samples/09_performance/01_sprites_as_hash/sprites/tiny-star.pngbin0 -> 112 bytes
-rw-r--r--samples/09_performance/02_sprites_as_entities/app/main.rb64
-rw-r--r--samples/09_performance/02_sprites_as_entities/license-for-sample.txt (renamed from samples/14_sprite_limits/license-for-sample.txt)0
-rw-r--r--samples/09_performance/02_sprites_as_entities/sprites/tiny-star.pngbin0 -> 112 bytes
-rw-r--r--samples/09_performance/03_sprites_as_strict_entities/app/main.rb68
-rw-r--r--samples/09_performance/03_sprites_as_strict_entities/license-for-sample.txt (renamed from samples/14_sprite_limits_static_references/license-for-sample.txt)0
-rw-r--r--samples/09_performance/03_sprites_as_strict_entities/sprites/tiny-star.pngbin0 -> 112 bytes
-rw-r--r--samples/09_performance/04_sprites_as_classes/app/main.rb50
-rw-r--r--samples/09_performance/04_sprites_as_classes/license-for-sample.txt (renamed from samples/15_collision_limits/license-for-sample.txt)0
-rw-r--r--samples/09_performance/04_sprites_as_classes/sprites/tiny-star.pngbin0 -> 112 bytes
-rw-r--r--samples/09_performance/05_static_sprites_as_classes/app/main.rb51
-rw-r--r--samples/09_performance/05_static_sprites_as_classes/license-for-sample.txt (renamed from samples/18_moddable_game/license-for-sample.txt)0
-rw-r--r--samples/09_performance/05_static_sprites_as_classes/sprites/tiny-star.pngbin0 -> 112 bytes
-rw-r--r--samples/09_performance/06_static_sprites_as_classes_with_custom_drawing/app/main.rb72
-rw-r--r--samples/09_performance/06_static_sprites_as_classes_with_custom_drawing/license-for-sample.txt (renamed from samples/20_roguelike_starting_point/license-for-sample.txt)0
-rw-r--r--samples/09_performance/06_static_sprites_as_classes_with_custom_drawing/sprites/tiny-star.pngbin0 -> 112 bytes
-rw-r--r--samples/09_performance/07_collision_limits/app/main.rb (renamed from samples/15_collision_limits/app/main.rb)0
-rw-r--r--samples/09_performance/07_collision_limits/license-for-sample.txt (renamed from samples/20_roguelike_starting_point_two/license-for-sample.txt)0
-rw-r--r--samples/10_advanced_debugging/01_trace_debugging/app/main.rb (renamed from samples/22_trace_debugging/app/main.rb)0
-rw-r--r--samples/10_advanced_debugging/01_trace_debugging/license-for-sample.txt (renamed from samples/22_trace_debugging/license-for-sample.txt)0
-rw-r--r--samples/10_advanced_debugging/02_trace_debugging_classes/app/main.rb (renamed from samples/22_trace_debugging_classes/app/main.rb)0
-rw-r--r--samples/10_advanced_debugging/03_unit_tests/exception_raising_tests.rb (renamed from samples/99_zz_gtk_unit_tests/exception_raising_tests.rb)0
-rw-r--r--samples/10_advanced_debugging/03_unit_tests/gen_docs.rb (renamed from samples/99_zz_gtk_unit_tests/gen_docs.rb)0
-rw-r--r--samples/10_advanced_debugging/03_unit_tests/geometry_tests.rb (renamed from samples/99_zz_gtk_unit_tests/geometry_tests.rb)0
-rw-r--r--samples/10_advanced_debugging/03_unit_tests/http_tests.rb (renamed from samples/99_zz_gtk_unit_tests/http_tests.rb)0
-rw-r--r--samples/10_advanced_debugging/03_unit_tests/object_to_primitive_tests.rb (renamed from samples/99_zz_gtk_unit_tests/object_to_primitive_tests.rb)0
-rw-r--r--samples/10_advanced_debugging/03_unit_tests/parsing_tests.rb (renamed from samples/99_zz_gtk_unit_tests/parsing_tests.rb)0
-rw-r--r--samples/10_advanced_debugging/03_unit_tests/run-bash.sh (renamed from samples/99_zz_gtk_unit_tests/run-bash.sh)0
-rw-r--r--samples/10_advanced_debugging/03_unit_tests/serialize_deserialize_tests.rb (renamed from samples/99_zz_gtk_unit_tests/serialize_deserialize_tests.rb)0
-rw-r--r--samples/10_advanced_debugging/03_unit_tests/state_serialization_experimental_tests.rb (renamed from samples/99_zz_gtk_unit_tests/state_serialization_experimental_tests.rb)0
-rw-r--r--samples/11_http/01_retrieve_images/app/main.rb (renamed from samples/24_http_example/app/main.rb)0
-rw-r--r--samples/11_http/01_retrieve_images/license-for-sample.txt (renamed from samples/23_hexagonal_grid/license-for-sample.txt)0
-rw-r--r--samples/11_http/01_retrieve_images/metadata/game_metadata.txt (renamed from samples/24_http_example/metadata/game_metadata.txt)0
-rw-r--r--samples/11_http/01_retrieve_images/metadata/icon.png (renamed from samples/24_http_example/metadata/icon.png)bin14417 -> 14417 bytes
-rw-r--r--samples/14_sprite_limits/app/main.rb192
-rw-r--r--samples/14_sprite_limits_static_references/app/main.rb99
-rw-r--r--samples/14_sprite_limits_static_references/sprites/star.pngbin711 -> 0 bytes
-rw-r--r--samples/21_mailbox_usage/app/main.rb28
-rw-r--r--samples/21_mailbox_usage/replay.txt123
-rw-r--r--samples/23_isometric_grid/app/tests.rb24
-rw-r--r--samples/26_jam_craft/sprites/circle-gray.pngbin3006 -> 0 bytes
-rw-r--r--samples/99_genre_3d/3d_cube/app/main.rb (renamed from samples/25_3d_experiment_01_square/app/main.rb)0
-rw-r--r--samples/99_genre_3d/3d_cube/sprites/square-blue.png (renamed from samples/25_3d_experiment_01_square/sprites/square-blue.png)bin283 -> 283 bytes
-rw-r--r--samples/99_genre_arcade/dueling_starships/app/main.rb (renamed from samples/99_sample_game_dueling_starships/app/main.rb)0
-rw-r--r--samples/99_genre_arcade/dueling_starships/license-for-sample.txt (renamed from samples/23_isometric_grid/license-for-sample.txt)0
-rw-r--r--samples/99_genre_arcade/dueling_starships/replay.txt (renamed from samples/99_sample_game_dueling_starships/replay.txt)0
-rw-r--r--samples/99_genre_arcade/dueling_starships/sprites/blue_bullet.png (renamed from samples/99_sample_game_dueling_starships/sprites/blue_bullet.png)bin81 -> 81 bytes
-rw-r--r--samples/99_genre_arcade/dueling_starships/sprites/flame.png (renamed from samples/99_sample_game_dueling_starships/sprites/flame.png)bin78 -> 78 bytes
-rw-r--r--samples/99_genre_arcade/dueling_starships/sprites/red_bullet.png (renamed from samples/99_sample_game_dueling_starships/sprites/red_bullet.png)bin81 -> 81 bytes
-rw-r--r--samples/99_genre_arcade/dueling_starships/sprites/ship_blue.png (renamed from samples/99_sample_game_dueling_starships/sprites/ship_blue.png)bin1810 -> 1810 bytes
-rw-r--r--samples/99_genre_arcade/dueling_starships/sprites/ship_red.png (renamed from samples/99_sample_game_dueling_starships/sprites/ship_red.png)bin1747 -> 1747 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/CREDITS.txt (renamed from samples/99_sample_game_flappy_dragon/CREDITS.txt)0
-rw-r--r--samples/99_genre_arcade/flappy_dragon/app/main.rb (renamed from samples/99_sample_game_flappy_dragon/app/main.rb)0
-rw-r--r--samples/99_genre_arcade/flappy_dragon/license-for-sample.txt (renamed from samples/99_sample_game_flappy_dragon/license-for-sample.txt)0
-rw-r--r--samples/99_genre_arcade/flappy_dragon/metadata/game_metadata.txt (renamed from samples/99_sample_game_flappy_dragon/metadata/game_metadata.txt)0
-rw-r--r--samples/99_genre_arcade/flappy_dragon/replay.txt (renamed from samples/99_sample_game_flappy_dragon/replay.txt)0
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sounds/flappy-song.ogg (renamed from samples/99_sample_game_flappy_dragon/sounds/flappy-song.ogg)bin913845 -> 913845 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sounds/fly-sound.wav (renamed from samples/99_sample_game_flappy_dragon/sounds/fly-sound.wav)bin352812 -> 352812 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sounds/hit-sound.wav (renamed from samples/99_sample_game_flappy_dragon/sounds/hit-sound.wav)bin352812 -> 352812 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/background.png (renamed from samples/99_sample_game_flappy_dragon/sprites/background.png)bin84902 -> 84902 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/dragon_die.png (renamed from samples/99_sample_game_flappy_dragon/sprites/dragon_die.png)bin2927 -> 2927 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly1.png (renamed from samples/99_sample_game_flappy_dragon/sprites/dragon_fly1.png)bin12896 -> 12896 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly2.png (renamed from samples/99_sample_game_flappy_dragon/sprites/dragon_fly2.png)bin2964 -> 2964 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly3.png (renamed from samples/99_sample_game_flappy_dragon/sprites/dragon_fly3.png)bin3047 -> 3047 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly4.png (renamed from samples/99_sample_game_flappy_dragon/sprites/dragon_fly4.png)bin2655 -> 2655 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly5.png (renamed from samples/99_sample_game_flappy_dragon/sprites/dragon_fly5.png)bin2725 -> 2725 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly6.png (renamed from samples/99_sample_game_flappy_dragon/sprites/dragon_fly6.png)bin2655 -> 2655 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/parallax_back.png (renamed from samples/99_sample_game_flappy_dragon/sprites/parallax_back.png)bin13968 -> 13968 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/parallax_front.png (renamed from samples/99_sample_game_flappy_dragon/sprites/parallax_front.png)bin14778 -> 14778 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/parallax_middle.png (renamed from samples/99_sample_game_flappy_dragon/sprites/parallax_middle.png)bin16046 -> 16046 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/wall.png (renamed from samples/99_sample_game_flappy_dragon/sprites/wall.png)bin70729 -> 70729 bytes
-rw-r--r--samples/99_genre_arcade/flappy_dragon/sprites/wallbottom.png (renamed from samples/99_sample_game_flappy_dragon/sprites/wallbottom.png)bin73050 -> 73050 bytes
-rw-r--r--samples/99_genre_arcade/pong/app/main.rb (renamed from samples/99_sample_game_pong/app/main.rb)0
-rw-r--r--samples/99_genre_arcade/pong/license-for-sample.txt (renamed from samples/24_http_example/license-for-sample.txt)0
-rw-r--r--samples/99_genre_arcade/pong/replay.txt (renamed from samples/99_sample_game_pong/replay.txt)0
-rw-r--r--samples/99_genre_arcade/snakemoji/app/main.rb (renamed from samples/99_sample_snakemoji/app/main.rb)0
-rw-r--r--samples/99_genre_arcade/snakemoji/license-for-sample.txt (renamed from samples/99_sample_snakemoji/license-for-sample.txt)0
-rw-r--r--samples/99_genre_arcade/snakemoji/replay.txt (renamed from samples/99_sample_snakemoji/replay.txt)0
-rw-r--r--samples/99_genre_arcade/solar_system/app/main.rb (renamed from samples/99_sample_nddnug_workshop/app/main.rb)0
-rw-r--r--samples/99_genre_arcade/solar_system/license-for-sample.txt (renamed from samples/99_sample_nddnug_workshop/license-for-sample.txt)0
-rw-r--r--samples/99_genre_arcade/solar_system/replay.txt (renamed from samples/99_sample_nddnug_workshop/replay.txt)0
-rw-r--r--samples/99_genre_arcade/solar_system/sounds/bg.ogg (renamed from samples/99_sample_game_the_little_probe/sounds/bg.ogg)bin1348295 -> 1348295 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/earth.png (renamed from samples/99_sample_nddnug_workshop/sprites/earth.png)bin1238 -> 1238 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/jupiter.png (renamed from samples/99_sample_nddnug_workshop/sprites/jupiter.png)bin1474 -> 1474 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/mars.png (renamed from samples/99_sample_nddnug_workshop/sprites/mars.png)bin1304 -> 1304 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/mercury.png (renamed from samples/99_sample_nddnug_workshop/sprites/mercury.png)bin1305 -> 1305 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/neptune.png (renamed from samples/99_sample_nddnug_workshop/sprites/neptune.png)bin1531 -> 1531 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/orbit.png (renamed from samples/99_sample_nddnug_workshop/sprites/orbit.png)bin23170 -> 23170 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/particle.png (renamed from samples/99_sample_nddnug_workshop/sprites/particle.png)bin78 -> 78 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/pluto.png (renamed from samples/99_sample_nddnug_workshop/sprites/pluto.png)bin1452 -> 1452 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/saturn.png (renamed from samples/99_sample_nddnug_workshop/sprites/saturn.png)bin1547 -> 1547 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/ship.png (renamed from samples/99_sample_nddnug_workshop/sprites/ship.png)bin1810 -> 1810 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/star.png (renamed from samples/14_sprite_limits/sprites/star.png)bin711 -> 711 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/sun.png (renamed from samples/99_sample_nddnug_workshop/sprites/sun.png)bin1099 -> 1099 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/uranus.png (renamed from samples/99_sample_nddnug_workshop/sprites/uranus.png)bin1605 -> 1605 bytes
-rw-r--r--samples/99_genre_arcade/solar_system/sprites/venus.png (renamed from samples/99_sample_nddnug_workshop/sprites/venus.png)bin1525 -> 1525 bytes
-rw-r--r--samples/99_genre_crafting/craft_game_starting_point/app/main.rb (renamed from samples/26_jam_craft/app/main.rb)0
-rw-r--r--samples/99_genre_crafting/craft_game_starting_point/license-for-sample-app.txt (renamed from samples/21_mailbox_usage/license-for-sample-app.txt)0
-rw-r--r--samples/99_genre_crafting/craft_game_starting_point/replay.txt (renamed from samples/26_jam_craft/replay.txt)0
-rw-r--r--samples/99_genre_crafting/craft_game_starting_point/sprites/border-black.png (renamed from samples/26_jam_craft/sprites/border-black.png)bin908 -> 908 bytes
-rw-r--r--samples/99_genre_crafting/craft_game_starting_point/sprites/chest.png (renamed from samples/26_jam_craft/sprites/chest.png)bin1052 -> 1052 bytes
-rw-r--r--samples/99_genre_crafting/craft_game_starting_point/sprites/circle-gray.png (renamed from samples/02_collision_04_ramp_with_debugging/sprites/circle-gray.png)bin3006 -> 3006 bytes
-rw-r--r--samples/99_genre_crafting/craft_game_starting_point/sprites/plank.png (renamed from samples/26_jam_craft/sprites/plank.png)bin985 -> 985 bytes
-rw-r--r--samples/99_genre_crafting/craft_game_starting_point/sprites/square-black.png (renamed from samples/26_jam_craft/sprites/square-black.png)bin250 -> 250 bytes
-rw-r--r--samples/99_genre_crafting/craft_game_starting_point/sprites/square-blue.png (renamed from samples/26_jam_craft/sprites/square-blue.png)bin283 -> 283 bytes
-rw-r--r--samples/99_genre_crafting/craft_game_starting_point/sprites/wood.png (renamed from samples/26_jam_craft/sprites/wood.png)bin1056 -> 1056 bytes
-rw-r--r--samples/99_genre_dev_tools/animation_creator_starting_point/app/main.rb (renamed from samples/99_sample_sprite_animation_creator/app/main.rb)0
-rw-r--r--samples/99_genre_dev_tools/animation_creator_starting_point/license-for-sample.txt (renamed from samples/99_sample_sprite_animation_creator/license-for-sample.txt)0
-rw-r--r--samples/99_genre_dev_tools/animation_creator_starting_point/replay.txt (renamed from samples/99_sample_sprite_animation_creator/replay.txt)0
-rw-r--r--samples/99_genre_dev_tools/animation_creator_starting_point/sprites/square-blue.png (renamed from samples/99_sample_game_clepto_frog/sprites/square-blue.png)bin283 -> 283 bytes
-rw-r--r--samples/99_genre_dev_tools/animation_creator_starting_point/sprites/square-white.png (renamed from samples/99_sample_game_clepto_frog/sprites/square-white.png)bin279 -> 279 bytes
-rw-r--r--samples/99_genre_dev_tools/tile_editor_starting_point/app/main.rb (renamed from samples/05_mouse_move_tile_editor/app/main.rb)0
-rw-r--r--samples/99_genre_dev_tools/tile_editor_starting_point/license-for-sample.txt (renamed from samples/05_mouse_move_tile_editor/license-for-sample.txt)0
-rw-r--r--samples/99_genre_dev_tools/tile_editor_starting_point/replay.txt (renamed from samples/05_mouse_move_tile_editor/replay.txt)0
-rw-r--r--samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image1.png (renamed from samples/05_mouse_move_tile_editor/sprites/image1.png)bin1419 -> 1419 bytes
-rw-r--r--samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image2.png (renamed from samples/05_mouse_move_tile_editor/sprites/image2.png)bin5371 -> 5371 bytes
-rw-r--r--samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image3.png (renamed from samples/05_mouse_move_tile_editor/sprites/image3.png)bin4546 -> 4546 bytes
-rw-r--r--samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image4.png (renamed from samples/05_mouse_move_tile_editor/sprites/image4.png)bin2403 -> 2403 bytes
-rw-r--r--samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image5.png (renamed from samples/05_mouse_move_tile_editor/sprites/image5.png)bin4067 -> 4067 bytes
-rw-r--r--samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image6.png (renamed from samples/05_mouse_move_tile_editor/sprites/image6.png)bin2265 -> 2265 bytes
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/app/lowrez.rb (renamed from samples/19_lowrez_jam/app/lowrez.rb)0
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/app/main.rb (renamed from samples/19_lowrez_jam/app/main.rb)0
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/fonts/lowrez.ttf (renamed from samples/19_lowrez_jam/fonts/lowrez.ttf)bin10224 -> 10224 bytes
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/sprites/explosion-0.png (renamed from samples/19_lowrez_jam/sprites/explosion-0.png)bin267 -> 267 bytes
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/sprites/explosion-1.png (renamed from samples/19_lowrez_jam/sprites/explosion-1.png)bin4585 -> 4585 bytes
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/sprites/explosion-2.png (renamed from samples/19_lowrez_jam/sprites/explosion-2.png)bin4675 -> 4675 bytes
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/sprites/explosion-3.png (renamed from samples/19_lowrez_jam/sprites/explosion-3.png)bin4724 -> 4724 bytes
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/sprites/explosion-4.png (renamed from samples/19_lowrez_jam/sprites/explosion-4.png)bin4773 -> 4773 bytes
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/sprites/explosion-5.png (renamed from samples/19_lowrez_jam/sprites/explosion-5.png)bin4742 -> 4742 bytes
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/sprites/explosion-6.png (renamed from samples/19_lowrez_jam/sprites/explosion-6.png)bin4665 -> 4665 bytes
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/sprites/explosion-sheet.png (renamed from samples/19_lowrez_jam/sprites/explosion-sheet.png)bin2584 -> 2584 bytes
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/sprites/lowrez-ship-blue.png (renamed from samples/19_lowrez_jam/sprites/lowrez-ship-blue.png)bin109 -> 109 bytes
-rw-r--r--samples/99_genre_lowrez/resolution_64x64/sprites/lowrez-ship-red.png (renamed from samples/19_lowrez_jam/sprites/lowrez-ship-red.png)bin104 -> 104 bytes
-rw-r--r--samples/99_genre_narrative_rpg/choose_your_own_adventure/app/decision.rb (renamed from samples/18_moddable_game/app/decision.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/choose_your_own_adventure/app/main.rb (renamed from samples/18_moddable_game/app/main.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/choose_your_own_adventure/license-for-sample.txt (renamed from samples/99_sample_game_dueling_starships/license-for-sample.txt)0
-rw-r--r--samples/99_genre_narrative_rpg/choose_your_own_adventure/replay.txt (renamed from samples/18_moddable_game/replay.txt)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/lowrez_simulator.rb (renamed from samples/99_sample_game_return_of_serenity/app/lowrez_simulator.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/main.rb (renamed from samples/99_sample_game_return_of_serenity/app/main.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/repl.rb (renamed from samples/99_sample_game_return_of_serenity/app/repl.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/require.rb (renamed from samples/99_sample_game_return_of_serenity/app/require.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/storyline.rb (renamed from samples/99_sample_game_return_of_serenity/app/storyline.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_anka.rb (renamed from samples/99_sample_game_return_of_serenity/app/storyline_anka.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_blinking_light.rb (renamed from samples/99_sample_game_return_of_serenity/app/storyline_blinking_light.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_day_one.rb (renamed from samples/99_sample_game_return_of_serenity/app/storyline_day_one.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_decision.rb (renamed from samples/99_sample_game_return_of_serenity/app/storyline_final_decision.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_message.rb (renamed from samples/99_sample_game_return_of_serenity/app/storyline_final_message.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_alive.rb (renamed from samples/99_sample_game_return_of_serenity/app/storyline_serenity_alive.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_bio.rb (renamed from samples/99_sample_game_return_of_serenity/app/storyline_serenity_bio.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_introduction.rb (renamed from samples/99_sample_game_return_of_serenity/app/storyline_serenity_introduction.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_speed_of_light.rb (renamed from samples/99_sample_game_return_of_serenity/app/storyline_speed_of_light.rb)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/fonts/dragonruby-gtk-4x4.ttf (renamed from samples/99_sample_game_return_of_serenity/fonts/dragonruby-gtk-4x4.ttf)bin8820 -> 8820 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/fonts/manaspc.ttf (renamed from samples/99_sample_game_return_of_serenity/fonts/manaspc.ttf)bin9556 -> 9556 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/license-for-sample.txt (renamed from samples/99_sample_game_return_of_serenity/license-for-sample.txt)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/replay.txt (renamed from samples/99_sample_game_return_of_serenity/replay.txt)0
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sounds/music-loop.ogg (renamed from samples/99_sample_game_return_of_serenity/sounds/music-loop.ogg)bin1362527 -> 1362527 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sounds/static-loop.ogg (renamed from samples/99_sample_game_return_of_serenity/sounds/static-loop.ogg)bin465901 -> 465901 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/book.png (renamed from samples/99_sample_game_return_of_serenity/sprites/book.png)bin6561 -> 6561 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/decision.png (renamed from samples/99_sample_game_return_of_serenity/sprites/decision.png)bin4845 -> 4845 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/dream.png (renamed from samples/99_sample_game_return_of_serenity/sprites/dream.png)bin6661 -> 6661 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/front-of-home.png (renamed from samples/99_sample_game_return_of_serenity/sprites/front-of-home.png)bin6264 -> 6264 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-home.png (renamed from samples/99_sample_game_return_of_serenity/sprites/inside-home.png)bin7011 -> 7011 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-observatory.png (renamed from samples/99_sample_game_return_of_serenity/sprites/inside-observatory.png)bin6691 -> 6691 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/label-background.png (renamed from samples/99_sample_game_return_of_serenity/sprites/label-background.png)bin101 -> 101 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/library.png (renamed from samples/99_sample_game_return_of_serenity/sprites/library.png)bin6347 -> 6347 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/mainframe.png (renamed from samples/99_sample_game_return_of_serenity/sprites/mainframe.png)bin6257 -> 6257 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/mountain-pass-zoomed-out.png (renamed from samples/99_sample_game_return_of_serenity/sprites/mountain-pass-zoomed-out.png)bin8959 -> 8959 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/observatory.png (renamed from samples/99_sample_game_return_of_serenity/sprites/observatory.png)bin7728 -> 7728 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/outside-library.png (renamed from samples/99_sample_game_return_of_serenity/sprites/outside-library.png)bin7036 -> 7036 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/path-to-observatory.png (renamed from samples/99_sample_game_return_of_serenity/sprites/path-to-observatory.png)bin7708 -> 7708 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/pc.png (renamed from samples/99_sample_game_return_of_serenity/sprites/pc.png)bin6478 -> 6478 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/planets.png (renamed from samples/99_sample_game_return_of_serenity/sprites/planets.png)bin7024 -> 7024 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-down.png (renamed from samples/99_sample_game_return_of_serenity/sprites/player-down.png)bin148 -> 148 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-left.png (renamed from samples/99_sample_game_return_of_serenity/sprites/player-left.png)bin134 -> 134 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-right.png (renamed from samples/99_sample_game_return_of_serenity/sprites/player-right.png)bin123 -> 123 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-up.png (renamed from samples/99_sample_game_return_of_serenity/sprites/player-up.png)bin148 -> 148 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-zoomed-out.png (renamed from samples/99_sample_game_return_of_serenity/sprites/player-zoomed-out.png)bin104 -> 104 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/serenity.png (renamed from samples/99_sample_game_return_of_serenity/sprites/serenity.png)bin6289 -> 6289 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/side-of-home.png (renamed from samples/99_sample_game_return_of_serenity/sprites/side-of-home.png)bin6851 -> 6851 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/square.png (renamed from samples/99_sample_game_return_of_serenity/sprites/square.png)bin101 -> 101 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/todo.png (renamed from samples/99_sample_game_return_of_serenity/sprites/todo.png)bin2694 -> 2694 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute-game-over.png (renamed from samples/99_sample_game_return_of_serenity/sprites/tribute-game-over.png)bin7157 -> 7157 bytes
-rw-r--r--samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute.png (renamed from samples/99_sample_game_return_of_serenity/sprites/tribute.png)bin7160 -> 7160 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/app/main.rb (renamed from samples/99_sample_game_clepto_frog/app/main.rb)0
-rw-r--r--samples/99_genre_platformer/clepto_frog/app/map.rb (renamed from samples/99_sample_game_clepto_frog/app/map.rb)0
-rw-r--r--samples/99_genre_platformer/clepto_frog/metadata/game_metadata.txt (renamed from samples/99_sample_game_clepto_frog/metadata/game_metadata.txt)0
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/level-map.png (renamed from samples/99_sample_game_clepto_frog/sprites/level-map.png)bin389333 -> 389333 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/square-black.png (renamed from samples/99_sample_game_clepto_frog/sprites/square-black.png)bin250 -> 250 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/square-blue.png (renamed from samples/99_sample_game_the_little_probe/sprites/square-blue.png)bin283 -> 283 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/square-gray.png (renamed from samples/99_sample_game_clepto_frog/sprites/square-gray.png)bin251 -> 251 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/square-green.png (renamed from samples/99_sample_game_clepto_frog/sprites/square-green.png)bin283 -> 283 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/square-indigo.png (renamed from samples/99_sample_game_clepto_frog/sprites/square-indigo.png)bin283 -> 283 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/square-orange.png (renamed from samples/99_sample_game_clepto_frog/sprites/square-orange.png)bin282 -> 282 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/square-pink.png (renamed from samples/99_sample_game_clepto_frog/sprites/square-pink.png)bin273 -> 273 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/square-red.png (renamed from samples/99_sample_game_clepto_frog/sprites/square-red.png)bin274 -> 274 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/square-violet.png (renamed from samples/99_sample_game_clepto_frog/sprites/square-violet.png)bin284 -> 284 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/square-white.png (renamed from samples/99_sample_game_the_little_probe/sprites/square-white.png)bin279 -> 279 bytes
-rw-r--r--samples/99_genre_platformer/clepto_frog/sprites/square-yellow.png (renamed from samples/99_sample_game_clepto_frog/sprites/square-yellow.png)bin286 -> 286 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/CREDITS.txt (renamed from samples/99_sample_game_basic_gorillas/CREDITS.txt)0
-rw-r--r--samples/99_genre_platformer/gorillas_basic/app/main.rb (renamed from samples/99_sample_game_basic_gorillas/app/main.rb)0
-rw-r--r--samples/99_genre_platformer/gorillas_basic/app/repl.rb (renamed from samples/99_sample_game_basic_gorillas/app/repl.rb)0
-rw-r--r--samples/99_genre_platformer/gorillas_basic/app/tests.rb (renamed from samples/99_sample_game_basic_gorillas/app/tests.rb)0
-rw-r--r--samples/99_genre_platformer/gorillas_basic/app/tests/building_generation_tests.rb (renamed from samples/99_sample_game_basic_gorillas/app/tests/building_generation_tests.rb)0
-rw-r--r--samples/99_genre_platformer/gorillas_basic/license-for-sample.txt (renamed from samples/99_sample_game_basic_gorillas/license-for-sample.txt)0
-rw-r--r--samples/99_genre_platformer/gorillas_basic/metadata/game_metadata.txt (renamed from samples/99_sample_game_basic_gorillas/metadata/game_metadata.txt)0
-rw-r--r--samples/99_genre_platformer/gorillas_basic/replay.txt (renamed from samples/99_sample_game_basic_gorillas/replay.txt)0
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/banana.png (renamed from samples/99_sample_game_basic_gorillas/sprites/banana.png)bin4771 -> 4771 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/explosion0.png (renamed from samples/99_sample_game_basic_gorillas/sprites/explosion0.png)bin4603 -> 4603 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/explosion1.png (renamed from samples/99_sample_game_basic_gorillas/sprites/explosion1.png)bin4585 -> 4585 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/explosion2.png (renamed from samples/99_sample_game_basic_gorillas/sprites/explosion2.png)bin4675 -> 4675 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/explosion3.png (renamed from samples/99_sample_game_basic_gorillas/sprites/explosion3.png)bin4724 -> 4724 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/explosion4.png (renamed from samples/99_sample_game_basic_gorillas/sprites/explosion4.png)bin4773 -> 4773 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/explosion5.png (renamed from samples/99_sample_game_basic_gorillas/sprites/explosion5.png)bin4742 -> 4742 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/explosion6.png (renamed from samples/99_sample_game_basic_gorillas/sprites/explosion6.png)bin4665 -> 4665 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/hole.png (renamed from samples/99_sample_game_basic_gorillas/sprites/hole.png)bin3637 -> 3637 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/left-0.png (renamed from samples/99_sample_game_basic_gorillas/sprites/left-0.png)bin6352 -> 6352 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/left-1.png (renamed from samples/99_sample_game_basic_gorillas/sprites/left-1.png)bin6243 -> 6243 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/left-2.png (renamed from samples/99_sample_game_basic_gorillas/sprites/left-2.png)bin6339 -> 6339 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/left-idle.png (renamed from samples/99_sample_game_basic_gorillas/sprites/left-idle.png)bin5921 -> 5921 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/right-0.png (renamed from samples/99_sample_game_basic_gorillas/sprites/right-0.png)bin6264 -> 6264 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/right-1.png (renamed from samples/99_sample_game_basic_gorillas/sprites/right-1.png)bin6122 -> 6122 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/right-2.png (renamed from samples/99_sample_game_basic_gorillas/sprites/right-2.png)bin6339 -> 6339 bytes
-rw-r--r--samples/99_genre_platformer/gorillas_basic/sprites/right-idle.png (renamed from samples/99_sample_game_basic_gorillas/sprites/right-idle.png)bin5933 -> 5933 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/app/main.rb (renamed from samples/99_sample_game_the_little_probe/app/main.rb)0
-rw-r--r--samples/99_genre_platformer/the_little_probe/level.txt (renamed from samples/99_sample_game_the_little_probe/level.txt)0
-rw-r--r--samples/99_genre_platformer/the_little_probe/level_lava.txt (renamed from samples/99_sample_game_the_little_probe/level_lava.txt)0
-rw-r--r--samples/99_genre_platformer/the_little_probe/license-for-sample.txt (renamed from samples/99_sample_game_the_little_probe/license-for-sample.txt)0
-rw-r--r--samples/99_genre_platformer/the_little_probe/metadata/game_metadata.txt (renamed from samples/99_sample_game_the_little_probe/metadata/game_metadata.txt)0
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0301.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0301.wav)bin387170 -> 387170 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0302.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0302.wav)bin387170 -> 387170 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0303.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0303.wav)bin387170 -> 387170 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0304.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0304.wav)bin387170 -> 387170 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0305.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0305.wav)bin518498 -> 518498 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0306.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0306.wav)bin387170 -> 387170 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0307.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0307.wav)bin387170 -> 387170 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0308.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0308.wav)bin387170 -> 387170 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0309.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0309.wav)bin387170 -> 387170 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0310.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0310.wav)bin472418 -> 472418 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0311.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0311.wav)bin341090 -> 341090 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0312.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0312.wav)bin341090 -> 341090 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0313.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0313.wav)bin341090 -> 341090 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0314.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0314.wav)bin603746 -> 603746 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0315.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0315.wav)bin472418 -> 472418 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0316.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0316.wav)bin472418 -> 472418 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0317.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0317.wav)bin472418 -> 472418 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0318.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0318.wav)bin472418 -> 472418 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0319.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0319.wav)bin472418 -> 472418 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0320.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0320.wav)bin472418 -> 472418 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/0321.wav (renamed from samples/99_sample_game_the_little_probe/sounds/0321.wav)bin472418 -> 472418 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sounds/bg.ogg (renamed from samples/99_sample_nddnug_workshop/sounds/bg.ogg)bin1348295 -> 1348295 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/area_one.png (renamed from samples/99_sample_game_the_little_probe/sprites/area_one.png)bin851626 -> 851626 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/circle-black.png (renamed from samples/99_sample_game_the_little_probe/sprites/circle-black.png)bin1882 -> 1882 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/circle-blue.png (renamed from samples/99_sample_game_the_little_probe/sprites/circle-blue.png)bin2901 -> 2901 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/circle-gray.png (renamed from samples/02_collision_05_ramp_with_debugging_two/sprites/circle-gray.png)bin3006 -> 3006 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/circle-green.png (renamed from samples/99_sample_game_the_little_probe/sprites/circle-green.png)bin2887 -> 2887 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/circle-indigo.png (renamed from samples/99_sample_game_the_little_probe/sprites/circle-indigo.png)bin2433 -> 2433 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/circle-orange.png (renamed from samples/99_sample_game_the_little_probe/sprites/circle-orange.png)bin2670 -> 2670 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/circle-red.png (renamed from samples/02_collision_04_ramp_with_debugging/sprites/circle-red.png)bin2233 -> 2233 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/circle-violet.png (renamed from samples/99_sample_game_the_little_probe/sprites/circle-violet.png)bin2439 -> 2439 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/circle-white.png (renamed from samples/99_sample_game_the_little_probe/sprites/circle-white.png)bin1754 -> 1754 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/circle-yellow.png (renamed from samples/99_sample_game_the_little_probe/sprites/circle-yellow.png)bin2456 -> 2456 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/jupiter.png (renamed from samples/99_sample_game_the_little_probe/sprites/jupiter.png)bin3240358 -> 3240358 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/level.png (renamed from samples/99_sample_game_the_little_probe/sprites/level.png)bin14054321 -> 14054321 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/probe.png (renamed from samples/99_sample_game_the_little_probe/sprites/probe.png)bin93401 -> 93401 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/square-black.png (renamed from samples/99_sample_game_the_little_probe/sprites/square-black.png)bin250 -> 250 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/square-blue.png (renamed from samples/99_sample_sprite_animation_creator/sprites/square-blue.png)bin283 -> 283 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/square-gray.png (renamed from samples/99_sample_game_the_little_probe/sprites/square-gray.png)bin251 -> 251 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/square-green.png (renamed from samples/99_sample_game_the_little_probe/sprites/square-green.png)bin283 -> 283 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/square-indigo.png (renamed from samples/99_sample_game_the_little_probe/sprites/square-indigo.png)bin283 -> 283 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/square-orange.png (renamed from samples/99_sample_game_the_little_probe/sprites/square-orange.png)bin282 -> 282 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/square-red.png (renamed from samples/99_sample_game_the_little_probe/sprites/square-red.png)bin274 -> 274 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/square-violet.png (renamed from samples/99_sample_game_the_little_probe/sprites/square-violet.png)bin284 -> 284 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/square-white.png (renamed from samples/99_sample_sprite_animation_creator/sprites/square-white.png)bin279 -> 279 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/square-yellow.png (renamed from samples/99_sample_game_the_little_probe/sprites/square-yellow.png)bin286 -> 286 bytes
-rw-r--r--samples/99_genre_platformer/the_little_probe/sprites/whisp.png (renamed from samples/99_sample_game_the_little_probe/sprites/whisp.png)bin241 -> 241 bytes
-rw-r--r--samples/99_genre_roguelike/roguelike_line_of_sight/app/constants.rb (renamed from samples/20_roguelike_starting_point_two/app/constants.rb)0
-rw-r--r--samples/99_genre_roguelike/roguelike_line_of_sight/app/legend.rb (renamed from samples/20_roguelike_starting_point_two/app/legend.rb)0
-rw-r--r--samples/99_genre_roguelike/roguelike_line_of_sight/app/main.rb (renamed from samples/20_roguelike_starting_point_two/app/main.rb)0
-rw-r--r--samples/99_genre_roguelike/roguelike_line_of_sight/app/sprite_lookup.rb (renamed from samples/20_roguelike_starting_point_two/app/sprite_lookup.rb)0
-rw-r--r--samples/99_genre_roguelike/roguelike_line_of_sight/license-for-sample.txt (renamed from samples/99_sample_game_pong/license-for-sample.txt)0
-rw-r--r--samples/99_genre_roguelike/roguelike_line_of_sight/sprites/simple-mood-16x16.png (renamed from samples/20_roguelike_starting_point_two/sprites/simple-mood-16x16.png)bin14424 -> 14424 bytes
-rw-r--r--samples/99_genre_roguelike/roguelike_starting_point/app/main.rb (renamed from samples/20_roguelike_starting_point/app/main.rb)0
-rw-r--r--samples/99_genre_roguelike/roguelike_starting_point/license-for-sample.txt (renamed from samples/26_jam_craft/license-for-sample-app.txt)0
-rw-r--r--samples/99_genre_roguelike/roguelike_starting_point/replay.txt (renamed from samples/20_roguelike_starting_point/replay.txt)0
-rw-r--r--samples/99_genre_tactical_rpg/hexagonal_grid/app/main.rb (renamed from samples/23_hexagonal_grid/app/main.rb)0
-rw-r--r--samples/99_genre_tactical_rpg/hexagonal_grid/license-for-sample.txt9
-rw-r--r--samples/99_genre_tactical_rpg/hexagonal_grid/replay.txt (renamed from samples/23_hexagonal_grid/replay.txt)0
-rw-r--r--samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-black.png (renamed from samples/23_hexagonal_grid/sprites/hexagon-black.png)bin2602 -> 2602 bytes
-rw-r--r--samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-gray.png (renamed from samples/23_hexagonal_grid/sprites/hexagon-gray.png)bin5184 -> 5184 bytes
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/app/main.rb (renamed from samples/23_isometric_grid/app/main.rb)0
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/license-for-sample.txt9
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/metadata/game_metadata.txt (renamed from samples/23_isometric_grid/metadata/game_metadata.txt)0
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/metadata/icon.png (renamed from samples/23_isometric_grid/metadata/icon.png)bin157056 -> 157056 bytes
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/replay.txt (renamed from samples/23_isometric_grid/replay.txt)0
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/sprites/leftSide.png (renamed from samples/23_isometric_grid/sprites/leftSide.png)bin1888 -> 1888 bytes
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/sprites/mountain.png (renamed from samples/23_isometric_grid/sprites/mountain.png)bin4155 -> 4155 bytes
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/sprites/ocean.png (renamed from samples/23_isometric_grid/sprites/ocean.png)bin2339 -> 2339 bytes
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/sprites/rightSide.png (renamed from samples/23_isometric_grid/sprites/rightSide.png)bin1755 -> 1755 bytes
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/sprites/river.png (renamed from samples/23_isometric_grid/sprites/river.png)bin4285 -> 4285 bytes
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/sprites/selectedTile.png (renamed from samples/23_isometric_grid/sprites/selectedTile.png)bin2335 -> 2335 bytes
-rw-r--r--samples/99_genre_tactical_rpg/isometric_grid/sprites/tile.png (renamed from samples/23_isometric_grid/sprites/tile.png)bin2341 -> 2341 bytes
-rw-r--r--samples/99_genre_topdown_rpg/topdown_starting_point/app/main.rb (renamed from samples/12_top_down_area/app/main.rb)0
-rw-r--r--samples/99_genre_topdown_rpg/topdown_starting_point/license-for-sample.txt9
-rw-r--r--samples/99_genre_topdown_rpg/topdown_starting_point/replay.txt (renamed from samples/12_top_down_area/replay.txt)0
-rw-r--r--samples/99_sample_game_the_little_probe/sprites/circle-gray.pngbin3006 -> 0 bytes
-rw-r--r--samples/99_sample_game_the_little_probe/sprites/circle-red.pngbin2233 -> 0 bytes
-rw-r--r--samples/99_sample_nddnug_workshop/app/repl.rb7
-rw-r--r--samples/99_sample_nddnug_workshop/sprites/star.pngbin711 -> 0 bytes
488 files changed, 917 insertions, 1258 deletions
diff --git a/samples/00_intermediate_ruby_primer/app/01_commenting_code.txt b/samples/00_intermediate_ruby_primer/app/01_commenting_code.txt
deleted file mode 100644
index 37cd3ed..0000000
--- a/samples/00_intermediate_ruby_primer/app/01_commenting_code.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-# ====================================================================================
-# Commenting Code
-# ====================================================================================
-#
-# Prefixing text with a pound sign (#) is how you comment code in Ruby. Example:
-#
-# I am commented code. And so are the lines above.
-#
-# I you want more than a quick primer on Ruby, check out https://poignant.guide/. It's
-# an entertaining read. Otherwise, go to the next txt file.
-#
-# Follow along by visiting:
-# https://s3.amazonaws.com/s3.dragonruby.org/dragonruby-gtk-intermediate.mp4
diff --git a/samples/00_intermediate_ruby_primer/app/02_printing_to_the_console.txt b/samples/00_intermediate_ruby_primer/app/02_printing_to_the_console.txt
deleted file mode 100644
index 54fbb5c..0000000
--- a/samples/00_intermediate_ruby_primer/app/02_printing_to_the_console.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-# ====================================================================================
-# Printing to the Console:
-# ====================================================================================
-#
-# Every time you save repl.rb file, DragonRuby runs the code within it. Copy this text
-# to repl.rb and save to see Hello World printed to the console.
-
-puts ''
-puts ''
-puts '================================'
-puts 'Hello World'
-puts '================================'
-puts ''
-puts ''
diff --git a/samples/00_intermediate_ruby_primer/app/03_types_and_assignments.txt b/samples/00_intermediate_ruby_primer/app/03_types_and_assignments.txt
deleted file mode 100644
index 2617ae4..0000000
--- a/samples/00_intermediate_ruby_primer/app/03_types_and_assignments.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-# ====================================================================================
-# Types and Assignments
-# ====================================================================================
-#
-# Here is how you define various data structures in Ruby. Same deal here. Take the text
-# in this file and paste it into repl.rb and save:
-
-puts ''
-puts ''
-puts '================================'
-puts ''
-
-# ====================================================================================
-# Strings
-# ====================================================================================
-
-puts '======== strings'
-message = "Hello World"
-puts "The value of message is: " + message
-puts "Any value can be interpolated within a string using \#{}."
-puts "Interpolated message: #{message}."
-puts 'This #{message} is not interpolated because the string uses single quotes.'
-puts ''
-
-# ====================================================================================
-# Numerics
-# ====================================================================================
-
-puts '======== ints and floats'
-a = 10
-puts "The value of a is: #{a}"
-puts "a + 1 is: #{a + 1}"
-puts "a / 3 is: #{a / 3}"
-puts ''
-
-b = 10.12
-puts "The value of b is: #{b}"
-puts "b + 1 is: #{b + 1}"
-puts "b as an integer is: #{b.to_i}"
-puts ''
-
-# ====================================================================================
-# Booleans
-# ====================================================================================
-
-puts '======== truthy / falsey values'
-puts "Anything that *isn't* false or nil is true."
-
-c = 30
-puts "The value of c is #{c}."
-
-if c
- puts "This if statement ran because c is truthy."
-end
-
-d = false
-puts "The value if d is #{d}."
-
-if !d
- puts "This if statement ran because d is falsey, using the not operator (!)."
-end
-
-e = nil
-
-puts "Nil is also considered falsey. The value of e is: #{e}."
-
-if !e
- puts "This if statement ran because e is nil (a falsey value)."
-end
-
-puts ''
-puts '================================'
-puts ''
-puts ''
diff --git a/samples/00_intermediate_ruby_primer/app/04_conditionals.txt b/samples/00_intermediate_ruby_primer/app/04_conditionals.txt
deleted file mode 100644
index 6cf24f0..0000000
--- a/samples/00_intermediate_ruby_primer/app/04_conditionals.txt
+++ /dev/null
@@ -1,104 +0,0 @@
-# ====================================================================================
-# Conditionals
-# ====================================================================================
-
-puts ''
-puts ''
-puts '================================'
-puts ''
-
-i_am_true = true
-i_am_nil = nil
-i_am_false = false
-i_am_hi = "hi"
-
-# ====================================================================================
-# if
-# ====================================================================================
-
-puts "======== if statement"
-i_am_one = 1
-if i_am_one
- puts "This was printed because i_am_one is truthy."
-end
-
-# ====================================================================================
-# if/else
-# ====================================================================================
-
-puts "======== if/else statement"
-if i_am_false
- puts "This will NOT get printed because i_am_false is false."
-else
- puts "This was printed because i_am_false is false."
-end
-
-# ====================================================================================
-# if/elsif/else
-# ====================================================================================
-
-puts "======== if/elsif/else statement"
-if i_am_false
- puts "This will NOT get printed because i_am_false is false."
-elsif i_am_true
- puts "This was printed because i_am_true is true."
-else
- puts "This will NOT get printed i_am_true was true."
-end
-
-# ====================================================================================
-# case
-# ====================================================================================
-
-puts "======== case statement "
-i_am_one = 1
-case i_am_one
-when 10
- puts "10"
-when 9
- puts "9"
-when 5
- puts "5"
-when 1
- puts "1"
-else
- puts "Value wasn't cased."
-end
-
-# ====================================================================================
-# comparison operators
-# ====================================================================================
-
-puts "======== different types of comparisons"
-if 4 == 4
- puts "equal"
-end
-
-if 4 != 3
- puts "not equal"
-end
-
-if 3 < 4
- puts "less than"
-end
-
-if 4 > 3
- puts "greater than"
-end
-
-# ====================================================================================
-# and/or conditionals
-# ====================================================================================
-
-if ((4 > 3) || (3 < 4) || false)
- puts "or statement"
-end
-
-if ((4 > 3) && (3 < 4))
- puts "and statement"
-end
-
-puts ''
-puts '================================'
-puts ''
-puts ''
diff --git a/samples/00_intermediate_ruby_primer/app/06_functions.txt b/samples/00_intermediate_ruby_primer/app/06_functions.txt
deleted file mode 100644
index 6ee8da1..0000000
--- a/samples/00_intermediate_ruby_primer/app/06_functions.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-# ====================================================================================
-# Functions
-# ====================================================================================
-
-# The last statement of a function is implictly returned. Parenthesis for functions
-# are optional as long as the statement can be envaluated disambiguously.
-
-puts ''
-puts ''
-puts '================================'
-puts ''
-
-# ====================================================================================
-# Functions single parameter
-# ====================================================================================
-
-def add_one_to n
- n + 1
-end
-
-puts add_one_to(3)
-
-# ====================================================================================
-# Functions with default parameter values
-# ====================================================================================
-
-def function_with_default_value v = 10
- v * 10
-end
-
-puts "passing three: #{function_with_default_value(3)}"
-puts "passing nil: #{function_with_default_value}"
-
-# ====================================================================================
-# Nil default parameter value and ||= operator.
-# ====================================================================================
-
-def function_with_nil_default_with_local a = nil
- result = a
- result ||= "or equal operator was exected and set a default value"
-end
-
-puts "passing 'hi': #{function_with_nil_default_with_local 'hi'}"
-puts "passing nil: #{function_with_nil_default_with_local}"
-
-puts ''
-puts '================================'
-puts ''
-puts ''
diff --git a/samples/00_intermediate_ruby_primer/app/07_powerful_arrays.txt b/samples/00_intermediate_ruby_primer/app/07_powerful_arrays.txt
deleted file mode 100644
index 2c7e2f1..0000000
--- a/samples/00_intermediate_ruby_primer/app/07_powerful_arrays.txt
+++ /dev/null
@@ -1,171 +0,0 @@
-# ====================================================================================
-# Arrays
-# ====================================================================================
-
-# Arrays are incredibly powerful in Ruby. Learn to use them well.
-
-puts ''
-puts ''
-puts '================================'
-puts ''
-
-# ====================================================================================
-# Enumerable ranges and .to_a
-# ====================================================================================
-
-puts "Create an array with the numbers 1 to 10."
-one_to_ten = (1..10).to_a
-puts one_to_ten
-
-# ====================================================================================
-# Finding elements
-# ====================================================================================
-
-puts "Create a new array that only contains even numbers from the previous array."
-evens = one_to_ten.find_all do |number|
- number % 2 == 0
-end
-puts evens
-
-# ====================================================================================
-# Rejecting elements
-# ====================================================================================
-
-puts "Create a new array that rejects odd numbers."
-also_even = one_to_ten.reject do |number|
- number % 2 != 0
-end
-puts also_even
-
-# ====================================================================================
-# Array transform using the map function.
-# ====================================================================================
-
-puts "Create an array that doubles every number."
-doubled = one_to_ten.map do |number|
- number * 2
-end
-puts doubled
-
-# ====================================================================================
-# Combining array functions.
-# ====================================================================================
-
-puts "Create an array that selects only odd numbers and then multiply those by 10."
-odd_doubled = one_to_ten.find_all do |number|
- number % 2 != 0
-end.map do |odd_number|
- odd_number * 10
-end
-puts odd_doubled
-
-# ====================================================================================
-# Product function.
-# ====================================================================================
-
-puts "All combination of numbers 1 to 10."
-all_combinations = one_to_ten.product(one_to_ten)
-puts all_combinations
-
-# ====================================================================================
-# Uniq and sort function.
-# ====================================================================================
-
-puts "All uniq combinations of numbers."
-puts "For example: [1, 2] is the same as [2, 1]."
-uniq_combinations =
- one_to_ten.product(one_to_ten)
- .map do |unsorted_number|
- unsorted_number.sort
- end.uniq
-puts uniq_combinations
-
-# ====================================================================================
-# Example of an advanced array transform.
-# ====================================================================================
-
-puts "All unique Pythagorean Triples between 1 and 100 sorted by area of the triangle."
-
-one_to_hundred = (1..100).to_a
-
-triples =
- one_to_hundred.product(one_to_hundred).map do |width, height|
- [width, height, Math.sqrt(width ** 2 + height ** 2)]
- end.find_all do |_, _, hypotenuse|
- hypotenuse.to_i == hypotenuse
- end.map do |triangle|
- triangle.map(&:to_i)
- end.uniq do |triangle|
- triangle.sort
- end.map do |width, height, hypotenuse|
- [width, height, hypotenuse, (width * height) / 2]
- end.sort_by do |_, _, _, area|
- area
- end
-
-triples.each do |width, height, hypotenuse, _|
- puts "(#{width}, #{height}, #{hypotenuse})"
-end
-
-puts ''
-puts '================================'
-puts ''
-puts ''
-
-# ====================================================================================
-# Example of an sorting.
-# ====================================================================================
-
-things_to_sort = [
- { type: :background, order: 1 },
- { type: :foreground, order: 1 },
- { type: :foreground, order: 2 }
-]
-
-# For a simple sort, you can use sort_by
-results = things_to_sort.sort_by do |hash|
- hash[:order]
-end
-
-puts "Simple sort:"
-puts results
-
-# for a more complicated sort, you can provide a block that returns
-# -1, 0, 1 for a left and right operand
-results = things_to_sort.sort do |l, r|
- sort_result = 0
- puts "here is l: #{l}"
- puts "here is r: #{r || "nil"}"
- # if either value is nil/false return 0
- if !l || !r
- sort_result = 0
- # if the type of "left" is background and the
- # type of "right" is foreground, then return
- # -1 (which means "left" is less than "right"
- elsif l[:type] == :background && r[:type] == :foreground
- sort_result = -1
- # if the type of "left" is foreground and the
- # type of "right" is background, then return
- # 1 (which means "left" is greater than "right"
- elsif l[:type] == :foreground && r[:type] == :background
- sort_result = 1
- # if "left" and "right"'s type are the same, then
- # use the order as the tie breaker
- elsif l[:order] < r[:order]
- sort_result = -1
- elsif l[:order] > r[:order]
- sort_result = 1
- # returning 0 means both values are equal
- else
- sort_result = 0
- end
- sort_result
-end.to_a
-
-puts "Custom sort:"
-puts results
-
-# ====================================================================================
-# Api documention for Array that is worth commiting to memory because arrays are so
-# awesome in Ruby: https://docs.ruby-lang.org/en/2.0.0/Array.html
-# ====================================================================================
diff --git a/samples/00_beginner_ruby_primer/app/automation.rb b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/app/automation.rb
index 014c14c..014c14c 100644
--- a/samples/00_beginner_ruby_primer/app/automation.rb
+++ b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/app/automation.rb
diff --git a/samples/00_beginner_ruby_primer/app/main.rb b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/app/main.rb
index 6822cf3..6822cf3 100644
--- a/samples/00_beginner_ruby_primer/app/main.rb
+++ b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/app/main.rb
diff --git a/samples/00_beginner_ruby_primer/license-for-sample.txt b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/00_beginner_ruby_primer/license-for-sample.txt
+++ b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/license-for-sample.txt
diff --git a/samples/00_beginner_ruby_primer/sprites/dragon_fly_0.png b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_0.png
index fb179af..fb179af 100644
--- a/samples/00_beginner_ruby_primer/sprites/dragon_fly_0.png
+++ b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_0.png
Binary files differ
diff --git a/samples/00_beginner_ruby_primer/sprites/dragon_fly_1.png b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_1.png
index 8cfe531..8cfe531 100644
--- a/samples/00_beginner_ruby_primer/sprites/dragon_fly_1.png
+++ b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_1.png
Binary files differ
diff --git a/samples/00_beginner_ruby_primer/sprites/dragon_fly_2.png b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_2.png
index cb462e1..cb462e1 100644
--- a/samples/00_beginner_ruby_primer/sprites/dragon_fly_2.png
+++ b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_2.png
Binary files differ
diff --git a/samples/00_beginner_ruby_primer/sprites/dragon_fly_3.png b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_3.png
index 04c4977..04c4977 100644
--- a/samples/00_beginner_ruby_primer/sprites/dragon_fly_3.png
+++ b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_3.png
Binary files differ
diff --git a/samples/00_beginner_ruby_primer/sprites/dragon_fly_4.png b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_4.png
index b29fa3d..b29fa3d 100644
--- a/samples/00_beginner_ruby_primer/sprites/dragon_fly_4.png
+++ b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_4.png
Binary files differ
diff --git a/samples/00_beginner_ruby_primer/sprites/dragon_fly_5.png b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_5.png
index 99f4e74..99f4e74 100644
--- a/samples/00_beginner_ruby_primer/sprites/dragon_fly_5.png
+++ b/samples/00_learn_ruby_optional/00_beginner_ruby_primer/sprites/dragon_fly_5.png
Binary files differ
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/02_printing_to_the_console.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/02_printing_to_the_console.txt
new file mode 100644
index 0000000..dd86367
--- /dev/null
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/02_printing_to_the_console.txt
@@ -0,0 +1,31 @@
+# ====================================================================================
+# Commenting Code
+# ====================================================================================
+#
+# Prefixing text with a pound sign (#) is how you comment code in Ruby. Example:
+#
+# I am commented code. And so are the lines above.
+#
+# I you want more than a quick primer on Ruby, check out https://poignant.guide/. It's
+# an entertaining read. Otherwise, go to the next txt file.
+#
+# Follow along by visiting:
+# https://s3.amazonaws.com/s3.dragonruby.org/dragonruby-gtk-intermediate.mp4
+
+# ====================================================================================
+# Printing to the Console:
+# ====================================================================================
+#
+# Every time you save repl.rb file, DragonRuby runs the code within it. Copy this text
+# to repl.rb and save to see Hello World printed to the console.
+
+repl do
+ puts '* RUBY PRIMER: Printing to the console using the ~puts~ function.'
+ puts '===='
+ puts '======'
+ puts '================================'
+ puts 'Hello World'
+ puts '================================'
+ puts '======'
+ puts '===='
+end
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/03_strings.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/03_strings.txt
new file mode 100644
index 0000000..34ea252
--- /dev/null
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/03_strings.txt
@@ -0,0 +1,15 @@
+# ====================================================================================
+# Strings
+# ====================================================================================
+#
+# Here is how you work with strings in Ruby. Take the text
+# in this file and paste it into repl.rb and save:
+
+repl do
+ puts '* RUBY PRIMER: strings'
+ message = "Hello World"
+ puts "The value of message is: " + message
+ puts "Any value can be interpolated within a string using \#{}."
+ puts "Interpolated message: #{message}."
+ puts 'This #{message} is not interpolated because the string uses single quotes.'
+end
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/04_numbers.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/04_numbers.txt
new file mode 100644
index 0000000..dfdf04d
--- /dev/null
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/04_numbers.txt
@@ -0,0 +1,21 @@
+# ====================================================================================
+# Numerics
+# ====================================================================================
+#
+# Here is how you work with numbers in Ruby. Take the text
+# in this file and paste it into repl.rb and save:
+
+repl do
+ puts '* RUBY PRIMER: Fixnum and Floats'
+ a = 10
+ puts "The value of a is: #{a}"
+ puts "a + 1 is: #{a + 1}"
+ puts "a / 3 is: #{a / 3}"
+ puts ''
+
+ b = 10.12
+ puts "The value of b is: #{b}"
+ puts "b + 1 is: #{b + 1}"
+ puts "b as an integer is: #{b.to_i}"
+ puts ''
+end
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/05_booleans.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/05_booleans.txt
new file mode 100644
index 0000000..2a9060f
--- /dev/null
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/05_booleans.txt
@@ -0,0 +1,32 @@
+# ====================================================================================
+# Booleans
+# ====================================================================================
+#
+# Here is how you work with numbers in Ruby. Take the text
+# in this file and paste it into repl.rb and save:
+
+repl do
+ puts '* RUBY PRIMER: TrueClass, FalseClass, NilClass (truthy / falsey values)'
+ puts "Anything that *isn't* false or nil is true."
+
+ c = 30
+ puts "The value of c is #{c}."
+
+ if c
+ puts "This if statement ran because c is truthy."
+ end
+
+ d = false
+ puts "The value if d is #{d}. The type for d is #{d.class}."
+
+ if !d
+ puts "This if statement ran because d is falsey, using the not operator (!)."
+ end
+
+ e = nil
+ puts "Nil is also considered falsey. The value of e is: #{e} (a blank string when printed). Which is of type #{e.class}."
+
+ if !e
+ puts "This if statement ran because e is nil and the if statement applied the NOT operator. !e yields a type of #{(!e).class}."
+ end
+end
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/06_conditionals.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/06_conditionals.txt
new file mode 100644
index 0000000..8a0c172
--- /dev/null
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/06_conditionals.txt
@@ -0,0 +1,114 @@
+# ====================================================================================
+# Conditionals
+# ====================================================================================
+#
+# Here is how you create conditionals in Ruby. Take the text
+# in this file and paste it into repl.rb and save:
+
+repl do
+ puts "* RUBY PRIMER: Conditionals"
+end
+
+# ====================================================================================
+# if
+# ====================================================================================
+
+repl do
+ puts "** INFO: if statement"
+ i_am_one = 1
+ if i_am_one
+ puts "This was printed because i_am_one is truthy."
+ end
+end
+
+# ====================================================================================
+# if/else
+# ====================================================================================
+
+repl do
+ puts "** INFO: if/else statement"
+ i_am_false = false
+ if i_am_false
+ puts "This will NOT get printed because i_am_false is false."
+ else
+ puts "This was printed because i_am_false is false."
+ end
+end
+
+
+# ====================================================================================
+# if/elsif/else
+# ====================================================================================
+
+repl do
+ puts "** INFO: if/elsif/else statement"
+ i_am_false = false
+ i_am_true = true
+ if i_am_false
+ puts "This will NOT get printed because i_am_false is false."
+ elsif i_am_true
+ puts "This was printed because i_am_true is true."
+ else
+ puts "This will NOT get printed i_am_true was true."
+ end
+end
+
+# ====================================================================================
+# case
+# ====================================================================================
+
+repl do
+ puts "** INFO case statement"
+ i_am_one = 1 # change this value to see different results
+
+ case i_am_one
+ when 10
+ puts "the value of i_am_one is 10"
+ when 9
+ puts "the value of i_am_one is 9"
+ when 5
+ puts "the value of i_am_one is 5"
+ when 1
+ puts "the value of i_am_one is 1"
+ else
+ puts "Value wasn't cased."
+ end
+end
+
+# ====================================================================================
+# comparison operators
+# ====================================================================================
+
+repl do
+ puts "** INFO: Different types of comparisons"
+ if 4 == 4
+ puts "4 equals 4 (==)"
+ end
+
+ if 4 != 3
+ puts "4 does not equal 3 (!=)"
+ end
+
+ if 3 < 4
+ puts "3 is less than 4 (<)"
+ end
+
+ if 4 > 3
+ puts "4 is greater than 3 (>)"
+ end
+end
+
+# ====================================================================================
+# and/or conditionals
+# ====================================================================================
+
+repl do
+ puts "** INFO: AND, OR operator (&&, ||)"
+ if (4 > 3) || (3 < 4) || false
+ puts "print this if 4 is greater than 3 OR 3 is less than 4 OR false is true (||)"
+ end
+
+ if (4 > 3) && (3 < 4)
+ puts "print this if 4 is greater than 3 AND 3 is less than 4 (&&)"
+ end
+end
diff --git a/samples/00_intermediate_ruby_primer/app/05_looping.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/07_looping.txt
index fafdcfc..03c3d28 100644
--- a/samples/00_intermediate_ruby_primer/app/05_looping.txt
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/07_looping.txt
@@ -5,57 +5,51 @@
# Looping looks a whole lot different than other languages.
# But it's pretty awesome when you get used to it.
-puts ''
-puts ''
-puts '================================'
-puts ''
+repl do
+ puts "* RUBY PRIMER: Loops"
+end
# ====================================================================================
# times
# ====================================================================================
-
-puts "times block:"
-3.times do |i|
- puts i
+repl do
+ puts "** INFO: ~Numeric#times~ (for loop)"
+ 3.times do |i|
+ puts i
+ end
end
-puts ''
-
# ====================================================================================
-# ranges
+# foreach
# ====================================================================================
-puts "range block exclusive:"
-(0...3).each do |i|
- puts i
-end
-puts ''
+repl do
+ puts "** INFO: ~Array#each~ (for each loop)"
+ array = ["a", "b", "c", "d"]
+ array.each do |char|
+ puts char
+ end
-puts "range block inclusive:"
-(0..3).each do |i|
- puts i
+ puts "** INFO: ~Array#each_with_index~ (for each loop)"
+ array = ["a", "b", "c", "d"]
+ array.each do |char, i|
+ puts "index #{i}: #{char}"
+ end
end
-puts ''
# ====================================================================================
-# Enumerables
+# ranges
# ====================================================================================
-puts 'array each'
-colors = ["red", "blue", "yellow"]
-colors.each do |color|
- puts color
-end
-puts ''
+repl do
+ puts "** INFO: range block exclusive (three dots)"
+ (0...3).each do |i|
+ puts i
+ end
-puts 'array each_with_index'
-colors = ["red", "blue", "yellow"]
-colors.each_with_index do |color, i|
- puts "#{color} at index #{i}"
+ puts "** INFO: range block inclusive (two dots)"
+ (0..3).each do |i|
+ puts i
+ end
end
-
-puts ''
-puts '================================'
-puts ''
-puts ''
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/08_functions.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/08_functions.txt
new file mode 100644
index 0000000..9ad38de
--- /dev/null
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/08_functions.txt
@@ -0,0 +1,69 @@
+# ====================================================================================
+# Functions
+# ====================================================================================
+
+# The last statement of a function is implictly returned. Parenthesis for functions
+# are optional as long as the statement can be envaluated disambiguously.
+
+repl do
+ puts "* RUBY PRIMER: Functions"
+end
+
+# ====================================================================================
+# Functions single parameter
+# ====================================================================================
+
+repl do
+ puts "* INFO: Function with one parameter"
+
+ # function definition
+ def add_one_to n
+ n + 1
+ end
+
+ # Parenthesis are optional in Ruby as long as the
+ # parsing is disambiguous. Here are a couple of variations.
+ # Generally speaking, don't put parenthesis is you don't have to.
+
+ # Conventional Usage of Parenthesis.
+ puts add_one_to(3)
+
+ # DragonRuby's recommended use of parenthesis (inner function has parenthesis).
+ puts (add_one_to 3)
+
+ # Full parens.
+ puts(add_one_to(3))
+
+ # Outer function has parenthesis
+ puts(add_one_to 3)
+end
+
+# ====================================================================================
+# Functions with default parameter values
+# ====================================================================================
+
+repl do
+ puts "* INFO: Function with default value"
+ def function_with_default_value v = 10
+ v * 10
+ end
+
+ puts "Passing the argument three yields: #{function_with_default_value 3}"
+ puts "Passing no argument yields: #{function_with_default_value}"
+end
+
+# ====================================================================================
+# Nil default parameter value and ||= operator.
+# ====================================================================================
+
+repl do
+ puts "* INFO: Using the OR EQUAL operator (||=)"
+ def function_with_nil_default_with_local a = nil
+ result = a
+ result ||= "DEFAULT_VALUE_OF_A_IS_NIL_OR_FALSE"
+ "value is #{result}."
+ end
+
+ puts "Passing 'hi' as the argument yields: #{function_with_nil_default_with_local 'hi'}"
+ puts "Passing nil: #{function_with_nil_default_with_local}"
+end
diff --git a/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/09_powerful_arrays.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/09_powerful_arrays.txt
new file mode 100644
index 0000000..9904686
--- /dev/null
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/09_powerful_arrays.txt
@@ -0,0 +1,210 @@
+# ====================================================================================
+# Arrays
+# ====================================================================================
+
+# Arrays are incredibly powerful in Ruby. Learn to use them well.
+
+repl do
+ puts "* RUBY PRIMER: ARRAYS"
+end
+
+# ====================================================================================
+# Enumerable ranges and .to_a
+# ====================================================================================
+
+repl do
+ puts "** INFO: Create an array with the numbers 1 to 10."
+ one_to_ten = (1..10).to_a
+ puts one_to_ten
+end
+
+# ====================================================================================
+# Finding elements
+# ====================================================================================
+
+repl do
+ puts "** INFO: Finding elements in an array using ~Array#find_all~."
+ puts "Create a new array that only contains even numbers from the previous array."
+
+ one_to_ten = (1..10).to_a
+ evens = one_to_ten.find_all do |number|
+ number % 2 == 0
+ end
+
+ puts evens
+end
+
+# ====================================================================================
+# Rejecting elements
+# ====================================================================================
+
+repl do
+ puts "** INFO: Removing elements in an array using ~Array#reject~."
+ puts "Create a new array that rejects odd numbers."
+
+ one_to_ten = (1..10).to_a
+ also_even = one_to_ten.reject do |number|
+ number % 2 != 0
+ end
+
+ puts also_even
+end
+
+# ====================================================================================
+# Array transform using the map function.
+# ====================================================================================
+
+repl do
+ puts "** INFO: Creating new derived values from an array using ~Array#map~."
+ puts "Create an array that doubles every number."
+
+ one_to_ten = (1..10).to_a
+ doubled = one_to_ten.map do |number|
+ number * 2
+ end
+
+ puts doubled
+end
+
+# ====================================================================================
+# Combining array functions.
+# ====================================================================================
+
+repl do
+ puts "** INFO: Combining ~Array#find_all~ along with ~Array#map~."
+ puts "Create an array that selects only odd numbers and then multiply those by 10."
+
+ one_to_ten = (1..10).to_a
+ odd_doubled = one_to_ten.find_all do |number|
+ number % 2 != 0
+ end.map do |odd_number|
+ odd_number * 10
+ end
+
+ puts odd_doubled
+end
+
+# ====================================================================================
+# Product function.
+# ====================================================================================
+
+repl do
+ puts "** INFO: Create all combinations of array values using ~Array#product~."
+ puts "All two-item pairs of numbers 1 to 10."
+ one_to_ten = (1..10).to_a
+ all_combinations = one_to_ten.product(one_to_ten)
+ puts all_combinations
+end
+
+# ====================================================================================
+# Uniq and sort function.
+# ====================================================================================
+
+repl do
+ puts "** INFO: Providing uniq values using ~Array#uniq~ and ~Array#sort~."
+ puts "All uniq combinations of numbers regardless of order."
+ puts "For example: [1, 2] is the same as [2, 1]."
+ one_to_ten = (1..10).to_a
+ uniq_combinations =
+ one_to_ten.product(one_to_ten)
+ .map do |unsorted_number|
+ unsorted_number.sort
+ end.uniq
+ puts uniq_combinations
+end
+
+# ====================================================================================
+# Example of an advanced array transform.
+# ====================================================================================
+
+repl do
+ puts "** INFO: Advanced chaining. Combining ~Array's ~map~, ~find_all~, ~sort~, and ~sort_by~."
+ puts "All unique Pythagorean Triples between 1 and 100 sorted by area of the triangle."
+
+ one_to_hundred = (1..100).to_a
+
+ triples =
+ one_to_hundred.product(one_to_hundred).map do |width, height|
+ [width, height, Math.sqrt(width ** 2 + height ** 2)]
+ end.find_all do |_, _, hypotenuse|
+ hypotenuse.to_i == hypotenuse
+ end.map do |triangle|
+ triangle.map(&:to_i)
+ end.uniq do |triangle|
+ triangle.sort
+ end.map do |width, height, hypotenuse|
+ [width, height, hypotenuse, (width * height) / 2]
+ end.sort_by do |_, _, _, area|
+ area
+ end
+
+ triples.each do |width, height, hypotenuse, _|
+ puts "(#{width}, #{height}, #{hypotenuse})"
+ end
+end
+
+# ====================================================================================
+# Example of an sorting.
+# ====================================================================================
+
+repl do
+ puts "** INFO: Implementing a custom sort function that operates on the ~Hash~ datatype."
+
+ things_to_sort = [
+ { type: :background, order: 1 },
+ { type: :foreground, order: 1 },
+ { type: :foreground, order: 2 }
+ ]
+ puts "*** Original array."
+ puts things_to_sort
+
+ puts "*** Simple sort using key."
+ # For a simple sort, you can use sort_by
+ results = things_to_sort.sort_by do |hash|
+ hash[:order]
+ end
+
+ puts results
+
+ puts "*** Custom sort."
+ puts "**** Sorting process."
+ # for a more complicated sort, you can provide a block that returns
+ # -1, 0, 1 for a left and right operand
+ results = things_to_sort.sort do |l, r|
+ sort_result = 0
+ puts "here is l: #{l}"
+ puts "here is r: #{r || "nil"}"
+ # if either value is nil/false return 0
+ if !l || !r
+ sort_result = 0
+ # if the type of "left" is background and the
+ # type of "right" is foreground, then return
+ # -1 (which means "left" is less than "right"
+ elsif l[:type] == :background && r[:type] == :foreground
+ sort_result = -1
+ # if the type of "left" is foreground and the
+ # type of "right" is background, then return
+ # 1 (which means "left" is greater than "right"
+ elsif l[:type] == :foreground && r[:type] == :background
+ sort_result = 1
+ # if "left" and "right"'s type are the same, then
+ # use the order as the tie breaker
+ elsif l[:order] < r[:order]
+ sort_result = -1
+ elsif l[:order] > r[:order]
+ sort_result = 1
+ # returning 0 means both values are equal
+ else
+ sort_result = 0
+ end
+ sort_result
+ end.to_a
+
+ puts "**** Sort result."
+ puts results
+end
+
+# ====================================================================================
+# Api documention for Array that is worth commiting to memory because arrays are so
+# awesome in Ruby: https://docs.ruby-lang.org/en/2.0.0/Array.html
+# ====================================================================================
diff --git a/samples/00_intermediate_ruby_primer/app/main.rb b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/main.rb
index 96461aa..96461aa 100644
--- a/samples/00_intermediate_ruby_primer/app/main.rb
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/main.rb
diff --git a/samples/21_mailbox_usage/app/mailbox.rb b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/repl.rb
index e69de29..e69de29 100644
--- a/samples/21_mailbox_usage/app/mailbox.rb
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/app/repl.rb
diff --git a/samples/00_intermediate_ruby_primer/license-for-sample.txt b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/00_intermediate_ruby_primer/license-for-sample.txt
+++ b/samples/00_learn_ruby_optional/00_intermediate_ruby_primer/license-for-sample.txt
diff --git a/samples/01_api_01_labels/app/main.rb b/samples/01_rendering_basics/01_labels/app/main.rb
index c3e1afc..c3e1afc 100644
--- a/samples/01_api_01_labels/app/main.rb
+++ b/samples/01_rendering_basics/01_labels/app/main.rb
diff --git a/samples/01_api_01_labels/license-for-sample.txt b/samples/01_rendering_basics/01_labels/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/01_api_01_labels/license-for-sample.txt
+++ b/samples/01_rendering_basics/01_labels/license-for-sample.txt
diff --git a/samples/01_api_01_labels/manaspc.ttf b/samples/01_rendering_basics/01_labels/manaspc.ttf
index 0c56733..0c56733 100644
--- a/samples/01_api_01_labels/manaspc.ttf
+++ b/samples/01_rendering_basics/01_labels/manaspc.ttf
Binary files differ
diff --git a/samples/01_api_02_lines/app/main.rb b/samples/01_rendering_basics/02_lines/app/main.rb
index fd0781f..fd0781f 100644
--- a/samples/01_api_02_lines/app/main.rb
+++ b/samples/01_rendering_basics/02_lines/app/main.rb
diff --git a/samples/01_api_02_lines/license-for-sample.txt b/samples/01_rendering_basics/02_lines/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/01_api_02_lines/license-for-sample.txt
+++ b/samples/01_rendering_basics/02_lines/license-for-sample.txt
diff --git a/samples/01_api_03_rects/app/main.rb b/samples/01_rendering_basics/03_solids_borders/app/main.rb
index 8d1bfef..8d1bfef 100644
--- a/samples/01_api_03_rects/app/main.rb
+++ b/samples/01_rendering_basics/03_solids_borders/app/main.rb
diff --git a/samples/01_api_03_rects/license-for-sample.txt b/samples/01_rendering_basics/03_solids_borders/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/01_api_03_rects/license-for-sample.txt
+++ b/samples/01_rendering_basics/03_solids_borders/license-for-sample.txt
diff --git a/samples/01_api_04_sprites/app/main.rb b/samples/01_rendering_basics/04_sprites/app/main.rb
index 8fd91c7..8fd91c7 100644
--- a/samples/01_api_04_sprites/app/main.rb
+++ b/samples/01_rendering_basics/04_sprites/app/main.rb
diff --git a/samples/01_api_04_sprites/license-for-sample.txt b/samples/01_rendering_basics/04_sprites/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/01_api_04_sprites/license-for-sample.txt
+++ b/samples/01_rendering_basics/04_sprites/license-for-sample.txt
diff --git a/samples/04_sounds/app/main.rb b/samples/01_rendering_basics/05_sounds/app/main.rb
index b6d0c3a..b6d0c3a 100644
--- a/samples/04_sounds/app/main.rb
+++ b/samples/01_rendering_basics/05_sounds/app/main.rb
diff --git a/samples/01_api_05_keyboard/license-for-sample.txt b/samples/01_rendering_basics/05_sounds/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/01_api_05_keyboard/license-for-sample.txt
+++ b/samples/01_rendering_basics/05_sounds/license-for-sample.txt
diff --git a/samples/04_sounds/replay.txt b/samples/01_rendering_basics/05_sounds/replay.txt
index ba1b5a6..ba1b5a6 100644
--- a/samples/04_sounds/replay.txt
+++ b/samples/01_rendering_basics/05_sounds/replay.txt
diff --git a/samples/04_sounds/sounds/A3.wav b/samples/01_rendering_basics/05_sounds/sounds/A3.wav
index 9848caf..9848caf 100644
--- a/samples/04_sounds/sounds/A3.wav
+++ b/samples/01_rendering_basics/05_sounds/sounds/A3.wav
Binary files differ
diff --git a/samples/04_sounds/sounds/B3.wav b/samples/01_rendering_basics/05_sounds/sounds/B3.wav
index 96ca3d2..96ca3d2 100644
--- a/samples/04_sounds/sounds/B3.wav
+++ b/samples/01_rendering_basics/05_sounds/sounds/B3.wav
Binary files differ
diff --git a/samples/04_sounds/sounds/C3.wav b/samples/01_rendering_basics/05_sounds/sounds/C3.wav
index 804fa99..804fa99 100644
--- a/samples/04_sounds/sounds/C3.wav
+++ b/samples/01_rendering_basics/05_sounds/sounds/C3.wav
Binary files differ
diff --git a/samples/04_sounds/sounds/C4.wav b/samples/01_rendering_basics/05_sounds/sounds/C4.wav
index 1a0ac75..1a0ac75 100644
--- a/samples/04_sounds/sounds/C4.wav
+++ b/samples/01_rendering_basics/05_sounds/sounds/C4.wav
Binary files differ
diff --git a/samples/04_sounds/sounds/D3.wav b/samples/01_rendering_basics/05_sounds/sounds/D3.wav
index 2db46fc..2db46fc 100644
--- a/samples/04_sounds/sounds/D3.wav
+++ b/samples/01_rendering_basics/05_sounds/sounds/D3.wav
Binary files differ
diff --git a/samples/04_sounds/sounds/E3.wav b/samples/01_rendering_basics/05_sounds/sounds/E3.wav
index 5765098..5765098 100644
--- a/samples/04_sounds/sounds/E3.wav
+++ b/samples/01_rendering_basics/05_sounds/sounds/E3.wav
Binary files differ
diff --git a/samples/04_sounds/sounds/F3.wav b/samples/01_rendering_basics/05_sounds/sounds/F3.wav
index 484270f..484270f 100644
--- a/samples/04_sounds/sounds/F3.wav
+++ b/samples/01_rendering_basics/05_sounds/sounds/F3.wav
Binary files differ
diff --git a/samples/04_sounds/sounds/G3.wav b/samples/01_rendering_basics/05_sounds/sounds/G3.wav
index 324e620..324e620 100644
--- a/samples/04_sounds/sounds/G3.wav
+++ b/samples/01_rendering_basics/05_sounds/sounds/G3.wav
Binary files differ
diff --git a/samples/02_collision_04_ramp_with_debugging/app/main.rb b/samples/02_collision_04_ramp_with_debugging/app/main.rb
deleted file mode 100644
index 6e26e10..0000000
--- a/samples/02_collision_04_ramp_with_debugging/app/main.rb
+++ /dev/null
@@ -1,142 +0,0 @@
-class FallingCircle
- attr_gtk
-
- def fiddle
- state.gravity = -0.8
- state.terrain = [
- [0, 300, 600, 20]
- ]
- end
-
- def defaults
- state.circle.x ||= 30
- state.circle.y ||= 700
- state.circle.dy ||= 0
- end
-
- def circle_center
- [state.circle.x, state.circle.y]
- end
-
- def circle_points center
- max_points = 10
- max_points.map_with_index do |i|
- p = 360.fdiv(max_points)
- center.rect_shift((i * p).vector(25)).point
- end
- end
-
- def point_sprite point
- [point.rect_shift(-1, -1).point, 2, 2, 'sprites/circle-red.png']
- end
-
- def render
- args.outputs.sprites << [state.circle.x - 25,
- state.circle.y - 25,
- 50,
- 50,
- 'sprites/circle-gray.png']
- args.outputs.lines << state.terrain
- args.outputs.sprites << point_sprite(circle_center)
- args.outputs.sprites << circle_points(circle_center).map do |p|
- point_sprite(p)
- end
- end
-
- def m line
- (line.y2 - line.y).fdiv(line.x2 - line.x)
- end
-
- def b line
- # b = y - mx
- line.y - m(line) * line.x
- end
-
- def point_on_line line, x
- # y = mx+b
- # m = y2 - y1 / x2 - x1
- m(line) * x + b(line)
- end
-
- def calc
- point_distances = circle_points(circle_center.point).map do |c|
- y = point_on_line(state.terrain[0], c.x)
- rect_one = [c.x - 5, c.y - 5 + state.circle.dy + state.gravity, 10, state.circle.dy.abs]
- rect_two = [c.x, y - 55, 10, 50]
- intersect = rect_one.intersect_rect?(rect_two)
- if intersect
- # debug collision
- outputs.borders << [rect_one, 255, 0, 0]
- outputs.borders << [rect_two, 255, 0, 0]
- else
- # debug collision
- outputs.borders << rect_one
- outputs.borders << rect_two
- end
-
- {
- c: c,
- point_on_line: y,
- distance_y: rect_two.y - rect_one.y,
- rect_one: rect_one,
- rect_two: rect_two,
- intersect: intersect
- }
- end
-
- if !state.circle.on_floor
- close = point_distances.find_all { |p| p[:intersect] }.first
- if close
- state.circle.on_floor = true
- state.circle.dy += state.gravity
- delta = close[:distance_y] - state.circle.dy
- state.circle.y += delta
- state.circle.dy = 0
- end
- end
-
- if !state.circle.on_floor
- state.circle.dy += state.gravity
- state.circle.y += state.circle.dy
- end
-
- if state.circle.y < -100
- state.circle.y = 800
- state.circle.dy = 0
- end
- end
-
- def tick
- fiddle
- defaults
- render
- calc
- end
-end
-
-$falling_circle = FallingCircle.new
-
-def tick args
- # uncomment the line below to slow down the game so you
- # can see each tick as it passes
- # args.gtk.slowmo! 30
- $falling_circle.args = args
- $falling_circle.tick
- tick_instructions args, "Sample app shows how to do collisions for a ramp."
-end
-
-def tick_instructions args, text, y = 715
- return if args.state.key_event_occurred
- if args.inputs.mouse.click ||
- args.inputs.keyboard.directional_vector ||
- args.inputs.keyboard.key_down.enter ||
- args.inputs.keyboard.key_down.escape
- args.state.key_event_occurred = true
- end
-
- args.outputs.debug << [0, y - 50, 1280, 60].solid
- args.outputs.debug << [640, y, text, 1, 1, 255, 255, 255].label
- args.outputs.debug << [640, y - 25, "(click to dismiss instructions)" , -2, 1, 255, 255, 255].label
-end
-
-$gtk.reset
diff --git a/samples/02_collision_05_ramp_with_debugging_two/app/main.rb b/samples/02_collision_05_ramp_with_debugging_two/app/main.rb
deleted file mode 100644
index e75366b..0000000
--- a/samples/02_collision_05_ramp_with_debugging_two/app/main.rb
+++ /dev/null
@@ -1,99 +0,0 @@
-
-def m line
- (line.y2 - line.y).fdiv(line.x2 - line.x)
-end
-
-def b line
- # b = y - mx
- line.y - m(line) * line.x
-end
-
-def f_y line, x
- # y = mx+b
- # m = y2 - y1 / x2 - x1
- m(line) * x + b(line)
-end
-
-def f_x line, y
- # y = mx+b
- # x = (y - b) / m
- (y - b(line)) / m(line)
-end
-
-def tragectory body
- [body.x, body.y, body.x + body.dx * 1000, body.y + body.dy * 1000]
-end
-
-def intersect line_one, line_two
- m1 = m(line_one)
- b1 = b(line_one)
- m2 = m(line_two)
- b2 = b(line_two)
-
- x = (b1 - b2) / (m2 - m1)
- y = (-b2.fdiv(m2) + b1.fdiv(m1)).fdiv(1.fdiv(m1) - 1.fdiv(m2))
- [x, y]
-end
-
-def point_orientation point, other
- # if point.x < other.x
- # return -1
- # else
- return 1
- # end
-end
-
-def tick args
- args.state.circle.radius = 50
- args.state.circle.x ||= 10
- args.state.circle.y ||= 500
- args.state.circle.dx ||= 15
- args.state.circle.dy ||= -0.2
- args.state.terrain = [700, 0, 2000, 800]
-
- args.outputs.sprites << [
- args.state.circle.x - args.state.circle.radius.half,
- args.state.circle.y - args.state.circle.radius.half,
- args.state.circle.radius,
- args.state.circle.radius,
- 'sprites/circle-gray.png'
- ]
-
- args.outputs.lines << args.state.line_one if args.state.line_one
- args.outputs.lines << args.state.line_two if args.state.line_two
-
- if args.state.point
- args.outputs.borders << [args.state.point.x - 5, args.state.point.y - 5, 10, 10]
- args.outputs.borders << [args.state.point.x - 4, args.state.point.y - 4, 8, 8]
- end
-
- args.state.circle.x += args.state.circle.dx
- args.state.circle.y += args.state.circle.dy
- args.state.circle.dy -= 0.2
-
- args.state.line_one = tragectory(args.state.circle)
- args.state.line_two = args.state.terrain
- args.state.point = intersect args.state.line_one, args.state.line_two
- args.state.current_orientation ||= point_orientation(args.state.circle, args.state.point)
- next_orientation = point_orientation(args.state.circle, args.state.point)
- if(args.state.current_orientation != next_orientation)
- args.state.circle.dx = 0
- args.state.circle.dy = 0
- end
-
- tick_instructions args, "Sample app shows how to calculate the point of collision on a line."
-end
-
-def tick_instructions args, text, y = 715
- return if args.state.key_event_occurred
- if args.inputs.mouse.click ||
- args.inputs.keyboard.directional_vector ||
- args.inputs.keyboard.key_down.enter ||
- args.inputs.keyboard.key_down.escape
- args.state.key_event_occurred = true
- end
-
- args.outputs.debug << [0, y - 50, 1280, 60].solid
- args.outputs.debug << [640, y, text, 1, 1, 255, 255, 255].label
- args.outputs.debug << [640, y - 25, "(click to dismiss instructions)" , -2, 1, 255, 255, 255].label
-end
diff --git a/samples/02_collision_05_ramp_with_debugging_two/sprites/circle-red.png b/samples/02_collision_05_ramp_with_debugging_two/sprites/circle-red.png
deleted file mode 100644
index 7f17ca6..0000000
--- a/samples/02_collision_05_ramp_with_debugging_two/sprites/circle-red.png
+++ /dev/null
Binary files differ
diff --git a/samples/01_api_05_keyboard/app/main.rb b/samples/02_input_basics/01_keyboard/app/main.rb
index ee5c8cf..ee5c8cf 100644
--- a/samples/01_api_05_keyboard/app/main.rb
+++ b/samples/02_input_basics/01_keyboard/app/main.rb
diff --git a/samples/01_api_06_mouse/license-for-sample.txt b/samples/02_input_basics/01_keyboard/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/01_api_06_mouse/license-for-sample.txt
+++ b/samples/02_input_basics/01_keyboard/license-for-sample.txt
diff --git a/samples/01_api_05_keyboard/replay.txt b/samples/02_input_basics/01_keyboard/replay.txt
index ac3ff2d..ac3ff2d 100644
--- a/samples/01_api_05_keyboard/replay.txt
+++ b/samples/02_input_basics/01_keyboard/replay.txt
diff --git a/samples/01_api_06_mouse/app/main.rb b/samples/02_input_basics/02_mouse/app/main.rb
index 43217f5..43217f5 100644
--- a/samples/01_api_06_mouse/app/main.rb
+++ b/samples/02_input_basics/02_mouse/app/main.rb
diff --git a/samples/01_api_07_point_to_rect/license-for-sample.txt b/samples/02_input_basics/02_mouse/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/01_api_07_point_to_rect/license-for-sample.txt
+++ b/samples/02_input_basics/02_mouse/license-for-sample.txt
diff --git a/samples/01_api_06_mouse/replay.txt b/samples/02_input_basics/02_mouse/replay.txt
index 61b4bd1..61b4bd1 100644
--- a/samples/01_api_06_mouse/replay.txt
+++ b/samples/02_input_basics/02_mouse/replay.txt
diff --git a/samples/01_api_07_point_to_rect/app/main.rb b/samples/02_input_basics/03_mouse_point_to_rect/app/main.rb
index 7dd627f..7dd627f 100644
--- a/samples/01_api_07_point_to_rect/app/main.rb
+++ b/samples/02_input_basics/03_mouse_point_to_rect/app/main.rb
diff --git a/samples/01_api_08_rect_to_rect/license-for-sample.txt b/samples/02_input_basics/03_mouse_point_to_rect/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/01_api_08_rect_to_rect/license-for-sample.txt
+++ b/samples/02_input_basics/03_mouse_point_to_rect/license-for-sample.txt
diff --git a/samples/01_api_07_point_to_rect/replay.txt b/samples/02_input_basics/03_mouse_point_to_rect/replay.txt
index 8da3bad..8da3bad 100644
--- a/samples/01_api_07_point_to_rect/replay.txt
+++ b/samples/02_input_basics/03_mouse_point_to_rect/replay.txt
diff --git a/samples/01_api_08_rect_to_rect/app/main.rb b/samples/02_input_basics/04_mouse_rect_to_rect/app/main.rb
index 1a00a41..1a00a41 100644
--- a/samples/01_api_08_rect_to_rect/app/main.rb
+++ b/samples/02_input_basics/04_mouse_rect_to_rect/app/main.rb
diff --git a/samples/01_api_10_controller/license-for-sample.txt b/samples/02_input_basics/04_mouse_rect_to_rect/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/01_api_10_controller/license-for-sample.txt
+++ b/samples/02_input_basics/04_mouse_rect_to_rect/license-for-sample.txt
diff --git a/samples/01_api_08_rect_to_rect/replay.txt b/samples/02_input_basics/04_mouse_rect_to_rect/replay.txt
index 7ddec95..7ddec95 100644
--- a/samples/01_api_08_rect_to_rect/replay.txt
+++ b/samples/02_input_basics/04_mouse_rect_to_rect/replay.txt
diff --git a/samples/01_api_10_controller/app/main.rb b/samples/02_input_basics/05_controller/app/main.rb
index 99cca15..99cca15 100644
--- a/samples/01_api_10_controller/app/main.rb
+++ b/samples/02_input_basics/05_controller/app/main.rb
diff --git a/samples/01_api_99_tech_demo/license-for-sample.txt b/samples/02_input_basics/05_controller/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/01_api_99_tech_demo/license-for-sample.txt
+++ b/samples/02_input_basics/05_controller/license-for-sample.txt
diff --git a/samples/01_api_10_controller/replay.txt b/samples/02_input_basics/05_controller/replay.txt
index 859e01a..859e01a 100644
--- a/samples/01_api_10_controller/replay.txt
+++ b/samples/02_input_basics/05_controller/replay.txt
diff --git a/samples/02_sprite_animation_and_keyboard_input/app/main.rb b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/app/main.rb
index 80c40f2..80c40f2 100644
--- a/samples/02_sprite_animation_and_keyboard_input/app/main.rb
+++ b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/app/main.rb
diff --git a/samples/02_sprite_animation_and_keyboard_input/license-for-sample.txt b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/license-for-sample.txt
index 8fa4d42..8fa4d42 100644
--- a/samples/02_sprite_animation_and_keyboard_input/license-for-sample.txt
+++ b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/license-for-sample.txt
diff --git a/samples/02_sprite_animation_and_keyboard_input/replay.txt b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/replay.txt
index 33c47c3..33c47c3 100644
--- a/samples/02_sprite_animation_and_keyboard_input/replay.txt
+++ b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/replay.txt
diff --git a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_0.png b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_0.png
index fb179af..fb179af 100644
--- a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_0.png
+++ b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_0.png
Binary files differ
diff --git a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_1.png b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_1.png
index 8cfe531..8cfe531 100644
--- a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_1.png
+++ b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_1.png
Binary files differ
diff --git a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_2.png b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_2.png
index cb462e1..cb462e1 100644
--- a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_2.png
+++ b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_2.png
Binary files differ
diff --git a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_3.png b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_3.png
index 04c4977..04c4977 100644
--- a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_3.png
+++ b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_3.png
Binary files differ
diff --git a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_4.png b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_4.png
index b29fa3d..b29fa3d 100644
--- a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_4.png
+++ b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_4.png
Binary files differ
diff --git a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_5.png b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_5.png
index 99f4e74..99f4e74 100644
--- a/samples/02_sprite_animation_and_keyboard_input/sprites/dragon_fly_5.png
+++ b/samples/03_rendering_sprites/01_animation_using_seperate_pngs/sprites/dragon_fly_5.png
Binary files differ
diff --git a/samples/09_sprite_animation_using_tile_sheet/app/main.rb b/samples/03_rendering_sprites/02_animation_using_sprite_sheet/app/main.rb
index 17bfd49..17bfd49 100644
--- a/samples/09_sprite_animation_using_tile_sheet/app/main.rb
+++ b/samples/03_rendering_sprites/02_animation_using_sprite_sheet/app/main.rb
diff --git a/samples/02_collision_01_simple/license-for-sample.txt b/samples/03_rendering_sprites/02_animation_using_sprite_sheet/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/02_collision_01_simple/license-for-sample.txt
+++ b/samples/03_rendering_sprites/02_animation_using_sprite_sheet/license-for-sample.txt
diff --git a/samples/09_sprite_animation_using_tile_sheet/sprites/horizontal-run.png b/samples/03_rendering_sprites/02_animation_using_sprite_sheet/sprites/horizontal-run.png
index 1e98253..1e98253 100644
--- a/samples/09_sprite_animation_using_tile_sheet/sprites/horizontal-run.png
+++ b/samples/03_rendering_sprites/02_animation_using_sprite_sheet/sprites/horizontal-run.png
Binary files differ
diff --git a/samples/09_sprite_animation_using_tile_sheet/sprites/horizontal-stand.png b/samples/03_rendering_sprites/02_animation_using_sprite_sheet/sprites/horizontal-stand.png
index 9d320e7..9d320e7 100644
--- a/samples/09_sprite_animation_using_tile_sheet/sprites/horizontal-stand.png
+++ b/samples/03_rendering_sprites/02_animation_using_sprite_sheet/sprites/horizontal-stand.png
Binary files differ
diff --git a/samples/12_controller_input_sprite_sheet_animations/app/main.rb b/samples/03_rendering_sprites/03_animation_states/app/main.rb
index 63608a4..63608a4 100644
--- a/samples/12_controller_input_sprite_sheet_animations/app/main.rb
+++ b/samples/03_rendering_sprites/03_animation_states/app/main.rb
diff --git a/samples/12_controller_input_sprite_sheet_animations/license-for-sample.txt b/samples/03_rendering_sprites/03_animation_states/license-for-sample.txt
index 48fe983..48fe983 100644
--- a/samples/12_controller_input_sprite_sheet_animations/license-for-sample.txt
+++ b/samples/03_rendering_sprites/03_animation_states/license-for-sample.txt
diff --git a/samples/12_controller_input_sprite_sheet_animations/sprites/horizontal-run.png b/samples/03_rendering_sprites/03_animation_states/sprites/horizontal-run.png
index aabb47a..aabb47a 100644
--- a/samples/12_controller_input_sprite_sheet_animations/sprites/horizontal-run.png
+++ b/samples/03_rendering_sprites/03_animation_states/sprites/horizontal-run.png
Binary files differ
diff --git a/samples/12_controller_input_sprite_sheet_animations/sprites/horizontal-slash.png b/samples/03_rendering_sprites/03_animation_states/sprites/horizontal-slash.png
index 3b0dc87..3b0dc87 100644
--- a/samples/12_controller_input_sprite_sheet_animations/sprites/horizontal-slash.png
+++ b/samples/03_rendering_sprites/03_animation_states/sprites/horizontal-slash.png
Binary files differ
diff --git a/samples/12_controller_input_sprite_sheet_animations/sprites/horizontal-stand.png b/samples/03_rendering_sprites/03_animation_states/sprites/horizontal-stand.png
index 77eb7ec..77eb7ec 100644
--- a/samples/12_controller_input_sprite_sheet_animations/sprites/horizontal-stand.png
+++ b/samples/03_rendering_sprites/03_animation_states/sprites/horizontal-stand.png
Binary files differ
diff --git a/samples/09_controller_analog_usage_advanced_sprites/app/main.rb b/samples/03_rendering_sprites/04_color_and_rotation/app/main.rb
index c3f2d8f..c3f2d8f 100644
--- a/samples/09_controller_analog_usage_advanced_sprites/app/main.rb
+++ b/samples/03_rendering_sprites/04_color_and_rotation/app/main.rb
diff --git a/samples/02_collision_02_moving_objects/license-for-sample.txt b/samples/03_rendering_sprites/04_color_and_rotation/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/02_collision_02_moving_objects/license-for-sample.txt
+++ b/samples/03_rendering_sprites/04_color_and_rotation/license-for-sample.txt
diff --git a/samples/09_controller_analog_usage_advanced_sprites/replay.txt b/samples/03_rendering_sprites/04_color_and_rotation/replay.txt
index a88fc4e..a88fc4e 100644
--- a/samples/09_controller_analog_usage_advanced_sprites/replay.txt
+++ b/samples/03_rendering_sprites/04_color_and_rotation/replay.txt
diff --git a/samples/09_controller_analog_usage_advanced_sprites/sprites/86.png b/samples/03_rendering_sprites/04_color_and_rotation/sprites/86.png
index dad681e..dad681e 100644
--- a/samples/09_controller_analog_usage_advanced_sprites/sprites/86.png
+++ b/samples/03_rendering_sprites/04_color_and_rotation/sprites/86.png
Binary files differ
diff --git a/samples/02_collision_01_simple/app/main.rb b/samples/04_physics_and_collisions/01_simple/app/main.rb
index 5e3f9b7..5e3f9b7 100644
--- a/samples/02_collision_01_simple/app/main.rb
+++ b/samples/04_physics_and_collisions/01_simple/app/main.rb
diff --git a/samples/02_collision_03_entities/license-for-sample.txt b/samples/04_physics_and_collisions/01_simple/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/02_collision_03_entities/license-for-sample.txt
+++ b/samples/04_physics_and_collisions/01_simple/license-for-sample.txt
diff --git a/samples/02_collision_02_moving_objects/app/main.rb b/samples/04_physics_and_collisions/02_moving_objects/app/main.rb
index 35eabfb..35eabfb 100644
--- a/samples/02_collision_02_moving_objects/app/main.rb
+++ b/samples/04_physics_and_collisions/02_moving_objects/app/main.rb
diff --git a/samples/03_mouse_click/license-for-sample.txt b/samples/04_physics_and_collisions/02_moving_objects/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/03_mouse_click/license-for-sample.txt
+++ b/samples/04_physics_and_collisions/02_moving_objects/license-for-sample.txt
diff --git a/samples/02_collision_02_moving_objects/replay.txt b/samples/04_physics_and_collisions/02_moving_objects/replay.txt
index f6ef481..f6ef481 100644
--- a/samples/02_collision_02_moving_objects/replay.txt
+++ b/samples/04_physics_and_collisions/02_moving_objects/replay.txt
diff --git a/samples/02_collision_03_entities/app/main.rb b/samples/04_physics_and_collisions/03_entities/app/main.rb
index afbc3df..afbc3df 100644
--- a/samples/02_collision_03_entities/app/main.rb
+++ b/samples/04_physics_and_collisions/03_entities/app/main.rb
diff --git a/samples/04_sounds/license-for-sample.txt b/samples/04_physics_and_collisions/03_entities/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/04_sounds/license-for-sample.txt
+++ b/samples/04_physics_and_collisions/03_entities/license-for-sample.txt
diff --git a/samples/02_collision_03_entities/replay.txt b/samples/04_physics_and_collisions/03_entities/replay.txt
index 95e90be..95e90be 100644
--- a/samples/02_collision_03_entities/replay.txt
+++ b/samples/04_physics_and_collisions/03_entities/replay.txt
diff --git a/samples/08_platformer_collisions/app/main.rb b/samples/04_physics_and_collisions/04_box_collision/app/main.rb
index af85fef..af85fef 100644
--- a/samples/08_platformer_collisions/app/main.rb
+++ b/samples/04_physics_and_collisions/04_box_collision/app/main.rb
diff --git a/samples/05_mouse_move/license-for-sample.txt b/samples/04_physics_and_collisions/04_box_collision/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/05_mouse_move/license-for-sample.txt
+++ b/samples/04_physics_and_collisions/04_box_collision/license-for-sample.txt
diff --git a/samples/08_platformer_collisions/replay.txt b/samples/04_physics_and_collisions/04_box_collision/replay.txt
index c7ea2cb..c7ea2cb 100644
--- a/samples/08_platformer_collisions/replay.txt
+++ b/samples/04_physics_and_collisions/04_box_collision/replay.txt
diff --git a/samples/08_platformer_collisions_metroidvania/app/main.rb b/samples/04_physics_and_collisions/04_box_collision_2/app/main.rb
index 126759a..126759a 100644
--- a/samples/08_platformer_collisions_metroidvania/app/main.rb
+++ b/samples/04_physics_and_collisions/04_box_collision_2/app/main.rb
diff --git a/samples/08_platformer_collisions_metroidvania/app/map.txt b/samples/04_physics_and_collisions/04_box_collision_2/app/map.txt
index abbc046..abbc046 100644
--- a/samples/08_platformer_collisions_metroidvania/app/map.txt
+++ b/samples/04_physics_and_collisions/04_box_collision_2/app/map.txt
diff --git a/samples/06_coordinate_systems/license-for-sample.txt b/samples/04_physics_and_collisions/04_box_collision_2/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/06_coordinate_systems/license-for-sample.txt
+++ b/samples/04_physics_and_collisions/04_box_collision_2/license-for-sample.txt
diff --git a/samples/08_platformer_collisions_metroidvania/replay.txt b/samples/04_physics_and_collisions/04_box_collision_2/replay.txt
index d53870b..d53870b 100644
--- a/samples/08_platformer_collisions_metroidvania/replay.txt
+++ b/samples/04_physics_and_collisions/04_box_collision_2/replay.txt
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image1.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image1.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image1.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image1.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image10.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image10.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image10.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image10.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image11.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image11.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image11.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image11.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image12.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image12.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image12.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image12.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image13.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image13.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image13.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image13.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image14.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image14.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image14.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image14.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image15.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image15.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image15.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image15.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image16.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image16.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image16.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image16.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image17.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image17.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image17.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image17.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image18.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image18.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image18.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image18.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image19.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image19.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image19.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image19.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image2.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image2.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image2.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image2.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image20.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image20.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image20.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image20.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image3.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image3.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image3.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image3.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image4.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image4.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image4.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image4.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image5.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image5.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image5.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image5.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image6.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image6.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image6.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image6.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image7.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image7.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image7.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image7.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image8.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image8.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image8.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image8.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/image9.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image9.png
index b0eb399..b0eb399 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/image9.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/image9.png
Binary files differ
diff --git a/samples/08_platformer_collisions_metroidvania/sprites/player.png b/samples/04_physics_and_collisions/04_box_collision_2/sprites/player.png
index 4c733a2..4c733a2 100644
--- a/samples/08_platformer_collisions_metroidvania/sprites/player.png
+++ b/samples/04_physics_and_collisions/04_box_collision_2/sprites/player.png
Binary files differ
diff --git a/samples/08_platformer_jumping_inertia/app/main.rb b/samples/04_physics_and_collisions/04_jump_physics/app/main.rb
index 3fcb9e9..3fcb9e9 100644
--- a/samples/08_platformer_jumping_inertia/app/main.rb
+++ b/samples/04_physics_and_collisions/04_jump_physics/app/main.rb
diff --git a/samples/08_platformer_jumping_inertia/replay.txt b/samples/04_physics_and_collisions/04_jump_physics/replay.txt
index 966dbcd..966dbcd 100644
--- a/samples/08_platformer_jumping_inertia/replay.txt
+++ b/samples/04_physics_and_collisions/04_jump_physics/replay.txt
diff --git a/samples/03_mouse_click/app/main.rb b/samples/05_mouse/03_mouse_click/app/main.rb
index 8969a6e..8969a6e 100644
--- a/samples/03_mouse_click/app/main.rb
+++ b/samples/05_mouse/03_mouse_click/app/main.rb
diff --git a/samples/07_render_targets_advanced/license-for-sample.txt b/samples/05_mouse/03_mouse_click/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/07_render_targets_advanced/license-for-sample.txt
+++ b/samples/05_mouse/03_mouse_click/license-for-sample.txt
diff --git a/samples/03_mouse_click/replay.txt b/samples/05_mouse/03_mouse_click/replay.txt
index 1ea08dc..1ea08dc 100644
--- a/samples/03_mouse_click/replay.txt
+++ b/samples/05_mouse/03_mouse_click/replay.txt
diff --git a/samples/05_mouse_move/app/main.rb b/samples/05_mouse/05_mouse_move/app/main.rb
index 97edbe7..97edbe7 100644
--- a/samples/05_mouse_move/app/main.rb
+++ b/samples/05_mouse/05_mouse_move/app/main.rb
diff --git a/samples/08_platformer_collisions/license-for-sample.txt b/samples/05_mouse/05_mouse_move/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/08_platformer_collisions/license-for-sample.txt
+++ b/samples/05_mouse/05_mouse_move/license-for-sample.txt
diff --git a/samples/05_mouse_move/replay.txt b/samples/05_mouse/05_mouse_move/replay.txt
index 78c183c..78c183c 100644
--- a/samples/05_mouse_move/replay.txt
+++ b/samples/05_mouse/05_mouse_move/replay.txt
diff --git a/samples/05_mouse_move/sprites/player-0.png b/samples/05_mouse/05_mouse_move/sprites/player-0.png
index c34dbed..c34dbed 100644
--- a/samples/05_mouse_move/sprites/player-0.png
+++ b/samples/05_mouse/05_mouse_move/sprites/player-0.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/player-1.png b/samples/05_mouse/05_mouse_move/sprites/player-1.png
index 54fce3e..54fce3e 100644
--- a/samples/05_mouse_move/sprites/player-1.png
+++ b/samples/05_mouse/05_mouse_move/sprites/player-1.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/player-2.png b/samples/05_mouse/05_mouse_move/sprites/player-2.png
index 0007c28..0007c28 100644
--- a/samples/05_mouse_move/sprites/player-2.png
+++ b/samples/05_mouse/05_mouse_move/sprites/player-2.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/player-3.png b/samples/05_mouse/05_mouse_move/sprites/player-3.png
index c34dbed..c34dbed 100644
--- a/samples/05_mouse_move/sprites/player-3.png
+++ b/samples/05_mouse/05_mouse_move/sprites/player-3.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/player-4.png b/samples/05_mouse/05_mouse_move/sprites/player-4.png
index 9897a29..9897a29 100644
--- a/samples/05_mouse_move/sprites/player-4.png
+++ b/samples/05_mouse/05_mouse_move/sprites/player-4.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/player-5.png b/samples/05_mouse/05_mouse_move/sprites/player-5.png
index 69d9c7b..69d9c7b 100644
--- a/samples/05_mouse_move/sprites/player-5.png
+++ b/samples/05_mouse/05_mouse_move/sprites/player-5.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/slash.png b/samples/05_mouse/05_mouse_move/sprites/slash.png
index 33c45e9..33c45e9 100644
--- a/samples/05_mouse_move/sprites/slash.png
+++ b/samples/05_mouse/05_mouse_move/sprites/slash.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/zombie-0.png b/samples/05_mouse/05_mouse_move/sprites/zombie-0.png
index 2fcc35d..2fcc35d 100644
--- a/samples/05_mouse_move/sprites/zombie-0.png
+++ b/samples/05_mouse/05_mouse_move/sprites/zombie-0.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/zombie-1.png b/samples/05_mouse/05_mouse_move/sprites/zombie-1.png
index 2b631ef..2b631ef 100644
--- a/samples/05_mouse_move/sprites/zombie-1.png
+++ b/samples/05_mouse/05_mouse_move/sprites/zombie-1.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/zombie-2.png b/samples/05_mouse/05_mouse_move/sprites/zombie-2.png
index 10e0491..10e0491 100644
--- a/samples/05_mouse_move/sprites/zombie-2.png
+++ b/samples/05_mouse/05_mouse_move/sprites/zombie-2.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/zombie-3.png b/samples/05_mouse/05_mouse_move/sprites/zombie-3.png
index 2fcc35d..2fcc35d 100644
--- a/samples/05_mouse_move/sprites/zombie-3.png
+++ b/samples/05_mouse/05_mouse_move/sprites/zombie-3.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/zombie-4.png b/samples/05_mouse/05_mouse_move/sprites/zombie-4.png
index cbd3f79..cbd3f79 100644
--- a/samples/05_mouse_move/sprites/zombie-4.png
+++ b/samples/05_mouse/05_mouse_move/sprites/zombie-4.png
Binary files differ
diff --git a/samples/05_mouse_move/sprites/zombie-5.png b/samples/05_mouse/05_mouse_move/sprites/zombie-5.png
index f146666..f146666 100644
--- a/samples/05_mouse_move/sprites/zombie-5.png
+++ b/samples/05_mouse/05_mouse_move/sprites/zombie-5.png
Binary files differ
diff --git a/samples/05_mouse_move_paint_app/app/main.rb b/samples/05_mouse/05_mouse_move_paint_app/app/main.rb
index 9303949..9303949 100644
--- a/samples/05_mouse_move_paint_app/app/main.rb
+++ b/samples/05_mouse/05_mouse_move_paint_app/app/main.rb
diff --git a/samples/05_mouse_move_paint_app/license-for-sample.txt b/samples/05_mouse/05_mouse_move_paint_app/license-for-sample.txt
index 5c0563d..5c0563d 100644
--- a/samples/05_mouse_move_paint_app/license-for-sample.txt
+++ b/samples/05_mouse/05_mouse_move_paint_app/license-for-sample.txt
diff --git a/samples/05_mouse_move_paint_app/replay.txt b/samples/05_mouse/05_mouse_move_paint_app/replay.txt
index 2f4753c..2f4753c 100644
--- a/samples/05_mouse_move_paint_app/replay.txt
+++ b/samples/05_mouse/05_mouse_move_paint_app/replay.txt
diff --git a/samples/06_coordinate_systems/app/main.rb b/samples/05_mouse/06_coordinate_systems/app/main.rb
index fcfa090..fcfa090 100644
--- a/samples/06_coordinate_systems/app/main.rb
+++ b/samples/05_mouse/06_coordinate_systems/app/main.rb
diff --git a/samples/08_platformer_collisions_metroidvania/license-for-sample.txt b/samples/05_mouse/06_coordinate_systems/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/08_platformer_collisions_metroidvania/license-for-sample.txt
+++ b/samples/05_mouse/06_coordinate_systems/license-for-sample.txt
diff --git a/samples/06_coordinate_systems/replay.txt b/samples/05_mouse/06_coordinate_systems/replay.txt
index d426464..d426464 100644
--- a/samples/06_coordinate_systems/replay.txt
+++ b/samples/05_mouse/06_coordinate_systems/replay.txt
diff --git a/samples/05_mouse_move/app/repl.rb b/samples/05_mouse_move/app/repl.rb
deleted file mode 100644
index 791e505..0000000
--- a/samples/05_mouse_move/app/repl.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-begin
- $gtk.reset
-rescue Exception => e
- puts e
-end
diff --git a/samples/05_mouse_move_paint_app/app/repl.rb b/samples/05_mouse_move_paint_app/app/repl.rb
deleted file mode 100644
index 9416675..0000000
--- a/samples/05_mouse_move_paint_app/app/repl.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-# save this file and this code will be run once
-puts 1 + 2
diff --git a/samples/05_mouse_move_paint_app/app/tests.rb b/samples/05_mouse_move_paint_app/app/tests.rb
deleted file mode 100644
index 925f321..0000000
--- a/samples/05_mouse_move_paint_app/app/tests.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-# For advanced users:
-# You can put some quick verification tests here, any method
-# that starts with the `test_` will be run when you save this file.
-
-# here is an example test and game
-
-class MySuperHappyFunGame
- attr_gtk
-
- def tick
- outputs.solids << [100, 100, 300, 300]
- end
-end
-
-def test_universe args, assert
- game = MySuperHappyFunGame.new
- game.args = args
- game.tick
- assert.true! args.outputs.solids.length == 1, "failure: a solid was not added after tick"
- assert.false! 1 == 2, "failure: some how, 1 equals 2, the world is ending"
- puts "test_universe completed successfully"
-end
-
-$gtk.tests.start
diff --git a/samples/05_mouse_move_tile_editor/app/repl.rb b/samples/05_mouse_move_tile_editor/app/repl.rb
deleted file mode 100644
index 9416675..0000000
--- a/samples/05_mouse_move_tile_editor/app/repl.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-# save this file and this code will be run once
-puts 1 + 2
diff --git a/samples/05_mouse_move_tile_editor/app/tests.rb b/samples/05_mouse_move_tile_editor/app/tests.rb
deleted file mode 100644
index 925f321..0000000
--- a/samples/05_mouse_move_tile_editor/app/tests.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-# For advanced users:
-# You can put some quick verification tests here, any method
-# that starts with the `test_` will be run when you save this file.
-
-# here is an example test and game
-
-class MySuperHappyFunGame
- attr_gtk
-
- def tick
- outputs.solids << [100, 100, 300, 300]
- end
-end
-
-def test_universe args, assert
- game = MySuperHappyFunGame.new
- game.args = args
- game.tick
- assert.true! args.outputs.solids.length == 1, "failure: a solid was not added after tick"
- assert.false! 1 == 2, "failure: some how, 1 equals 2, the world is ending"
- puts "test_universe completed successfully"
-end
-
-$gtk.tests.start
diff --git a/samples/10_save_load_game/app/main.rb b/samples/06_save_load/10_save_load_game/app/main.rb
index 251848a..251848a 100644
--- a/samples/10_save_load_game/app/main.rb
+++ b/samples/06_save_load/10_save_load_game/app/main.rb
diff --git a/samples/09_controller_analog_usage_advanced_sprites/license-for-sample.txt b/samples/06_save_load/10_save_load_game/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/09_controller_analog_usage_advanced_sprites/license-for-sample.txt
+++ b/samples/06_save_load/10_save_load_game/license-for-sample.txt
diff --git a/samples/10_save_load_game/replay.txt b/samples/06_save_load/10_save_load_game/replay.txt
index c243f28..c243f28 100644
--- a/samples/10_save_load_game/replay.txt
+++ b/samples/06_save_load/10_save_load_game/replay.txt
diff --git a/samples/07_render_targets/app/main.rb b/samples/07_advanced_rendering/01_simple_render_targets/app/main.rb
index 8670453..8670453 100644
--- a/samples/07_render_targets/app/main.rb
+++ b/samples/07_advanced_rendering/01_simple_render_targets/app/main.rb
diff --git a/samples/07_render_targets_advanced/app/main.rb b/samples/07_advanced_rendering/02_render_targets_with_alphas/app/main.rb
index 2caec43..2caec43 100644
--- a/samples/07_render_targets_advanced/app/main.rb
+++ b/samples/07_advanced_rendering/02_render_targets_with_alphas/app/main.rb
diff --git a/samples/09_sprite_animation_using_tile_sheet/license-for-sample.txt b/samples/07_advanced_rendering/02_render_targets_with_alphas/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/09_sprite_animation_using_tile_sheet/license-for-sample.txt
+++ b/samples/07_advanced_rendering/02_render_targets_with_alphas/license-for-sample.txt
diff --git a/samples/01_api_99_tech_demo/app/main.rb b/samples/07_advanced_rendering/03_render_target_viewports/app/main.rb
index dbceab3..dbceab3 100644
--- a/samples/01_api_99_tech_demo/app/main.rb
+++ b/samples/07_advanced_rendering/03_render_target_viewports/app/main.rb
diff --git a/samples/10_save_load_game/license-for-sample.txt b/samples/07_advanced_rendering/03_render_target_viewports/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/10_save_load_game/license-for-sample.txt
+++ b/samples/07_advanced_rendering/03_render_target_viewports/license-for-sample.txt
diff --git a/samples/01_api_99_tech_demo/replay.txt b/samples/07_advanced_rendering/03_render_target_viewports/replay.txt
index 523261b..523261b 100644
--- a/samples/01_api_99_tech_demo/replay.txt
+++ b/samples/07_advanced_rendering/03_render_target_viewports/replay.txt
diff --git a/samples/11_coersion_of_primitives/app/main.rb b/samples/07_advanced_rendering/04_render_primitive_hierarchies/app/main.rb
index aedd830..aedd830 100644
--- a/samples/11_coersion_of_primitives/app/main.rb
+++ b/samples/07_advanced_rendering/04_render_primitive_hierarchies/app/main.rb
diff --git a/samples/11_coersion_of_primitives/license-for-sample.txt b/samples/07_advanced_rendering/04_render_primitive_hierarchies/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/11_coersion_of_primitives/license-for-sample.txt
+++ b/samples/07_advanced_rendering/04_render_primitive_hierarchies/license-for-sample.txt
diff --git a/samples/11_coersion_of_primitives/sprites/ship.png b/samples/07_advanced_rendering/04_render_primitive_hierarchies/sprites/ship.png
index 3ef5f0b..3ef5f0b 100644
--- a/samples/11_coersion_of_primitives/sprites/ship.png
+++ b/samples/07_advanced_rendering/04_render_primitive_hierarchies/sprites/ship.png
Binary files differ
diff --git a/samples/11_hash_primitives/app/main.rb b/samples/07_advanced_rendering/11_render_primitives_as_hash/app/main.rb
index f7e5bac..f7e5bac 100644
--- a/samples/11_hash_primitives/app/main.rb
+++ b/samples/07_advanced_rendering/11_render_primitives_as_hash/app/main.rb
diff --git a/samples/11_hash_primitives/fonts/manaspc.ttf b/samples/07_advanced_rendering/11_render_primitives_as_hash/fonts/manaspc.ttf
index 0c56733..0c56733 100644
--- a/samples/11_hash_primitives/fonts/manaspc.ttf
+++ b/samples/07_advanced_rendering/11_render_primitives_as_hash/fonts/manaspc.ttf
Binary files differ
diff --git a/samples/11_hash_primitives/license-for-sample.txt b/samples/07_advanced_rendering/11_render_primitives_as_hash/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/11_hash_primitives/license-for-sample.txt
+++ b/samples/07_advanced_rendering/11_render_primitives_as_hash/license-for-sample.txt
diff --git a/samples/13_01_easing_functions/app/main.rb b/samples/08_lerping_easing_functions/01_easing_functions/app/main.rb
index 5bb26f9..5bb26f9 100644
--- a/samples/13_01_easing_functions/app/main.rb
+++ b/samples/08_lerping_easing_functions/01_easing_functions/app/main.rb
diff --git a/samples/12_top_down_area/license-for-sample.txt b/samples/08_lerping_easing_functions/01_easing_functions/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/12_top_down_area/license-for-sample.txt
+++ b/samples/08_lerping_easing_functions/01_easing_functions/license-for-sample.txt
diff --git a/samples/13_02_cubic_bezier/app/main.rb b/samples/08_lerping_easing_functions/02_cubic_bezier/app/main.rb
index 93dba31..93dba31 100644
--- a/samples/13_02_cubic_bezier/app/main.rb
+++ b/samples/08_lerping_easing_functions/02_cubic_bezier/app/main.rb
diff --git a/samples/13_03_easing_using_spline/app/main.rb b/samples/08_lerping_easing_functions/03_easing_using_spline/app/main.rb
index c30c0e6..c30c0e6 100644
--- a/samples/13_03_easing_using_spline/app/main.rb
+++ b/samples/08_lerping_easing_functions/03_easing_using_spline/app/main.rb
diff --git a/samples/13_04_parametric_enemy_movement/app/main.rb b/samples/08_lerping_easing_functions/04_parametric_enemy_movement/app/main.rb
index 8e73fb0..8e73fb0 100644
--- a/samples/13_04_parametric_enemy_movement/app/main.rb
+++ b/samples/08_lerping_easing_functions/04_parametric_enemy_movement/app/main.rb
diff --git a/samples/13_01_easing_functions/license-for-sample.txt b/samples/08_lerping_easing_functions/04_parametric_enemy_movement/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/13_01_easing_functions/license-for-sample.txt
+++ b/samples/08_lerping_easing_functions/04_parametric_enemy_movement/license-for-sample.txt
diff --git a/samples/13_04_parametric_enemy_movement/replay.txt b/samples/08_lerping_easing_functions/04_parametric_enemy_movement/replay.txt
index 6580c5b..6580c5b 100644
--- a/samples/13_04_parametric_enemy_movement/replay.txt
+++ b/samples/08_lerping_easing_functions/04_parametric_enemy_movement/replay.txt
diff --git a/samples/08_platformer_collisions_metroidvania/app/repl.rb b/samples/08_platformer_collisions_metroidvania/app/repl.rb
deleted file mode 100644
index 9416675..0000000
--- a/samples/08_platformer_collisions_metroidvania/app/repl.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-# save this file and this code will be run once
-puts 1 + 2
diff --git a/samples/08_platformer_collisions_metroidvania/app/tests.rb b/samples/08_platformer_collisions_metroidvania/app/tests.rb
deleted file mode 100644
index 925f321..0000000
--- a/samples/08_platformer_collisions_metroidvania/app/tests.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-# For advanced users:
-# You can put some quick verification tests here, any method
-# that starts with the `test_` will be run when you save this file.
-
-# here is an example test and game
-
-class MySuperHappyFunGame
- attr_gtk
-
- def tick
- outputs.solids << [100, 100, 300, 300]
- end
-end
-
-def test_universe args, assert
- game = MySuperHappyFunGame.new
- game.args = args
- game.tick
- assert.true! args.outputs.solids.length == 1, "failure: a solid was not added after tick"
- assert.false! 1 == 2, "failure: some how, 1 equals 2, the world is ending"
- puts "test_universe completed successfully"
-end
-
-$gtk.tests.start
diff --git a/samples/09_performance/01_sprites_as_hash/app/main.rb b/samples/09_performance/01_sprites_as_hash/app/main.rb
new file mode 100644
index 0000000..2bb3f46
--- /dev/null
+++ b/samples/09_performance/01_sprites_as_hash/app/main.rb
@@ -0,0 +1,63 @@
+# Sprites represented as Hashes using the queue ~args.outputs.sprites~
+# code up, but are the "slowest" to render.
+# The reason for this is the access of the key in the Hash and also
+# because the data args.outputs.sprites is cleared every tick.
+def random_x args
+ (args.grid.w.randomize :ratio) * -1
+end
+
+def random_y args
+ (args.grid.h.randomize :ratio) * -1
+end
+
+def random_speed
+ 1 + (4.randomize :ratio)
+end
+
+def new_star args
+ {
+ x: (random_x args),
+ y: (random_y args),
+ w: 4, h: 4, path: 'sprites/tiny-star.png',
+ s: random_speed
+ }
+end
+
+def move_star args, star
+ star.x += star[:s]
+ star.y += star[:s]
+ if star.x > args.grid.w || star.y > args.grid.h
+ star.x = (random_x args)
+ star.y = (random_y args)
+ star[:s] = random_speed
+ end
+end
+
+def tick args
+ args.state.star_count ||= 0
+
+ # sets console command when sample app initially opens
+ if Kernel.global_tick_count == 0
+ puts "* INFO - Please specify the number of sprites to render."
+ args.gtk.console.set_command "reset_with count: 100"
+ end
+
+ # init
+ if args.state.tick_count == 0
+ args.state.stars = args.state.star_count.map { |i| new_star args }
+ end
+
+ # update
+ args.state.stars.each { |s| move_star args, s }
+
+ # render
+ args.outputs.sprites << args.state.stars
+ args.outputs.background_color = [0, 0, 0]
+ args.outputs.primitives << args.gtk.current_framerate_primitives
+end
+
+# resets game, and assigns star count given by user
+def reset_with count: count
+ $gtk.reset
+ $gtk.args.state.star_count = count
+end
diff --git a/samples/13_04_parametric_enemy_movement/license-for-sample.txt b/samples/09_performance/01_sprites_as_hash/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/13_04_parametric_enemy_movement/license-for-sample.txt
+++ b/samples/09_performance/01_sprites_as_hash/license-for-sample.txt
diff --git a/samples/09_performance/01_sprites_as_hash/sprites/tiny-star.png b/samples/09_performance/01_sprites_as_hash/sprites/tiny-star.png
new file mode 100644
index 0000000..e04786a
--- /dev/null
+++ b/samples/09_performance/01_sprites_as_hash/sprites/tiny-star.png
Binary files differ
diff --git a/samples/09_performance/02_sprites_as_entities/app/main.rb b/samples/09_performance/02_sprites_as_entities/app/main.rb
new file mode 100644
index 0000000..21babda
--- /dev/null
+++ b/samples/09_performance/02_sprites_as_entities/app/main.rb
@@ -0,0 +1,64 @@
+# Sprites represented as Entities using the queue ~args.outputs.sprites~
+# yields nicer access apis over Hashes, but require a bit more code upfront.
+# The hash sample has to use star[:s] to get the speed of the star, but
+# an entity can use .s instead.
+def random_x args
+ (args.grid.w.randomize :ratio) * -1
+end
+
+def random_y args
+ (args.grid.h.randomize :ratio) * -1
+end
+
+def random_speed
+ 1 + (4.randomize :ratio)
+end
+
+def new_star args
+ args.state.new_entity :star, {
+ x: (random_x args),
+ y: (random_y args),
+ w: 4, h: 4,
+ path: 'sprites/tiny-star.png',
+ s: random_speed
+ }
+end
+
+def move_star args, star
+ star.x += star.s
+ star.y += star.s
+ if star.x > args.grid.w || star.y > args.grid.h
+ star.x = (random_x args)
+ star.y = (random_y args)
+ star.s = random_speed
+ end
+end
+
+def tick args
+ args.state.star_count ||= 0
+
+ # sets console command when sample app initially opens
+ if Kernel.global_tick_count == 0
+ puts "* INFO - Please specify the number of sprites to render."
+ args.gtk.console.set_command "reset_with count: 100"
+ end
+
+ # init
+ if args.state.tick_count == 0
+ args.state.stars = args.state.star_count.map { |i| new_star args }
+ end
+
+ # update
+ args.state.stars.each { |s| move_star args, s }
+
+ # render
+ args.outputs.sprites << args.state.stars
+ args.outputs.background_color = [0, 0, 0]
+ args.outputs.primitives << args.gtk.current_framerate_primitives
+end
+
+# resets game, and assigns star count given by user
+def reset_with count: count
+ $gtk.reset
+ $gtk.args.state.star_count = count
+end
diff --git a/samples/14_sprite_limits/license-for-sample.txt b/samples/09_performance/02_sprites_as_entities/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/14_sprite_limits/license-for-sample.txt
+++ b/samples/09_performance/02_sprites_as_entities/license-for-sample.txt
diff --git a/samples/09_performance/02_sprites_as_entities/sprites/tiny-star.png b/samples/09_performance/02_sprites_as_entities/sprites/tiny-star.png
new file mode 100644
index 0000000..e04786a
--- /dev/null
+++ b/samples/09_performance/02_sprites_as_entities/sprites/tiny-star.png
Binary files differ
diff --git a/samples/09_performance/03_sprites_as_strict_entities/app/main.rb b/samples/09_performance/03_sprites_as_strict_entities/app/main.rb
new file mode 100644
index 0000000..376d9a1
--- /dev/null
+++ b/samples/09_performance/03_sprites_as_strict_entities/app/main.rb
@@ -0,0 +1,68 @@
+# Sprites represented as StrictEntities using the queue ~args.outputs.sprites~
+# yields apis access similar to Entities, but all properties that can be set on the
+# entity must be predefined with a default value. Strict entities do not support the
+# addition of new properties after the fact. They are more performant than OpenEntities
+# because of this constraint.
+def random_x args
+ (args.grid.w.randomize :ratio) * -1
+end
+
+def random_y args
+ (args.grid.h.randomize :ratio) * -1
+end
+
+def random_speed
+ 1 + (4.randomize :ratio)
+end
+
+def new_star args
+ args.state.new_entity_strict(:star,
+ x: (random_x args),
+ y: (random_y args),
+ w: 4, h: 4,
+ path: 'sprites/tiny-star.png',
+ s: random_speed) do |entity|
+ # invoke attr_sprite so that it responds to
+ # all properties that are required to render a sprite
+ entity.attr_sprite
+ end
+end
+
+def move_star args, star
+ star.x += star.s
+ star.y += star.s
+ if star.x > args.grid.w || star.y > args.grid.h
+ star.x = (random_x args)
+ star.y = (random_y args)
+ star.s = random_speed
+ end
+end
+
+def tick args
+ args.state.star_count ||= 0
+
+ # sets console command when sample app initially opens
+ if Kernel.global_tick_count == 0
+ puts "* INFO - Please specify the number of sprites to render."
+ args.gtk.console.set_command "reset_with count: 100"
+ end
+
+ # init
+ if args.state.tick_count == 0
+ args.state.stars = args.state.star_count.map { |i| new_star args }
+ end
+
+ # update
+ args.state.stars.each { |s| move_star args, s }
+
+ # render
+ args.outputs.sprites << args.state.stars
+ args.outputs.background_color = [0, 0, 0]
+ args.outputs.primitives << args.gtk.current_framerate_primitives
+end
+
+# resets game, and assigns star count given by user
+def reset_with count: count
+ $gtk.reset
+ $gtk.args.state.star_count = count
+end
diff --git a/samples/14_sprite_limits_static_references/license-for-sample.txt b/samples/09_performance/03_sprites_as_strict_entities/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/14_sprite_limits_static_references/license-for-sample.txt
+++ b/samples/09_performance/03_sprites_as_strict_entities/license-for-sample.txt
diff --git a/samples/09_performance/03_sprites_as_strict_entities/sprites/tiny-star.png b/samples/09_performance/03_sprites_as_strict_entities/sprites/tiny-star.png
new file mode 100644
index 0000000..e04786a
--- /dev/null
+++ b/samples/09_performance/03_sprites_as_strict_entities/sprites/tiny-star.png
Binary files differ
diff --git a/samples/09_performance/04_sprites_as_classes/app/main.rb b/samples/09_performance/04_sprites_as_classes/app/main.rb
new file mode 100644
index 0000000..2b43a98
--- /dev/null
+++ b/samples/09_performance/04_sprites_as_classes/app/main.rb
@@ -0,0 +1,50 @@
+# Sprites represented as Classes using the queue ~args.outputs.sprites~.
+# gives you full control of property declaration and method invocation.
+# They are more performant than OpenEntities and StrictEntities, but more code upfront.
+class Star
+ attr_sprite
+
+ def initialize grid
+ @grid = grid
+ @x = (rand @grid.w) * -1
+ @y = (rand @grid.h) * -1
+ @w = 4
+ @h = 4
+ @s = 1 + (4.randomize :ratio)
+ @path = 'sprites/tiny-star.png'
+ end
+
+ def move
+ @x += @s
+ @y += @s
+ @x = (rand @grid.w) * -1 if @x > @grid.right
+ @y = (rand @grid.h) * -1 if @y > @grid.top
+ end
+end
+
+# calls methods needed for game to run properly
+def tick args
+ # sets console command when sample app initially opens
+ if Kernel.global_tick_count == 0
+ args.gtk.console.set_command "reset_with count: 100"
+ end
+
+ # init
+ if args.state.tick_count == 0
+ args.state.stars = args.state.star_count.map { |i| Star.new args.grid }
+ end
+
+ # update
+ args.state.stars.each(&:move)
+
+ # render
+ args.outputs.sprites << args.state.stars
+ args.outputs.background_color = [0, 0, 0]
+ args.outputs.primitives << args.gtk.current_framerate_primitives
+end
+
+# resets game, and assigns star count given by user
+def reset_with count: count
+ $gtk.reset
+ $gtk.args.state.star_count = count
+end
diff --git a/samples/15_collision_limits/license-for-sample.txt b/samples/09_performance/04_sprites_as_classes/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/15_collision_limits/license-for-sample.txt
+++ b/samples/09_performance/04_sprites_as_classes/license-for-sample.txt
diff --git a/samples/09_performance/04_sprites_as_classes/sprites/tiny-star.png b/samples/09_performance/04_sprites_as_classes/sprites/tiny-star.png
new file mode 100644
index 0000000..e04786a
--- /dev/null
+++ b/samples/09_performance/04_sprites_as_classes/sprites/tiny-star.png
Binary files differ
diff --git a/samples/09_performance/05_static_sprites_as_classes/app/main.rb b/samples/09_performance/05_static_sprites_as_classes/app/main.rb
new file mode 100644
index 0000000..cbfe00a
--- /dev/null
+++ b/samples/09_performance/05_static_sprites_as_classes/app/main.rb
@@ -0,0 +1,51 @@
+# Sprites represented as Classes using the queue ~args.outputs.static_sprites~.
+# bypasses the queue behavior of ~args.outputs.sprites~. All instances are held
+# by reference. You get better performance, but you are mutating state of held objects
+# which is less functional/data oriented.
+class Star
+ attr_sprite
+
+ def initialize grid
+ @grid = grid
+ @x = (rand @grid.w) * -1
+ @y = (rand @grid.h) * -1
+ @w = 4
+ @h = 4
+ @s = 1 + (4.randomize :ratio)
+ @path = 'sprites/tiny-star.png'
+ end
+
+ def move
+ @x += @s
+ @y += @s
+ @x = (rand @grid.w) * -1 if @x > @grid.right
+ @y = (rand @grid.h) * -1 if @y > @grid.top
+ end
+end
+
+# calls methods needed for game to run properly
+def tick args
+ # sets console command when sample app initially opens
+ if Kernel.global_tick_count == 0
+ args.gtk.console.set_command "reset_with count: 100"
+ end
+
+ # init
+ if args.state.tick_count == 0
+ args.state.stars = args.state.star_count.map { |i| Star.new args.grid }
+ end
+
+ # update
+ args.state.stars.each(&:move)
+
+ # render
+ args.outputs.sprites << args.state.stars
+ args.outputs.background_color = [0, 0, 0]
+ args.outputs.primitives << args.gtk.current_framerate_primitives
+end
+
+# resets game, and assigns star count given by user
+def reset_with count: count
+ $gtk.reset
+ $gtk.args.state.star_count = count
+end
diff --git a/samples/18_moddable_game/license-for-sample.txt b/samples/09_performance/05_static_sprites_as_classes/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/18_moddable_game/license-for-sample.txt
+++ b/samples/09_performance/05_static_sprites_as_classes/license-for-sample.txt
diff --git a/samples/09_performance/05_static_sprites_as_classes/sprites/tiny-star.png b/samples/09_performance/05_static_sprites_as_classes/sprites/tiny-star.png
new file mode 100644
index 0000000..e04786a
--- /dev/null
+++ b/samples/09_performance/05_static_sprites_as_classes/sprites/tiny-star.png
Binary files differ
diff --git a/samples/09_performance/06_static_sprites_as_classes_with_custom_drawing/app/main.rb b/samples/09_performance/06_static_sprites_as_classes_with_custom_drawing/app/main.rb
new file mode 100644
index 0000000..d8a01bc
--- /dev/null
+++ b/samples/09_performance/06_static_sprites_as_classes_with_custom_drawing/app/main.rb
@@ -0,0 +1,72 @@
+# Sprites represented as Classes, with a draw_override method, and using the queue ~args.outputs.static_sprites~.
+# is the fastest approach. This is comparable to what other game engines set as the default behavior.
+# There are tradeoffs for all this speed if the creation of a full blown class, and bypassing
+# functional/data-oriented practices.
+class Star
+ def initialize grid
+ @grid = grid
+ @x = (rand @grid.w) * -1
+ @y = (rand @grid.h) * -1
+ @w = 4
+ @h = 4
+ @s = 1 + (4.randomize :ratio)
+ @path = 'sprites/tiny-star.png'
+ end
+
+ def move
+ @x += @s
+ @y += @s
+ @x = (rand @grid.w) * -1 if @x > @grid.right
+ @y = (rand @grid.h) * -1 if @y > @grid.top
+ end
+
+ # if the object that is in args.outputs.sprites (or static_sprites)
+ # respond_to? :draw_override, then the method is invoked giving you
+ # access to the class used to draw to the canvas.
+ def draw_override ffi_draw
+ # first move then draw
+ move
+
+ # The argument order for ffi.draw_sprite is:
+ # x, y, w, h, path
+ ffi_draw.draw_sprite @x, @y, @w, @h, @path
+
+ # The argument order for ffi_draw.draw_sprite_2 is (pass in nil for default value):
+ # x, y, w, h, path,
+ # angle, alpha
+
+ # The argument order for ffi_draw.draw_sprite_3 is:
+ # x, y, w, h,
+ # path,
+ # angle,
+ # alpha, red_saturation, green_saturation, blue_saturation
+ # flip_horizontally, flip_vertically,
+ # tile_x, tile_y, tile_w, tile_h
+ # angle_anchor_x, angle_anchor_y,
+ # source_x, source_y, source_w, source_h
+ end
+end
+
+# calls methods needed for game to run properly
+def tick args
+ # sets console command when sample app initially opens
+ if Kernel.global_tick_count == 0
+ args.gtk.console.set_command "reset_with count: 100"
+ end
+
+ # init
+ if args.state.tick_count == 0
+ args.state.stars = args.state.star_count.map { |i| Star.new args.grid }
+ args.outputs.static_sprites << args.state.stars
+ end
+
+ # render framerate
+ args.outputs.background_color = [0, 0, 0]
+ args.outputs.primitives << args.gtk.current_framerate_primitives
+end
+
+# resets game, and assigns star count given by user
+def reset_with count: count
+ $gtk.reset
+ $gtk.args.state.star_count = count
+end
diff --git a/samples/20_roguelike_starting_point/license-for-sample.txt b/samples/09_performance/06_static_sprites_as_classes_with_custom_drawing/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/20_roguelike_starting_point/license-for-sample.txt
+++ b/samples/09_performance/06_static_sprites_as_classes_with_custom_drawing/license-for-sample.txt
diff --git a/samples/09_performance/06_static_sprites_as_classes_with_custom_drawing/sprites/tiny-star.png b/samples/09_performance/06_static_sprites_as_classes_with_custom_drawing/sprites/tiny-star.png
new file mode 100644
index 0000000..e04786a
--- /dev/null
+++ b/samples/09_performance/06_static_sprites_as_classes_with_custom_drawing/sprites/tiny-star.png
Binary files differ
diff --git a/samples/15_collision_limits/app/main.rb b/samples/09_performance/07_collision_limits/app/main.rb
index 01ad308..01ad308 100644
--- a/samples/15_collision_limits/app/main.rb
+++ b/samples/09_performance/07_collision_limits/app/main.rb
diff --git a/samples/20_roguelike_starting_point_two/license-for-sample.txt b/samples/09_performance/07_collision_limits/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/20_roguelike_starting_point_two/license-for-sample.txt
+++ b/samples/09_performance/07_collision_limits/license-for-sample.txt
diff --git a/samples/22_trace_debugging/app/main.rb b/samples/10_advanced_debugging/01_trace_debugging/app/main.rb
index 33f15b3..33f15b3 100644
--- a/samples/22_trace_debugging/app/main.rb
+++ b/samples/10_advanced_debugging/01_trace_debugging/app/main.rb
diff --git a/samples/22_trace_debugging/license-for-sample.txt b/samples/10_advanced_debugging/01_trace_debugging/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/22_trace_debugging/license-for-sample.txt
+++ b/samples/10_advanced_debugging/01_trace_debugging/license-for-sample.txt
diff --git a/samples/22_trace_debugging_classes/app/main.rb b/samples/10_advanced_debugging/02_trace_debugging_classes/app/main.rb
index a6804ae..a6804ae 100644
--- a/samples/22_trace_debugging_classes/app/main.rb
+++ b/samples/10_advanced_debugging/02_trace_debugging_classes/app/main.rb
diff --git a/samples/99_zz_gtk_unit_tests/exception_raising_tests.rb b/samples/10_advanced_debugging/03_unit_tests/exception_raising_tests.rb
index 57efdb2..57efdb2 100644
--- a/samples/99_zz_gtk_unit_tests/exception_raising_tests.rb
+++ b/samples/10_advanced_debugging/03_unit_tests/exception_raising_tests.rb
diff --git a/samples/99_zz_gtk_unit_tests/gen_docs.rb b/samples/10_advanced_debugging/03_unit_tests/gen_docs.rb
index 0e41326..0e41326 100644
--- a/samples/99_zz_gtk_unit_tests/gen_docs.rb
+++ b/samples/10_advanced_debugging/03_unit_tests/gen_docs.rb
diff --git a/samples/99_zz_gtk_unit_tests/geometry_tests.rb b/samples/10_advanced_debugging/03_unit_tests/geometry_tests.rb
index d823d78..d823d78 100644
--- a/samples/99_zz_gtk_unit_tests/geometry_tests.rb
+++ b/samples/10_advanced_debugging/03_unit_tests/geometry_tests.rb
diff --git a/samples/99_zz_gtk_unit_tests/http_tests.rb b/samples/10_advanced_debugging/03_unit_tests/http_tests.rb
index 1132f85..1132f85 100644
--- a/samples/99_zz_gtk_unit_tests/http_tests.rb
+++ b/samples/10_advanced_debugging/03_unit_tests/http_tests.rb
diff --git a/samples/99_zz_gtk_unit_tests/object_to_primitive_tests.rb b/samples/10_advanced_debugging/03_unit_tests/object_to_primitive_tests.rb
index 4686c6e..4686c6e 100644
--- a/samples/99_zz_gtk_unit_tests/object_to_primitive_tests.rb
+++ b/samples/10_advanced_debugging/03_unit_tests/object_to_primitive_tests.rb
diff --git a/samples/99_zz_gtk_unit_tests/parsing_tests.rb b/samples/10_advanced_debugging/03_unit_tests/parsing_tests.rb
index 4dede2b..4dede2b 100644
--- a/samples/99_zz_gtk_unit_tests/parsing_tests.rb
+++ b/samples/10_advanced_debugging/03_unit_tests/parsing_tests.rb
diff --git a/samples/99_zz_gtk_unit_tests/run-bash.sh b/samples/10_advanced_debugging/03_unit_tests/run-bash.sh
index 005077b..005077b 100644
--- a/samples/99_zz_gtk_unit_tests/run-bash.sh
+++ b/samples/10_advanced_debugging/03_unit_tests/run-bash.sh
diff --git a/samples/99_zz_gtk_unit_tests/serialize_deserialize_tests.rb b/samples/10_advanced_debugging/03_unit_tests/serialize_deserialize_tests.rb
index 22fa862..22fa862 100644
--- a/samples/99_zz_gtk_unit_tests/serialize_deserialize_tests.rb
+++ b/samples/10_advanced_debugging/03_unit_tests/serialize_deserialize_tests.rb
diff --git a/samples/99_zz_gtk_unit_tests/state_serialization_experimental_tests.rb b/samples/10_advanced_debugging/03_unit_tests/state_serialization_experimental_tests.rb
index ffd8064..ffd8064 100644
--- a/samples/99_zz_gtk_unit_tests/state_serialization_experimental_tests.rb
+++ b/samples/10_advanced_debugging/03_unit_tests/state_serialization_experimental_tests.rb
diff --git a/samples/24_http_example/app/main.rb b/samples/11_http/01_retrieve_images/app/main.rb
index 53ece84..53ece84 100644
--- a/samples/24_http_example/app/main.rb
+++ b/samples/11_http/01_retrieve_images/app/main.rb
diff --git a/samples/23_hexagonal_grid/license-for-sample.txt b/samples/11_http/01_retrieve_images/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/23_hexagonal_grid/license-for-sample.txt
+++ b/samples/11_http/01_retrieve_images/license-for-sample.txt
diff --git a/samples/24_http_example/metadata/game_metadata.txt b/samples/11_http/01_retrieve_images/metadata/game_metadata.txt
index 53de213..53de213 100644
--- a/samples/24_http_example/metadata/game_metadata.txt
+++ b/samples/11_http/01_retrieve_images/metadata/game_metadata.txt
diff --git a/samples/24_http_example/metadata/icon.png b/samples/11_http/01_retrieve_images/metadata/icon.png
index 57254fe..57254fe 100644
--- a/samples/24_http_example/metadata/icon.png
+++ b/samples/11_http/01_retrieve_images/metadata/icon.png
Binary files differ
diff --git a/samples/14_sprite_limits/app/main.rb b/samples/14_sprite_limits/app/main.rb
deleted file mode 100644
index 9972cff..0000000
--- a/samples/14_sprite_limits/app/main.rb
+++ /dev/null
@@ -1,192 +0,0 @@
-=begin
-
- APIs listing that haven't been encountered in previous sample apps:
-
- - Instance variable (@): Used to give objects their own space to store data.
- Used in this sample app when the class data structure is chosen to assign
- star values, like the position, speed, size, color, etc. Check the
- initialize method inside of the StarClass class to see @ used.
-
- Reminders:
-
- - args.outputs.sprites: An array. The values generate a sprite.
- The parameters are [X, Y, WIDTH, HEIGHT, IMAGE PATH]
- For more information about sprites, go to mygame/documentation/05-sprites.md.
-
- - args.outputs.labels: An array. The values generate a label.
- The parameters are [X, Y, TEXT, SIZE, ALIGNMENT, RED, GREEN, BLUE, ALPHA, FONT STYLE]
- For more information about labels, go to mymgame/documentation/02-labels.md.
-
- - Symbol (:): Ruby object with a name and an internal ID. Symbols are useful
- because with a given symbol name, you can refer to the same object throughout
- a Ruby program.
-
- - args.state.new_entity: Used when we want to create a new object, like a sprite or button.
- For example, if we want to create a new button, we would declare it as a new entity and
- then define its properties. (Remember, you can use state to define ANY property and it will
- be retained across frames.)
-
- - to_s: Returns a string representation of an object.
-
- - to_i: Returns an integer representation of an object.
-
- - String interpolation: uses #{} syntax; everything between the #{ and the } is evaluated
- as Ruby code, and the placeholder is replaced with its corresponding value or result.
-
- - args.inputs.mouse.(x|y): The x and y location of the mouse.
- For more information about the mouse, go to mygame/documentation/07-mouse.md.
-
-=end
-
-# This sample app serves to show performance differences between using:
-# a very flexible data structure (:entity),
-# a less flexible but faster data structure (:strict),
-# and the least flexible but fastest data structure (:class).
-
-# If the user chooses the "class" data structure type, the StarClass will be used to assign star values
-class StarClass
- attr_sprite
- attr_accessor :speed_x, :speed_y
-
- def initialize
- @x = -1280 * rand # random position on screen
- @y = -720 * rand
- @w = 15
- @h = 15
- @speed_x = 2 * rand + 1 # random speed
- @speed_y = 2 * rand + 1
- @r = 255
- @g = 255 * rand # random color
- @b = 255 * rand
- @a = 128
- @path = 'sprites/star.png'
- end
-end
-
-# Outputs sample app instructions onto console
-# Provides acceptable command if user does not wish to enter their own input
-# Calls methods needed to create and show stars
-def tick args
- if Kernel.global_tick_count == 0
- args.gtk.console.show # shows console when the sample app initially opens
- puts "
-================================================
- HELLO!!!!
-================================================
-
-This sample app shows the performance differences between using
-a very flexible data structure (:entity),
-a less flexible but faster data structure (:strict),
-and the least flexible but fastest data structure (:class).
-
-To see the differences use the `reset_with SPRITE_COUNT, CATEGORY` method.
-
-For example, the following invocations generate 100 sprites of each data structure type:
-
- reset_with 100, :entity
- reset_with 100, :strict
- reset_with 100, :class
-
-and these commands generate 1k sprites of each data structure type:
-
- reset_with 1000, :entity
- reset_with 1000, :strict
- reset_with 1000, :class
-
-================================================
-"
- args.gtk.console.current_input_str = 'reset_with 1000, :entity' # default input for user
- end
-
- defaults args
- render_stars args
- move_stars args
- process_inputs args
-end
-
-# Sets default values, creates empty collection of stars
-# Creates stars depending on whether user chooses the "entity", "strict", or "class" option
-# by using an if/elsif statement
-# Initialization happens only in first frame
-def defaults args
- args.outputs.background_color = [0, 0, 0] # black background
- args.state.star_count ||= 10
- args.state.option ||= :class
- args.state.stars ||= args.state.star_count.map do # do the following to 10 stars
- r = nil # r starts off empty (given value later based on which data structure is chosen)
- if args.state.option == :entity # if the entity data structure is chosen
- r = args.state.new_entity(:star) do |star| # declares each star as new entity, sets properties
- star.x = -1280 * rand # random position
- star.y = -720 * rand
- star.speed_x = 2 * rand + 1 # random speed
- star.speed_y = 2 * rand + 1
- star.r = 255 # white color
- star.g = 255
- star.b = 255
- star.alpha = 128 # slightly transparent
- star.sprite = [star.x, star.y, 15, 15, 'sprites/star.png', 0, star.alpha, 255, 255 * rand, 255 * rand] # sets definition for star sprite (color is randomized)
- end
- elsif args.state.option == :strict # otherwise, if the strict data structure is chosen
- r = args.state.new_entity_strict(:star) do |star| # declares each star as new entity, sets properties
- star.x = -1280 * rand # random position
- star.y = -720 * rand
- star.speed_x = 2 * rand + 1 # random speed
- star.speed_y = 2 * rand + 1
- star.r = 255 # white
- star.g = 255
- star.b = 255
- star.alpha = 128 # slightly transparent
- star.sprite = [star.x, star.y, 15, 15, 'sprites/star.png', 0, star.alpha, 255, 255 * rand, 255 * rand] # sets definition for star sprite (color is randomized)
- end
- elsif args.state.option == :class # if the class data structure is chosen
- r = StarClass.new # uses StarClass to assign star values
- end
- r # returns r; value based on which part of the if statement above ran
- end
- args.state.stars ||= [] # initialized to empty array (if value of stars has not already been set)
-end
-
-# Used to output solids, sprites (specifically the stars), and labels on the screen
-def render_stars args
- args.outputs.solids << [0, 0, 1280, 720] # sets black background
-
- # Outputs stars
- args.outputs.sprites << args.state.stars.map do |star| # outputs every star in the collection
- star.sprite
- end
-
- # Outputs (white) label with number of stars, type of data structure chosen,
- # and frames per second
- args.outputs.labels << [10, 30, "Count: #{args.state.star_count}, Type: #{args.state.option}, FPS: #{args.gtk.current_framerate.to_s.to_i}", 255, 255, 255, 80] # string interpolation
- # converts current framerate to a string, and then converts that result to an integer value
-end
-
-# Allows the stars to move across the screen
-# Stars loop back around if they exceed the scope of the screen
-def move_stars args
- args.state.stars.map! do |star| # for each star in the collection
- star.x = -200 * rand if star.x > 1500 # random x position if exceeds x value of 1500 (goes too far right)
- star.y = -200 * rand if star.y > 800 # random y position if exceeds y value fo 800 (goes too far up)
- star.x += star.speed_x # increments position by star's speed
- star.y += star.speed_y
- star.sprite.x = star.x # the sprite's position is the star's position
- star.sprite.y = star.y
- star
- end
-end
-
-# Creates and outputs a red border to surround the mouse
-# Resets game if "r" key on keyboard is pressed
-def process_inputs args
- # 50 is subtracted from x and y so the mouse can be in the center of red box
- mouse_border = [args.inputs.mouse.x - 50, args.inputs.mouse.y - 50, 100, 100, 255, 0, 0]
- args.outputs.borders << mouse_border
- $gtk.reset if args.inputs.keyboard.key_down.r
-end
-
-# Resets the game, and assigns the star_count and option values given by the user
-def reset_with count, option
- $gtk.reset
- $gtk.args.state.option = option
- $gtk.args.state.star_count = count
-end
diff --git a/samples/14_sprite_limits_static_references/app/main.rb b/samples/14_sprite_limits_static_references/app/main.rb
deleted file mode 100644
index 5761345..0000000
--- a/samples/14_sprite_limits_static_references/app/main.rb
+++ /dev/null
@@ -1,99 +0,0 @@
-=begin
-
- Reminders:
-
- - Instance variable (@): Used to give objects their own space to store data.
- In this sample app, check the initialize method inside of the StarClass class
- to see @ used.
-
- - args.outputs.sprites: An array. The values generate a sprite.
- The parameters are [X, Y, WIDTH, HEIGHT, IMAGE PATH]
- For more information about sprites, go to mygame/documentation/05-sprites.md.
-
- - args.outputs.labels: An array. The values generate a label.
- The parameters are [X, Y, TEXT, SIZE, ALIGNMENT, RED, GREEN, BLUE, ALPHA, FONT STYLE]
- For more information about labels, go to mymgame/documentation/02-labels.md.
-
- - to_s: Returns a string representation of an object.
-
- - to_i: Returns an integer representation of an object.
-
- - String interpolation: uses #{} syntax; everything between the #{ and the } is evaluated
- as Ruby code, and the placeholder is replaced with its corresponding value or result.
-
- - args.inputs.mouse.(x|y): The x and y location of the mouse.
- For more information about the mouse, go to mygame/documentation/07-mouse.md.
-=end
-
-class StarClass
- attr_sprite
- attr_accessor :speed_x, :speed_y
-
- def initialize outputs
- @x = -1280 * rand # random position on screen
- @y = -720 * rand
- @w = 15 # size
- @h = 15
- @speed_x = 2 * rand + 1 # random speed
- @speed_y = 2 * rand + 1
- @r = 255
- @g = 255 * rand # random color
- @b = 255 * rand
- @a = 128 # transparency
- @path = 'sprites/star.png' # image path
- outputs.static_sprites << self # adds self to collection
- end
-end
-
-# calls methods needed for game to run properly
-def tick args
- # sets console command when sample app initially opens
- if Kernel.global_tick_count == 0
- args.gtk.console.set_command "reset_with count: 100"
- end
-
- defaults args
- render_stars args
- move_stars args
- process_inputs args
-end
-
-# sets default values
-def defaults args
- args.outputs.background_color = [0, 0, 0] # black background
- args.state.star_count ||= 10
- # sets stars collection by performing action on each star (initially 10 stars based on star_count)
- args.state.stars ||= args.state.star_count.map { StarClass.new args.outputs }
-end
-
-def render_stars args
- # outputs white label with number of stars and frames per second onto the screen
- args.outputs.labels << [10, 30, "Count: #{args.state.star_count}, FPS: #{args.gtk.current_framerate.to_s.to_i}", 255, 255, 255, 80] # string interpolation
-end
-
-# allows stars to move on screen
-# stars loop back around if they exceed scope of screen
-def move_stars args
- args.state.stars.each do |star| # perform action on each star in collection
- star.x = -200 * rand if star.x > 1500 # random x position if exceeds value of 1500 (goes too far right)
- star.y = -200 * rand if star.y > 800 # random y position if exceeds value of 800 (goes too far up)
- star.x += star.speed_x # increments position by speed of star
- star.y += star.speed_y
- star
- end
-end
-
-# creates and outputs a red border to surround the mouse
-# resets game if "r" key on keyboard is pressed
-def process_inputs args
- # 50 is subtracted from x and y so the mouse is in center of red box
- mouse_border = [args.inputs.mouse.x - 50, args.inputs.mouse.y - 50, 100, 100, 255, 0, 0]
- args.outputs.borders << mouse_border
- $gtk.reset if args.inputs.keyboard.key_down.r
-end
-
-# resets game, and assigns star count given by user
-def reset_with count: count
- $gtk.reset
- $gtk.args.state.star_count = count
-end
diff --git a/samples/14_sprite_limits_static_references/sprites/star.png b/samples/14_sprite_limits_static_references/sprites/star.png
deleted file mode 100644
index e0ee0f9..0000000
--- a/samples/14_sprite_limits_static_references/sprites/star.png
+++ /dev/null
Binary files differ
diff --git a/samples/21_mailbox_usage/app/main.rb b/samples/21_mailbox_usage/app/main.rb
deleted file mode 100644
index 251931b..0000000
--- a/samples/21_mailbox_usage/app/main.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-MAILBOX_SAVE_PATH = 'app/mailbox.rb'
-
-def tick args
- args.gtk.suppress_mailbox = false
- args.state.send_to_mailbox = [220, 360, 200, 50]
- args.state.clear_mailbox = [220, 300, 200, 50]
- args.state.mailbox_values ||= []
- args.outputs.borders << args.state.send_to_mailbox
- args.outputs.borders << args.state.clear_mailbox
- args.outputs.labels << [230, 390, "Send to Mailbox"]
- args.outputs.labels << [230, 325, "Clear Mailbox"]
-
- if args.inputs.mouse.click
- if args.inputs.mouse.click.point.inside_rect?(args.state.send_to_mailbox)
- current_text = args.gtk.read_file("app/mailbox.rb") || ''
- code = "$gtk.args.state.mailbox_values << 'code written to file called mailbox.rb at tick_count #{args.state.tick_count}'"
- args.gtk.write_file(MAILBOX_SAVE_PATH, current_text + "\n" + code)
- elsif args.inputs.mouse.click.point.inside_rect?(args.state.clear_mailbox)
- current_text = args.gtk.read_file("app/mailbox.rb") || ''
- code = "$gtk.args.state.mailbox_values = []"
- args.gtk.write_file(MAILBOX_SAVE_PATH, current_text + "\n" + code)
- end
- end
-
- args.state.mailbox_values.each_with_index.map do |v, i|
- args.outputs.labels << [640, 680 + i * -30, v]
- end
-end
diff --git a/samples/21_mailbox_usage/replay.txt b/samples/21_mailbox_usage/replay.txt
deleted file mode 100644
index 5232057..0000000
--- a/samples/21_mailbox_usage/replay.txt
+++ /dev/null
@@ -1,123 +0,0 @@
-replay_version 2.0
-stopped_at 605
-seed 100
-recorded_at Sun Sep 29 23:11:00 2019
-[:mouse_move, 87, 234, 2, 1, 29]
-[:mouse_move, 95, 238, 2, 2, 30]
-[:mouse_move, 111, 246, 2, 3, 31]
-[:mouse_move, 119, 251, 2, 4, 32]
-[:mouse_move, 152, 267, 2, 5, 33]
-[:mouse_move, 159, 271, 2, 6, 34]
-[:mouse_move, 180, 284, 2, 7, 35]
-[:mouse_move, 183, 286, 2, 8, 36]
-[:mouse_move, 194, 294, 2, 9, 37]
-[:mouse_move, 197, 296, 2, 10, 38]
-[:mouse_move, 200, 302, 2, 11, 39]
-[:mouse_move, 200, 304, 2, 12, 40]
-[:mouse_move, 199, 311, 2, 13, 41]
-[:mouse_move, 198, 316, 2, 14, 42]
-[:mouse_move, 196, 321, 2, 15, 43]
-[:mouse_move, 196, 324, 2, 16, 44]
-[:mouse_move, 196, 330, 2, 17, 45]
-[:mouse_move, 199, 331, 2, 18, 46]
-[:mouse_move, 204, 332, 2, 19, 47]
-[:mouse_move, 223, 333, 2, 20, 48]
-[:mouse_move, 246, 333, 2, 21, 49]
-[:mouse_move, 271, 330, 2, 22, 50]
-[:mouse_move, 277, 329, 2, 23, 51]
-[:mouse_move, 290, 329, 2, 24, 52]
-[:mouse_move, 295, 328, 2, 25, 53]
-[:mouse_move, 302, 328, 2, 26, 54]
-[:mouse_move, 303, 328, 2, 27, 55]
-[:mouse_move, 304, 328, 2, 28, 56]
-[:mouse_move, 305, 328, 2, 29, 57]
-[:mouse_button_pressed, 1, 0, 1, 30, 64]
-[:mouse_button_up, 1, 0, 1, 31, 73]
-[:mouse_button_pressed, 1, 0, 1, 32, 113]
-[:mouse_button_up, 1, 0, 1, 33, 118]
-[:mouse_button_pressed, 1, 0, 1, 34, 125]
-[:mouse_button_up, 1, 0, 1, 35, 129]
-[:mouse_button_pressed, 1, 0, 1, 36, 134]
-[:mouse_button_up, 1, 0, 1, 37, 140]
-[:mouse_button_pressed, 1, 0, 1, 38, 144]
-[:mouse_button_up, 1, 0, 1, 39, 149]
-[:mouse_button_pressed, 1, 0, 1, 40, 156]
-[:mouse_button_up, 1, 0, 1, 41, 162]
-[:mouse_move, 305, 338, 2, 42, 259]
-[:mouse_move, 304, 346, 2, 43, 260]
-[:mouse_move, 303, 361, 2, 44, 261]
-[:mouse_move, 301, 370, 2, 45, 262]
-[:mouse_move, 298, 379, 2, 46, 263]
-[:mouse_move, 297, 385, 2, 47, 264]
-[:mouse_move, 296, 388, 2, 48, 265]
-[:mouse_move, 294, 392, 2, 49, 266]
-[:mouse_move, 294, 394, 2, 50, 267]
-[:mouse_move, 293, 395, 2, 51, 268]
-[:mouse_move, 293, 396, 2, 52, 269]
-[:mouse_button_pressed, 1, 0, 1, 53, 291]
-[:mouse_button_up, 1, 0, 1, 54, 297]
-[:mouse_move, 293, 395, 2, 55, 324]
-[:mouse_move, 295, 387, 2, 56, 325]
-[:mouse_move, 297, 374, 2, 57, 326]
-[:mouse_move, 299, 366, 2, 58, 327]
-[:mouse_move, 300, 358, 2, 59, 328]
-[:mouse_move, 301, 354, 2, 60, 329]
-[:mouse_move, 302, 349, 2, 61, 330]
-[:mouse_move, 303, 348, 2, 62, 331]
-[:mouse_move, 303, 347, 2, 63, 332]
-[:mouse_move, 303, 346, 2, 64, 333]
-[:mouse_move, 303, 345, 2, 65, 338]
-[:mouse_move, 303, 344, 2, 66, 340]
-[:mouse_move, 304, 343, 2, 67, 342]
-[:mouse_move, 304, 342, 2, 68, 344]
-[:mouse_move, 304, 341, 2, 69, 345]
-[:mouse_move, 305, 339, 2, 70, 347]
-[:mouse_move, 305, 338, 2, 71, 349]
-[:mouse_button_pressed, 1, 0, 1, 72, 390]
-[:mouse_button_up, 1, 0, 1, 73, 397]
-[:mouse_button_pressed, 1, 0, 1, 74, 419]
-[:mouse_button_up, 1, 0, 1, 75, 425]
-[:mouse_button_pressed, 1, 0, 1, 76, 430]
-[:mouse_button_up, 1, 0, 1, 77, 436]
-[:mouse_button_pressed, 1, 0, 1, 78, 440]
-[:mouse_button_up, 1, 0, 1, 79, 445]
-[:mouse_button_pressed, 1, 0, 1, 80, 449]
-[:mouse_button_up, 1, 0, 1, 81, 454]
-[:mouse_button_pressed, 1, 0, 1, 82, 459]
-[:mouse_button_up, 1, 0, 1, 83, 464]
-[:mouse_move, 305, 341, 2, 84, 503]
-[:mouse_move, 305, 352, 2, 85, 504]
-[:mouse_move, 305, 356, 2, 86, 505]
-[:mouse_move, 305, 365, 2, 87, 506]
-[:mouse_move, 305, 370, 2, 88, 507]
-[:mouse_move, 305, 374, 2, 89, 508]
-[:mouse_move, 305, 379, 2, 90, 509]
-[:mouse_move, 305, 381, 2, 91, 510]
-[:mouse_move, 305, 385, 2, 92, 511]
-[:mouse_move, 305, 387, 2, 93, 512]
-[:mouse_move, 304, 390, 2, 94, 513]
-[:mouse_move, 304, 392, 2, 95, 514]
-[:mouse_move, 304, 394, 2, 96, 515]
-[:mouse_move, 304, 396, 2, 97, 516]
-[:mouse_move, 304, 397, 2, 98, 517]
-[:mouse_button_pressed, 1, 0, 1, 99, 535]
-[:mouse_button_up, 1, 0, 1, 100, 541]
-[:mouse_move, 304, 396, 2, 101, 553]
-[:mouse_move, 303, 389, 2, 102, 554]
-[:mouse_move, 302, 383, 2, 103, 555]
-[:mouse_move, 294, 352, 2, 104, 556]
-[:mouse_move, 286, 328, 2, 105, 557]
-[:mouse_move, 264, 263, 2, 106, 558]
-[:mouse_move, 251, 232, 2, 107, 559]
-[:mouse_move, 230, 190, 2, 108, 560]
-[:mouse_move, 217, 167, 2, 109, 561]
-[:mouse_move, 193, 128, 2, 110, 562]
-[:mouse_move, 171, 99, 2, 111, 563]
-[:mouse_move, 165, 90, 2, 112, 564]
-[:mouse_move, 144, 62, 2, 113, 565]
-[:mouse_move, 140, 56, 2, 114, 566]
-[:mouse_move, 126, 35, 2, 115, 567]
-[:mouse_move, 119, 27, 2, 116, 568]
-[:mouse_move, 109, 11, 2, 117, 569]
-[:mouse_move, 105, 5, 2, 118, 570]
-[:mouse_move, 99, 0, 2, 119, 571]
diff --git a/samples/23_isometric_grid/app/tests.rb b/samples/23_isometric_grid/app/tests.rb
deleted file mode 100644
index 925f321..0000000
--- a/samples/23_isometric_grid/app/tests.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-# For advanced users:
-# You can put some quick verification tests here, any method
-# that starts with the `test_` will be run when you save this file.
-
-# here is an example test and game
-
-class MySuperHappyFunGame
- attr_gtk
-
- def tick
- outputs.solids << [100, 100, 300, 300]
- end
-end
-
-def test_universe args, assert
- game = MySuperHappyFunGame.new
- game.args = args
- game.tick
- assert.true! args.outputs.solids.length == 1, "failure: a solid was not added after tick"
- assert.false! 1 == 2, "failure: some how, 1 equals 2, the world is ending"
- puts "test_universe completed successfully"
-end
-
-$gtk.tests.start
diff --git a/samples/26_jam_craft/sprites/circle-gray.png b/samples/26_jam_craft/sprites/circle-gray.png
deleted file mode 100644
index 960f191..0000000
--- a/samples/26_jam_craft/sprites/circle-gray.png
+++ /dev/null
Binary files differ
diff --git a/samples/25_3d_experiment_01_square/app/main.rb b/samples/99_genre_3d/3d_cube/app/main.rb
index fc95291..fc95291 100644
--- a/samples/25_3d_experiment_01_square/app/main.rb
+++ b/samples/99_genre_3d/3d_cube/app/main.rb
diff --git a/samples/25_3d_experiment_01_square/sprites/square-blue.png b/samples/99_genre_3d/3d_cube/sprites/square-blue.png
index b840849..b840849 100644
--- a/samples/25_3d_experiment_01_square/sprites/square-blue.png
+++ b/samples/99_genre_3d/3d_cube/sprites/square-blue.png
Binary files differ
diff --git a/samples/99_sample_game_dueling_starships/app/main.rb b/samples/99_genre_arcade/dueling_starships/app/main.rb
index 8adcf3d..8adcf3d 100644
--- a/samples/99_sample_game_dueling_starships/app/main.rb
+++ b/samples/99_genre_arcade/dueling_starships/app/main.rb
diff --git a/samples/23_isometric_grid/license-for-sample.txt b/samples/99_genre_arcade/dueling_starships/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/23_isometric_grid/license-for-sample.txt
+++ b/samples/99_genre_arcade/dueling_starships/license-for-sample.txt
diff --git a/samples/99_sample_game_dueling_starships/replay.txt b/samples/99_genre_arcade/dueling_starships/replay.txt
index ffecec8..ffecec8 100644
--- a/samples/99_sample_game_dueling_starships/replay.txt
+++ b/samples/99_genre_arcade/dueling_starships/replay.txt
diff --git a/samples/99_sample_game_dueling_starships/sprites/blue_bullet.png b/samples/99_genre_arcade/dueling_starships/sprites/blue_bullet.png
index 78ae7d0..78ae7d0 100644
--- a/samples/99_sample_game_dueling_starships/sprites/blue_bullet.png
+++ b/samples/99_genre_arcade/dueling_starships/sprites/blue_bullet.png
Binary files differ
diff --git a/samples/99_sample_game_dueling_starships/sprites/flame.png b/samples/99_genre_arcade/dueling_starships/sprites/flame.png
index 6143f2f..6143f2f 100644
--- a/samples/99_sample_game_dueling_starships/sprites/flame.png
+++ b/samples/99_genre_arcade/dueling_starships/sprites/flame.png
Binary files differ
diff --git a/samples/99_sample_game_dueling_starships/sprites/red_bullet.png b/samples/99_genre_arcade/dueling_starships/sprites/red_bullet.png
index 3bb6219..3bb6219 100644
--- a/samples/99_sample_game_dueling_starships/sprites/red_bullet.png
+++ b/samples/99_genre_arcade/dueling_starships/sprites/red_bullet.png
Binary files differ
diff --git a/samples/99_sample_game_dueling_starships/sprites/ship_blue.png b/samples/99_genre_arcade/dueling_starships/sprites/ship_blue.png
index 3ef5f0b..3ef5f0b 100644
--- a/samples/99_sample_game_dueling_starships/sprites/ship_blue.png
+++ b/samples/99_genre_arcade/dueling_starships/sprites/ship_blue.png
Binary files differ
diff --git a/samples/99_sample_game_dueling_starships/sprites/ship_red.png b/samples/99_genre_arcade/dueling_starships/sprites/ship_red.png
index af729b7..af729b7 100644
--- a/samples/99_sample_game_dueling_starships/sprites/ship_red.png
+++ b/samples/99_genre_arcade/dueling_starships/sprites/ship_red.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/CREDITS.txt b/samples/99_genre_arcade/flappy_dragon/CREDITS.txt
index e02ebbd..e02ebbd 100644
--- a/samples/99_sample_game_flappy_dragon/CREDITS.txt
+++ b/samples/99_genre_arcade/flappy_dragon/CREDITS.txt
diff --git a/samples/99_sample_game_flappy_dragon/app/main.rb b/samples/99_genre_arcade/flappy_dragon/app/main.rb
index 56ce3ec..56ce3ec 100644
--- a/samples/99_sample_game_flappy_dragon/app/main.rb
+++ b/samples/99_genre_arcade/flappy_dragon/app/main.rb
diff --git a/samples/99_sample_game_flappy_dragon/license-for-sample.txt b/samples/99_genre_arcade/flappy_dragon/license-for-sample.txt
index c25563f..c25563f 100644
--- a/samples/99_sample_game_flappy_dragon/license-for-sample.txt
+++ b/samples/99_genre_arcade/flappy_dragon/license-for-sample.txt
diff --git a/samples/99_sample_game_flappy_dragon/metadata/game_metadata.txt b/samples/99_genre_arcade/flappy_dragon/metadata/game_metadata.txt
index 022ab17..022ab17 100644
--- a/samples/99_sample_game_flappy_dragon/metadata/game_metadata.txt
+++ b/samples/99_genre_arcade/flappy_dragon/metadata/game_metadata.txt
diff --git a/samples/99_sample_game_flappy_dragon/replay.txt b/samples/99_genre_arcade/flappy_dragon/replay.txt
index 3640a47..3640a47 100644
--- a/samples/99_sample_game_flappy_dragon/replay.txt
+++ b/samples/99_genre_arcade/flappy_dragon/replay.txt
diff --git a/samples/99_sample_game_flappy_dragon/sounds/flappy-song.ogg b/samples/99_genre_arcade/flappy_dragon/sounds/flappy-song.ogg
index aa02e8b..aa02e8b 100644
--- a/samples/99_sample_game_flappy_dragon/sounds/flappy-song.ogg
+++ b/samples/99_genre_arcade/flappy_dragon/sounds/flappy-song.ogg
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sounds/fly-sound.wav b/samples/99_genre_arcade/flappy_dragon/sounds/fly-sound.wav
index d621920..d621920 100644
--- a/samples/99_sample_game_flappy_dragon/sounds/fly-sound.wav
+++ b/samples/99_genre_arcade/flappy_dragon/sounds/fly-sound.wav
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sounds/hit-sound.wav b/samples/99_genre_arcade/flappy_dragon/sounds/hit-sound.wav
index a701537..a701537 100644
--- a/samples/99_sample_game_flappy_dragon/sounds/hit-sound.wav
+++ b/samples/99_genre_arcade/flappy_dragon/sounds/hit-sound.wav
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/background.png b/samples/99_genre_arcade/flappy_dragon/sprites/background.png
index 6a0a42b..6a0a42b 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/background.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/background.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/dragon_die.png b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_die.png
index bb312e9..bb312e9 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/dragon_die.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_die.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly1.png b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly1.png
index fb179af..fb179af 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly1.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly1.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly2.png b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly2.png
index 8cfe531..8cfe531 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly2.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly2.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly3.png b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly3.png
index cb462e1..cb462e1 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly3.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly3.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly4.png b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly4.png
index 04c4977..04c4977 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly4.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly4.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly5.png b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly5.png
index b29fa3d..b29fa3d 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly5.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly5.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly6.png b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly6.png
index 99f4e74..99f4e74 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/dragon_fly6.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/dragon_fly6.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/parallax_back.png b/samples/99_genre_arcade/flappy_dragon/sprites/parallax_back.png
index 15c7e2f..15c7e2f 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/parallax_back.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/parallax_back.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/parallax_front.png b/samples/99_genre_arcade/flappy_dragon/sprites/parallax_front.png
index 44d6a8a..44d6a8a 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/parallax_front.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/parallax_front.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/parallax_middle.png b/samples/99_genre_arcade/flappy_dragon/sprites/parallax_middle.png
index a3c16b1..a3c16b1 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/parallax_middle.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/parallax_middle.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/wall.png b/samples/99_genre_arcade/flappy_dragon/sprites/wall.png
index fe94955..fe94955 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/wall.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/wall.png
Binary files differ
diff --git a/samples/99_sample_game_flappy_dragon/sprites/wallbottom.png b/samples/99_genre_arcade/flappy_dragon/sprites/wallbottom.png
index 1668be8..1668be8 100644
--- a/samples/99_sample_game_flappy_dragon/sprites/wallbottom.png
+++ b/samples/99_genre_arcade/flappy_dragon/sprites/wallbottom.png
Binary files differ
diff --git a/samples/99_sample_game_pong/app/main.rb b/samples/99_genre_arcade/pong/app/main.rb
index bd4eb45..bd4eb45 100644
--- a/samples/99_sample_game_pong/app/main.rb
+++ b/samples/99_genre_arcade/pong/app/main.rb
diff --git a/samples/24_http_example/license-for-sample.txt b/samples/99_genre_arcade/pong/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/24_http_example/license-for-sample.txt
+++ b/samples/99_genre_arcade/pong/license-for-sample.txt
diff --git a/samples/99_sample_game_pong/replay.txt b/samples/99_genre_arcade/pong/replay.txt
index c7cc8ed..c7cc8ed 100644
--- a/samples/99_sample_game_pong/replay.txt
+++ b/samples/99_genre_arcade/pong/replay.txt
diff --git a/samples/99_sample_snakemoji/app/main.rb b/samples/99_genre_arcade/snakemoji/app/main.rb
index 3bffa22..3bffa22 100644
--- a/samples/99_sample_snakemoji/app/main.rb
+++ b/samples/99_genre_arcade/snakemoji/app/main.rb
diff --git a/samples/99_sample_snakemoji/license-for-sample.txt b/samples/99_genre_arcade/snakemoji/license-for-sample.txt
index 376dd0e..376dd0e 100644
--- a/samples/99_sample_snakemoji/license-for-sample.txt
+++ b/samples/99_genre_arcade/snakemoji/license-for-sample.txt
diff --git a/samples/99_sample_snakemoji/replay.txt b/samples/99_genre_arcade/snakemoji/replay.txt
index 48b3833..48b3833 100644
--- a/samples/99_sample_snakemoji/replay.txt
+++ b/samples/99_genre_arcade/snakemoji/replay.txt
diff --git a/samples/99_sample_nddnug_workshop/app/main.rb b/samples/99_genre_arcade/solar_system/app/main.rb
index 273c36a..273c36a 100644
--- a/samples/99_sample_nddnug_workshop/app/main.rb
+++ b/samples/99_genre_arcade/solar_system/app/main.rb
diff --git a/samples/99_sample_nddnug_workshop/license-for-sample.txt b/samples/99_genre_arcade/solar_system/license-for-sample.txt
index 2f938ad..2f938ad 100644
--- a/samples/99_sample_nddnug_workshop/license-for-sample.txt
+++ b/samples/99_genre_arcade/solar_system/license-for-sample.txt
diff --git a/samples/99_sample_nddnug_workshop/replay.txt b/samples/99_genre_arcade/solar_system/replay.txt
index 948639c..948639c 100644
--- a/samples/99_sample_nddnug_workshop/replay.txt
+++ b/samples/99_genre_arcade/solar_system/replay.txt
diff --git a/samples/99_sample_game_the_little_probe/sounds/bg.ogg b/samples/99_genre_arcade/solar_system/sounds/bg.ogg
index 8a02a75..8a02a75 100644
--- a/samples/99_sample_game_the_little_probe/sounds/bg.ogg
+++ b/samples/99_genre_arcade/solar_system/sounds/bg.ogg
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/earth.png b/samples/99_genre_arcade/solar_system/sprites/earth.png
index 294f3aa..294f3aa 100644
--- a/samples/99_sample_nddnug_workshop/sprites/earth.png
+++ b/samples/99_genre_arcade/solar_system/sprites/earth.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/jupiter.png b/samples/99_genre_arcade/solar_system/sprites/jupiter.png
index b128b0e..b128b0e 100644
--- a/samples/99_sample_nddnug_workshop/sprites/jupiter.png
+++ b/samples/99_genre_arcade/solar_system/sprites/jupiter.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/mars.png b/samples/99_genre_arcade/solar_system/sprites/mars.png
index 5d0f8ed..5d0f8ed 100644
--- a/samples/99_sample_nddnug_workshop/sprites/mars.png
+++ b/samples/99_genre_arcade/solar_system/sprites/mars.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/mercury.png b/samples/99_genre_arcade/solar_system/sprites/mercury.png
index 3ace04d..3ace04d 100644
--- a/samples/99_sample_nddnug_workshop/sprites/mercury.png
+++ b/samples/99_genre_arcade/solar_system/sprites/mercury.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/neptune.png b/samples/99_genre_arcade/solar_system/sprites/neptune.png
index 1f22686..1f22686 100644
--- a/samples/99_sample_nddnug_workshop/sprites/neptune.png
+++ b/samples/99_genre_arcade/solar_system/sprites/neptune.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/orbit.png b/samples/99_genre_arcade/solar_system/sprites/orbit.png
index 39d0891..39d0891 100644
--- a/samples/99_sample_nddnug_workshop/sprites/orbit.png
+++ b/samples/99_genre_arcade/solar_system/sprites/orbit.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/particle.png b/samples/99_genre_arcade/solar_system/sprites/particle.png
index 6143f2f..6143f2f 100644
--- a/samples/99_sample_nddnug_workshop/sprites/particle.png
+++ b/samples/99_genre_arcade/solar_system/sprites/particle.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/pluto.png b/samples/99_genre_arcade/solar_system/sprites/pluto.png
index 2d9916c..2d9916c 100644
--- a/samples/99_sample_nddnug_workshop/sprites/pluto.png
+++ b/samples/99_genre_arcade/solar_system/sprites/pluto.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/saturn.png b/samples/99_genre_arcade/solar_system/sprites/saturn.png
index 8ca95a8..8ca95a8 100644
--- a/samples/99_sample_nddnug_workshop/sprites/saturn.png
+++ b/samples/99_genre_arcade/solar_system/sprites/saturn.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/ship.png b/samples/99_genre_arcade/solar_system/sprites/ship.png
index 3ef5f0b..3ef5f0b 100644
--- a/samples/99_sample_nddnug_workshop/sprites/ship.png
+++ b/samples/99_genre_arcade/solar_system/sprites/ship.png
Binary files differ
diff --git a/samples/14_sprite_limits/sprites/star.png b/samples/99_genre_arcade/solar_system/sprites/star.png
index e0ee0f9..e0ee0f9 100644
--- a/samples/14_sprite_limits/sprites/star.png
+++ b/samples/99_genre_arcade/solar_system/sprites/star.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/sun.png b/samples/99_genre_arcade/solar_system/sprites/sun.png
index 9ee3cba..9ee3cba 100644
--- a/samples/99_sample_nddnug_workshop/sprites/sun.png
+++ b/samples/99_genre_arcade/solar_system/sprites/sun.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/uranus.png b/samples/99_genre_arcade/solar_system/sprites/uranus.png
index bb9c206..bb9c206 100644
--- a/samples/99_sample_nddnug_workshop/sprites/uranus.png
+++ b/samples/99_genre_arcade/solar_system/sprites/uranus.png
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sprites/venus.png b/samples/99_genre_arcade/solar_system/sprites/venus.png
index 28ac8e4..28ac8e4 100644
--- a/samples/99_sample_nddnug_workshop/sprites/venus.png
+++ b/samples/99_genre_arcade/solar_system/sprites/venus.png
Binary files differ
diff --git a/samples/26_jam_craft/app/main.rb b/samples/99_genre_crafting/craft_game_starting_point/app/main.rb
index d7478e4..d7478e4 100644
--- a/samples/26_jam_craft/app/main.rb
+++ b/samples/99_genre_crafting/craft_game_starting_point/app/main.rb
diff --git a/samples/21_mailbox_usage/license-for-sample-app.txt b/samples/99_genre_crafting/craft_game_starting_point/license-for-sample-app.txt
index 100dcec..100dcec 100644
--- a/samples/21_mailbox_usage/license-for-sample-app.txt
+++ b/samples/99_genre_crafting/craft_game_starting_point/license-for-sample-app.txt
diff --git a/samples/26_jam_craft/replay.txt b/samples/99_genre_crafting/craft_game_starting_point/replay.txt
index 67f1963..67f1963 100644
--- a/samples/26_jam_craft/replay.txt
+++ b/samples/99_genre_crafting/craft_game_starting_point/replay.txt
diff --git a/samples/26_jam_craft/sprites/border-black.png b/samples/99_genre_crafting/craft_game_starting_point/sprites/border-black.png
index c9d0bad..c9d0bad 100644
--- a/samples/26_jam_craft/sprites/border-black.png
+++ b/samples/99_genre_crafting/craft_game_starting_point/sprites/border-black.png
Binary files differ
diff --git a/samples/26_jam_craft/sprites/chest.png b/samples/99_genre_crafting/craft_game_starting_point/sprites/chest.png
index 9d8181c..9d8181c 100644
--- a/samples/26_jam_craft/sprites/chest.png
+++ b/samples/99_genre_crafting/craft_game_starting_point/sprites/chest.png
Binary files differ
diff --git a/samples/02_collision_04_ramp_with_debugging/sprites/circle-gray.png b/samples/99_genre_crafting/craft_game_starting_point/sprites/circle-gray.png
index 960f191..960f191 100644
--- a/samples/02_collision_04_ramp_with_debugging/sprites/circle-gray.png
+++ b/samples/99_genre_crafting/craft_game_starting_point/sprites/circle-gray.png
Binary files differ
diff --git a/samples/26_jam_craft/sprites/plank.png b/samples/99_genre_crafting/craft_game_starting_point/sprites/plank.png
index 80730f6..80730f6 100644
--- a/samples/26_jam_craft/sprites/plank.png
+++ b/samples/99_genre_crafting/craft_game_starting_point/sprites/plank.png
Binary files differ
diff --git a/samples/26_jam_craft/sprites/square-black.png b/samples/99_genre_crafting/craft_game_starting_point/sprites/square-black.png
index cea7bd7..cea7bd7 100644
--- a/samples/26_jam_craft/sprites/square-black.png
+++ b/samples/99_genre_crafting/craft_game_starting_point/sprites/square-black.png
Binary files differ
diff --git a/samples/26_jam_craft/sprites/square-blue.png b/samples/99_genre_crafting/craft_game_starting_point/sprites/square-blue.png
index b840849..b840849 100644
--- a/samples/26_jam_craft/sprites/square-blue.png
+++ b/samples/99_genre_crafting/craft_game_starting_point/sprites/square-blue.png
Binary files differ
diff --git a/samples/26_jam_craft/sprites/wood.png b/samples/99_genre_crafting/craft_game_starting_point/sprites/wood.png
index 9bf0200..9bf0200 100644
--- a/samples/26_jam_craft/sprites/wood.png
+++ b/samples/99_genre_crafting/craft_game_starting_point/sprites/wood.png
Binary files differ
diff --git a/samples/99_sample_sprite_animation_creator/app/main.rb b/samples/99_genre_dev_tools/animation_creator_starting_point/app/main.rb
index 14456e3..14456e3 100644
--- a/samples/99_sample_sprite_animation_creator/app/main.rb
+++ b/samples/99_genre_dev_tools/animation_creator_starting_point/app/main.rb
diff --git a/samples/99_sample_sprite_animation_creator/license-for-sample.txt b/samples/99_genre_dev_tools/animation_creator_starting_point/license-for-sample.txt
index 376dd0e..376dd0e 100644
--- a/samples/99_sample_sprite_animation_creator/license-for-sample.txt
+++ b/samples/99_genre_dev_tools/animation_creator_starting_point/license-for-sample.txt
diff --git a/samples/99_sample_sprite_animation_creator/replay.txt b/samples/99_genre_dev_tools/animation_creator_starting_point/replay.txt
index ca25af6..ca25af6 100644
--- a/samples/99_sample_sprite_animation_creator/replay.txt
+++ b/samples/99_genre_dev_tools/animation_creator_starting_point/replay.txt
diff --git a/samples/99_sample_game_clepto_frog/sprites/square-blue.png b/samples/99_genre_dev_tools/animation_creator_starting_point/sprites/square-blue.png
index b840849..b840849 100644
--- a/samples/99_sample_game_clepto_frog/sprites/square-blue.png
+++ b/samples/99_genre_dev_tools/animation_creator_starting_point/sprites/square-blue.png
Binary files differ
diff --git a/samples/99_sample_game_clepto_frog/sprites/square-white.png b/samples/99_genre_dev_tools/animation_creator_starting_point/sprites/square-white.png
index 378c565..378c565 100644
--- a/samples/99_sample_game_clepto_frog/sprites/square-white.png
+++ b/samples/99_genre_dev_tools/animation_creator_starting_point/sprites/square-white.png
Binary files differ
diff --git a/samples/05_mouse_move_tile_editor/app/main.rb b/samples/99_genre_dev_tools/tile_editor_starting_point/app/main.rb
index 95ccfdf..95ccfdf 100644
--- a/samples/05_mouse_move_tile_editor/app/main.rb
+++ b/samples/99_genre_dev_tools/tile_editor_starting_point/app/main.rb
diff --git a/samples/05_mouse_move_tile_editor/license-for-sample.txt b/samples/99_genre_dev_tools/tile_editor_starting_point/license-for-sample.txt
index 5c0563d..5c0563d 100644
--- a/samples/05_mouse_move_tile_editor/license-for-sample.txt
+++ b/samples/99_genre_dev_tools/tile_editor_starting_point/license-for-sample.txt
diff --git a/samples/05_mouse_move_tile_editor/replay.txt b/samples/99_genre_dev_tools/tile_editor_starting_point/replay.txt
index 7321a9f..7321a9f 100644
--- a/samples/05_mouse_move_tile_editor/replay.txt
+++ b/samples/99_genre_dev_tools/tile_editor_starting_point/replay.txt
diff --git a/samples/05_mouse_move_tile_editor/sprites/image1.png b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image1.png
index 887277c..887277c 100644
--- a/samples/05_mouse_move_tile_editor/sprites/image1.png
+++ b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image1.png
Binary files differ
diff --git a/samples/05_mouse_move_tile_editor/sprites/image2.png b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image2.png
index 71d6110..71d6110 100644
--- a/samples/05_mouse_move_tile_editor/sprites/image2.png
+++ b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image2.png
Binary files differ
diff --git a/samples/05_mouse_move_tile_editor/sprites/image3.png b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image3.png
index 841a104..841a104 100644
--- a/samples/05_mouse_move_tile_editor/sprites/image3.png
+++ b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image3.png
Binary files differ
diff --git a/samples/05_mouse_move_tile_editor/sprites/image4.png b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image4.png
index a2b0bd6..a2b0bd6 100644
--- a/samples/05_mouse_move_tile_editor/sprites/image4.png
+++ b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image4.png
Binary files differ
diff --git a/samples/05_mouse_move_tile_editor/sprites/image5.png b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image5.png
index 6aed318..6aed318 100644
--- a/samples/05_mouse_move_tile_editor/sprites/image5.png
+++ b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image5.png
Binary files differ
diff --git a/samples/05_mouse_move_tile_editor/sprites/image6.png b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image6.png
index c8045c8..c8045c8 100644
--- a/samples/05_mouse_move_tile_editor/sprites/image6.png
+++ b/samples/99_genre_dev_tools/tile_editor_starting_point/sprites/image6.png
Binary files differ
diff --git a/samples/19_lowrez_jam/app/lowrez.rb b/samples/99_genre_lowrez/resolution_64x64/app/lowrez.rb
index 78578e2..78578e2 100644
--- a/samples/19_lowrez_jam/app/lowrez.rb
+++ b/samples/99_genre_lowrez/resolution_64x64/app/lowrez.rb
diff --git a/samples/19_lowrez_jam/app/main.rb b/samples/99_genre_lowrez/resolution_64x64/app/main.rb
index a30d75a..a30d75a 100644
--- a/samples/19_lowrez_jam/app/main.rb
+++ b/samples/99_genre_lowrez/resolution_64x64/app/main.rb
diff --git a/samples/19_lowrez_jam/fonts/lowrez.ttf b/samples/99_genre_lowrez/resolution_64x64/fonts/lowrez.ttf
index 2682cb0..2682cb0 100644
--- a/samples/19_lowrez_jam/fonts/lowrez.ttf
+++ b/samples/99_genre_lowrez/resolution_64x64/fonts/lowrez.ttf
Binary files differ
diff --git a/samples/19_lowrez_jam/sprites/explosion-0.png b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-0.png
index f48636f..f48636f 100644
--- a/samples/19_lowrez_jam/sprites/explosion-0.png
+++ b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-0.png
Binary files differ
diff --git a/samples/19_lowrez_jam/sprites/explosion-1.png b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-1.png
index b4018d9..b4018d9 100644
--- a/samples/19_lowrez_jam/sprites/explosion-1.png
+++ b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-1.png
Binary files differ
diff --git a/samples/19_lowrez_jam/sprites/explosion-2.png b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-2.png
index 3abaedd..3abaedd 100644
--- a/samples/19_lowrez_jam/sprites/explosion-2.png
+++ b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-2.png
Binary files differ
diff --git a/samples/19_lowrez_jam/sprites/explosion-3.png b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-3.png
index fe94a5a..fe94a5a 100644
--- a/samples/19_lowrez_jam/sprites/explosion-3.png
+++ b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-3.png
Binary files differ
diff --git a/samples/19_lowrez_jam/sprites/explosion-4.png b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-4.png
index ed04237..ed04237 100644
--- a/samples/19_lowrez_jam/sprites/explosion-4.png
+++ b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-4.png
Binary files differ
diff --git a/samples/19_lowrez_jam/sprites/explosion-5.png b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-5.png
index 2cd8f06..2cd8f06 100644
--- a/samples/19_lowrez_jam/sprites/explosion-5.png
+++ b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-5.png
Binary files differ
diff --git a/samples/19_lowrez_jam/sprites/explosion-6.png b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-6.png
index e55909c..e55909c 100644
--- a/samples/19_lowrez_jam/sprites/explosion-6.png
+++ b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-6.png
Binary files differ
diff --git a/samples/19_lowrez_jam/sprites/explosion-sheet.png b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-sheet.png
index 8559a5c..8559a5c 100644
--- a/samples/19_lowrez_jam/sprites/explosion-sheet.png
+++ b/samples/99_genre_lowrez/resolution_64x64/sprites/explosion-sheet.png
Binary files differ
diff --git a/samples/19_lowrez_jam/sprites/lowrez-ship-blue.png b/samples/99_genre_lowrez/resolution_64x64/sprites/lowrez-ship-blue.png
index 7a3d3aa..7a3d3aa 100644
--- a/samples/19_lowrez_jam/sprites/lowrez-ship-blue.png
+++ b/samples/99_genre_lowrez/resolution_64x64/sprites/lowrez-ship-blue.png
Binary files differ
diff --git a/samples/19_lowrez_jam/sprites/lowrez-ship-red.png b/samples/99_genre_lowrez/resolution_64x64/sprites/lowrez-ship-red.png
index dd1a1d4..dd1a1d4 100644
--- a/samples/19_lowrez_jam/sprites/lowrez-ship-red.png
+++ b/samples/99_genre_lowrez/resolution_64x64/sprites/lowrez-ship-red.png
Binary files differ
diff --git a/samples/18_moddable_game/app/decision.rb b/samples/99_genre_narrative_rpg/choose_your_own_adventure/app/decision.rb
index 2921076..2921076 100644
--- a/samples/18_moddable_game/app/decision.rb
+++ b/samples/99_genre_narrative_rpg/choose_your_own_adventure/app/decision.rb
diff --git a/samples/18_moddable_game/app/main.rb b/samples/99_genre_narrative_rpg/choose_your_own_adventure/app/main.rb
index 22faad1..22faad1 100644
--- a/samples/18_moddable_game/app/main.rb
+++ b/samples/99_genre_narrative_rpg/choose_your_own_adventure/app/main.rb
diff --git a/samples/99_sample_game_dueling_starships/license-for-sample.txt b/samples/99_genre_narrative_rpg/choose_your_own_adventure/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/99_sample_game_dueling_starships/license-for-sample.txt
+++ b/samples/99_genre_narrative_rpg/choose_your_own_adventure/license-for-sample.txt
diff --git a/samples/18_moddable_game/replay.txt b/samples/99_genre_narrative_rpg/choose_your_own_adventure/replay.txt
index 7de4ea1..7de4ea1 100644
--- a/samples/18_moddable_game/replay.txt
+++ b/samples/99_genre_narrative_rpg/choose_your_own_adventure/replay.txt
diff --git a/samples/99_sample_game_return_of_serenity/app/lowrez_simulator.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/lowrez_simulator.rb
index cc1e021..cc1e021 100644
--- a/samples/99_sample_game_return_of_serenity/app/lowrez_simulator.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/lowrez_simulator.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/main.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/main.rb
index b6573a3..b6573a3 100644
--- a/samples/99_sample_game_return_of_serenity/app/main.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/main.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/repl.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/repl.rb
index a59baf5..a59baf5 100644
--- a/samples/99_sample_game_return_of_serenity/app/repl.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/repl.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/require.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/require.rb
index 35d0ff0..35d0ff0 100644
--- a/samples/99_sample_game_return_of_serenity/app/require.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/require.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/storyline.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline.rb
index e881861..e881861 100644
--- a/samples/99_sample_game_return_of_serenity/app/storyline.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/storyline_anka.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_anka.rb
index bad7795..bad7795 100644
--- a/samples/99_sample_game_return_of_serenity/app/storyline_anka.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_anka.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/storyline_blinking_light.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_blinking_light.rb
index ba9e8a2..ba9e8a2 100644
--- a/samples/99_sample_game_return_of_serenity/app/storyline_blinking_light.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_blinking_light.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/storyline_day_one.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_day_one.rb
index 24b2b45..24b2b45 100644
--- a/samples/99_sample_game_return_of_serenity/app/storyline_day_one.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_day_one.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/storyline_final_decision.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_decision.rb
index 0ea190f..0ea190f 100644
--- a/samples/99_sample_game_return_of_serenity/app/storyline_final_decision.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_decision.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/storyline_final_message.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_message.rb
index c7737e2..c7737e2 100644
--- a/samples/99_sample_game_return_of_serenity/app/storyline_final_message.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_final_message.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/storyline_serenity_alive.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_alive.rb
index 4407699..4407699 100644
--- a/samples/99_sample_game_return_of_serenity/app/storyline_serenity_alive.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_alive.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/storyline_serenity_bio.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_bio.rb
index 587f5f4..587f5f4 100644
--- a/samples/99_sample_game_return_of_serenity/app/storyline_serenity_bio.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_bio.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/storyline_serenity_introduction.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_introduction.rb
index d1a5a50..d1a5a50 100644
--- a/samples/99_sample_game_return_of_serenity/app/storyline_serenity_introduction.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_serenity_introduction.rb
diff --git a/samples/99_sample_game_return_of_serenity/app/storyline_speed_of_light.rb b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_speed_of_light.rb
index fdd6b47..fdd6b47 100644
--- a/samples/99_sample_game_return_of_serenity/app/storyline_speed_of_light.rb
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/app/storyline_speed_of_light.rb
diff --git a/samples/99_sample_game_return_of_serenity/fonts/dragonruby-gtk-4x4.ttf b/samples/99_genre_narrative_rpg/return_of_serenity/fonts/dragonruby-gtk-4x4.ttf
index 24cc711..24cc711 100644
--- a/samples/99_sample_game_return_of_serenity/fonts/dragonruby-gtk-4x4.ttf
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/fonts/dragonruby-gtk-4x4.ttf
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/fonts/manaspc.ttf b/samples/99_genre_narrative_rpg/return_of_serenity/fonts/manaspc.ttf
index 0c56733..0c56733 100644
--- a/samples/99_sample_game_return_of_serenity/fonts/manaspc.ttf
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/fonts/manaspc.ttf
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/license-for-sample.txt b/samples/99_genre_narrative_rpg/return_of_serenity/license-for-sample.txt
index b1005ed..b1005ed 100644
--- a/samples/99_sample_game_return_of_serenity/license-for-sample.txt
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/license-for-sample.txt
diff --git a/samples/99_sample_game_return_of_serenity/replay.txt b/samples/99_genre_narrative_rpg/return_of_serenity/replay.txt
index 428883e..428883e 100644
--- a/samples/99_sample_game_return_of_serenity/replay.txt
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/replay.txt
diff --git a/samples/99_sample_game_return_of_serenity/sounds/music-loop.ogg b/samples/99_genre_narrative_rpg/return_of_serenity/sounds/music-loop.ogg
index bec1275..bec1275 100644
--- a/samples/99_sample_game_return_of_serenity/sounds/music-loop.ogg
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sounds/music-loop.ogg
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sounds/static-loop.ogg b/samples/99_genre_narrative_rpg/return_of_serenity/sounds/static-loop.ogg
index bb4ac6b..bb4ac6b 100644
--- a/samples/99_sample_game_return_of_serenity/sounds/static-loop.ogg
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sounds/static-loop.ogg
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/book.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/book.png
index 97859c0..97859c0 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/book.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/book.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/decision.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/decision.png
index e323cea..e323cea 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/decision.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/decision.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/dream.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/dream.png
index 0b6f982..0b6f982 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/dream.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/dream.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/front-of-home.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/front-of-home.png
index ca865fe..ca865fe 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/front-of-home.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/front-of-home.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/inside-home.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-home.png
index 3bc4804..3bc4804 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/inside-home.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-home.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/inside-observatory.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-observatory.png
index af1d25d..af1d25d 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/inside-observatory.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/inside-observatory.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/label-background.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/label-background.png
index 80a682f..80a682f 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/label-background.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/label-background.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/library.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/library.png
index 60f8908..60f8908 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/library.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/library.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/mainframe.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/mainframe.png
index aed8813..aed8813 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/mainframe.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/mainframe.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/mountain-pass-zoomed-out.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/mountain-pass-zoomed-out.png
index b39ab78..b39ab78 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/mountain-pass-zoomed-out.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/mountain-pass-zoomed-out.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/observatory.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/observatory.png
index 925886b..925886b 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/observatory.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/observatory.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/outside-library.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/outside-library.png
index df42ccf..df42ccf 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/outside-library.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/outside-library.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/path-to-observatory.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/path-to-observatory.png
index 7e740ac..7e740ac 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/path-to-observatory.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/path-to-observatory.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/pc.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/pc.png
index e5f4218..e5f4218 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/pc.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/pc.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/planets.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/planets.png
index 537dd8f..537dd8f 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/planets.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/planets.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/player-down.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-down.png
index 161ea69..161ea69 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/player-down.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-down.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/player-left.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-left.png
index 5f682fd..5f682fd 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/player-left.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-left.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/player-right.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-right.png
index 798f97e..798f97e 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/player-right.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-right.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/player-up.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-up.png
index 161ea69..161ea69 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/player-up.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-up.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/player-zoomed-out.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-zoomed-out.png
index 804cd72..804cd72 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/player-zoomed-out.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/player-zoomed-out.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/serenity.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/serenity.png
index def5bea..def5bea 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/serenity.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/serenity.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/side-of-home.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/side-of-home.png
index 6a17e93..6a17e93 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/side-of-home.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/side-of-home.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/square.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/square.png
index 80a682f..80a682f 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/square.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/square.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/todo.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/todo.png
index 5cd3b13..5cd3b13 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/todo.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/todo.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/tribute-game-over.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute-game-over.png
index 99991fb..99991fb 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/tribute-game-over.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute-game-over.png
Binary files differ
diff --git a/samples/99_sample_game_return_of_serenity/sprites/tribute.png b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute.png
index 8686cca..8686cca 100644
--- a/samples/99_sample_game_return_of_serenity/sprites/tribute.png
+++ b/samples/99_genre_narrative_rpg/return_of_serenity/sprites/tribute.png
Binary files differ
diff --git a/samples/99_sample_game_clepto_frog/app/main.rb b/samples/99_genre_platformer/clepto_frog/app/main.rb
index a4eb069..a4eb069 100644
--- a/samples/99_sample_game_clepto_frog/app/main.rb
+++ b/samples/99_genre_platformer/clepto_frog/app/main.rb
diff --git a/samples/99_sample_game_clepto_frog/app/map.rb b/samples/99_genre_platformer/clepto_frog/app/map.rb
index c048c82..c048c82 100644
--- a/samples/99_sample_game_clepto_frog/app/map.rb
+++ b/samples/99_genre_platformer/clepto_frog/app/map.rb
diff --git a/samples/99_sample_game_clepto_frog/metadata/game_metadata.txt b/samples/99_genre_platformer/clepto_frog/metadata/game_metadata.txt
index 7b3f61e..7b3f61e 100644
--- a/samples/99_sample_game_clepto_frog/metadata/game_metadata.txt
+++ b/samples/99_genre_platformer/clepto_frog/metadata/game_metadata.txt
diff --git a/samples/99_sample_game_clepto_frog/sprites/level-map.png b/samples/99_genre_platformer/clepto_frog/sprites/level-map.png
index f590be4..f590be4 100644
--- a/samples/99_sample_game_clepto_frog/sprites/level-map.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/level-map.png
Binary files differ
diff --git a/samples/99_sample_game_clepto_frog/sprites/square-black.png b/samples/99_genre_platformer/clepto_frog/sprites/square-black.png
index cea7bd7..cea7bd7 100644
--- a/samples/99_sample_game_clepto_frog/sprites/square-black.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/square-black.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/square-blue.png b/samples/99_genre_platformer/clepto_frog/sprites/square-blue.png
index b840849..b840849 100644
--- a/samples/99_sample_game_the_little_probe/sprites/square-blue.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/square-blue.png
Binary files differ
diff --git a/samples/99_sample_game_clepto_frog/sprites/square-gray.png b/samples/99_genre_platformer/clepto_frog/sprites/square-gray.png
index 2142b30..2142b30 100644
--- a/samples/99_sample_game_clepto_frog/sprites/square-gray.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/square-gray.png
Binary files differ
diff --git a/samples/99_sample_game_clepto_frog/sprites/square-green.png b/samples/99_genre_platformer/clepto_frog/sprites/square-green.png
index 5ef7f75..5ef7f75 100644
--- a/samples/99_sample_game_clepto_frog/sprites/square-green.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/square-green.png
Binary files differ
diff --git a/samples/99_sample_game_clepto_frog/sprites/square-indigo.png b/samples/99_genre_platformer/clepto_frog/sprites/square-indigo.png
index 2384108..2384108 100644
--- a/samples/99_sample_game_clepto_frog/sprites/square-indigo.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/square-indigo.png
Binary files differ
diff --git a/samples/99_sample_game_clepto_frog/sprites/square-orange.png b/samples/99_genre_platformer/clepto_frog/sprites/square-orange.png
index bb1eee7..bb1eee7 100644
--- a/samples/99_sample_game_clepto_frog/sprites/square-orange.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/square-orange.png
Binary files differ
diff --git a/samples/99_sample_game_clepto_frog/sprites/square-pink.png b/samples/99_genre_platformer/clepto_frog/sprites/square-pink.png
index 3bbb63a..3bbb63a 100644
--- a/samples/99_sample_game_clepto_frog/sprites/square-pink.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/square-pink.png
Binary files differ
diff --git a/samples/99_sample_game_clepto_frog/sprites/square-red.png b/samples/99_genre_platformer/clepto_frog/sprites/square-red.png
index 3ed5f13..3ed5f13 100644
--- a/samples/99_sample_game_clepto_frog/sprites/square-red.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/square-red.png
Binary files differ
diff --git a/samples/99_sample_game_clepto_frog/sprites/square-violet.png b/samples/99_genre_platformer/clepto_frog/sprites/square-violet.png
index 333540c..333540c 100644
--- a/samples/99_sample_game_clepto_frog/sprites/square-violet.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/square-violet.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/square-white.png b/samples/99_genre_platformer/clepto_frog/sprites/square-white.png
index 378c565..378c565 100644
--- a/samples/99_sample_game_the_little_probe/sprites/square-white.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/square-white.png
Binary files differ
diff --git a/samples/99_sample_game_clepto_frog/sprites/square-yellow.png b/samples/99_genre_platformer/clepto_frog/sprites/square-yellow.png
index 0edeeec..0edeeec 100644
--- a/samples/99_sample_game_clepto_frog/sprites/square-yellow.png
+++ b/samples/99_genre_platformer/clepto_frog/sprites/square-yellow.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/CREDITS.txt b/samples/99_genre_platformer/gorillas_basic/CREDITS.txt
index 7503a2a..7503a2a 100644
--- a/samples/99_sample_game_basic_gorillas/CREDITS.txt
+++ b/samples/99_genre_platformer/gorillas_basic/CREDITS.txt
diff --git a/samples/99_sample_game_basic_gorillas/app/main.rb b/samples/99_genre_platformer/gorillas_basic/app/main.rb
index 53f9a4f..53f9a4f 100644
--- a/samples/99_sample_game_basic_gorillas/app/main.rb
+++ b/samples/99_genre_platformer/gorillas_basic/app/main.rb
diff --git a/samples/99_sample_game_basic_gorillas/app/repl.rb b/samples/99_genre_platformer/gorillas_basic/app/repl.rb
index 4428c4b..4428c4b 100644
--- a/samples/99_sample_game_basic_gorillas/app/repl.rb
+++ b/samples/99_genre_platformer/gorillas_basic/app/repl.rb
diff --git a/samples/99_sample_game_basic_gorillas/app/tests.rb b/samples/99_genre_platformer/gorillas_basic/app/tests.rb
index e108574..e108574 100644
--- a/samples/99_sample_game_basic_gorillas/app/tests.rb
+++ b/samples/99_genre_platformer/gorillas_basic/app/tests.rb
diff --git a/samples/99_sample_game_basic_gorillas/app/tests/building_generation_tests.rb b/samples/99_genre_platformer/gorillas_basic/app/tests/building_generation_tests.rb
index bbad57a..bbad57a 100644
--- a/samples/99_sample_game_basic_gorillas/app/tests/building_generation_tests.rb
+++ b/samples/99_genre_platformer/gorillas_basic/app/tests/building_generation_tests.rb
diff --git a/samples/99_sample_game_basic_gorillas/license-for-sample.txt b/samples/99_genre_platformer/gorillas_basic/license-for-sample.txt
index 8fa4d42..8fa4d42 100644
--- a/samples/99_sample_game_basic_gorillas/license-for-sample.txt
+++ b/samples/99_genre_platformer/gorillas_basic/license-for-sample.txt
diff --git a/samples/99_sample_game_basic_gorillas/metadata/game_metadata.txt b/samples/99_genre_platformer/gorillas_basic/metadata/game_metadata.txt
index 38d9894..38d9894 100644
--- a/samples/99_sample_game_basic_gorillas/metadata/game_metadata.txt
+++ b/samples/99_genre_platformer/gorillas_basic/metadata/game_metadata.txt
diff --git a/samples/99_sample_game_basic_gorillas/replay.txt b/samples/99_genre_platformer/gorillas_basic/replay.txt
index a1d4eab..a1d4eab 100644
--- a/samples/99_sample_game_basic_gorillas/replay.txt
+++ b/samples/99_genre_platformer/gorillas_basic/replay.txt
diff --git a/samples/99_sample_game_basic_gorillas/sprites/banana.png b/samples/99_genre_platformer/gorillas_basic/sprites/banana.png
index b0f4134..b0f4134 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/banana.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/banana.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/explosion0.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion0.png
index e94c644..e94c644 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/explosion0.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion0.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/explosion1.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion1.png
index b4018d9..b4018d9 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/explosion1.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion1.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/explosion2.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion2.png
index 3abaedd..3abaedd 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/explosion2.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion2.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/explosion3.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion3.png
index fe94a5a..fe94a5a 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/explosion3.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion3.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/explosion4.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion4.png
index ed04237..ed04237 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/explosion4.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion4.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/explosion5.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion5.png
index 2cd8f06..2cd8f06 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/explosion5.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion5.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/explosion6.png b/samples/99_genre_platformer/gorillas_basic/sprites/explosion6.png
index e55909c..e55909c 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/explosion6.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/explosion6.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/hole.png b/samples/99_genre_platformer/gorillas_basic/sprites/hole.png
index cb4e8b3..cb4e8b3 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/hole.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/hole.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/left-0.png b/samples/99_genre_platformer/gorillas_basic/sprites/left-0.png
index 096d19c..096d19c 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/left-0.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/left-0.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/left-1.png b/samples/99_genre_platformer/gorillas_basic/sprites/left-1.png
index 5944578..5944578 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/left-1.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/left-1.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/left-2.png b/samples/99_genre_platformer/gorillas_basic/sprites/left-2.png
index a64f3d8..a64f3d8 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/left-2.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/left-2.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/left-idle.png b/samples/99_genre_platformer/gorillas_basic/sprites/left-idle.png
index 21a71dc..21a71dc 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/left-idle.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/left-idle.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/right-0.png b/samples/99_genre_platformer/gorillas_basic/sprites/right-0.png
index 57ffd46..57ffd46 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/right-0.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/right-0.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/right-1.png b/samples/99_genre_platformer/gorillas_basic/sprites/right-1.png
index a921560..a921560 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/right-1.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/right-1.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/right-2.png b/samples/99_genre_platformer/gorillas_basic/sprites/right-2.png
index fc97c90..fc97c90 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/right-2.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/right-2.png
Binary files differ
diff --git a/samples/99_sample_game_basic_gorillas/sprites/right-idle.png b/samples/99_genre_platformer/gorillas_basic/sprites/right-idle.png
index 2838588..2838588 100644
--- a/samples/99_sample_game_basic_gorillas/sprites/right-idle.png
+++ b/samples/99_genre_platformer/gorillas_basic/sprites/right-idle.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/app/main.rb b/samples/99_genre_platformer/the_little_probe/app/main.rb
index 1c90218..1c90218 100644
--- a/samples/99_sample_game_the_little_probe/app/main.rb
+++ b/samples/99_genre_platformer/the_little_probe/app/main.rb
diff --git a/samples/99_sample_game_the_little_probe/level.txt b/samples/99_genre_platformer/the_little_probe/level.txt
index 62caf2d..62caf2d 100644
--- a/samples/99_sample_game_the_little_probe/level.txt
+++ b/samples/99_genre_platformer/the_little_probe/level.txt
diff --git a/samples/99_sample_game_the_little_probe/level_lava.txt b/samples/99_genre_platformer/the_little_probe/level_lava.txt
index e2bc2bd..e2bc2bd 100644
--- a/samples/99_sample_game_the_little_probe/level_lava.txt
+++ b/samples/99_genre_platformer/the_little_probe/level_lava.txt
diff --git a/samples/99_sample_game_the_little_probe/license-for-sample.txt b/samples/99_genre_platformer/the_little_probe/license-for-sample.txt
index b1005ed..b1005ed 100644
--- a/samples/99_sample_game_the_little_probe/license-for-sample.txt
+++ b/samples/99_genre_platformer/the_little_probe/license-for-sample.txt
diff --git a/samples/99_sample_game_the_little_probe/metadata/game_metadata.txt b/samples/99_genre_platformer/the_little_probe/metadata/game_metadata.txt
index cba2788..cba2788 100644
--- a/samples/99_sample_game_the_little_probe/metadata/game_metadata.txt
+++ b/samples/99_genre_platformer/the_little_probe/metadata/game_metadata.txt
diff --git a/samples/99_sample_game_the_little_probe/sounds/0301.wav b/samples/99_genre_platformer/the_little_probe/sounds/0301.wav
index 13bdf5a..13bdf5a 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0301.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0301.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0302.wav b/samples/99_genre_platformer/the_little_probe/sounds/0302.wav
index b3e5849..b3e5849 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0302.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0302.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0303.wav b/samples/99_genre_platformer/the_little_probe/sounds/0303.wav
index 0871983..0871983 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0303.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0303.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0304.wav b/samples/99_genre_platformer/the_little_probe/sounds/0304.wav
index 9ee599e..9ee599e 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0304.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0304.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0305.wav b/samples/99_genre_platformer/the_little_probe/sounds/0305.wav
index d2f919f..d2f919f 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0305.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0305.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0306.wav b/samples/99_genre_platformer/the_little_probe/sounds/0306.wav
index 4f15476..4f15476 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0306.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0306.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0307.wav b/samples/99_genre_platformer/the_little_probe/sounds/0307.wav
index ffb55f9..ffb55f9 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0307.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0307.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0308.wav b/samples/99_genre_platformer/the_little_probe/sounds/0308.wav
index 86cae87..86cae87 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0308.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0308.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0309.wav b/samples/99_genre_platformer/the_little_probe/sounds/0309.wav
index 1dd2a65..1dd2a65 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0309.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0309.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0310.wav b/samples/99_genre_platformer/the_little_probe/sounds/0310.wav
index cc0df6f..cc0df6f 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0310.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0310.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0311.wav b/samples/99_genre_platformer/the_little_probe/sounds/0311.wav
index 0e85a2d..0e85a2d 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0311.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0311.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0312.wav b/samples/99_genre_platformer/the_little_probe/sounds/0312.wav
index 0680440..0680440 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0312.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0312.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0313.wav b/samples/99_genre_platformer/the_little_probe/sounds/0313.wav
index 466851b..466851b 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0313.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0313.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0314.wav b/samples/99_genre_platformer/the_little_probe/sounds/0314.wav
index 81784c6..81784c6 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0314.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0314.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0315.wav b/samples/99_genre_platformer/the_little_probe/sounds/0315.wav
index f6d0036..f6d0036 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0315.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0315.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0316.wav b/samples/99_genre_platformer/the_little_probe/sounds/0316.wav
index 942c6d3..942c6d3 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0316.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0316.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0317.wav b/samples/99_genre_platformer/the_little_probe/sounds/0317.wav
index 75e35ed..75e35ed 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0317.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0317.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0318.wav b/samples/99_genre_platformer/the_little_probe/sounds/0318.wav
index 1fff907..1fff907 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0318.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0318.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0319.wav b/samples/99_genre_platformer/the_little_probe/sounds/0319.wav
index 016a76f..016a76f 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0319.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0319.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0320.wav b/samples/99_genre_platformer/the_little_probe/sounds/0320.wav
index a41bafe..a41bafe 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0320.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0320.wav
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sounds/0321.wav b/samples/99_genre_platformer/the_little_probe/sounds/0321.wav
index dede4f1..dede4f1 100644
--- a/samples/99_sample_game_the_little_probe/sounds/0321.wav
+++ b/samples/99_genre_platformer/the_little_probe/sounds/0321.wav
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/sounds/bg.ogg b/samples/99_genre_platformer/the_little_probe/sounds/bg.ogg
index 8a02a75..8a02a75 100644
--- a/samples/99_sample_nddnug_workshop/sounds/bg.ogg
+++ b/samples/99_genre_platformer/the_little_probe/sounds/bg.ogg
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/area_one.png b/samples/99_genre_platformer/the_little_probe/sprites/area_one.png
index afd2f46..afd2f46 100644
--- a/samples/99_sample_game_the_little_probe/sprites/area_one.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/area_one.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/circle-black.png b/samples/99_genre_platformer/the_little_probe/sprites/circle-black.png
index c98e23d..c98e23d 100644
--- a/samples/99_sample_game_the_little_probe/sprites/circle-black.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/circle-black.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/circle-blue.png b/samples/99_genre_platformer/the_little_probe/sprites/circle-blue.png
index 1726d2a..1726d2a 100644
--- a/samples/99_sample_game_the_little_probe/sprites/circle-blue.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/circle-blue.png
Binary files differ
diff --git a/samples/02_collision_05_ramp_with_debugging_two/sprites/circle-gray.png b/samples/99_genre_platformer/the_little_probe/sprites/circle-gray.png
index 960f191..960f191 100644
--- a/samples/02_collision_05_ramp_with_debugging_two/sprites/circle-gray.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/circle-gray.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/circle-green.png b/samples/99_genre_platformer/the_little_probe/sprites/circle-green.png
index 43cf7ee..43cf7ee 100644
--- a/samples/99_sample_game_the_little_probe/sprites/circle-green.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/circle-green.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/circle-indigo.png b/samples/99_genre_platformer/the_little_probe/sprites/circle-indigo.png
index 598e240..598e240 100644
--- a/samples/99_sample_game_the_little_probe/sprites/circle-indigo.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/circle-indigo.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/circle-orange.png b/samples/99_genre_platformer/the_little_probe/sprites/circle-orange.png
index 5604a42..5604a42 100644
--- a/samples/99_sample_game_the_little_probe/sprites/circle-orange.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/circle-orange.png
Binary files differ
diff --git a/samples/02_collision_04_ramp_with_debugging/sprites/circle-red.png b/samples/99_genre_platformer/the_little_probe/sprites/circle-red.png
index 7f17ca6..7f17ca6 100644
--- a/samples/02_collision_04_ramp_with_debugging/sprites/circle-red.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/circle-red.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/circle-violet.png b/samples/99_genre_platformer/the_little_probe/sprites/circle-violet.png
index 681d210..681d210 100644
--- a/samples/99_sample_game_the_little_probe/sprites/circle-violet.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/circle-violet.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/circle-white.png b/samples/99_genre_platformer/the_little_probe/sprites/circle-white.png
index bd32155..bd32155 100644
--- a/samples/99_sample_game_the_little_probe/sprites/circle-white.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/circle-white.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/circle-yellow.png b/samples/99_genre_platformer/the_little_probe/sprites/circle-yellow.png
index 94992eb..94992eb 100644
--- a/samples/99_sample_game_the_little_probe/sprites/circle-yellow.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/circle-yellow.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/jupiter.png b/samples/99_genre_platformer/the_little_probe/sprites/jupiter.png
index 7982713..7982713 100644
--- a/samples/99_sample_game_the_little_probe/sprites/jupiter.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/jupiter.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/level.png b/samples/99_genre_platformer/the_little_probe/sprites/level.png
index 1ce0f1a..1ce0f1a 100644
--- a/samples/99_sample_game_the_little_probe/sprites/level.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/level.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/probe.png b/samples/99_genre_platformer/the_little_probe/sprites/probe.png
index e29b144..e29b144 100644
--- a/samples/99_sample_game_the_little_probe/sprites/probe.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/probe.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/square-black.png b/samples/99_genre_platformer/the_little_probe/sprites/square-black.png
index cea7bd7..cea7bd7 100644
--- a/samples/99_sample_game_the_little_probe/sprites/square-black.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/square-black.png
Binary files differ
diff --git a/samples/99_sample_sprite_animation_creator/sprites/square-blue.png b/samples/99_genre_platformer/the_little_probe/sprites/square-blue.png
index b840849..b840849 100644
--- a/samples/99_sample_sprite_animation_creator/sprites/square-blue.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/square-blue.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/square-gray.png b/samples/99_genre_platformer/the_little_probe/sprites/square-gray.png
index 2142b30..2142b30 100644
--- a/samples/99_sample_game_the_little_probe/sprites/square-gray.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/square-gray.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/square-green.png b/samples/99_genre_platformer/the_little_probe/sprites/square-green.png
index 5ef7f75..5ef7f75 100644
--- a/samples/99_sample_game_the_little_probe/sprites/square-green.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/square-green.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/square-indigo.png b/samples/99_genre_platformer/the_little_probe/sprites/square-indigo.png
index 2384108..2384108 100644
--- a/samples/99_sample_game_the_little_probe/sprites/square-indigo.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/square-indigo.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/square-orange.png b/samples/99_genre_platformer/the_little_probe/sprites/square-orange.png
index bb1eee7..bb1eee7 100644
--- a/samples/99_sample_game_the_little_probe/sprites/square-orange.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/square-orange.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/square-red.png b/samples/99_genre_platformer/the_little_probe/sprites/square-red.png
index 3ed5f13..3ed5f13 100644
--- a/samples/99_sample_game_the_little_probe/sprites/square-red.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/square-red.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/square-violet.png b/samples/99_genre_platformer/the_little_probe/sprites/square-violet.png
index 333540c..333540c 100644
--- a/samples/99_sample_game_the_little_probe/sprites/square-violet.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/square-violet.png
Binary files differ
diff --git a/samples/99_sample_sprite_animation_creator/sprites/square-white.png b/samples/99_genre_platformer/the_little_probe/sprites/square-white.png
index 378c565..378c565 100644
--- a/samples/99_sample_sprite_animation_creator/sprites/square-white.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/square-white.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/square-yellow.png b/samples/99_genre_platformer/the_little_probe/sprites/square-yellow.png
index 0edeeec..0edeeec 100644
--- a/samples/99_sample_game_the_little_probe/sprites/square-yellow.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/square-yellow.png
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/whisp.png b/samples/99_genre_platformer/the_little_probe/sprites/whisp.png
index 07154ee..07154ee 100644
--- a/samples/99_sample_game_the_little_probe/sprites/whisp.png
+++ b/samples/99_genre_platformer/the_little_probe/sprites/whisp.png
Binary files differ
diff --git a/samples/20_roguelike_starting_point_two/app/constants.rb b/samples/99_genre_roguelike/roguelike_line_of_sight/app/constants.rb
index 37dd493..37dd493 100644
--- a/samples/20_roguelike_starting_point_two/app/constants.rb
+++ b/samples/99_genre_roguelike/roguelike_line_of_sight/app/constants.rb
diff --git a/samples/20_roguelike_starting_point_two/app/legend.rb b/samples/99_genre_roguelike/roguelike_line_of_sight/app/legend.rb
index 4d07b79..4d07b79 100644
--- a/samples/20_roguelike_starting_point_two/app/legend.rb
+++ b/samples/99_genre_roguelike/roguelike_line_of_sight/app/legend.rb
diff --git a/samples/20_roguelike_starting_point_two/app/main.rb b/samples/99_genre_roguelike/roguelike_line_of_sight/app/main.rb
index bd5f521..bd5f521 100644
--- a/samples/20_roguelike_starting_point_two/app/main.rb
+++ b/samples/99_genre_roguelike/roguelike_line_of_sight/app/main.rb
diff --git a/samples/20_roguelike_starting_point_two/app/sprite_lookup.rb b/samples/99_genre_roguelike/roguelike_line_of_sight/app/sprite_lookup.rb
index f129e25..f129e25 100644
--- a/samples/20_roguelike_starting_point_two/app/sprite_lookup.rb
+++ b/samples/99_genre_roguelike/roguelike_line_of_sight/app/sprite_lookup.rb
diff --git a/samples/99_sample_game_pong/license-for-sample.txt b/samples/99_genre_roguelike/roguelike_line_of_sight/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/99_sample_game_pong/license-for-sample.txt
+++ b/samples/99_genre_roguelike/roguelike_line_of_sight/license-for-sample.txt
diff --git a/samples/20_roguelike_starting_point_two/sprites/simple-mood-16x16.png b/samples/99_genre_roguelike/roguelike_line_of_sight/sprites/simple-mood-16x16.png
index 0eca11e..0eca11e 100644
--- a/samples/20_roguelike_starting_point_two/sprites/simple-mood-16x16.png
+++ b/samples/99_genre_roguelike/roguelike_line_of_sight/sprites/simple-mood-16x16.png
Binary files differ
diff --git a/samples/20_roguelike_starting_point/app/main.rb b/samples/99_genre_roguelike/roguelike_starting_point/app/main.rb
index 66ff027..66ff027 100644
--- a/samples/20_roguelike_starting_point/app/main.rb
+++ b/samples/99_genre_roguelike/roguelike_starting_point/app/main.rb
diff --git a/samples/26_jam_craft/license-for-sample-app.txt b/samples/99_genre_roguelike/roguelike_starting_point/license-for-sample.txt
index 100dcec..100dcec 100644
--- a/samples/26_jam_craft/license-for-sample-app.txt
+++ b/samples/99_genre_roguelike/roguelike_starting_point/license-for-sample.txt
diff --git a/samples/20_roguelike_starting_point/replay.txt b/samples/99_genre_roguelike/roguelike_starting_point/replay.txt
index a2b4c52..a2b4c52 100644
--- a/samples/20_roguelike_starting_point/replay.txt
+++ b/samples/99_genre_roguelike/roguelike_starting_point/replay.txt
diff --git a/samples/23_hexagonal_grid/app/main.rb b/samples/99_genre_tactical_rpg/hexagonal_grid/app/main.rb
index b522ace..b522ace 100644
--- a/samples/23_hexagonal_grid/app/main.rb
+++ b/samples/99_genre_tactical_rpg/hexagonal_grid/app/main.rb
diff --git a/samples/99_genre_tactical_rpg/hexagonal_grid/license-for-sample.txt b/samples/99_genre_tactical_rpg/hexagonal_grid/license-for-sample.txt
new file mode 100644
index 0000000..100dcec
--- /dev/null
+++ b/samples/99_genre_tactical_rpg/hexagonal_grid/license-for-sample.txt
@@ -0,0 +1,9 @@
+Copyright 2019 DragonRuby LLC
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/samples/23_hexagonal_grid/replay.txt b/samples/99_genre_tactical_rpg/hexagonal_grid/replay.txt
index 9e646bc..9e646bc 100644
--- a/samples/23_hexagonal_grid/replay.txt
+++ b/samples/99_genre_tactical_rpg/hexagonal_grid/replay.txt
diff --git a/samples/23_hexagonal_grid/sprites/hexagon-black.png b/samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-black.png
index f50c872..f50c872 100644
--- a/samples/23_hexagonal_grid/sprites/hexagon-black.png
+++ b/samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-black.png
Binary files differ
diff --git a/samples/23_hexagonal_grid/sprites/hexagon-gray.png b/samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-gray.png
index e8c4c5a..e8c4c5a 100644
--- a/samples/23_hexagonal_grid/sprites/hexagon-gray.png
+++ b/samples/99_genre_tactical_rpg/hexagonal_grid/sprites/hexagon-gray.png
Binary files differ
diff --git a/samples/23_isometric_grid/app/main.rb b/samples/99_genre_tactical_rpg/isometric_grid/app/main.rb
index 28bea32..28bea32 100644
--- a/samples/23_isometric_grid/app/main.rb
+++ b/samples/99_genre_tactical_rpg/isometric_grid/app/main.rb
diff --git a/samples/99_genre_tactical_rpg/isometric_grid/license-for-sample.txt b/samples/99_genre_tactical_rpg/isometric_grid/license-for-sample.txt
new file mode 100644
index 0000000..100dcec
--- /dev/null
+++ b/samples/99_genre_tactical_rpg/isometric_grid/license-for-sample.txt
@@ -0,0 +1,9 @@
+Copyright 2019 DragonRuby LLC
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/samples/23_isometric_grid/metadata/game_metadata.txt b/samples/99_genre_tactical_rpg/isometric_grid/metadata/game_metadata.txt
index 1b03500..1b03500 100644
--- a/samples/23_isometric_grid/metadata/game_metadata.txt
+++ b/samples/99_genre_tactical_rpg/isometric_grid/metadata/game_metadata.txt
diff --git a/samples/23_isometric_grid/metadata/icon.png b/samples/99_genre_tactical_rpg/isometric_grid/metadata/icon.png
index e20e8c2..e20e8c2 100644
--- a/samples/23_isometric_grid/metadata/icon.png
+++ b/samples/99_genre_tactical_rpg/isometric_grid/metadata/icon.png
Binary files differ
diff --git a/samples/23_isometric_grid/replay.txt b/samples/99_genre_tactical_rpg/isometric_grid/replay.txt
index 1cf14a2..1cf14a2 100644
--- a/samples/23_isometric_grid/replay.txt
+++ b/samples/99_genre_tactical_rpg/isometric_grid/replay.txt
diff --git a/samples/23_isometric_grid/sprites/leftSide.png b/samples/99_genre_tactical_rpg/isometric_grid/sprites/leftSide.png
index 1fc0060..1fc0060 100644
--- a/samples/23_isometric_grid/sprites/leftSide.png
+++ b/samples/99_genre_tactical_rpg/isometric_grid/sprites/leftSide.png
Binary files differ
diff --git a/samples/23_isometric_grid/sprites/mountain.png b/samples/99_genre_tactical_rpg/isometric_grid/sprites/mountain.png
index 5794464..5794464 100644
--- a/samples/23_isometric_grid/sprites/mountain.png
+++ b/samples/99_genre_tactical_rpg/isometric_grid/sprites/mountain.png
Binary files differ
diff --git a/samples/23_isometric_grid/sprites/ocean.png b/samples/99_genre_tactical_rpg/isometric_grid/sprites/ocean.png
index fbf5fc1..fbf5fc1 100644
--- a/samples/23_isometric_grid/sprites/ocean.png
+++ b/samples/99_genre_tactical_rpg/isometric_grid/sprites/ocean.png
Binary files differ
diff --git a/samples/23_isometric_grid/sprites/rightSide.png b/samples/99_genre_tactical_rpg/isometric_grid/sprites/rightSide.png
index d74ff14..d74ff14 100644
--- a/samples/23_isometric_grid/sprites/rightSide.png
+++ b/samples/99_genre_tactical_rpg/isometric_grid/sprites/rightSide.png
Binary files differ
diff --git a/samples/23_isometric_grid/sprites/river.png b/samples/99_genre_tactical_rpg/isometric_grid/sprites/river.png
index eb51890..eb51890 100644
--- a/samples/23_isometric_grid/sprites/river.png
+++ b/samples/99_genre_tactical_rpg/isometric_grid/sprites/river.png
Binary files differ
diff --git a/samples/23_isometric_grid/sprites/selectedTile.png b/samples/99_genre_tactical_rpg/isometric_grid/sprites/selectedTile.png
index 3719cac..3719cac 100644
--- a/samples/23_isometric_grid/sprites/selectedTile.png
+++ b/samples/99_genre_tactical_rpg/isometric_grid/sprites/selectedTile.png
Binary files differ
diff --git a/samples/23_isometric_grid/sprites/tile.png b/samples/99_genre_tactical_rpg/isometric_grid/sprites/tile.png
index 4a4f690..4a4f690 100644
--- a/samples/23_isometric_grid/sprites/tile.png
+++ b/samples/99_genre_tactical_rpg/isometric_grid/sprites/tile.png
Binary files differ
diff --git a/samples/12_top_down_area/app/main.rb b/samples/99_genre_topdown_rpg/topdown_starting_point/app/main.rb
index c447940..c447940 100644
--- a/samples/12_top_down_area/app/main.rb
+++ b/samples/99_genre_topdown_rpg/topdown_starting_point/app/main.rb
diff --git a/samples/99_genre_topdown_rpg/topdown_starting_point/license-for-sample.txt b/samples/99_genre_topdown_rpg/topdown_starting_point/license-for-sample.txt
new file mode 100644
index 0000000..100dcec
--- /dev/null
+++ b/samples/99_genre_topdown_rpg/topdown_starting_point/license-for-sample.txt
@@ -0,0 +1,9 @@
+Copyright 2019 DragonRuby LLC
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/samples/12_top_down_area/replay.txt b/samples/99_genre_topdown_rpg/topdown_starting_point/replay.txt
index f121bc6..f121bc6 100644
--- a/samples/12_top_down_area/replay.txt
+++ b/samples/99_genre_topdown_rpg/topdown_starting_point/replay.txt
diff --git a/samples/99_sample_game_the_little_probe/sprites/circle-gray.png b/samples/99_sample_game_the_little_probe/sprites/circle-gray.png
deleted file mode 100644
index 960f191..0000000
--- a/samples/99_sample_game_the_little_probe/sprites/circle-gray.png
+++ /dev/null
Binary files differ
diff --git a/samples/99_sample_game_the_little_probe/sprites/circle-red.png b/samples/99_sample_game_the_little_probe/sprites/circle-red.png
deleted file mode 100644
index 7f17ca6..0000000
--- a/samples/99_sample_game_the_little_probe/sprites/circle-red.png
+++ /dev/null
Binary files differ
diff --git a/samples/99_sample_nddnug_workshop/app/repl.rb b/samples/99_sample_nddnug_workshop/app/repl.rb
deleted file mode 100644
index a892243..0000000
--- a/samples/99_sample_nddnug_workshop/app/repl.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# ====================================================================================
-# DragonRuby's Primer for the Ruby Programming Language
-# ====================================================================================
-#
-# Welcome you awesome person you. Look at the txt files. Copy what's in there
-# and paste it here. Save this file. The code will automatically execute
-# and you'll see the output in the console window.
diff --git a/samples/99_sample_nddnug_workshop/sprites/star.png b/samples/99_sample_nddnug_workshop/sprites/star.png
deleted file mode 100644
index e0ee0f9..0000000
--- a/samples/99_sample_nddnug_workshop/sprites/star.png
+++ /dev/null
Binary files differ