Desenvolvimento de Jogos com Corona SDKUniversidadeCruzeiro do Sul -WICA 2013Bruno Cicanci
Conteúdo Por onde começar Protótipos Programação Corona SDK Bonus Level
Por onde começar
Do conceito...
... ao jogo!
Game Designhttp://catavento.art.br/ppt/15semcomp.pdf
Gameplay jogando
Programação sem ter a arte final
Art Of Game Design (Aplicativo)https://play.google.com/store/apps/details?id=com.schellgames.deckoflenses
Protótipos
Objetivo do protótipo:Validar a mecânica do jogo
Protótipo de papel
Protótipo Digital
PlaygroundBioshock Infinity: http://www.youtube.com/watch?v=5OAj5JBMvBo
Programação
Jogue fora o protótipo!
Controle de versão
Boas práticas de programação Variáveis: mVariavel (private) sVariavel (static) pVariavel (param) VARIAVEL (constant)...
Game LoopToda LÓGICA do jogo éprocessada de acordo com oINPUT do jogador, e oresultado é exibidoGRAFICAMENTE na tela
Game Loop - Exemplo
Finite State Machine (FSM)
Corona SDK
Corona SDKProgramação com script LuaPlataformas: iOS, Android, Kindle eNookDesenvolvimento mais rápido dejogos 2D e aplica...
Jogos em 2D
Storyboardlocal storyboard = require "storyboard”storyboard.gotoScene( ”menu" )…storyboard.removeScene( ”intro" )
Scenelocal storyboard = require( "storyboard" )local scene = storyboard.newScene()scene:addEventListener( "createScene", s...
Scenefunction scene:createScene( event )endfunction scene:enterScene( event )endfunction scene:exitScene( event )endfuncti...
DisplaylocalWIDTH = display.contentWidthlocal HEIGHT = display.contentHeight
Imagelocal player = display.newImage( ”player.png" )player:setReferencePoint( display.BottomLeftReferencePoint )player.x =...
Textlocal scoreText = display.newText(”SCORE: ".. score, 0, 0,native.systemFontBold, 16)scoreText:setTextColor(0, 255, 255...
Groupfunction scene:createScene( event )group = self.view...group:insert( background )group:insert( forest )group:insert( ...
Touchfunction onTouch(event)if(event.phase == "began") thenelseif (event.phase == "moved") thenelseif (event.phase == "end...
Eventsplayer:addEventListener("touch", onTouch)…Runtime:addEventListener("accelerometer", onTilt)Runtime:addEventListener(...
Physicslocal physics = require "physics"physics.start();physics.setGravity(0, 9.8)local leftside = display.newImage("img/s...
Soundlocal backgroundMusic = audio.loadStream("backgroundMusic.m4a")local narrationSpeech = audio.loadStream("narrationSpe...
Tiled (Editor de nível)
Tiled (Implementação com Lime)lime = require("lime.lime”)local map = lime.loadMap("mapa.tmx”)local visual = lime.createVis...
TexturePacker (Sprite sheet)
TexturePacker (Implementação)local sheetInfo = require("player”)local myImageSheet = graphics.newImageSheet( "player.png",...
Fórum, documentação, wiki, tutoriaishttp://www.coronalabs.com/
Bonus Level
Modelos de Negócio Funciona bem com jogos de iOS,porém desde que tenha umaversão de demonstração para ojogador testar Jo...
Arte 2D para programadoreshttp://2dgameartforprogrammers.blogspot.com.br/
Concursos
Social
Publicidade no Jogo
Links interessantesMecânicas de jogohttp://www.squidi.net/three/index.phpEntão, você quer ser um game designer?http://www....
Livros Desenvolvimento de Jogos e Programação: Code Complete - http://amzn.to/oqrBeP Effective C++ - http://amzn.to/NJ2...
Sites e revistas Sites: Gamasutra - http://www.gamasutra.com/ Gamesindustry - http://www.gamesindustry.biz/ AppData - ...
Obrigado!http://gamedeveloper.com.brbruno@gamedeveloper.com.br
Upcoming SlideShare
Loading in...5
×

Desenvolvimento de Jogos com Corona SDK

5,275

Published on

Palestra apresentada no evento WICA na Universidade Cruzeiro do Sul (Unicsul), no campus Anália Franco, em 18/06/2013.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,275
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
113
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Desenvolvimento de Jogos com Corona SDK"

  1. 1. Desenvolvimento de Jogos com Corona SDKUniversidadeCruzeiro do Sul -WICA 2013Bruno Cicanci
  2. 2. Conteúdo Por onde começar Protótipos Programação Corona SDK Bonus Level
  3. 3. Por onde começar
  4. 4. Do conceito...
  5. 5. ... ao jogo!
  6. 6. Game Designhttp://catavento.art.br/ppt/15semcomp.pdf
  7. 7. Gameplay jogando
  8. 8. Programação sem ter a arte final
  9. 9. Art Of Game Design (Aplicativo)https://play.google.com/store/apps/details?id=com.schellgames.deckoflenses
  10. 10. Protótipos
  11. 11. Objetivo do protótipo:Validar a mecânica do jogo
  12. 12. Protótipo de papel
  13. 13. Protótipo Digital
  14. 14. PlaygroundBioshock Infinity: http://www.youtube.com/watch?v=5OAj5JBMvBo
  15. 15. Programação
  16. 16. Jogue fora o protótipo!
  17. 17. Controle de versão
  18. 18. Boas práticas de programação Variáveis: mVariavel (private) sVariavel (static) pVariavel (param) VARIAVEL (constant) Funções: Get() Set(Param pParam) Comentários: No início da classe com exemplo de utilização e autor Explicações em partes complexas Justificativas de código temporário
  19. 19. Game LoopToda LÓGICA do jogo éprocessada de acordo com oINPUT do jogador, e oresultado é exibidoGRAFICAMENTE na tela
  20. 20. Game Loop - Exemplo
  21. 21. Finite State Machine (FSM)
  22. 22. Corona SDK
  23. 23. Corona SDKProgramação com script LuaPlataformas: iOS, Android, Kindle eNookDesenvolvimento mais rápido dejogos 2D e aplicativosDiversos pluginsGratuito (para Android e iOS)!
  24. 24. Jogos em 2D
  25. 25. Storyboardlocal storyboard = require "storyboard”storyboard.gotoScene( ”menu" )…storyboard.removeScene( ”intro" )
  26. 26. Scenelocal storyboard = require( "storyboard" )local scene = storyboard.newScene()scene:addEventListener( "createScene", scene )scene:addEventListener( "enterScene", scene )scene:addEventListener( "exitScene", scene )scene:addEventListener( "destroyScene", scene )
  27. 27. Scenefunction scene:createScene( event )endfunction scene:enterScene( event )endfunction scene:exitScene( event )endfunction scene:destroyScene( event )endreturn scene
  28. 28. DisplaylocalWIDTH = display.contentWidthlocal HEIGHT = display.contentHeight
  29. 29. Imagelocal player = display.newImage( ”player.png" )player:setReferencePoint( display.BottomLeftReferencePoint )player.x = 0player.y = 0
  30. 30. Textlocal scoreText = display.newText(”SCORE: ".. score, 0, 0,native.systemFontBold, 16)scoreText:setTextColor(0, 255, 255)…scoreText:removeSelf()
  31. 31. Groupfunction scene:createScene( event )group = self.view...group:insert( background )group:insert( forest )group:insert( collider )group:insert( scoreText )end
  32. 32. Touchfunction onTouch(event)if(event.phase == "began") thenelseif (event.phase == "moved") thenelseif (event.phase == "ended") thenendreturn trueend
  33. 33. Eventsplayer:addEventListener("touch", onTouch)…Runtime:addEventListener("accelerometer", onTilt)Runtime:addEventListener( "system", onSystemEvent)
  34. 34. Physicslocal physics = require "physics"physics.start();physics.setGravity(0, 9.8)local leftside = display.newImage("img/side.png")physics.addBody(leftside, {friction=0.5})leftside.bodyType = "static”
  35. 35. Soundlocal backgroundMusic = audio.loadStream("backgroundMusic.m4a")local narrationSpeech = audio.loadStream("narrationSpeech.wav")local backgroundMusicChannel = audio.play( backgroundMusic, {channel=1, loops=-1, fadein=5000 } )local narrationChannel = audio.play( narrationSpeech, {duration=30000, onComplete=NarrationFinished } )
  36. 36. Tiled (Editor de nível)
  37. 37. Tiled (Implementação com Lime)lime = require("lime.lime”)local map = lime.loadMap("mapa.tmx”)local visual = lime.createVisual(map)
  38. 38. TexturePacker (Sprite sheet)
  39. 39. TexturePacker (Implementação)local sheetInfo = require("player”)local myImageSheet = graphics.newImageSheet( "player.png",sheetInfo:getSheet() )local player = display.newSprite( myImageSheet ,sheetInfo:getSequenceData() )player:setSequence( "walk" )player:play()
  40. 40. Fórum, documentação, wiki, tutoriaishttp://www.coronalabs.com/
  41. 41. Bonus Level
  42. 42. Modelos de Negócio Funciona bem com jogos de iOS,porém desde que tenha umaversão de demonstração para ojogador testar Jogos indie geralmente tempreços entre $0.99 e $2.99 A versão de demonstração podeser limitada ou uma versão dojogo usando o modelo denegócio gratuito Funciona bem com jogos deAndroid, pois a pirataria neste OSé maior Anúncios, quando colocados emlocais corretos e com umafreqüência adequada, podem darum bom retorno Jogos Freemium são muitocomuns no Android OS e iOSPago Gratuito
  43. 43. Arte 2D para programadoreshttp://2dgameartforprogrammers.blogspot.com.br/
  44. 44. Concursos
  45. 45. Social
  46. 46. Publicidade no Jogo
  47. 47. Links interessantesMecânicas de jogohttp://www.squidi.net/three/index.phpEntão, você quer ser um game designer?http://www.youtube.com/watch?v=zQvWMdWhFCcEntão, você quer trabalhar na indústria de games?http://www.youtube.com/watch?v=u_fr8tEQSGEGerador de personages em 2D (pixelart)http://charas-project.net/charas2/index.phpArtigos sobre gameficationhttp://www.gamification.co/2013/01/04/top-articles-by-gamification-experts-in-2012/10 livros sobre games que você precisa lerhttp://arena.ig.com.br/2012-06-28/dez-livros-de-games-que-voce-precisa-ler.html
  48. 48. Livros Desenvolvimento de Jogos e Programação: Code Complete - http://amzn.to/oqrBeP Effective C++ - http://amzn.to/NJ2ed2 More Effective C++ - http://amzn.to/qQSksw Desenvolvimento de Jogos Eletrônicos - http://novatec.com.br/livros/jogos2/ Software Engineering for Game Developers - http://amzn.to/qrY571 Game Engine Architecture - http://amzn.to/pgnZFR Game Coding Complete - http://amzn.to/qA0Nz4 Programming Game AI by Example - http://amzn.to/nQ5SdY Real-time Rendering - http://amzn.to/pbHDTp Game Programming All in One - http://amzn.to/p2S05M Beginning C++ through Game Programming - http://amzn.to/q0X1fV XNA Game Studio Creators Guide - http://amzn.to/nmSlFf iPhone Programming The Big Nerd Ranch Guide - http://amzn.to/p6kUkJ Head First iPhone and iPad Development - http://amzn.to/p0qXOo Agile Game Development with Scrum - http://amzn.to/nfp3T3 Game Design: Game Design Workshop - http://amzn.to/pVvJE0 Rules of Play: Game Design Fundamentals -http://amzn.to/oHmOZ8 The Game Design Reader: A Rules of Play Anthology -http://amzn.to/pTjOd7 Half-Real: Video Games between Real Rules and FictionalWorlds - http://amzn.to/qA7yd6 A Theory of Fun for Game Design - http://amzn.to/nmR1Ya The Art of Game Design: A book of lenses -http://amzn.to/p0Z5xr
  49. 49. Sites e revistas Sites: Gamasutra - http://www.gamasutra.com/ Gamesindustry - http://www.gamesindustry.biz/ AppData - http://www.appdata.com/ Ars Technica - http://arstechnica.com/gaming/ GameCareerGuide -http://www.gamecareerguide.com/ Fóruns GameDev - http://www.gamedev.com.br/ PDJ - http://www.programadoresdejogos.com/ UniDev - http://www.unidev.com.br/ Blogs: AltDevBlogADay - http://altdevblogaday.com/ Game Developer – http://gamedeveloper.com.br Game Producer - http://www.gameproducer.net/ Indie Games - http://indiegames.com/index.html Revistas: Casual Connect - http://casualconnect.org/magazine-archive/ Develop - http://www.develop-online.net/ EDGE - http://www.next-gen.biz/ Game Developer Magazine -http://www.gdmag.com/homepage.htm Game Sauce - http://gamesauce.org/news/ Wired - http://www.wired.com/gaming
  50. 50. Obrigado!http://gamedeveloper.com.brbruno@gamedeveloper.com.br
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×