Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Melhorando suas habilidades Hackeando o seu primeiro Game

Melhorando suas habilidades Hackeando o seu primeiro Game

Palestra ministrada da Trilha Ruby da TDC Florianópolis 2016

Andre Luis Anastacio

May 16, 2016
Tweet

More Decks by Andre Luis Anastacio

Other Decks in Programming

Transcript

  1. MELHORANDO

    SUAS HABILIDADES

    HACKEANDO O SEU
    PRIMEIRO GAME!

    View full-size slide

  2. André Luís Anastácio
    Desenvolvedor
    Twitter / Github - ndrluis

    View full-size slide

  3. MEETUP REMOTO DE
    CLOJURE

    View full-size slide

  4. O que é ser Hacker?

    View full-size slide

  5. “Em informática, hacker[1] [ráquer][2] é um
    indivíduo que se dedica, com intensidade
    incomum, a conhecer e modificar os aspectos
    mais internos de dispositivos…”

    View full-size slide

  6. “Em informática, hacker[1] [ráquer][2] é um
    indivíduo que se dedica, com intensidade
    incomum, a conhecer e modificar os aspectos
    mais internos de dispositivos…”
    Fonte: Águas de Lindóia

    View full-size slide

  7. “Em informática, hacker[1] [ráquer][2] é um
    indivíduo que se dedica, com intensidade
    incomum, a conhecer e modificar os aspectos
    mais internos de dispositivos…”
    Fonte: Águas de Lindóia
    Open Sans

    View full-size slide

  8. “Em informática, hacker[1] [ráquer][2] é um
    indivíduo que se dedica, com intensidade
    incomum, a conhecer e modificar os aspectos
    mais internos de dispositivos…”
    Fonte: Águas de Lindóia
    Open Sans

    View full-size slide

  9. “Em informática, hacker[1] [ráquer][2] é um
    indivíduo que se dedica, com intensidade
    incomum, a conhecer e modificar os aspectos
    mais internos de dispositivos…”
    Fonte: Águas de Lindóia
    Open Sans
    Wikipedia

    View full-size slide

  10. http://bit.ly/19fn7hI

    View full-size slide

  11. COMOFAS EM RUBY?

    View full-size slide

  12. RPG Maker
    RGSS
    Ruby Game Script System

    View full-size slide

  13. MRI
    Gosu
    Chingu ~> ndrluis/chingu
    Exemplo ~> ndrluis/ld32

    View full-size slide

  14. class Grass < GameObject
    traits :bounding_box, :collision_detection
    def setup
    @image = Image["#{self.filename}.png"]
    self.rotation_center = :top_left
    end
    def self.solid
    all.select { |block| block.alpha == 255 }
    end
    def self.inside_viewport
    all.select { |block|
    block.game_state.viewport.inside?(block)
    }
    end
    end

    View full-size slide

  15. class GrassTiles
    include Chingu::NamedResource
    def initialize
    @builded_classes = build_classes
    end
    def all
    @builded_classes.flat_map(&:all)
    end
    private
    def build_classes
    class_names.map do |class_name|
    Class.new(Grass).tap do |klass|
    Object.const_set class_name, klass
    end
    end
    end
    def class_names
    Dir.glob(File.join(ROOT, 'media', 'grass_*.png')).map do |f|
    File.basename(f, '.png').split("_").each {|s| s.capitalize! }.join("")
    end
    end
    end

    View full-size slide

  16. Javascript
    Phase.io / Babylon.js / Quintus / Impact
    Crafty.js / Melon.js / Pixi.js

    View full-size slide

  17. Opal
    Transpiler Ruby ~> JS
    Dare - domgetter/dare
    Opal Phaser - orbitalimpact/opal-phaser
    Exemplo ~> OpenGameDev/pong-opal-phaser

    View full-size slide

  18. Tá….
    E mobile ein André?

    View full-size slide

  19. Crosswalk Project
    https://crosswalk-project.org

    View full-size slide

  20. RubyMotion
    HipByte/RubyMotionSamples

    View full-size slide

  21. Desenvolver games
    exercita inovação

    View full-size slide

  22. GameJams exercitam
    o espirito hacker

    View full-size slide

  23. Obrigado!
    Duvidas / Sugestões
    Broder para pair programming
    [email protected]

    View full-size slide